ts-json-schema-generator 2.1.2-next.0 → 2.2.0-next.0
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 +1 -0
- 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 +1 -0
- package/dist/ts-json-schema-generator.js +1 -1
- package/dist/ts-json-schema-generator.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/ts-json-schema-generator.ts +1 -1
package/README.md
CHANGED
package/dist/factory/parser.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
/// <reference types="ts-expose-internals/typescript.js" />
|
|
2
|
+
import type ts from "typescript";
|
|
3
|
+
import type { CompletedConfig } from "../src/Config.js";
|
|
4
|
+
import type { MutableParser } from "../src/MutableParser.js";
|
|
5
|
+
import type { NodeParser } from "../src/NodeParser.js";
|
|
5
6
|
export type ParserAugmentor = (parser: MutableParser) => void;
|
|
6
7
|
export declare function createParser(program: ts.Program, config: CompletedConfig, augmentor?: ParserAugmentor): NodeParser;
|
package/dist/factory/parser.js
CHANGED
|
@@ -53,6 +53,7 @@ import { UnknownTypeNodeParser } from "../src/NodeParser/UnknownTypeNodeParser.j
|
|
|
53
53
|
import { VoidTypeNodeParser } from "../src/NodeParser/VoidTypeNodeParser.js";
|
|
54
54
|
import { TopRefNodeParser } from "../src/TopRefNodeParser.js";
|
|
55
55
|
import { SatisfiesNodeParser } from "../src/NodeParser/SatisfiesNodeParser.js";
|
|
56
|
+
import { PromiseNodeParser } from "../src/NodeParser/PromiseNodeParser.js";
|
|
56
57
|
export function createParser(program, config, augmentor) {
|
|
57
58
|
const typeChecker = program.getTypeChecker();
|
|
58
59
|
const chainNodeParser = new ChainNodeParser(typeChecker, []);
|
|
@@ -106,6 +107,7 @@ export function createParser(program, config, augmentor) {
|
|
|
106
107
|
.addNodeParser(new PrefixUnaryExpressionNodeParser(chainNodeParser))
|
|
107
108
|
.addNodeParser(new LiteralNodeParser(chainNodeParser))
|
|
108
109
|
.addNodeParser(new ParenthesizedNodeParser(chainNodeParser))
|
|
110
|
+
.addNodeParser(new PromiseNodeParser(typeChecker, chainNodeParser))
|
|
109
111
|
.addNodeParser(new TypeReferenceNodeParser(typeChecker, chainNodeParser))
|
|
110
112
|
.addNodeParser(new ExpressionWithTypeArgumentsNodeParser(typeChecker, chainNodeParser))
|
|
111
113
|
.addNodeParser(new IndexedAccessTypeNodeParser(typeChecker, chainNodeParser))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/factory/program.js
CHANGED
|
@@ -47,7 +47,9 @@ function getTsConfig(config) {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
export function createProgram(config) {
|
|
50
|
-
const rootNamesFromPath = config.path
|
|
50
|
+
const rootNamesFromPath = config.path
|
|
51
|
+
? glob.sync(normalize(path.resolve(config.path))).map((rootName) => normalize(rootName))
|
|
52
|
+
: [];
|
|
51
53
|
const tsconfig = getTsConfig(config);
|
|
52
54
|
const rootNames = rootNamesFromPath.length ? rootNamesFromPath : tsconfig.fileNames;
|
|
53
55
|
if (!rootNames.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,SAAS,gBAAgB,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,MAAM,GAAG,EAAE,CAAC,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAAC,+BAA+B,UAAU,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,CAAC,0BAA0B,CAC7C,MAAM,CAAC,MAAM,EACb,EAAE,CAAC,GAAG,EACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EACtC,EAAE,EACF,UAAU,CACb,CAAC;QACF,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAClC,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/B,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;QACvC,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC;QAC1C,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC;QAE1C,OAAO,WAAW,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,eAAe,EAAE,CAAC;IAChC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,qBAAqB,EAAE,IAAI;YAC3B,sBAAsB,EAAE,IAAI;YAC5B,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG;YAC3B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,KAAK;SAC1B;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAuB;IACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-json-schema-generator",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0-next.0",
|
|
4
4
|
"description": "Generate JSON schema from your Typescript sources",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"@types/jest": "^29.5.12",
|
|
66
66
|
"@types/node": "^20.12.7",
|
|
67
67
|
"@types/normalize-path": "^3.0.2",
|
|
68
|
+
"@types/ts-expose-internals": "npm:ts-expose-internals@^5.4.5",
|
|
68
69
|
"ajv": "^8.12.0",
|
|
69
70
|
"ajv-formats": "^3.0.1",
|
|
70
71
|
"auto": "^11.1.6",
|
|
@@ -94,6 +95,5 @@
|
|
|
94
95
|
"debug": "tsx --inspect-brk ts-json-schema-generator.ts",
|
|
95
96
|
"run": "tsx ts-json-schema-generator.ts",
|
|
96
97
|
"release": "yarn build && auto shipit"
|
|
97
|
-
}
|
|
98
|
-
"packageManager": "yarn@1.22.19"
|
|
98
|
+
}
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/FunctionNodeParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,OAAO,kBAAkB;IAEb;IACA;IAFd,YACc,eAA2B,EAC3B,SAA0B;QAD1B,oBAAe,GAAf,eAAe,CAAY;QAC3B,cAAS,GAAT,SAAS,CAAiB;IACrC,CAAC;IAEG,YAAY,CAAC,IAAiB;QACjC,OAAO,CACH,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"FunctionNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/FunctionNodeParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="ts-expose-internals/typescript.js" />
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { Context, type NodeParser } from "../NodeParser.js";
|
|
4
|
+
import type { SubNodeParser } from "../SubNodeParser.js";
|
|
5
|
+
import type { BaseType } from "../Type/BaseType.js";
|
|
6
|
+
export declare class PromiseNodeParser implements SubNodeParser {
|
|
7
|
+
protected typeChecker: ts.TypeChecker;
|
|
8
|
+
protected childNodeParser: NodeParser;
|
|
9
|
+
constructor(typeChecker: ts.TypeChecker, childNodeParser: NodeParser);
|
|
10
|
+
supportsNode(node: ts.Node): boolean;
|
|
11
|
+
createType(node: ts.InterfaceDeclaration | ts.ClassDeclaration | ts.ExpressionWithTypeArguments | ts.TypeAliasDeclaration, context: Context): BaseType;
|
|
12
|
+
private getNodeName;
|
|
13
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Context } from "../NodeParser.js";
|
|
3
|
+
import { AliasType } from "../Type/AliasType.js";
|
|
4
|
+
import { DefinitionType } from "../Type/DefinitionType.js";
|
|
5
|
+
import { getKey } from "../Utils/nodeKey.js";
|
|
6
|
+
export class PromiseNodeParser {
|
|
7
|
+
typeChecker;
|
|
8
|
+
childNodeParser;
|
|
9
|
+
constructor(typeChecker, childNodeParser) {
|
|
10
|
+
this.typeChecker = typeChecker;
|
|
11
|
+
this.childNodeParser = childNodeParser;
|
|
12
|
+
}
|
|
13
|
+
supportsNode(node) {
|
|
14
|
+
if (!ts.isInterfaceDeclaration(node) &&
|
|
15
|
+
!ts.isClassDeclaration(node) &&
|
|
16
|
+
!ts.isExpressionWithTypeArguments(node) &&
|
|
17
|
+
!ts.isTypeAliasDeclaration(node)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const type = this.typeChecker.getTypeAtLocation(node);
|
|
21
|
+
const awaitedType = this.typeChecker.getAwaitedType(type);
|
|
22
|
+
if (!awaitedType) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (awaitedType === type) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return (!this.typeChecker.isTypeAssignableTo(type, awaitedType) &&
|
|
29
|
+
!this.typeChecker.isTypeAssignableTo(awaitedType, type));
|
|
30
|
+
}
|
|
31
|
+
createType(node, context) {
|
|
32
|
+
const type = this.typeChecker.getTypeAtLocation(node);
|
|
33
|
+
const awaitedType = this.typeChecker.getAwaitedType(type);
|
|
34
|
+
const awaitedNode = this.typeChecker.typeToTypeNode(awaitedType, undefined, ts.NodeBuilderFlags.IgnoreErrors);
|
|
35
|
+
if (!awaitedNode) {
|
|
36
|
+
throw new Error(`Could not find awaited node for type ${node.pos === -1 ? "<unresolved>" : node.getText()}`);
|
|
37
|
+
}
|
|
38
|
+
const baseNode = this.childNodeParser.createType(awaitedNode, new Context(node));
|
|
39
|
+
const name = this.getNodeName(node);
|
|
40
|
+
if (!name) {
|
|
41
|
+
return baseNode;
|
|
42
|
+
}
|
|
43
|
+
return new DefinitionType(name, new AliasType(`promise-${getKey(node, context)}`, baseNode));
|
|
44
|
+
}
|
|
45
|
+
getNodeName(node) {
|
|
46
|
+
if (ts.isExpressionWithTypeArguments(node)) {
|
|
47
|
+
if (!ts.isHeritageClause(node.parent)) {
|
|
48
|
+
throw new Error("Expected ExpressionWithTypeArguments to have a HeritageClause parent");
|
|
49
|
+
}
|
|
50
|
+
return node.parent.parent.name?.getText();
|
|
51
|
+
}
|
|
52
|
+
return node.name?.getText();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=PromiseNodeParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromiseNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/PromiseNodeParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK7C,MAAM,OAAO,iBAAiB;IAEZ;IACA;IAFd,YACc,WAA2B,EAC3B,eAA2B;QAD3B,gBAAW,GAAX,WAAW,CAAgB;QAC3B,oBAAe,GAAf,eAAe,CAAY;IACtC,CAAC;IAEG,YAAY,CAAC,IAAa;QAC7B,IAEI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAEhC,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAE5B,CAAC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC;YAEvC,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAClC,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAG1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACjB,CAAC;QAKD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QAKD,OAAO,CACH,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;YACvD,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC1D,CAAC;IACN,CAAC;IAEM,UAAU,CACb,IAA8G,EAC9G,OAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE9G,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACX,wCAAwC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAC9F,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAKpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,CAAC;IAEO,WAAW,CACf,IAA8G;QAE9G,IAAI,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC5F,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChC,CAAC;CACJ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/// <reference types="ts-expose-internals/typescript.js" />
|
|
1
2
|
import ts from "typescript";
|
|
2
|
-
import { Context, NodeParser } from "../NodeParser.js";
|
|
3
|
+
import { Context, type NodeParser } from "../NodeParser.js";
|
|
3
4
|
import type { SubNodeParser } from "../SubNodeParser.js";
|
|
4
5
|
import type { BaseType } from "../Type/BaseType.js";
|
|
5
6
|
export declare class TypeReferenceNodeParser implements SubNodeParser {
|
|
@@ -21,9 +21,6 @@ export class TypeReferenceNodeParser {
|
|
|
21
21
|
createType(node, context) {
|
|
22
22
|
const typeSymbol = this.typeChecker.getSymbolAtLocation(node.typeName) ??
|
|
23
23
|
node.typeName.symbol;
|
|
24
|
-
if (typeSymbol.name === "Promise") {
|
|
25
|
-
return this.childNodeParser.createType(node.typeArguments[0], this.createSubContext(node, context));
|
|
26
|
-
}
|
|
27
24
|
if (typeSymbol.flags & ts.SymbolFlags.Alias) {
|
|
28
25
|
const aliasedSymbol = this.typeChecker.getAliasedSymbol(typeSymbol);
|
|
29
26
|
const declaration = aliasedSymbol.declarations?.filter((n) => !invalidTypes[n.kind])[0];
|
|
@@ -35,6 +32,12 @@ export class TypeReferenceNodeParser {
|
|
|
35
32
|
if (typeSymbol.flags & ts.SymbolFlags.TypeParameter) {
|
|
36
33
|
return context.getArgument(typeSymbol.name);
|
|
37
34
|
}
|
|
35
|
+
if (typeSymbol.name === "Promise" || typeSymbol.name === "PromiseLike") {
|
|
36
|
+
if (!node.typeArguments || node.typeArguments.length === 0) {
|
|
37
|
+
return new AnyType();
|
|
38
|
+
}
|
|
39
|
+
return this.childNodeParser.createType(node.typeArguments[0], this.createSubContext(node, context));
|
|
40
|
+
}
|
|
38
41
|
if (typeSymbol.name === "Array" || typeSymbol.name === "ReadonlyArray") {
|
|
39
42
|
const type = this.createSubContext(node, context).getArguments()[0];
|
|
40
43
|
return type === undefined ? new AnyType() : new ArrayType(type);
|