Skip to content

Commit

Permalink
refactor: type cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
schoero committed Nov 21, 2023
1 parent d4f3a59 commit 048a952
Show file tree
Hide file tree
Showing 99 changed files with 363 additions and 356 deletions.
6 changes: 2 additions & 4 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
{
"args": [
"run",
"${relativeFileDirname}/${fileBasenameNoExtension}",
"--no-threads"
"${relativeFileDirname}/${fileBasenameNoExtension}"
],
"autoAttachChildProcesses": true,
"console": "integratedTerminal",
Expand All @@ -18,8 +17,7 @@
{
"args": [
"run",
"${relativeFileDirname}/${fileBasenameNoExtension}",
"--no-threads"
"${relativeFileDirname}/${fileBasenameNoExtension}"
],
"autoAttachChildProcesses": true,
"console": "integratedTerminal",
Expand Down
25 changes: 19 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.2.8-beta.5",
"version": "0.2.8-beta.6",
"type": "module",
"name": "unwritten",
"description": "unwritten is a cli tool that auto generates documentation from your JavaScript or TypeScript project by utilizing TSDoc or JSDoc comments.",
Expand All @@ -23,6 +23,7 @@
"scripts": {
"build": "npm run build:browser && npm run build:node",
"build:browser": "vite build --config vite.config.browser.ts",
"build:declaration": "npx tsc --outDir lib --emitDeclarationOnly",
"build:dev": "npm run build:browser && npm run build:node",
"build:node": "vite build",
"eslint": "eslint --ext .ts,.tsx,.js,.jsx,.json,.jsonc,.yml,.md ./",
Expand All @@ -47,13 +48,13 @@
"release:alpha": "npm run release -- --prerelease alpha",
"release:beta": "npm run release -- --prerelease beta",
"release:latest": "changelogen --bump --output --no-tag",
"schema": "ts-json-schema-generator --path './src/type-definitions/config.d.ts' --type ConfigForSchema --tsconfig ./tsconfig.production.json --out schemas/renderer/config.json",
"schema": "ts-json-schema-generator --path './src/type-definitions/config.d.ts' --type ConfigForSchema --tsconfig ./tsconfig.schema.json --out schemas/renderer/config.json",
"spellcheck": "cspell lint",
"spellcheck:ci": "npm run spellcheck -- --no-progress",
"test": "vitest -c ./vite.config.ts",
"test:interpreter": "vitest -c ./vite.config.ts --dir src/interpreter",
"test:interpreter": "vitest --c ./vite.config.ts --dir src/interpreter",
"test:renderer": "vitest -c ./vite.config.ts --dir src/renderer",
"typecheck": "tsc --project tsconfig.production.json --noEmit"
"typecheck": "tsc --noEmit"
},
"engines": {
"node": ">=16.9.0"
Expand All @@ -64,7 +65,7 @@
"dependencies": {
"cac": "^6.7.14",
"minimatch": "^9.0.3",
"typescript": "^5.2.2"
"typescript": "^5.3.2"
},
"devDependencies": {
"@schoero/changelog-config": "^0.0.3",
Expand All @@ -74,12 +75,12 @@
"@schoero/ts-config": "^0.3.7",
"@schoero/vite-config": "^0.0.29",
"@types/minimatch": "^5.1.2",
"@types/node": "^20.9.2",
"@types/node": "^20.9.3",
"changelogen": "^0.5.5",
"eslint-plugin-sort-exports": "^0.8.0",
"rollup-plugin-preserve-shebang": "^1.0.1",
"ts-json-schema-generator": "^1.4.0",
"vite": "^5.0.0",
"vite": "^5.0.2",
"vite-plugin-dts": "^3.6.3",
"vite-plugin-no-bundle": "^3.0.0",
"vitest": "^1.0.0-beta.5"
Expand Down
2 changes: 1 addition & 1 deletion src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export async function createConfig(ctx: DefaultContext, configOrPath: Config | s

}

async function createConfigForBrowser(ctx: DefaultBrowserContext, config: Config | undefined): Promise<CompleteConfig> {
async function createConfigForBrowser(ctx: DefaultBrowserContext, config: Config | undefined): Promise<CompleteBrowserConfig> {
const defaultConfig = getDefaultConfig();
return override(defaultConfig, config);
}
Expand Down
5 changes: 1 addition & 4 deletions src/interpreter/ast/types/class.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,5 @@ import type { InterpreterContext } from "unwritten:type-definitions/context";


export const createClassType = (ctx: InterpreterContext, type: ObjectType): ClassType => withLockedType(ctx, type, () => {
const fromObjectType = createObjectLikeType(ctx, type, TypeKind.Class);
return {
...fromObjectType
};
return createObjectLikeType(ctx, type, TypeKind.Class);
});
3 changes: 0 additions & 3 deletions src/interpreter/ast/types/interface.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { TypeKind } from "unwritten:interpreter/enums/type";
import { getNameByType } from "unwritten:interpreter:ast/shared/name";
import { createObjectLikeType } from "unwritten:interpreter:ast/types/index";
import { withLockedType } from "unwritten:interpreter:utils/ts";

Expand All @@ -15,11 +14,9 @@ export const createInterfaceByType = (ctx: InterpreterContext, type: TSInterface

const objectType = createObjectLikeType(ctx, type, TypeKind.Interface);
const typeParameters = type.typeParameters?.map(type => getTypeByType(ctx, type));
const name = getNameByType(ctx, type);

return <InterfaceType>{
...objectType,
name,
typeParameters
};

Expand Down
4 changes: 2 additions & 2 deletions src/renderer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { isHTMLRenderContext, renderNode as renderNodeAsHTML } from "unwritten:r
import { renderNode as renderNodeAsMarkdown } from "unwritten:renderer:markup/markdown/index";
import { assert } from "unwritten:utils:general";

import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type { ASTNode } from "unwritten:renderer:markup/types-definitions/nodes";
import type { Renderer } from "unwritten:type-definitions/renderer";

Expand All @@ -30,7 +30,7 @@ export async function getRenderer(renderer?: Renderer | string): Promise<Rendere

}

export function renderNode(ctx: MarkupRenderContexts, node: ASTNode): string {
export function renderNode(ctx: MarkupRenderContext, node: ASTNode): string {
if(isHTMLRenderContext(ctx)){
return renderNodeAsHTML(ctx, node);
} else {
Expand Down
6 changes: 3 additions & 3 deletions src/renderer/markup/ast-converter/entities/circular.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { createAnchorNode } from "unwritten:renderer:markup/utils/nodes";

import type { CircularEntity } from "unwritten:interpreter/type-definitions/entities";
import type { AnchorNode } from "unwritten:renderer/markup/types-definitions/nodes";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";


export function convertCircularEntityToAnchor(ctx: MarkupRenderContexts, circularEntity: CircularEntity, displayName?: string): AnchorNode {
export function convertCircularEntityToAnchor(ctx: MarkupRenderContext, circularEntity: CircularEntity, displayName?: string): AnchorNode {

const name = circularEntity.name;
const id = circularEntity.symbolId;
Expand All @@ -19,6 +19,6 @@ export function convertCircularEntityToAnchor(ctx: MarkupRenderContexts, circula
}


export function convertCircularEntityForDocumentation(ctx: MarkupRenderContexts, circularEntity: CircularEntity): AnchorNode {
export function convertCircularEntityForDocumentation(ctx: MarkupRenderContext, circularEntity: CircularEntity): AnchorNode {
return convertCircularEntityToAnchor(ctx, circularEntity);
}
8 changes: 4 additions & 4 deletions src/renderer/markup/ast-converter/entities/class.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ import {

import type { ClassEntity } from "unwritten:interpreter/type-definitions/entities";
import type { AnchorNode } from "unwritten:renderer/markup/types-definitions/nodes";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type {
ConvertedClassEntityForDocumentation,
ConvertedClassEntityForTableOfContents
} from "unwritten:renderer:markup/types-definitions/renderer";


export function convertClassEntityToAnchor(ctx: MarkupRenderContexts, classEntity: ClassEntity, displayName?: string): AnchorNode {
export function convertClassEntityToAnchor(ctx: MarkupRenderContext, classEntity: ClassEntity, displayName?: string): AnchorNode {

const id = classEntity.symbolId;
const name = classEntity.name;
Expand Down Expand Up @@ -70,7 +70,7 @@ export function convertClassEntityToAnchor(ctx: MarkupRenderContexts, classEntit

}

export function convertClassEntityForTableOfContents(ctx: MarkupRenderContexts, classEntity: ClassEntity): ConvertedClassEntityForTableOfContents {
export function convertClassEntityForTableOfContents(ctx: MarkupRenderContext, classEntity: ClassEntity): ConvertedClassEntityForTableOfContents {

const renderConfig = getRenderConfig(ctx);
const translate = getTranslator(ctx);
Expand Down Expand Up @@ -154,7 +154,7 @@ export function convertClassEntityForTableOfContents(ctx: MarkupRenderContexts,
}


export function convertClassEntityForDocumentation(ctx: MarkupRenderContexts, classEntity: ClassEntity): ConvertedClassEntityForDocumentation {
export function convertClassEntityForDocumentation(ctx: MarkupRenderContext, classEntity: ClassEntity): ConvertedClassEntityForDocumentation {

const renderConfig = getRenderConfig(ctx);
const translate = getTranslator(ctx);
Expand Down
10 changes: 5 additions & 5 deletions src/renderer/markup/ast-converter/entities/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ import {

import type { EnumEntity, EnumMemberEntity, MergedEnumEntity } from "unwritten:interpreter/type-definitions/entities";
import type { AnchorNode } from "unwritten:renderer/markup/types-definitions/nodes";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type {
ConvertedEnumEntityForDocumentation,
ConvertedEnumEntityForTableOfContents
} from "unwritten:renderer:markup/types-definitions/renderer";


export function convertEnumEntityToAnchor(ctx: MarkupRenderContexts, enumEntity: EnumEntity | MergedEnumEntity, displayName?: string): AnchorNode {
export function convertEnumEntityToAnchor(ctx: MarkupRenderContext, enumEntity: EnumEntity | MergedEnumEntity, displayName?: string): AnchorNode {

const id = enumEntity.symbolId;
const name = enumEntity.name;
Expand Down Expand Up @@ -56,12 +56,12 @@ export function convertEnumEntityToAnchor(ctx: MarkupRenderContexts, enumEntity:
}


export function convertEnumEntityForTableOfContents(ctx: MarkupRenderContexts, enumEntity: EnumEntity | MergedEnumEntity): ConvertedEnumEntityForTableOfContents {
export function convertEnumEntityForTableOfContents(ctx: MarkupRenderContext, enumEntity: EnumEntity | MergedEnumEntity): ConvertedEnumEntityForTableOfContents {
return convertEnumEntityToAnchor(ctx, enumEntity);
}


export function convertEnumEntityForDocumentation(ctx: MarkupRenderContexts, enumEntity: EnumEntity | MergedEnumEntity): ConvertedEnumEntityForDocumentation {
export function convertEnumEntityForDocumentation(ctx: MarkupRenderContext, enumEntity: EnumEntity | MergedEnumEntity): ConvertedEnumEntityForDocumentation {

const name = enumEntity.name;
const symbolId = enumEntity.symbolId;
Expand Down Expand Up @@ -102,7 +102,7 @@ export function convertEnumEntityForDocumentation(ctx: MarkupRenderContexts, enu

}

function convertEnumMember(ctx: MarkupRenderContexts, member: EnumMemberEntity) {
function convertEnumMember(ctx: MarkupRenderContext, member: EnumMemberEntity) {

const name = member.name;

Expand Down
10 changes: 5 additions & 5 deletions src/renderer/markup/ast-converter/entities/event.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ import { renderEntityPrefix, spaceBetween } from "unwritten:renderer:markup/util

import type { PropertyEntity } from "unwritten:interpreter/type-definitions/entities";
import type { AnchorNode } from "unwritten:renderer/markup/types-definitions/nodes";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type {
ConvertedEventPropertyEntityForDocumentation,
ConvertedEventPropertyEntityForTableOfContents,
ConvertedEventPropertyEntityForType
} from "unwritten:renderer:markup/types-definitions/renderer";


export function convertEventPropertyEntityToAnchor(ctx: MarkupRenderContexts, propertyEntity: PropertyEntity, displayName?: string): AnchorNode {
export function convertEventPropertyEntityToAnchor(ctx: MarkupRenderContext, propertyEntity: PropertyEntity, displayName?: string): AnchorNode {

const name = propertyEntity.name;
const id = propertyEntity.symbolId;
Expand Down Expand Up @@ -66,12 +66,12 @@ export function convertEventPropertyEntityToAnchor(ctx: MarkupRenderContexts, pr
}


export function convertEventPropertyEntityForTableOfContents(ctx: MarkupRenderContexts, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForTableOfContents {
export function convertEventPropertyEntityForTableOfContents(ctx: MarkupRenderContext, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForTableOfContents {
return convertEventPropertyEntityToAnchor(ctx, propertyEntity);
}


export function convertEventPropertyEntityForDocumentation(ctx: MarkupRenderContexts, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForDocumentation {
export function convertEventPropertyEntityForDocumentation(ctx: MarkupRenderContext, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForDocumentation {

const name = propertyEntity.name;
const symbolId = propertyEntity.symbolId;
Expand Down Expand Up @@ -106,7 +106,7 @@ export function convertEventPropertyEntityForDocumentation(ctx: MarkupRenderCont

}

export function convertEventPropertyEntityForType(ctx: MarkupRenderContexts, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForType {
export function convertEventPropertyEntityForType(ctx: MarkupRenderContext, propertyEntity: PropertyEntity): ConvertedEventPropertyEntityForType {

const name = propertyEntity.name;
const nameWithContext = renderMemberContext(ctx, "documentation", name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ import { getSectionType } from "unwritten:renderer:markup/types-definitions/sect
import { createAnchorNode, createSectionNode, createTitleNode } from "unwritten:renderer:markup/utils/nodes";

import type { ExportAssignmentEntity } from "unwritten:interpreter/type-definitions/entities";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type {
ConvertedExportAssignmentEntityForDocumentation,
ConvertedExportAssignmentEntityForTableOfContents
} from "unwritten:renderer:markup/types-definitions/renderer";


export function convertExportAssignmentEntityToAnchor(ctx: MarkupRenderContexts, exportAssignmentEntity: ExportAssignmentEntity, displayName?: string): ConvertedExportAssignmentEntityForTableOfContents {
export function convertExportAssignmentEntityToAnchor(ctx: MarkupRenderContext, exportAssignmentEntity: ExportAssignmentEntity, displayName?: string): ConvertedExportAssignmentEntityForTableOfContents {

const id = exportAssignmentEntity.symbolId;
const name = exportAssignmentEntity.name;
Expand Down Expand Up @@ -48,11 +48,11 @@ export function convertExportAssignmentEntityToAnchor(ctx: MarkupRenderContexts,

}

export function convertExportAssignmentEntityForTableOfContents(ctx: MarkupRenderContexts, exportAssignmentEntity: ExportAssignmentEntity): ConvertedExportAssignmentEntityForTableOfContents {
export function convertExportAssignmentEntityForTableOfContents(ctx: MarkupRenderContext, exportAssignmentEntity: ExportAssignmentEntity): ConvertedExportAssignmentEntityForTableOfContents {
return convertExportAssignmentEntityToAnchor(ctx, exportAssignmentEntity);
}

export function convertExportAssignmentEntityForDocumentation(ctx: MarkupRenderContexts, exportAssignmentEntity: ExportAssignmentEntity): ConvertedExportAssignmentEntityForDocumentation {
export function convertExportAssignmentEntityForDocumentation(ctx: MarkupRenderContext, exportAssignmentEntity: ExportAssignmentEntity): ConvertedExportAssignmentEntityForDocumentation {

const name = exportAssignmentEntity.name;
const symbolId = exportAssignmentEntity.symbolId;
Expand Down
8 changes: 4 additions & 4 deletions src/renderer/markup/ast-converter/entities/function-like.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,29 @@ import {
} from "unwritten:renderer:markup/ast-converter/entities/index";

import type { FunctionLikeEntity } from "unwritten:interpreter/type-definitions/entities";
import type { MarkupRenderContexts } from "unwritten:renderer:markup/types-definitions/markup";
import type { MarkupRenderContext } from "unwritten:renderer:markup/types-definitions/markup";
import type {
ConvertedFunctionEntityForDocumentation,
ConvertedFunctionEntityForTableOfContents,
ConvertedFunctionEntityForType
} from "unwritten:renderer:markup/types-definitions/renderer";


export function convertFunctionLikeEntityForTableOfContents(ctx: MarkupRenderContexts, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForTableOfContents {
export function convertFunctionLikeEntityForTableOfContents(ctx: MarkupRenderContext, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForTableOfContents {
const explicitSignatures = filterOutImplicitSignatures(functionLikeEntity.signatures);
return explicitSignatures.map(
signature => convertSignatureEntityForTableOfContents(ctx, signature)
);
}

export function convertFunctionLikeEntityForDocumentation(ctx: MarkupRenderContexts, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForDocumentation {
export function convertFunctionLikeEntityForDocumentation(ctx: MarkupRenderContext, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForDocumentation {
const explicitSignatures = filterOutImplicitSignatures(functionLikeEntity.signatures);
return explicitSignatures.map(
signature => convertSignatureEntityForDocumentation(ctx, signature)
);
}

export function convertFunctionLikeEntityForType(ctx: MarkupRenderContexts, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForType {
export function convertFunctionLikeEntityForType(ctx: MarkupRenderContext, functionLikeEntity: FunctionLikeEntity): ConvertedFunctionEntityForType {
return functionLikeEntity.signatures.map(
signature => convertSignatureEntityForType(ctx, signature)
);
Expand Down

0 comments on commit 048a952

Please sign in to comment.