ts-json-schema-generator 2.4.1--canary.2306.1ddde9f.0 → 2.4.1--canary.2413.9b3603b.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/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/factory/program.js +5 -2
- package/dist/factory/program.js.map +1 -1
- package/dist/package.json +7 -5
- package/dist/src/Config.d.ts +3 -1
- package/dist/src/Config.js.map +1 -1
- package/dist/src/Error/BaseError.d.ts +1 -1
- package/dist/src/Error/BaseError.js +1 -2
- package/dist/src/Error/BaseError.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/TypeFormatter/AnnotatedTypeFormatter.js +1 -1
- package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/factory/generator.ts +1 -1
- package/factory/parser.ts +2 -0
- package/factory/program.ts +7 -4
- package/package.json +7 -5
- package/src/Config.ts +121 -1
- package/src/Error/BaseError.ts +1 -3
- package/src/NodeParser/NewExpressionParser.ts +46 -0
- package/src/TypeFormatter/AnnotatedTypeFormatter.ts +1 -1
|
@@ -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/factory/program.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createProgram = createProgram;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const glob_1 = require("glob");
|
|
5
6
|
const path = tslib_1.__importStar(require("node:path"));
|
|
6
7
|
const normalize_path_1 = tslib_1.__importDefault(require("normalize-path"));
|
|
7
8
|
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
8
9
|
const Errors_js_1 = require("../src/Error/Errors.js");
|
|
9
|
-
const glob_1 = require("glob");
|
|
10
10
|
function loadTsConfigFile(configFile) {
|
|
11
11
|
const raw = typescript_1.default.sys.readFile(configFile);
|
|
12
12
|
if (!raw) {
|
|
@@ -43,9 +43,12 @@ function getTsConfig(config) {
|
|
|
43
43
|
noEmit: true,
|
|
44
44
|
emitDecoratorMetadata: true,
|
|
45
45
|
experimentalDecorators: true,
|
|
46
|
-
target: typescript_1.default.ScriptTarget.
|
|
46
|
+
target: typescript_1.default.ScriptTarget.ES2022,
|
|
47
47
|
module: typescript_1.default.ModuleKind.CommonJS,
|
|
48
48
|
strictNullChecks: false,
|
|
49
|
+
skipLibCheck: true,
|
|
50
|
+
skipDefaultLibCheck: true,
|
|
51
|
+
esModuleInterop: true,
|
|
49
52
|
},
|
|
50
53
|
};
|
|
51
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":";;AAmEA,sCA2BC;;AA9FD,+BAAgC;AAChC,wDAAkC;AAClC,4EAAuC;AACvC,oEAAiD;AAEjD,sDAAoD;AAEpD,SAAS,gBAAgB,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAExC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,sBAAU,CAAC;YACjB,WAAW,EAAE,4BAA4B,UAAU,GAAG;SACzD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,MAAM,GAAG,oBAAE,CAAC,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,sBAAU,CAAC;YACjB,WAAW,EAAE,+BAA+B,UAAU,GAAG;SAC5D,CAAC,CAAC;IACP,CAAC;IAED,MAAM,WAAW,GAAG,oBAAE,CAAC,0BAA0B,CAC7C,MAAM,CAAC,MAAM,EACb,oBAAE,CAAC,GAAG,EACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EACtC,EAAE,EACF,UAAU,CACb,CAAC;IACF,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/B,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,OAAO,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;IACvC,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC;IAC1C,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC;IAE1C,OAAO,WAAW,CAAC;AACvB,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,oBAAE,CAAC,YAAY,CAAC,MAAM;YAC9B,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI;YACzB,eAAe,EAAE,IAAI;SACE;KAC9B,CAAC;AACN,CAAC;AAED,SAAgB,aAAa,CAAC,MAAuB;IACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI;QACjC,CAAC,CAAC,IAAA,eAAQ,EAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,QAAQ,CAAC,CAAC;QACvF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAEpF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAU,CAAC;YACjB,WAAW,EAAE,gBAAgB;SAChC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAe,oBAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE1E,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,oBAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,sBAAU,CAAC;gBACjB,WAAW,EAAE,kBAAkB;gBAC/B,kBAAkB,EAAE,CAAC,GAAG,WAAW,CAAC;aACvC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-json-schema-generator",
|
|
3
|
-
"version": "2.4.1--canary.
|
|
3
|
+
"version": "2.4.1--canary.2413.9b3603b.0",
|
|
4
4
|
"description": "Generate JSON schema from your Typescript sources",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ts",
|
|
@@ -57,8 +57,9 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@types/json-schema": "^7.0.15",
|
|
60
|
+
"@typescript/vfs": "1.6.2",
|
|
60
61
|
"commander": "^14.0.0",
|
|
61
|
-
"glob": "^
|
|
62
|
+
"glob": "^13.0.0",
|
|
62
63
|
"json5": "^2.2.3",
|
|
63
64
|
"normalize-path": "^3.0.0",
|
|
64
65
|
"safe-stable-stringify": "^2.5.0",
|
|
@@ -79,15 +80,16 @@
|
|
|
79
80
|
"ajv": "^8.17.1",
|
|
80
81
|
"ajv-formats": "^3.0.1",
|
|
81
82
|
"auto": "^11.3.0",
|
|
82
|
-
"chai": "^
|
|
83
|
-
"cross-env": "^
|
|
84
|
-
"eslint": "9.
|
|
83
|
+
"chai": "^6.0.1",
|
|
84
|
+
"cross-env": "^10.0.0",
|
|
85
|
+
"eslint": "9.39.1",
|
|
85
86
|
"eslint-config-prettier": "^10.1.5",
|
|
86
87
|
"eslint-plugin-prettier": "^5.5.1",
|
|
87
88
|
"globals": "^16.3.0",
|
|
88
89
|
"jest": "^30.0.4",
|
|
89
90
|
"jest-junit": "^16.0.0",
|
|
90
91
|
"prettier": "^3.6.2",
|
|
92
|
+
"try": "^1.0.1",
|
|
91
93
|
"tsx": "^4.20.3",
|
|
92
94
|
"typescript-eslint": "^8.35.1",
|
|
93
95
|
"vega": "^6.1.2",
|
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"}
|
|
@@ -10,5 +10,5 @@ export declare abstract class BaseError extends Error {
|
|
|
10
10
|
readonly diagnostic: ts.Diagnostic;
|
|
11
11
|
constructor(diagnostic: PartialDiagnostic);
|
|
12
12
|
static createDiagnostic(diagnostic: PartialDiagnostic): ts.Diagnostic;
|
|
13
|
-
format(): string;
|
|
13
|
+
format(isTTY?: string | boolean): string;
|
|
14
14
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseError = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
6
|
-
const isTTY = process.env.TTY || process.stdout.isTTY;
|
|
7
6
|
class BaseError extends Error {
|
|
8
7
|
diagnostic;
|
|
9
8
|
constructor(diagnostic) {
|
|
@@ -25,7 +24,7 @@ class BaseError extends Error {
|
|
|
25
24
|
start: 0,
|
|
26
25
|
}, diagnostic);
|
|
27
26
|
}
|
|
28
|
-
format() {
|
|
27
|
+
format(isTTY = process.env.TTY || process.stdout.isTTY) {
|
|
29
28
|
const formatter = isTTY ? typescript_1.default.formatDiagnosticsWithColorAndContext : typescript_1.default.formatDiagnostics;
|
|
30
29
|
return formatter([this.diagnostic], {
|
|
31
30
|
getCanonicalFileName: (fileName) => fileName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/Error/BaseError.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;
|
|
1
|
+
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/Error/BaseError.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAiB5B,MAAsB,SAAU,SAAQ,KAAK;IAChC,UAAU,CAAgB;IAEnC,YAAY,UAA6B;QACrC,KAAK,CAAC,oBAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAA6B;QAGjD,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/C,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;QAChC,CAAC;QAID,UAAU,CAAC,IAAI,GAAG,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;QAE3C,OAAO,MAAM,CAAC,MAAM,CAChB;YACI,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACX,EACD,UAAU,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAE,CAAC,oCAAoC,CAAC,CAAC,CAAC,oBAAE,CAAC,iBAAiB,CAAC;QAEzF,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YAC5C,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;YAC7B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,8BA2CC"}
|
|
@@ -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"}
|
|
@@ -7,7 +7,7 @@ const AnnotatedType_js_1 = require("../Type/AnnotatedType.js");
|
|
|
7
7
|
const UnionType_js_1 = require("../Type/UnionType.js");
|
|
8
8
|
const derefType_js_1 = require("../Utils/derefType.js");
|
|
9
9
|
function makeNullable(def) {
|
|
10
|
-
const union = def.oneOf || def.anyOf;
|
|
10
|
+
const union = (def.oneOf || def.anyOf);
|
|
11
11
|
if (union && union.filter((d) => d.type === "null").length === 0) {
|
|
12
12
|
union.push({ type: "null" });
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnnotatedTypeFormatter.js","sourceRoot":"","sources":["../../../src/TypeFormatter/AnnotatedTypeFormatter.ts"],"names":[],"mappings":";;;AASA,oCAqCC;AA9CD,kDAAmD;AAGnD,+DAAyD;AAEzD,uDAAiD;AAEjD,wDAAkD;AAElD,SAAgB,YAAY,CAAC,GAAe;IACxC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"AnnotatedTypeFormatter.js","sourceRoot":"","sources":["../../../src/TypeFormatter/AnnotatedTypeFormatter.ts"],"names":[],"mappings":"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"}
|