ts-json-schema-generator 2.1.2-next.1 → 2.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/factory/parser.d.ts +5 -4
- package/dist/factory/parser.js +2 -0
- package/dist/factory/parser.js.map +1 -1
- package/dist/factory/program.d.ts +1 -0
- package/dist/factory/program.js +3 -1
- package/dist/factory/program.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/package.json +3 -3
- package/dist/src/AnnotationsReader/BasicAnnotationsReader.d.ts +1 -0
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +1 -0
- package/dist/src/AnnotationsReader.d.ts +1 -0
- package/dist/src/ChainNodeParser.d.ts +1 -0
- package/dist/src/CircularReferenceNodeParser.d.ts +1 -0
- package/dist/src/Error/DiagnosticError.d.ts +1 -0
- package/dist/src/Error/UnknownNodeError.d.ts +1 -0
- package/dist/src/ExposeNodeParser.d.ts +1 -0
- package/dist/src/Interfaces/AnnotationsReader.d.ts +1 -0
- package/dist/src/Interfaces/SubNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/AnnotatedNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/AnyTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ArrayLiteralExpressionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ArrayNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/AsExpressionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/BooleanLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/BooleanTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/CallExpressionParser.d.ts +1 -0
- package/dist/src/NodeParser/ConditionalTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ConstructorNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/EnumNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/FunctionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/HiddenTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/IndexedAccessTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/InferTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/IntersectionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/IntrinsicNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/LiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/MappedTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/NamedTupleMemberNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/NeverTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/NullLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/NumberLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/NumberTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ObjectTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/OptionalTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/ParameterParser.d.ts +1 -0
- package/dist/src/NodeParser/ParenthesizedNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/PromiseNodeParser.d.ts +13 -0
- package/dist/src/NodeParser/PromiseNodeParser.js +55 -0
- package/dist/src/NodeParser/PromiseNodeParser.js.map +1 -0
- package/dist/src/NodeParser/PropertyAccessExpressionParser.d.ts +1 -0
- package/dist/src/NodeParser/RestTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/SatisfiesNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/StringLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/StringTemplateLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/StringTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/SymbolTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/TupleNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/TypeAliasNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/TypeLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/TypeOperatorNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/TypeReferenceNodeParser.d.ts +2 -1
- package/dist/src/NodeParser/TypeReferenceNodeParser.js +6 -3
- package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeofNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/UndefinedLiteralNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/UndefinedTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/UnionNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/UnknownTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser/VoidTypeNodeParser.d.ts +1 -0
- package/dist/src/NodeParser.d.ts +1 -0
- package/dist/src/SchemaGenerator.d.ts +10 -9
- package/dist/src/SchemaGenerator.js +75 -53
- package/dist/src/SchemaGenerator.js.map +1 -1
- package/dist/src/SubNodeParser.d.ts +1 -0
- package/dist/src/TopRefNodeParser.d.ts +1 -0
- package/dist/src/Type/ConstructorType.d.ts +1 -0
- package/dist/src/Type/FunctionType.d.ts +1 -0
- package/dist/src/Utils/hasJsDocTag.d.ts +1 -0
- package/dist/src/Utils/isHidden.d.ts +1 -0
- package/dist/src/Utils/modifiers.d.ts +1 -0
- package/dist/src/Utils/nodeKey.d.ts +1 -0
- package/dist/src/Utils/symbolAtNode.d.ts +2 -2
- package/dist/src/Utils/symbolAtNode.js +0 -3
- package/dist/src/Utils/symbolAtNode.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/factory/parser.ts +7 -5
- package/factory/program.ts +3 -1
- package/package.json +3 -3
- package/src/NodeParser/FunctionNodeParser.ts +3 -0
- package/src/NodeParser/PromiseNodeParser.ts +98 -0
- package/src/NodeParser/TypeReferenceNodeParser.ts +11 -7
- package/src/SchemaGenerator.ts +129 -67
- package/src/Utils/symbolAtNode.ts +2 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeReferenceNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/TypeReferenceNodeParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeReferenceNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/TypeReferenceNodeParser.ts"],"names":[],"mappings":"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"}
|
package/dist/src/NodeParser.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
/// <reference types="ts-expose-internals/typescript.js" />
|
|
1
2
|
import ts from "typescript";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import type { Config } from "./Config.js";
|
|
4
|
+
import { type NodeParser } from "./NodeParser.js";
|
|
5
|
+
import type { Definition } from "./Schema/Definition.js";
|
|
6
|
+
import type { Schema } from "./Schema/Schema.js";
|
|
7
|
+
import type { BaseType } from "./Type/BaseType.js";
|
|
8
|
+
import type { TypeFormatter } from "./TypeFormatter.js";
|
|
9
|
+
import type { StringMap } from "./Utils/StringMap.js";
|
|
9
10
|
export declare class SchemaGenerator {
|
|
10
11
|
protected readonly program: ts.Program;
|
|
11
12
|
protected readonly nodeParser: NodeParser;
|
|
@@ -24,7 +25,7 @@ export declare class SchemaGenerator {
|
|
|
24
25
|
};
|
|
25
26
|
protected appendTypes(sourceFiles: readonly ts.SourceFile[], typeChecker: ts.TypeChecker, types: Map<string, ts.Node>): void;
|
|
26
27
|
protected inspectNode(node: ts.Node, typeChecker: ts.TypeChecker, allTypes: Map<string, ts.Node>): void;
|
|
27
|
-
protected isExportType(node: ts.
|
|
28
|
+
protected isExportType(node: ts.InterfaceDeclaration | ts.ClassDeclaration | ts.EnumDeclaration | ts.TypeAliasDeclaration): boolean;
|
|
28
29
|
protected isGenericType(node: ts.TypeAliasDeclaration): boolean;
|
|
29
|
-
protected getFullName(node: ts.
|
|
30
|
+
protected getFullName(node: ts.Declaration, typeChecker: ts.TypeChecker): string;
|
|
30
31
|
}
|
|
@@ -2,9 +2,8 @@ import ts from "typescript";
|
|
|
2
2
|
import { NoRootTypeError } from "./Error/NoRootTypeError.js";
|
|
3
3
|
import { Context } from "./NodeParser.js";
|
|
4
4
|
import { DefinitionType } from "./Type/DefinitionType.js";
|
|
5
|
-
import { localSymbolAtNode, symbolAtNode } from "./Utils/symbolAtNode.js";
|
|
6
|
-
import { removeUnreachable } from "./Utils/removeUnreachable.js";
|
|
7
5
|
import { hasJsDocTag } from "./Utils/hasJsDocTag.js";
|
|
6
|
+
import { removeUnreachable } from "./Utils/removeUnreachable.js";
|
|
8
7
|
export class SchemaGenerator {
|
|
9
8
|
program;
|
|
10
9
|
nodeParser;
|
|
@@ -26,7 +25,9 @@ export class SchemaGenerator {
|
|
|
26
25
|
});
|
|
27
26
|
const rootTypeDefinition = rootTypes.length === 1 ? this.getRootTypeDefinition(rootTypes[0]) : undefined;
|
|
28
27
|
const definitions = {};
|
|
29
|
-
|
|
28
|
+
for (const rootType of rootTypes) {
|
|
29
|
+
this.appendRootChildDefinitions(rootType, definitions);
|
|
30
|
+
}
|
|
30
31
|
const reachableDefinitions = removeUnreachable(rootTypeDefinition, definitions);
|
|
31
32
|
return {
|
|
32
33
|
...(this.config?.schemaId ? { $id: this.config.schemaId } : {}),
|
|
@@ -39,15 +40,13 @@ export class SchemaGenerator {
|
|
|
39
40
|
if (fullName && fullName !== "*") {
|
|
40
41
|
return [this.findNamedNode(fullName)];
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return [...rootNodes.values()];
|
|
50
|
-
}
|
|
43
|
+
const rootFileNames = this.program.getRootFileNames();
|
|
44
|
+
const rootSourceFiles = this.program
|
|
45
|
+
.getSourceFiles()
|
|
46
|
+
.filter((sourceFile) => rootFileNames.includes(sourceFile.fileName));
|
|
47
|
+
const rootNodes = new Map();
|
|
48
|
+
this.appendTypes(rootSourceFiles, this.program.getTypeChecker(), rootNodes);
|
|
49
|
+
return [...rootNodes.values()];
|
|
51
50
|
}
|
|
52
51
|
findNamedNode(fullName) {
|
|
53
52
|
const typeChecker = this.program.getTypeChecker();
|
|
@@ -111,67 +110,90 @@ export class SchemaGenerator {
|
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
112
|
inspectNode(node, typeChecker, allTypes) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
113
|
+
if (ts.isVariableDeclaration(node)) {
|
|
114
|
+
if (node.initializer?.kind === ts.SyntaxKind.ArrowFunction ||
|
|
115
|
+
node.initializer?.kind === ts.SyntaxKind.FunctionExpression) {
|
|
116
|
+
this.inspectNode(node.initializer, typeChecker, allTypes);
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (ts.isInterfaceDeclaration(node) ||
|
|
121
|
+
ts.isClassDeclaration(node) ||
|
|
122
|
+
ts.isEnumDeclaration(node) ||
|
|
123
|
+
ts.isTypeAliasDeclaration(node)) {
|
|
124
|
+
if (this.config?.expose === "all" ||
|
|
125
|
+
(this.isExportType(node) && !this.isGenericType(node))) {
|
|
126
|
+
allTypes.set(this.getFullName(node, typeChecker), node);
|
|
121
127
|
return;
|
|
122
128
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (ts.isFunctionDeclaration(node) ||
|
|
132
|
+
ts.isFunctionExpression(node) ||
|
|
133
|
+
ts.isArrowFunction(node) ||
|
|
134
|
+
ts.isConstructorTypeNode(node)) {
|
|
135
|
+
allTypes.set(this.getFullName(node, typeChecker), node);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (ts.isExportSpecifier(node)) {
|
|
139
|
+
const symbol = typeChecker.getExportSpecifierLocalTargetSymbol(node);
|
|
140
|
+
if (symbol?.declarations?.length === 1) {
|
|
141
|
+
const declaration = symbol.declarations[0];
|
|
142
|
+
if (ts.isImportSpecifier(declaration)) {
|
|
143
|
+
const type = typeChecker.getTypeAtLocation(declaration);
|
|
144
|
+
if (type.symbol?.declarations?.length === 1) {
|
|
145
|
+
this.inspectNode(type.symbol.declarations[0], typeChecker, allTypes);
|
|
146
|
+
}
|
|
131
147
|
}
|
|
148
|
+
else {
|
|
149
|
+
this.inspectNode(declaration, typeChecker, allTypes);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (ts.isExportDeclaration(node)) {
|
|
155
|
+
if (!ts.isExportDeclaration(node)) {
|
|
132
156
|
return;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
157
|
+
}
|
|
158
|
+
if (!node.moduleSpecifier) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const symbol = typeChecker.getSymbolAtLocation(node.moduleSpecifier);
|
|
162
|
+
if (!symbol || !symbol.declarations) {
|
|
138
163
|
return;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
if (
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
}
|
|
165
|
+
for (const source of symbol.declarations) {
|
|
166
|
+
const sourceSymbol = typeChecker.getSymbolAtLocation(source);
|
|
167
|
+
if (!sourceSymbol) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const moduleExports = typeChecker.getExportsOfModule(sourceSymbol);
|
|
171
|
+
for (const moduleExport of moduleExports) {
|
|
172
|
+
const nodes = moduleExport.declarations ||
|
|
173
|
+
(!!moduleExport.valueDeclaration && [moduleExport.valueDeclaration]);
|
|
174
|
+
if (!nodes) {
|
|
175
|
+
return;
|
|
150
176
|
}
|
|
151
|
-
|
|
152
|
-
this.inspectNode(
|
|
177
|
+
for (const subnodes of nodes) {
|
|
178
|
+
this.inspectNode(subnodes, typeChecker, allTypes);
|
|
153
179
|
}
|
|
154
180
|
}
|
|
155
|
-
return;
|
|
156
181
|
}
|
|
157
|
-
|
|
158
|
-
ts.forEachChild(node, (subnode) => this.inspectNode(subnode, typeChecker, allTypes));
|
|
159
|
-
return;
|
|
182
|
+
return;
|
|
160
183
|
}
|
|
184
|
+
ts.forEachChild(node, (subnode) => this.inspectNode(subnode, typeChecker, allTypes));
|
|
161
185
|
}
|
|
162
186
|
isExportType(node) {
|
|
163
187
|
if (this.config?.jsDoc !== "none" && hasJsDocTag(node, "internal")) {
|
|
164
188
|
return false;
|
|
165
189
|
}
|
|
166
|
-
|
|
167
|
-
return localSymbol ? "exportSymbol" in localSymbol : false;
|
|
190
|
+
return !!node.localSymbol?.exportSymbol;
|
|
168
191
|
}
|
|
169
192
|
isGenericType(node) {
|
|
170
193
|
return !!(node.typeParameters && node.typeParameters.length > 0);
|
|
171
194
|
}
|
|
172
195
|
getFullName(node, typeChecker) {
|
|
173
|
-
|
|
174
|
-
return typeChecker.getFullyQualifiedName(symbol).replace(/".*"\./, "");
|
|
196
|
+
return typeChecker.getFullyQualifiedName(node.symbol).replace(/".*"\./, "");
|
|
175
197
|
}
|
|
176
198
|
}
|
|
177
199
|
//# sourceMappingURL=SchemaGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../src/SchemaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../src/SchemaGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="ts-expose-internals/typescript.js" />
|
|
2
|
+
import type ts from "typescript";
|
|
2
3
|
export declare function symbolAtNode(node: ts.Node): ts.Symbol | undefined;
|
|
3
|
-
export declare function localSymbolAtNode(node: ts.Node): ts.Symbol | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,IAAa;IACtC,OAAQ,
|
|
1
|
+
{"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,IAAa;IACtC,OAAQ,IAAuB,CAAC,MAAM,CAAC;AAC3C,CAAC"}
|