ts-json-schema-generator 2.5.0-next.8 → 2.5.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.
Files changed (145) hide show
  1. package/dist/factory/parser.js +3 -0
  2. package/dist/factory/parser.js.map +1 -1
  3. package/dist/factory/program.js +6 -3
  4. package/dist/factory/program.js.map +1 -1
  5. package/dist/package.json +28 -33
  6. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +6 -0
  7. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -1
  8. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +4 -0
  9. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +7 -0
  10. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -1
  11. package/dist/src/Config.d.ts +99 -0
  12. package/dist/src/Error/BaseError.d.ts +6 -1
  13. package/dist/src/Error/BaseError.js +8 -2
  14. package/dist/src/Error/BaseError.js.map +1 -1
  15. package/dist/src/Error/Errors.d.ts +3 -0
  16. package/dist/src/Error/Errors.js +5 -0
  17. package/dist/src/Error/Errors.js.map +1 -1
  18. package/dist/src/NodeParser/AnnotatedNodeParser.js +5 -0
  19. package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -1
  20. package/dist/src/NodeParser/ArrayNodeParser.js +1 -0
  21. package/dist/src/NodeParser/ArrayNodeParser.js.map +1 -1
  22. package/dist/src/NodeParser/AsExpressionNodeParser.js +1 -0
  23. package/dist/src/NodeParser/AsExpressionNodeParser.js.map +1 -1
  24. package/dist/src/NodeParser/BinaryExpressionNodeParser.d.ts +13 -0
  25. package/dist/src/NodeParser/BinaryExpressionNodeParser.js +84 -0
  26. package/dist/src/NodeParser/BinaryExpressionNodeParser.js.map +1 -0
  27. package/dist/src/NodeParser/CallExpressionParser.js +6 -0
  28. package/dist/src/NodeParser/CallExpressionParser.js.map +1 -1
  29. package/dist/src/NodeParser/ConditionalTypeNodeParser.d.ts +16 -0
  30. package/dist/src/NodeParser/ConditionalTypeNodeParser.js +22 -0
  31. package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -1
  32. package/dist/src/NodeParser/FunctionNodeParser.js +1 -0
  33. package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
  34. package/dist/src/NodeParser/IdentifierNodeParser.d.ts +3 -0
  35. package/dist/src/NodeParser/IdentifierNodeParser.js +3 -0
  36. package/dist/src/NodeParser/IdentifierNodeParser.js.map +1 -1
  37. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +4 -1
  38. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -1
  39. package/dist/src/NodeParser/InterfaceAndClassNodeParser.d.ts +7 -0
  40. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +10 -0
  41. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -1
  42. package/dist/src/NodeParser/IntersectionNodeParser.d.ts +4 -0
  43. package/dist/src/NodeParser/IntersectionNodeParser.js +8 -0
  44. package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -1
  45. package/dist/src/NodeParser/MappedTypeNodeParser.js +12 -5
  46. package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
  47. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js +1 -0
  48. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js.map +1 -1
  49. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js +1 -0
  50. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -1
  51. package/dist/src/NodeParser/PromiseNodeParser.d.ts +3 -0
  52. package/dist/src/NodeParser/PromiseNodeParser.js +19 -1
  53. package/dist/src/NodeParser/PromiseNodeParser.js.map +1 -1
  54. package/dist/src/NodeParser/SpreadElementNodeParser.d.ts +4 -0
  55. package/dist/src/NodeParser/SpreadElementNodeParser.js +4 -0
  56. package/dist/src/NodeParser/SpreadElementNodeParser.js.map +1 -1
  57. package/dist/src/NodeParser/TypeLiteralNodeParser.js +5 -0
  58. package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -1
  59. package/dist/src/NodeParser/TypeOperatorNodeParser.js +1 -0
  60. package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
  61. package/dist/src/NodeParser/TypeReferenceNodeParser.js +6 -0
  62. package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
  63. package/dist/src/NodeParser/TypeofNodeParser.js +1 -0
  64. package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -1
  65. package/dist/src/SchemaGenerator.js +28 -1
  66. package/dist/src/SchemaGenerator.js.map +1 -1
  67. package/dist/src/Type/AnnotatedType.d.ts +1 -3
  68. package/dist/src/Type/AnnotatedType.js.map +1 -1
  69. package/dist/src/Type/BaseType.d.ts +3 -0
  70. package/dist/src/Type/BaseType.js +3 -0
  71. package/dist/src/Type/BaseType.js.map +1 -1
  72. package/dist/src/Type/ObjectType.js +3 -1
  73. package/dist/src/Type/ObjectType.js.map +1 -1
  74. package/dist/src/Type/UnionType.d.ts +3 -0
  75. package/dist/src/Type/UnionType.js +3 -0
  76. package/dist/src/Type/UnionType.js.map +1 -1
  77. package/dist/src/Type/UnknownType.d.ts +11 -1
  78. package/dist/src/Type/UnknownType.js +8 -1
  79. package/dist/src/Type/UnknownType.js.map +1 -1
  80. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js +2 -1
  81. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
  82. package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +3 -0
  83. package/dist/src/TypeFormatter/EnumTypeFormatter.js +7 -0
  84. package/dist/src/TypeFormatter/EnumTypeFormatter.js.map +1 -1
  85. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js +3 -0
  86. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -1
  87. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js +7 -0
  88. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -1
  89. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js +6 -0
  90. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -1
  91. package/dist/src/TypeFormatter/TupleTypeFormatter.js +12 -5
  92. package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -1
  93. package/dist/src/TypeFormatter/UnionTypeFormatter.js +1 -0
  94. package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -1
  95. package/dist/src/Utils/allOfDefinition.js +5 -0
  96. package/dist/src/Utils/allOfDefinition.js.map +1 -1
  97. package/dist/src/Utils/deepMerge.d.ts +8 -0
  98. package/dist/src/Utils/deepMerge.js +9 -0
  99. package/dist/src/Utils/deepMerge.js.map +1 -1
  100. package/dist/src/Utils/derefType.d.ts +6 -0
  101. package/dist/src/Utils/derefType.js +6 -0
  102. package/dist/src/Utils/derefType.js.map +1 -1
  103. package/dist/src/Utils/intersectionOfArrays.js +1 -0
  104. package/dist/src/Utils/intersectionOfArrays.js.map +1 -1
  105. package/dist/src/Utils/isAssignableTo.d.ts +12 -0
  106. package/dist/src/Utils/isAssignableTo.js +54 -0
  107. package/dist/src/Utils/isAssignableTo.js.map +1 -1
  108. package/dist/src/Utils/modifiers.d.ts +19 -0
  109. package/dist/src/Utils/modifiers.js +19 -0
  110. package/dist/src/Utils/modifiers.js.map +1 -1
  111. package/dist/src/Utils/narrowType.d.ts +12 -0
  112. package/dist/src/Utils/narrowType.js +15 -0
  113. package/dist/src/Utils/narrowType.js.map +1 -1
  114. package/dist/src/Utils/nodeKey.d.ts +1 -1
  115. package/dist/src/Utils/nodeKey.js +7 -1
  116. package/dist/src/Utils/nodeKey.js.map +1 -1
  117. package/dist/src/Utils/preserveAnnotation.d.ts +6 -0
  118. package/dist/src/Utils/preserveAnnotation.js +6 -0
  119. package/dist/src/Utils/preserveAnnotation.js.map +1 -1
  120. package/dist/src/Utils/removeUndefined.d.ts +3 -0
  121. package/dist/src/Utils/removeUndefined.js +3 -0
  122. package/dist/src/Utils/removeUndefined.js.map +1 -1
  123. package/dist/src/Utils/removeUnreachable.js +1 -0
  124. package/dist/src/Utils/removeUnreachable.js.map +1 -1
  125. package/dist/src/Utils/symbolAtNode.js +1 -0
  126. package/dist/src/Utils/symbolAtNode.js.map +1 -1
  127. package/dist/src/Utils/typeKeys.js +1 -0
  128. package/dist/src/Utils/typeKeys.js.map +1 -1
  129. package/dist/ts-json-schema-generator.js +6 -7
  130. package/dist/ts-json-schema-generator.js.map +1 -1
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/factory/parser.ts +2 -0
  133. package/factory/program.ts +8 -4
  134. package/package.json +28 -33
  135. package/src/Error/BaseError.ts +1 -3
  136. package/src/NodeParser/BinaryExpressionNodeParser.ts +99 -0
  137. package/src/NodeParser/IndexedAccessTypeNodeParser.ts +4 -1
  138. package/src/NodeParser/MappedTypeNodeParser.ts +12 -8
  139. package/src/SchemaGenerator.ts +18 -3
  140. package/src/Type/AnnotatedType.ts +1 -3
  141. package/src/Type/UnknownType.ts +1 -1
  142. package/src/TypeFormatter/AnnotatedTypeFormatter.ts +2 -2
  143. package/src/Utils/narrowType.ts +1 -6
  144. package/src/Utils/nodeKey.ts +3 -1
  145. package/ts-json-schema-generator.ts +2 -11
@@ -5,6 +5,18 @@ const EnumType_js_1 = require("../Type/EnumType.js");
5
5
  const NeverType_js_1 = require("../Type/NeverType.js");
6
6
  const UnionType_js_1 = require("../Type/UnionType.js");
7
7
  const derefType_js_1 = require("./derefType.js");
8
+ /**
9
+ * Narrows the given type by passing all variants to the given predicate function. So when type is a union type then
10
+ * the predicate function is called for each type within the union and only the types for which this function returns
11
+ * true will remain in the returned type. Union types with only one sub type left are replaced by this one-and-only
12
+ * type. Empty union types are removed completely. Definition types are kept if possible. When in the end none of
13
+ * the type candidates match the predicate then undefined is returned.
14
+ *
15
+ * @param type - The type to narrow down.
16
+ * @param predicate - The predicate function to filter the type variants. If it returns true then the type variant is
17
+ * kept, when returning false it is removed.
18
+ * @return The narrowed down type.
19
+ */
8
20
  function narrowType(type, predicate) {
9
21
  const derefed = (0, derefType_js_1.derefType)(type);
10
22
  if (derefed instanceof UnionType_js_1.UnionType || derefed instanceof EnumType_js_1.EnumType) {
@@ -12,6 +24,7 @@ function narrowType(type, predicate) {
12
24
  const types = [];
13
25
  for (const sub of derefed.getTypes()) {
14
26
  const derefedSub = (0, derefType_js_1.derefType)(sub);
27
+ // Recursively narrow down all types within the union
15
28
  const narrowed = narrowType(derefedSub, predicate);
16
29
  if (!(narrowed instanceof NeverType_js_1.NeverType)) {
17
30
  if (narrowed === derefedSub) {
@@ -26,6 +39,8 @@ function narrowType(type, predicate) {
26
39
  changed = true;
27
40
  }
28
41
  }
42
+ // When union types were changed then return new narrowed-down type, otherwise return the original one to
43
+ // keep definitions
29
44
  if (changed) {
30
45
  if (types.length === 0) {
31
46
  return new NeverType_js_1.NeverType();
@@ -1 +1 @@
1
- {"version":3,"file":"narrowType.js","sourceRoot":"","sources":["../../../src/Utils/narrowType.ts"],"names":[],"mappings":";;AAkBA,gCAyCC;AA1DD,qDAA+C;AAC/C,uDAAiD;AACjD,uDAAiD;AACjD,iDAA2C;AAc3C,SAAgB,UAAU,CACtB,IAAc,EAGd,SAAsC;IAEtC,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,YAAY,wBAAS,IAAI,OAAO,YAAY,sBAAQ,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,CAAC;YAGlC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,QAAQ,YAAY,wBAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAID,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,wBAAS,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"narrowType.js","sourceRoot":"","sources":["../../../src/Utils/narrowType.ts"],"names":[],"mappings":";;AAkBA,gCAoCC;AArDD,qDAA+C;AAC/C,uDAAiD;AACjD,uDAAiD;AACjD,iDAA2C;AAE3C;;;;;;;;;;;GAWG;AACH,SAAgB,UAAU,CAAC,IAAc,EAAE,SAAsC;IAC7E,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,YAAY,wBAAS,IAAI,OAAO,YAAY,sBAAQ,EAAE,CAAC;QAC9D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,CAAC;YAElC,qDAAqD;YACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,QAAQ,YAAY,wBAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,yGAAyG;QACzG,mBAAmB;QACnB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,wBAAS,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,EAAE,CAAC;AACvD,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { Node } from "typescript";
2
2
  import type { Context } from "../NodeParser.js";
3
- export declare function hash(a: string | boolean | number | (string | boolean | number)[] | object): string | number;
3
+ export declare function hash(a: string | boolean | number | (string | boolean | number | Record<string, unknown>)[] | Record<string, unknown>): string | number;
4
4
  export declare function getKey(node: Node, context: Context): string;
@@ -9,15 +9,18 @@ function hash(a) {
9
9
  return a;
10
10
  }
11
11
  const str = typeof a === "string" ? a : (0, safe_stable_stringify_1.default)(a);
12
+ // short strings can be used as hash directly, longer strings are hashed to reduce memory usage
12
13
  if (str.length < 20) {
13
14
  return str;
14
15
  }
16
+ // from http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/
15
17
  let h = 0;
16
18
  for (let i = 0; i < str.length; i++) {
17
19
  const char = str.charCodeAt(i);
18
20
  h = (h << 5) - h + char;
19
- h = h & h;
21
+ h = h & h; // Convert to 32bit integer
20
22
  }
23
+ // we only want positive integers
21
24
  if (h < 0) {
22
25
  return -h;
23
26
  }
@@ -27,6 +30,9 @@ function getKey(node, context) {
27
30
  const ids = [];
28
31
  while (node) {
29
32
  const source = node.getSourceFile();
33
+ // When the node has no source file, we need to prevent collisions with other sourceless nodes.
34
+ // As they does not have any kind of reference to their parents, Math.random is the best we can
35
+ // do to make them unique
30
36
  if (!source) {
31
37
  ids.push(Math.random());
32
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nodeKey.js","sourceRoot":"","sources":["../../../src/Utils/nodeKey.ts"],"names":[],"mappings":";;AAIA,oBA0BC;AAED,wBAuBC;;AAvDD,0FAA8C;AAI9C,SAAgB,IAAI,CAAC,CAAqE;IACtF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,+BAAS,EAAC,CAAC,CAAC,CAAC;IAGrD,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,MAAM,CAAC,IAAU,EAAE,OAAgB;IAC/C,MAAM,GAAG,GAAwB,EAAE,CAAC;IAEpC,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAKpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"nodeKey.js","sourceRoot":"","sources":["../../../src/Utils/nodeKey.ts"],"names":[],"mappings":";;AAIA,oBA4BC;AAED,wBAuBC;;AAzDD,0FAA8C;AAI9C,SAAgB,IAAI,CAChB,CAAgH;IAEhH,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,+BAAS,EAAC,CAAC,CAAC,CAAC;IAErD,+FAA+F;IAC/F,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,mGAAmG;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,MAAM,CAAC,IAAU,EAAE,OAAgB;IAC/C,MAAM,GAAG,GAAwB,EAAE,CAAC;IAEpC,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpC,gGAAgG;QAChG,+FAA+F;QAC/F,yBAAyB;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC"}
@@ -1,2 +1,8 @@
1
1
  import type { BaseType } from "../Type/BaseType.js";
2
+ /**
3
+ * Return the new type wrapped in an annotated type with the same annotations as the original type.
4
+ * @param originalType The original type. If this is an annotated type,
5
+ * then the returned type will be wrapped with the same annotations.
6
+ * @param newType The type to be wrapped.
7
+ */
2
8
  export declare function preserveAnnotation(originalType: BaseType, newType: BaseType): BaseType;
@@ -2,6 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.preserveAnnotation = preserveAnnotation;
4
4
  const AnnotatedType_js_1 = require("../Type/AnnotatedType.js");
5
+ /**
6
+ * Return the new type wrapped in an annotated type with the same annotations as the original type.
7
+ * @param originalType The original type. If this is an annotated type,
8
+ * then the returned type will be wrapped with the same annotations.
9
+ * @param newType The type to be wrapped.
10
+ */
5
11
  function preserveAnnotation(originalType, newType) {
6
12
  if (originalType instanceof AnnotatedType_js_1.AnnotatedType) {
7
13
  return new AnnotatedType_js_1.AnnotatedType(newType, originalType.getAnnotations(), originalType.isNullable());
@@ -1 +1 @@
1
- {"version":3,"file":"preserveAnnotation.js","sourceRoot":"","sources":["../../../src/Utils/preserveAnnotation.ts"],"names":[],"mappings":";;AASA,gDAKC;AAbD,+DAAyD;AAQzD,SAAgB,kBAAkB,CAAC,YAAsB,EAAE,OAAiB;IACxE,IAAI,YAAY,YAAY,gCAAa,EAAE,CAAC;QACxC,OAAO,IAAI,gCAAa,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"preserveAnnotation.js","sourceRoot":"","sources":["../../../src/Utils/preserveAnnotation.ts"],"names":[],"mappings":";;AASA,gDAKC;AAbD,+DAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,YAAsB,EAAE,OAAiB;IACxE,IAAI,YAAY,YAAY,gCAAa,EAAE,CAAC;QACxC,OAAO,IAAI,gCAAa,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import type { BaseType } from "../Type/BaseType.js";
2
2
  import { UnionType } from "../Type/UnionType.js";
3
+ /**
4
+ * Remove undefined types from union type. Returns the number of non-undefined properties.
5
+ */
3
6
  export declare function removeUndefined(propertyType: UnionType): {
4
7
  numRemoved: number;
5
8
  newType: BaseType;
@@ -5,6 +5,9 @@ const UndefinedType_js_1 = require("../Type/UndefinedType.js");
5
5
  const UnionType_js_1 = require("../Type/UnionType.js");
6
6
  const derefType_js_1 = require("./derefType.js");
7
7
  const preserveAnnotation_js_1 = require("./preserveAnnotation.js");
8
+ /**
9
+ * Remove undefined types from union type. Returns the number of non-undefined properties.
10
+ */
8
11
  function removeUndefined(propertyType) {
9
12
  const types = [];
10
13
  let numRemoved = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"removeUndefined.js","sourceRoot":"","sources":["../../../src/Utils/removeUndefined.ts"],"names":[],"mappings":";;AASA,0CAuBC;AA/BD,+DAAyD;AACzD,uDAAiD;AACjD,iDAAoD;AACpD,mEAA6D;AAK7D,SAAgB,eAAe,CAAC,YAAuB;IACnD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,YAAY,gCAAa,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,YAAY,wBAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;IAE9G,OAAO;QACH,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"removeUndefined.js","sourceRoot":"","sources":["../../../src/Utils/removeUndefined.ts"],"names":[],"mappings":";;AASA,0CAuBC;AA/BD,+DAAyD;AACzD,uDAAiD;AACjD,iDAAoD;AACpD,mEAA6D;AAE7D;;GAEG;AACH,SAAgB,eAAe,CAAC,YAAuB;IACnD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,YAAY,gCAAa,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,YAAY,wBAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,gCAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,KAAK,CAAC,CAAC;IAE9G,OAAO;QACH,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC"}
@@ -10,6 +10,7 @@ function addReachable(definition, definitions, reachable) {
10
10
  if (definition.$ref) {
11
11
  const typeName = decodeURIComponent(definition.$ref.slice(DEFINITION_OFFSET));
12
12
  if (reachable.has(typeName) || !isLocalRef(definition.$ref)) {
13
+ // we've already processed this definition, or this definition refers to an external schema
13
14
  return;
14
15
  }
15
16
  reachable.add(typeName);
@@ -1 +1 @@
1
- {"version":3,"file":"removeUnreachable.js","sourceRoot":"","sources":["../../../src/Utils/removeUnreachable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"removeUnreachable.js","sourceRoot":"","sources":["../../../src/Utils/removeUnreachable.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.symbolAtNode = symbolAtNode;
4
4
  function symbolAtNode(node) {
5
+ //@ts-expect-error - internal typescript API
5
6
  return node.symbol;
6
7
  }
7
8
  //# sourceMappingURL=symbolAtNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":";;AAEA,oCAGC;AAHD,SAAgB,YAAY,CAAC,IAAa;IAEtC,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"symbolAtNode.js","sourceRoot":"","sources":["../../../src/Utils/symbolAtNode.ts"],"names":[],"mappings":";;AAEA,oCAGC;AAHD,SAAgB,YAAY,CAAC,IAAa;IACtC,4CAA4C;IAC5C,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC"}
@@ -41,6 +41,7 @@ function getTypeByKey(type, index) {
41
41
  type = (0, derefType_js_1.derefType)(type);
42
42
  if (type instanceof IntersectionType_js_1.IntersectionType || type instanceof UnionType_js_1.UnionType) {
43
43
  let subTypes = [];
44
+ // we use the annotation from the first type so we need to get a reference to it
44
45
  let firstType;
45
46
  for (const subType of type.getTypes()) {
46
47
  const subKeyType = getTypeByKey(subType, index);
@@ -1 +1 @@
1
- {"version":3,"file":"typeKeys.js","sourceRoot":"","sources":["../../../src/Utils/typeKeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeKeys.js","sourceRoot":"","sources":["../../../src/Utils/typeKeys.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,11 @@ const BaseError_js_1 = require("./src/Error/BaseError.js");
11
11
  const package_json_1 = tslib_1.__importDefault(require("./package.json"));
12
12
  const args = new commander_1.Command()
13
13
  .option("-p, --path <path>", "Source file path")
14
- .option("-t, --type <name>", "Type name (can be passed multiple times)", (value, previous) => {
15
- if (previous) {
16
- return previous.concat(value);
17
- }
18
- return [value];
19
- })
14
+ .option("-t, --type <name...>", "Type name(s)")
20
15
  .option("-i, --id <name>", "$id for generated schema")
21
16
  .option("-f, --tsconfig <path>", "Custom tsconfig.json path")
22
17
  .addOption(new commander_1.Option("-e, --expose <expose>", "Type exposing").choices(["all", "none", "export"]).default("export"))
23
- .addOption(new commander_1.Option("-j, --jsDoc <extended>", "Read JsDoc annotations")
18
+ .addOption(new commander_1.Option("-j, --jsDoc <extended>", "Read JSDoc annotations")
24
19
  .choices(["none", "basic", "extended"])
25
20
  .default("extended"))
26
21
  .addOption(new commander_1.Option("--markdown-description", "Generate `markdownDescription` in addition to `description`.").implies({
@@ -66,13 +61,16 @@ const config = {
66
61
  try {
67
62
  const schema = (0, generator_js_1.createGenerator)(config).createSchema(config.type);
68
63
  const stringify = config.sortProps ? safe_stable_stringify_1.default : JSON.stringify;
64
+ // need as string since TS can't figure out that the string | undefined case doesn't happen
69
65
  const schemaString = (config.minify ? stringify(schema) : stringify(schema, null, 2));
70
66
  if (args.out) {
67
+ // write to file
71
68
  const outPath = (0, node_path_1.dirname)(args.out);
72
69
  (0, node_fs_1.mkdirSync)(outPath, { recursive: true });
73
70
  (0, node_fs_1.writeFileSync)(args.out, schemaString);
74
71
  }
75
72
  else {
73
+ // write to stdout
76
74
  console.log(`${schemaString}\n`);
77
75
  }
78
76
  }
@@ -85,6 +83,7 @@ catch (error) {
85
83
  else if (error.stack) {
86
84
  console.debug(error.stack);
87
85
  }
86
+ // Maybe we are being imported by another script
88
87
  process.exitCode = 1;
89
88
  }
90
89
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-json-schema-generator.js","sourceRoot":"","sources":["../ts-json-schema-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-json-schema-generator.js","sourceRoot":"","sources":["../ts-json-schema-generator.ts"],"names":[],"mappings":"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"}