ts-json-schema-generator 2.5.0-next.5 → 2.5.0-next.7
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/dist/factory/generator.js +1 -1
- package/dist/factory/generator.js.map +1 -1
- package/dist/factory/parser.js +2 -0
- package/dist/factory/parser.js.map +1 -1
- package/dist/package.json +21 -20
- package/dist/src/Config.d.ts +3 -1
- package/dist/src/Config.js.map +1 -1
- package/dist/src/NodeParser/MappedTypeNodeParser.js +1 -1
- package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/NewExpressionParser.d.ts +13 -0
- package/dist/src/NodeParser/NewExpressionParser.js +41 -0
- package/dist/src/NodeParser/NewExpressionParser.js.map +1 -0
- package/dist/src/NodeParser/TypeOperatorNodeParser.d.ts +1 -1
- package/dist/src/NodeParser/TypeOperatorNodeParser.js +2 -1
- package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/factory/generator.ts +1 -1
- package/factory/parser.ts +2 -0
- package/package.json +21 -20
- package/src/Config.ts +121 -1
- package/src/NodeParser/MappedTypeNodeParser.ts +1 -1
- package/src/NodeParser/NewExpressionParser.ts +46 -0
- package/src/NodeParser/TypeOperatorNodeParser.ts +2 -2
|
@@ -8,7 +8,7 @@ const parser_js_1 = require("./parser.js");
|
|
|
8
8
|
const program_js_1 = require("./program.js");
|
|
9
9
|
function createGenerator(config) {
|
|
10
10
|
const completedConfig = { ...Config_js_1.DEFAULT_CONFIG, ...config };
|
|
11
|
-
const program = (0, program_js_1.createProgram)(completedConfig);
|
|
11
|
+
const program = config.tsProgram || (0, program_js_1.createProgram)(completedConfig);
|
|
12
12
|
const parser = (0, parser_js_1.createParser)(program, completedConfig);
|
|
13
13
|
const formatter = (0, formatter_js_1.createFormatter)(completedConfig);
|
|
14
14
|
return new SchemaGenerator_js_1.SchemaGenerator(program, parser, formatter, completedConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;AAOA,0CAOC;AAbD,gDAAkD;AAClD,kEAA4D;AAC5D,iDAAiD;AACjD,2CAA2C;AAC3C,6CAA6C;AAE7C,SAAgB,eAAe,CAAC,MAAc;IAC1C,MAAM,eAAe,GAAG,EAAE,GAAG,0BAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;AAOA,0CAOC;AAbD,gDAAkD;AAClD,kEAA4D;AAC5D,iDAAiD;AACjD,2CAA2C;AAC3C,6CAA6C;AAE7C,SAAgB,eAAe,CAAC,MAAc;IAC1C,MAAM,eAAe,GAAG,EAAE,GAAG,0BAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,IAAA,0BAAa,EAAC,eAAe,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,8BAAe,EAAC,eAAe,CAAC,CAAC;IAEnD,OAAO,IAAI,oCAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC5E,CAAC"}
|
package/dist/factory/parser.js
CHANGED
|
@@ -15,6 +15,7 @@ const BooleanLiteralNodeParser_js_1 = require("../src/NodeParser/BooleanLiteralN
|
|
|
15
15
|
const BooleanTypeNodeParser_js_1 = require("../src/NodeParser/BooleanTypeNodeParser.js");
|
|
16
16
|
const CallExpressionParser_js_1 = require("../src/NodeParser/CallExpressionParser.js");
|
|
17
17
|
const ConditionalTypeNodeParser_js_1 = require("../src/NodeParser/ConditionalTypeNodeParser.js");
|
|
18
|
+
const NewExpressionParser_js_1 = require("../src/NodeParser/NewExpressionParser.js");
|
|
18
19
|
const ConstructorNodeParser_js_1 = require("../src/NodeParser/ConstructorNodeParser.js");
|
|
19
20
|
const EnumNodeParser_js_1 = require("../src/NodeParser/EnumNodeParser.js");
|
|
20
21
|
const ExpressionWithTypeArgumentsNodeParser_js_1 = require("../src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js");
|
|
@@ -130,6 +131,7 @@ function createParser(program, config, augmentor) {
|
|
|
130
131
|
.addNodeParser(new IdentifierNodeParser_js_1.IdentifierNodeParser(chainNodeParser, typeChecker))
|
|
131
132
|
.addNodeParser(new SpreadElementNodeParser_js_1.SpreadElementNodeParser(chainNodeParser))
|
|
132
133
|
.addNodeParser(new CallExpressionParser_js_1.CallExpressionParser(typeChecker, chainNodeParser))
|
|
134
|
+
.addNodeParser(new NewExpressionParser_js_1.NewExpressionParser(typeChecker, chainNodeParser))
|
|
133
135
|
.addNodeParser(new PropertyAccessExpressionParser_js_1.PropertyAccessExpressionParser(typeChecker, chainNodeParser))
|
|
134
136
|
.addNodeParser(withCircular(withExpose(withJsDoc(new TypeAliasNodeParser_js_1.TypeAliasNodeParser(typeChecker, chainNodeParser)))))
|
|
135
137
|
.addNodeParser(withExpose(withJsDoc(new EnumNodeParser_js_1.EnumNodeParser(typeChecker))))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-json-schema-generator",
|
|
3
|
-
"version": "2.5.0-next.
|
|
3
|
+
"version": "2.5.0-next.7",
|
|
4
4
|
"description": "Generate JSON schema from your Typescript sources",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ts",
|
|
@@ -58,42 +58,43 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@types/json-schema": "^7.0.15",
|
|
60
60
|
"commander": "^14.0.0",
|
|
61
|
-
"glob": "^11.0.
|
|
61
|
+
"glob": "^11.0.3",
|
|
62
62
|
"json5": "^2.2.3",
|
|
63
63
|
"normalize-path": "^3.0.0",
|
|
64
64
|
"safe-stable-stringify": "^2.5.0",
|
|
65
65
|
"tslib": "^2.8.1",
|
|
66
|
-
"typescript": "^5.8.
|
|
66
|
+
"typescript": "^5.8.3",
|
|
67
|
+
"@typescript/vfs": "1.6.2"
|
|
67
68
|
},
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@auto-it/conventional-commits": "^11.3.0",
|
|
70
71
|
"@auto-it/first-time-contributor": "^11.3.0",
|
|
71
|
-
"@babel/core": "^7.
|
|
72
|
-
"@babel/preset-env": "^7.
|
|
73
|
-
"@babel/preset-typescript": "^7.27.
|
|
74
|
-
"@eslint/js": "^9.
|
|
72
|
+
"@babel/core": "^7.28.0",
|
|
73
|
+
"@babel/preset-env": "^7.28.0",
|
|
74
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
75
|
+
"@eslint/js": "^9.30.1",
|
|
75
76
|
"@types/eslint": "^9.6.1",
|
|
76
|
-
"@types/glob": "^8.1.0",
|
|
77
77
|
"@types/jest": "^30.0.0",
|
|
78
|
-
"@types/node": "^
|
|
78
|
+
"@types/node": "^24.0.10",
|
|
79
79
|
"@types/normalize-path": "^3.0.2",
|
|
80
80
|
"ajv": "^8.17.1",
|
|
81
81
|
"ajv-formats": "^3.0.1",
|
|
82
82
|
"auto": "^11.3.0",
|
|
83
|
-
"chai": "^
|
|
84
|
-
"cross-env": "^
|
|
85
|
-
"eslint": "9.
|
|
86
|
-
"eslint-config-prettier": "^10.1.
|
|
87
|
-
"eslint-plugin-prettier": "^5.
|
|
88
|
-
"
|
|
83
|
+
"chai": "^6.0.1",
|
|
84
|
+
"cross-env": "^10.0.0",
|
|
85
|
+
"eslint": "9.39.1",
|
|
86
|
+
"eslint-config-prettier": "^10.1.5",
|
|
87
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
88
|
+
"globals": "^16.3.0",
|
|
89
|
+
"jest": "^30.0.4",
|
|
89
90
|
"jest-junit": "^16.0.0",
|
|
90
|
-
"prettier": "^3.
|
|
91
|
-
"tsx": "^4.
|
|
92
|
-
"typescript-eslint": "^8.
|
|
91
|
+
"prettier": "^3.6.2",
|
|
92
|
+
"tsx": "^4.20.3",
|
|
93
|
+
"typescript-eslint": "^8.35.1",
|
|
93
94
|
"vega": "^6.1.2",
|
|
94
|
-
"vega-lite": "^6.
|
|
95
|
+
"vega-lite": "^6.2.0"
|
|
95
96
|
},
|
|
96
|
-
"packageManager": "npm@11.2
|
|
97
|
+
"packageManager": "npm@11.4.2",
|
|
97
98
|
"engines": {
|
|
98
99
|
"node": ">=18.0.0"
|
|
99
100
|
}
|
package/dist/src/Config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type ts from "typescript";
|
|
1
2
|
export interface Config {
|
|
2
3
|
path?: string;
|
|
3
4
|
type?: string;
|
|
@@ -17,7 +18,8 @@ export interface Config {
|
|
|
17
18
|
additionalProperties?: boolean;
|
|
18
19
|
discriminatorType?: "json-schema" | "open-api";
|
|
19
20
|
functions?: FunctionOptions;
|
|
21
|
+
tsProgram?: ts.Program;
|
|
20
22
|
}
|
|
21
23
|
export type CompletedConfig = Config & typeof DEFAULT_CONFIG;
|
|
22
24
|
export type FunctionOptions = "fail" | "comment" | "hide";
|
|
23
|
-
export declare const DEFAULT_CONFIG: Omit<Required<Config>, "path" | "type" | "schemaId" | "tsconfig">;
|
|
25
|
+
export declare const DEFAULT_CONFIG: Omit<Required<Config>, "path" | "type" | "schemaId" | "tsconfig" | "tsProgram">;
|
package/dist/src/Config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":";;;AAiJa,QAAA,cAAc,GAAoF;IAC3G,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,UAAU;IACjB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,EAAE;IACb,oBAAoB,EAAE,KAAK;IAC3B,iBAAiB,EAAE,aAAa;IAChC,SAAS,EAAE,SAAS;CACvB,CAAC"}
|
|
@@ -48,7 +48,7 @@ class MappedTypeNodeParser {
|
|
|
48
48
|
const type = this.childNodeParser.createType(node.type, this.createSubContext(node, keyListType, context));
|
|
49
49
|
return type instanceof NeverType_js_1.NeverType ? new NeverType_js_1.NeverType() : new ArrayType_js_1.ArrayType(type);
|
|
50
50
|
}
|
|
51
|
-
const type = this.childNodeParser.createType(node.type, context);
|
|
51
|
+
const type = this.childNodeParser.createType(node.type, this.createSubContext(node, keyListType, context));
|
|
52
52
|
const resultType = new ObjectType_js_1.ObjectType(id, [], [], type);
|
|
53
53
|
if (resultType) {
|
|
54
54
|
let annotations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappedTypeNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/MappedTypeNodeParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAC5B,kDAA4D;AAE5D,oDAA2C;AAE3C,+DAAyD;AACzD,uDAAiD;AAEjD,iEAA2D;AAE3D,qDAA+C;AAC/C,2DAAqD;AACrD,uDAAiD;AACjD,yDAAmD;AACnD,yDAAmE;AACnE,yDAAmD;AACnD,yDAAmD;AACnD,uDAAiD;AACjD,wDAA0F;AAC1F,oDAA6C;AAC7C,0EAAoE;AACpE,oEAA8D;AAC9D,oEAA8D;AAE9D,MAAa,oBAAoB;IAEf;IACS;IAFvB,YACc,eAA2B,EAClB,oBAA6B;QADtC,oBAAe,GAAf,eAAe,CAAY;QAClB,yBAAoB,GAApB,oBAAoB,CAAS;IACjD,CAAC;IAEG,YAAY,CAAC,IAAuB;QACvC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,CAAC;IAEM,UAAU,CAAC,IAAuB,EAAE,OAAgB;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAW,EAAE,OAAO,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,IAAA,wBAAS,EAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,gBAAgB,IAAA,mBAAM,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAEnD,IAAI,WAAW,YAAY,wBAAS,EAAE,CAAC;YAEnC,OAAO,IAAI,0BAAU,CACjB,EAAE,EACF,EAAE,EACF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAC9C,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAC3D,CAAC;QACN,CAAC;QAED,IAAI,WAAW,YAAY,4BAAW,EAAE,CAAC;YAErC,OAAO,IAAI,0BAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,wBAAS,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1G,CAAC;QAED,IACI,WAAW,YAAY,0BAAU;YACjC,WAAW,YAAY,0BAAU;YACjC,WAAW,YAAY,0BAAU,EACnC,CAAC;YACC,IAAI,cAAc,EAAE,KAAK,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CACxC,IAAI,CAAC,IAAK,EACV,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CACpD,CAAC;gBACF,OAAO,IAAI,YAAY,wBAAS,CAAC,CAAC,CAAC,IAAI,wBAAS,EAAE,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAK,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MappedTypeNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/MappedTypeNodeParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import type { NodeParser } from "../NodeParser.js";
|
|
3
|
+
import { Context } from "../NodeParser.js";
|
|
4
|
+
import type { SubNodeParser } from "../SubNodeParser.js";
|
|
5
|
+
import type { BaseType } from "../Type/BaseType.js";
|
|
6
|
+
export declare class NewExpressionParser implements SubNodeParser {
|
|
7
|
+
protected typeChecker: ts.TypeChecker;
|
|
8
|
+
protected childNodeParser: NodeParser;
|
|
9
|
+
constructor(typeChecker: ts.TypeChecker, childNodeParser: NodeParser);
|
|
10
|
+
supportsNode(node: ts.NewExpression): boolean;
|
|
11
|
+
createType(node: ts.NewExpression, context: Context): BaseType;
|
|
12
|
+
protected createSubContext(node: ts.NewExpression, parentContext: Context): Context;
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NewExpressionParser = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
6
|
+
const NodeParser_js_1 = require("../NodeParser.js");
|
|
7
|
+
const Errors_js_1 = require("../Error/Errors.js");
|
|
8
|
+
class NewExpressionParser {
|
|
9
|
+
typeChecker;
|
|
10
|
+
childNodeParser;
|
|
11
|
+
constructor(typeChecker, childNodeParser) {
|
|
12
|
+
this.typeChecker = typeChecker;
|
|
13
|
+
this.childNodeParser = childNodeParser;
|
|
14
|
+
}
|
|
15
|
+
supportsNode(node) {
|
|
16
|
+
return node.kind === typescript_1.default.SyntaxKind.NewExpression;
|
|
17
|
+
}
|
|
18
|
+
createType(node, context) {
|
|
19
|
+
const type = this.typeChecker.getTypeAtLocation(node);
|
|
20
|
+
const symbol = type.symbol || type.aliasSymbol;
|
|
21
|
+
const decl = this.typeChecker.typeToTypeNode(type, node, typescript_1.default.NodeBuilderFlags.IgnoreErrors) ||
|
|
22
|
+
symbol?.valueDeclaration ||
|
|
23
|
+
symbol?.declarations?.[0];
|
|
24
|
+
if (!decl) {
|
|
25
|
+
throw new Errors_js_1.UnknownNodeError(node);
|
|
26
|
+
}
|
|
27
|
+
return this.childNodeParser.createType(decl, this.createSubContext(node, context));
|
|
28
|
+
}
|
|
29
|
+
createSubContext(node, parentContext) {
|
|
30
|
+
const subContext = new NodeParser_js_1.Context(node);
|
|
31
|
+
if (node.arguments) {
|
|
32
|
+
for (const arg of node.arguments) {
|
|
33
|
+
const type = this.childNodeParser.createType(arg, parentContext);
|
|
34
|
+
subContext.pushArgument(type);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return subContext;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.NewExpressionParser = NewExpressionParser;
|
|
41
|
+
//# sourceMappingURL=NewExpressionParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewExpressionParser.js","sourceRoot":"","sources":["../../../src/NodeParser/NewExpressionParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAE5B,oDAA2C;AAG3C,kDAAsD;AAEtD,MAAa,mBAAmB;IAEd;IACA;IAFd,YACc,WAA2B,EAC3B,eAA2B;QAD3B,gBAAW,GAAX,WAAW,CAAgB;QAC3B,oBAAe,GAAf,eAAe,CAAY;IACtC,CAAC;IAEG,YAAY,CAAC,IAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;IACrD,CAAC;IAEM,UAAU,CAAC,IAAsB,EAAE,OAAgB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;QAE/C,MAAM,IAAI,GACN,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAC7E,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAES,gBAAgB,CAAC,IAAsB,EAAE,aAAsB;QACrE,MAAM,UAAU,GAAG,IAAI,uBAAO,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACjE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAtCD,kDAsCC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import type { Context, NodeParser } from "../NodeParser.js";
|
|
3
3
|
import type { SubNodeParser } from "../SubNodeParser.js";
|
|
4
|
-
import
|
|
4
|
+
import { BaseType } from "../Type/BaseType.js";
|
|
5
5
|
export declare class TypeOperatorNodeParser implements SubNodeParser {
|
|
6
6
|
protected childNodeParser: NodeParser;
|
|
7
7
|
constructor(childNodeParser: NodeParser);
|
|
@@ -4,6 +4,7 @@ exports.TypeOperatorNodeParser = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
6
6
|
const ArrayType_js_1 = require("../Type/ArrayType.js");
|
|
7
|
+
const BaseType_js_1 = require("../Type/BaseType.js");
|
|
7
8
|
const NumberType_js_1 = require("../Type/NumberType.js");
|
|
8
9
|
const ObjectType_js_1 = require("../Type/ObjectType.js");
|
|
9
10
|
const StringType_js_1 = require("../Type/StringType.js");
|
|
@@ -28,7 +29,7 @@ class TypeOperatorNodeParser {
|
|
|
28
29
|
return new NumberType_js_1.NumberType();
|
|
29
30
|
}
|
|
30
31
|
const keys = (0, typeKeys_js_1.getTypeKeys)(type);
|
|
31
|
-
if (derefed instanceof ObjectType_js_1.ObjectType && derefed.getAdditionalProperties()) {
|
|
32
|
+
if (derefed instanceof ObjectType_js_1.ObjectType && derefed.getAdditionalProperties() instanceof BaseType_js_1.BaseType) {
|
|
32
33
|
return new UnionType_js_1.UnionType([...keys, new StringType_js_1.StringType()]);
|
|
33
34
|
}
|
|
34
35
|
if (keys.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeOperatorNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/TypeOperatorNodeParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAG5B,uDAAiD;
|
|
1
|
+
{"version":3,"file":"TypeOperatorNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/TypeOperatorNodeParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAG5B,uDAAiD;AACjD,qDAA+C;AAC/C,yDAAmD;AACnD,yDAAmD;AACnD,yDAAmD;AACnD,uDAAiD;AACjD,wDAAkD;AAClD,sDAAmD;AAEnD,MAAa,sBAAsB;IACF;IAA7B,YAA6B,eAA2B;QAA3B,oBAAe,GAAf,eAAe,CAAY;IAAG,CAAC;IAErD,YAAY,CAAC,IAAyB;QACzC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;IACpD,CAAC;IAEM,UAAU,CAAC,IAAyB,EAAE,OAAgB;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAE,CAAC,UAAU,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,YAAY,wBAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,0BAAU,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,YAAY,0BAAU,IAAI,OAAO,CAAC,uBAAuB,EAAE,YAAY,sBAAQ,EAAE,CAAC;YACzF,OAAO,IAAI,wBAAS,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,0BAAU,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,wBAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACJ;AA5BD,wDA4BC"}
|