ts-json-schema-generator 2.4.1--canary.2306.1ddde9f.0 → 2.4.1--canary.2413.e57678e.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.
@@ -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;IAC/C,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"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
@@ -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.ES5,
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":";;AAgEA,sCA2BC;;AA3FD,wDAAkC;AAClC,4EAAuC;AACvC,oEAA4B;AAE5B,sDAAoD;AACpD,+BAAgC;AAEhC,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,GAAG;YAC3B,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,KAAK;SAC1B;KACJ,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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.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.4.1--canary.2306.1ddde9f.0",
3
+ "version": "2.4.1--canary.2413.e57678e.0",
4
4
  "description": "Generate JSON schema from your Typescript sources",
5
5
  "keywords": [
6
6
  "ts",
@@ -49,16 +49,17 @@
49
49
  "prepublishOnly": "npm run build",
50
50
  "release": "npm run build && auto shipit",
51
51
  "run": "tsx ts-json-schema-generator.ts",
52
- "test": "jest test/ --verbose",
53
- "test:coverage": "npm run jest -- test/ --collectCoverage=true",
54
- "test:fast": "cross-env FAST_TEST=1 jest test/ --verbose",
52
+ "test": "tsx --test \"test/**/*.test.ts\"",
53
+ "test:coverage": "c8 --reporter lcov --reporter text npm run test",
54
+ "test:fast": "cross-env FAST_TEST=1 npm run test",
55
55
  "test:update": "cross-env UPDATE_SCHEMA=true npm run test:fast",
56
56
  "watch": "tsc -w"
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": "^11.0.3",
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",
@@ -73,21 +74,20 @@
73
74
  "@babel/preset-typescript": "^7.27.1",
74
75
  "@eslint/js": "^9.30.1",
75
76
  "@types/eslint": "^9.6.1",
76
- "@types/jest": "^30.0.0",
77
77
  "@types/node": "^24.0.10",
78
78
  "@types/normalize-path": "^3.0.2",
79
79
  "ajv": "^8.17.1",
80
80
  "ajv-formats": "^3.0.1",
81
81
  "auto": "^11.3.0",
82
- "chai": "^5.2.0",
83
- "cross-env": "^7.0.3",
84
- "eslint": "9.30.1",
82
+ "c8": "^10.1.3",
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
- "jest": "^30.0.4",
89
- "jest-junit": "^16.0.0",
90
89
  "prettier": "^3.6.2",
90
+ "try": "^1.0.1",
91
91
  "tsx": "^4.20.3",
92
92
  "typescript-eslint": "^8.35.1",
93
93
  "vega": "^6.1.2",
@@ -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">;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":";;;AAyBa,QAAA,cAAc,GAAsE;IAC7F,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"}
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;AAc5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAKtD,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;QACF,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"}
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"}
@@ -1,7 +1,7 @@
1
1
  import { BaseType } from "./BaseType.js";
2
2
  export declare class UnknownType extends BaseType {
3
3
  readonly erroredSource: boolean;
4
- constructor(erroredSource: boolean);
4
+ constructor(erroredSource?: boolean);
5
5
  getId(): string;
6
6
  }
7
7
  export declare function isErroredUnknownType(type: BaseType): type is UnknownType;
@@ -5,7 +5,7 @@ exports.isErroredUnknownType = isErroredUnknownType;
5
5
  const BaseType_js_1 = require("./BaseType.js");
6
6
  class UnknownType extends BaseType_js_1.BaseType {
7
7
  erroredSource;
8
- constructor(erroredSource) {
8
+ constructor(erroredSource = false) {
9
9
  super();
10
10
  this.erroredSource = erroredSource;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UnknownType.js","sourceRoot":"","sources":["../../../src/Type/UnknownType.ts"],"names":[],"mappings":";;;AAoBA,oDAEC;AAtBD,+CAAyC;AAEzC,MAAa,WAAY,SAAQ,sBAAQ;IAKxB;IAJb,YAIa,aAAsB;QAE/B,KAAK,EAAE,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAS;IAGnC,CAAC;IAEM,KAAK;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAbD,kCAaC;AAKD,SAAgB,oBAAoB,CAAC,IAAc;IAC/C,OAAO,IAAI,YAAY,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"UnknownType.js","sourceRoot":"","sources":["../../../src/Type/UnknownType.ts"],"names":[],"mappings":";;;AAoBA,oDAEC;AAtBD,+CAAyC;AAEzC,MAAa,WAAY,SAAQ,sBAAQ;IAKxB;IAJb,YAIa,gBAAgB,KAAK;QAE9B,KAAK,EAAE,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAQ;IAGlC,CAAC;IAEM,KAAK;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAbD,kCAaC;AAKD,SAAgB,oBAAoB,CAAC,IAAc;IAC/C,OAAO,IAAI,YAAY,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC;AAC7D,CAAC"}
@@ -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":"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"}
1
+ {"version":3,"file":"AnnotatedTypeFormatter.js","sourceRoot":"","sources":["../../../src/TypeFormatter/AnnotatedTypeFormatter.ts"],"names":[],"mappings":"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"}