ts-json-schema-generator 2.0.0-next.0 → 2.0.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 (304) hide show
  1. package/README.md +45 -74
  2. package/dist/factory/formatter.d.ts +4 -4
  3. package/dist/factory/formatter.js +9 -3
  4. package/dist/factory/formatter.js.map +1 -1
  5. package/dist/factory/generator.d.ts +2 -2
  6. package/dist/factory/generator.js.map +1 -1
  7. package/dist/factory/parser.d.ts +3 -3
  8. package/dist/factory/parser.js +17 -14
  9. package/dist/factory/parser.js.map +1 -1
  10. package/dist/factory/program.d.ts +2 -2
  11. package/dist/factory/program.js.map +1 -1
  12. package/dist/index.d.ts +4 -1
  13. package/dist/index.js +4 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/package.json +32 -31
  16. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +1 -0
  17. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -1
  18. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +2 -1
  19. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +9 -7
  20. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -1
  21. package/dist/src/ChainNodeParser.js.map +1 -1
  22. package/dist/src/ChainTypeFormatter.js.map +1 -1
  23. package/dist/src/CircularReferenceNodeParser.js.map +1 -1
  24. package/dist/src/CircularReferenceTypeFormatter.js.map +1 -1
  25. package/dist/src/Config.d.ts +5 -0
  26. package/dist/src/Config.js +3 -0
  27. package/dist/src/Config.js.map +1 -1
  28. package/dist/src/Error/UnknownNodeError.js +1 -1
  29. package/dist/src/Error/UnknownNodeError.js.map +1 -1
  30. package/dist/src/ExposeNodeParser.js.map +1 -1
  31. package/dist/src/NodeParser/AnnotatedNodeParser.js +2 -1
  32. package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -1
  33. package/dist/src/NodeParser/CallExpressionParser.js.map +1 -1
  34. package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -1
  35. package/dist/src/NodeParser/ConstructorNodeParser.d.ts +12 -0
  36. package/dist/src/NodeParser/ConstructorNodeParser.js +30 -0
  37. package/dist/src/NodeParser/ConstructorNodeParser.js.map +1 -0
  38. package/dist/src/NodeParser/EnumNodeParser.js.map +1 -1
  39. package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js.map +1 -1
  40. package/dist/src/NodeParser/FunctionNodeParser.d.ts +10 -2
  41. package/dist/src/NodeParser/FunctionNodeParser.js +47 -4
  42. package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
  43. package/dist/src/NodeParser/HiddenTypeNodeParser.js +2 -2
  44. package/dist/src/NodeParser/HiddenTypeNodeParser.js.map +1 -1
  45. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +4 -0
  46. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -1
  47. package/dist/src/NodeParser/InferTypeNodeParser.js.map +1 -1
  48. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +16 -4
  49. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -1
  50. package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -1
  51. package/dist/src/NodeParser/IntrinsicNodeParser.js.map +1 -1
  52. package/dist/src/NodeParser/MappedTypeNodeParser.d.ts +1 -1
  53. package/dist/src/NodeParser/MappedTypeNodeParser.js +16 -7
  54. package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
  55. package/dist/src/NodeParser/NamedTupleMemberNodeParser.js.map +1 -1
  56. package/dist/src/NodeParser/NumberTypeNodeParser.js +1 -1
  57. package/dist/src/NodeParser/NumberTypeNodeParser.js.map +1 -1
  58. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -1
  59. package/dist/src/NodeParser/PropertyAccessExpressionParser.js.map +1 -1
  60. package/dist/src/NodeParser/SatisfiesNodeParser.d.ts +10 -0
  61. package/dist/src/NodeParser/SatisfiesNodeParser.js +20 -0
  62. package/dist/src/NodeParser/SatisfiesNodeParser.js.map +1 -0
  63. package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js +21 -11
  64. package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js.map +1 -1
  65. package/dist/src/NodeParser/TupleNodeParser.js.map +1 -1
  66. package/dist/src/NodeParser/TypeAliasNodeParser.js.map +1 -1
  67. package/dist/src/NodeParser/TypeLiteralNodeParser.d.ts +3 -1
  68. package/dist/src/NodeParser/TypeLiteralNodeParser.js +21 -10
  69. package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -1
  70. package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
  71. package/dist/src/NodeParser/TypeReferenceNodeParser.d.ts +2 -2
  72. package/dist/src/NodeParser/TypeReferenceNodeParser.js +20 -15
  73. package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
  74. package/dist/src/NodeParser/TypeofNodeParser.js +13 -6
  75. package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -1
  76. package/dist/src/NodeParser/UnionNodeParser.js.map +1 -1
  77. package/dist/src/NodeParser.js.map +1 -1
  78. package/dist/src/Schema/Definition.d.ts +1 -1
  79. package/dist/src/Schema/RawType.d.ts +2 -2
  80. package/dist/src/Schema/Schema.d.ts +1 -1
  81. package/dist/src/SchemaGenerator.js +21 -2
  82. package/dist/src/SchemaGenerator.js.map +1 -1
  83. package/dist/src/TopRefNodeParser.js.map +1 -1
  84. package/dist/src/Type/AliasType.js.map +1 -1
  85. package/dist/src/Type/AnnotatedType.js.map +1 -1
  86. package/dist/src/Type/ConstructorType.d.ts +11 -0
  87. package/dist/src/Type/ConstructorType.js +27 -0
  88. package/dist/src/Type/ConstructorType.js.map +1 -0
  89. package/dist/src/Type/DefinitionType.js.map +1 -1
  90. package/dist/src/Type/EnumType.d.ts +1 -1
  91. package/dist/src/Type/EnumType.js.map +1 -1
  92. package/dist/src/Type/FunctionType.d.ts +7 -0
  93. package/dist/src/Type/FunctionType.js +14 -0
  94. package/dist/src/Type/FunctionType.js.map +1 -1
  95. package/dist/src/Type/HiddenType.d.ts +4 -0
  96. package/dist/src/Type/HiddenType.js +11 -0
  97. package/dist/src/Type/HiddenType.js.map +1 -0
  98. package/dist/src/Type/LiteralType.d.ts +1 -1
  99. package/dist/src/Type/ObjectType.js.map +1 -1
  100. package/dist/src/Type/ReferenceType.d.ts +1 -0
  101. package/dist/src/Type/ReferenceType.js +3 -0
  102. package/dist/src/Type/ReferenceType.js.map +1 -1
  103. package/dist/src/Type/RestType.js.map +1 -1
  104. package/dist/src/Type/TupleType.js.map +1 -1
  105. package/dist/src/Type/UnionType.js.map +1 -1
  106. package/dist/src/Type/UnknownType.d.ts +1 -3
  107. package/dist/src/Type/UnknownType.js +1 -5
  108. package/dist/src/Type/UnknownType.js.map +1 -1
  109. package/dist/src/TypeFormatter/AliasTypeFormatter.d.ts +1 -1
  110. package/dist/src/TypeFormatter/AliasTypeFormatter.js.map +1 -1
  111. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.d.ts +1 -1
  112. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
  113. package/dist/src/TypeFormatter/AnyTypeFormatter.d.ts +1 -1
  114. package/dist/src/TypeFormatter/AnyTypeFormatter.js.map +1 -1
  115. package/dist/src/TypeFormatter/ArrayTypeFormatter.d.ts +1 -1
  116. package/dist/src/TypeFormatter/ArrayTypeFormatter.js.map +1 -1
  117. package/dist/src/TypeFormatter/BooleanTypeFormatter.d.ts +1 -1
  118. package/dist/src/TypeFormatter/BooleanTypeFormatter.js.map +1 -1
  119. package/dist/src/TypeFormatter/ConstructorTypeFormatter.d.ts +5 -0
  120. package/dist/src/TypeFormatter/ConstructorTypeFormatter.js +12 -0
  121. package/dist/src/TypeFormatter/ConstructorTypeFormatter.js.map +1 -0
  122. package/dist/src/TypeFormatter/DefinitionTypeFormatter.d.ts +1 -1
  123. package/dist/src/TypeFormatter/DefinitionTypeFormatter.js.map +1 -1
  124. package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +1 -1
  125. package/dist/src/TypeFormatter/FunctionTypeFormatter.d.ts +14 -0
  126. package/dist/src/TypeFormatter/FunctionTypeFormatter.js +34 -0
  127. package/dist/src/TypeFormatter/FunctionTypeFormatter.js.map +1 -0
  128. package/dist/src/TypeFormatter/HiddenTypeFormatter.d.ts +9 -0
  129. package/dist/src/TypeFormatter/HiddenTypeFormatter.js +17 -0
  130. package/dist/src/TypeFormatter/HiddenTypeFormatter.js.map +1 -0
  131. package/dist/src/TypeFormatter/IntersectionTypeFormatter.d.ts +1 -1
  132. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -1
  133. package/dist/src/TypeFormatter/LiteralTypeFormatter.d.ts +1 -1
  134. package/dist/src/TypeFormatter/LiteralTypeFormatter.js.map +1 -1
  135. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.d.ts +1 -1
  136. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -1
  137. package/dist/src/TypeFormatter/NeverTypeFormatter.d.ts +1 -1
  138. package/dist/src/TypeFormatter/NeverTypeFormatter.js.map +1 -1
  139. package/dist/src/TypeFormatter/NullTypeFormatter.d.ts +1 -1
  140. package/dist/src/TypeFormatter/NumberTypeFormatter.d.ts +1 -1
  141. package/dist/src/TypeFormatter/NumberTypeFormatter.js.map +1 -1
  142. package/dist/src/TypeFormatter/ObjectTypeFormatter.d.ts +1 -1
  143. package/dist/src/TypeFormatter/ObjectTypeFormatter.js.map +1 -1
  144. package/dist/src/TypeFormatter/OptionalTypeFormatter.d.ts +1 -1
  145. package/dist/src/TypeFormatter/OptionalTypeFormatter.js.map +1 -1
  146. package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.d.ts +1 -1
  147. package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.js.map +1 -1
  148. package/dist/src/TypeFormatter/ReferenceTypeFormatter.d.ts +1 -1
  149. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -1
  150. package/dist/src/TypeFormatter/RestTypeFormatter.js.map +1 -1
  151. package/dist/src/TypeFormatter/StringTypeFormatter.d.ts +1 -1
  152. package/dist/src/TypeFormatter/StringTypeFormatter.js.map +1 -1
  153. package/dist/src/TypeFormatter/SymbolTypeFormatter.d.ts +1 -1
  154. package/dist/src/TypeFormatter/SymbolTypeFormatter.js.map +1 -1
  155. package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -1
  156. package/dist/src/TypeFormatter/UndefinedTypeFormatter.d.ts +1 -1
  157. package/dist/src/TypeFormatter/UndefinedTypeFormatter.js.map +1 -1
  158. package/dist/src/TypeFormatter/UnionTypeFormatter.d.ts +8 -2
  159. package/dist/src/TypeFormatter/UnionTypeFormatter.js +59 -22
  160. package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -1
  161. package/dist/src/TypeFormatter/UnknownTypeFormatter.d.ts +1 -1
  162. package/dist/src/TypeFormatter/UnknownTypeFormatter.js +1 -3
  163. package/dist/src/TypeFormatter/UnknownTypeFormatter.js.map +1 -1
  164. package/dist/src/TypeFormatter/VoidTypeFormatter.d.ts +1 -1
  165. package/dist/src/Utils/String.js.map +1 -1
  166. package/dist/src/Utils/allOfDefinition.js +1 -1
  167. package/dist/src/Utils/allOfDefinition.js.map +1 -1
  168. package/dist/src/Utils/assert.js.map +1 -1
  169. package/dist/src/Utils/deepMerge.js +1 -1
  170. package/dist/src/Utils/deepMerge.js.map +1 -1
  171. package/dist/src/Utils/derefType.js +4 -4
  172. package/dist/src/Utils/derefType.js.map +1 -1
  173. package/dist/src/Utils/extractLiterals.js +16 -7
  174. package/dist/src/Utils/extractLiterals.js.map +1 -1
  175. package/dist/src/Utils/formatError.js.map +1 -1
  176. package/dist/src/Utils/intersectionOfArrays.js.map +1 -1
  177. package/dist/src/Utils/isAssignableTo.js.map +1 -1
  178. package/dist/src/Utils/modifiers.d.ts +3 -3
  179. package/dist/src/Utils/modifiers.js.map +1 -1
  180. package/dist/src/Utils/narrowType.js.map +1 -1
  181. package/dist/src/Utils/nodeKey.d.ts +1 -1
  182. package/dist/src/Utils/nodeKey.js +10 -7
  183. package/dist/src/Utils/nodeKey.js.map +1 -1
  184. package/dist/src/Utils/preserveAnnotation.js.map +1 -1
  185. package/dist/src/Utils/removeUndefined.js.map +1 -1
  186. package/dist/src/Utils/removeUnreachable.js +3 -2
  187. package/dist/src/Utils/removeUnreachable.js.map +1 -1
  188. package/dist/src/Utils/typeKeys.js.map +1 -1
  189. package/dist/src/Utils/typeName.js.map +1 -1
  190. package/dist/src/Utils/uniqueArray.js.map +1 -1
  191. package/dist/src/Utils/uniqueTypeArray.js.map +1 -1
  192. package/dist/test/config.test.d.ts +3 -3
  193. package/dist/test/config.test.js +35 -6
  194. package/dist/test/config.test.js.map +1 -1
  195. package/dist/test/invalid-data.test.js +4 -2
  196. package/dist/test/invalid-data.test.js.map +1 -1
  197. package/dist/test/utils.d.ts +4 -3
  198. package/dist/test/utils.js +9 -11
  199. package/dist/test/utils.js.map +1 -1
  200. package/dist/test/valid-data/annotation-default/main.d.ts +1 -1
  201. package/dist/test/valid-data/object-required/main.d.ts +5 -0
  202. package/dist/test/valid-data/object-required/main.js +3 -0
  203. package/dist/test/valid-data/object-required/main.js.map +1 -0
  204. package/dist/test/valid-data/object-required/samples.d.ts +3 -0
  205. package/dist/test/valid-data/object-required/samples.js +27 -0
  206. package/dist/test/valid-data/object-required/samples.js.map +1 -0
  207. package/dist/test/valid-data-annotations.test.js +28 -22
  208. package/dist/test/valid-data-annotations.test.js.map +1 -1
  209. package/dist/test/valid-data-other.test.js +40 -8
  210. package/dist/test/valid-data-other.test.js.map +1 -1
  211. package/dist/test/valid-data-struct.test.js +2 -1
  212. package/dist/test/valid-data-struct.test.js.map +1 -1
  213. package/dist/test/valid-data-type.test.js +13 -6
  214. package/dist/test/valid-data-type.test.js.map +1 -1
  215. package/dist/test/vega-lite.test.js +4 -3
  216. package/dist/test/vega-lite.test.js.map +1 -1
  217. package/dist/ts-json-schema-generator.js +10 -2
  218. package/dist/ts-json-schema-generator.js.map +1 -1
  219. package/dist/tsconfig.tsbuildinfo +1 -1
  220. package/factory/formatter.ts +13 -6
  221. package/factory/generator.ts +2 -2
  222. package/factory/parser.ts +25 -16
  223. package/factory/program.ts +2 -2
  224. package/index.ts +4 -1
  225. package/package.json +32 -31
  226. package/src/AnnotationsReader/BasicAnnotationsReader.ts +2 -0
  227. package/src/AnnotationsReader/ExtendedAnnotationsReader.ts +14 -8
  228. package/src/ChainNodeParser.ts +4 -1
  229. package/src/Config.ts +10 -0
  230. package/src/Error/UnknownNodeError.ts +9 -2
  231. package/src/NodeParser/AnnotatedNodeParser.ts +6 -2
  232. package/src/NodeParser/CallExpressionParser.ts +4 -1
  233. package/src/NodeParser/ConditionalTypeNodeParser.ts +8 -2
  234. package/src/NodeParser/ConstructorNodeParser.ts +31 -0
  235. package/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.ts +4 -1
  236. package/src/NodeParser/FunctionNodeParser.ts +82 -8
  237. package/src/NodeParser/HiddenTypeNodeParser.ts +2 -2
  238. package/src/NodeParser/IndexedAccessTypeNodeParser.ts +8 -1
  239. package/src/NodeParser/InferTypeNodeParser.ts +4 -1
  240. package/src/NodeParser/InterfaceAndClassNodeParser.ts +34 -15
  241. package/src/NodeParser/IntersectionNodeParser.ts +4 -1
  242. package/src/NodeParser/MappedTypeNodeParser.ts +22 -9
  243. package/src/NodeParser/NumberTypeNodeParser.ts +1 -1
  244. package/src/NodeParser/PropertyAccessExpressionParser.ts +4 -1
  245. package/src/NodeParser/SatisfiesNodeParser.ts +15 -0
  246. package/src/NodeParser/StringTemplateLiteralNodeParser.ts +25 -14
  247. package/src/NodeParser/TupleNodeParser.ts +4 -1
  248. package/src/NodeParser/TypeAliasNodeParser.ts +4 -1
  249. package/src/NodeParser/TypeLiteralNodeParser.ts +40 -12
  250. package/src/NodeParser/TypeReferenceNodeParser.ts +56 -25
  251. package/src/NodeParser/TypeofNodeParser.ts +18 -13
  252. package/src/NodeParser/UnionNodeParser.ts +4 -1
  253. package/src/SchemaGenerator.ts +21 -1
  254. package/src/Type/AliasType.ts +4 -1
  255. package/src/Type/AnnotatedType.ts +5 -1
  256. package/src/Type/ConstructorType.ts +32 -0
  257. package/src/Type/DefinitionType.ts +4 -1
  258. package/src/Type/EnumType.ts +4 -1
  259. package/src/Type/FunctionType.ts +23 -0
  260. package/src/Type/HiddenType.ts +7 -0
  261. package/src/Type/ObjectType.ts +5 -1
  262. package/src/Type/ReferenceType.ts +4 -0
  263. package/src/Type/RestType.ts +4 -1
  264. package/src/Type/UnionType.ts +0 -1
  265. package/src/Type/UnknownType.ts +1 -5
  266. package/src/TypeFormatter/AliasTypeFormatter.ts +1 -1
  267. package/src/TypeFormatter/AnnotatedTypeFormatter.ts +1 -1
  268. package/src/TypeFormatter/AnyTypeFormatter.ts +1 -1
  269. package/src/TypeFormatter/ArrayTypeFormatter.ts +1 -1
  270. package/src/TypeFormatter/BooleanTypeFormatter.ts +1 -1
  271. package/src/TypeFormatter/ConstructorTypeFormatter.ts +9 -0
  272. package/src/TypeFormatter/DefinitionTypeFormatter.ts +5 -2
  273. package/src/TypeFormatter/EnumTypeFormatter.ts +1 -1
  274. package/src/TypeFormatter/FunctionTypeFormatter.ts +39 -0
  275. package/src/TypeFormatter/HiddenTypeFormatter.ts +16 -0
  276. package/src/TypeFormatter/IntersectionTypeFormatter.ts +1 -1
  277. package/src/TypeFormatter/LiteralTypeFormatter.ts +1 -1
  278. package/src/TypeFormatter/LiteralUnionTypeFormatter.ts +1 -1
  279. package/src/TypeFormatter/NeverTypeFormatter.ts +1 -1
  280. package/src/TypeFormatter/NullTypeFormatter.ts +1 -1
  281. package/src/TypeFormatter/NumberTypeFormatter.ts +1 -1
  282. package/src/TypeFormatter/ObjectTypeFormatter.ts +1 -1
  283. package/src/TypeFormatter/OptionalTypeFormatter.ts +1 -1
  284. package/src/TypeFormatter/PrimitiveUnionTypeFormatter.ts +1 -1
  285. package/src/TypeFormatter/ReferenceTypeFormatter.ts +5 -2
  286. package/src/TypeFormatter/StringTypeFormatter.ts +1 -1
  287. package/src/TypeFormatter/SymbolTypeFormatter.ts +1 -1
  288. package/src/TypeFormatter/UndefinedTypeFormatter.ts +1 -1
  289. package/src/TypeFormatter/UnionTypeFormatter.ts +72 -29
  290. package/src/TypeFormatter/UnknownTypeFormatter.ts +2 -4
  291. package/src/TypeFormatter/VoidTypeFormatter.ts +1 -1
  292. package/src/Utils/allOfDefinition.ts +1 -1
  293. package/src/Utils/deepMerge.ts +1 -1
  294. package/src/Utils/derefType.ts +7 -6
  295. package/src/Utils/extractLiterals.ts +18 -7
  296. package/src/Utils/intersectionOfArrays.ts +2 -2
  297. package/src/Utils/modifiers.ts +3 -3
  298. package/src/Utils/nodeKey.ts +16 -9
  299. package/src/Utils/removeUnreachable.ts +2 -2
  300. package/ts-json-schema-generator.ts +21 -8
  301. package/dist/src/NodeParser/FunctionParser.d.ts +0 -12
  302. package/dist/src/NodeParser/FunctionParser.js +0 -46
  303. package/dist/src/NodeParser/FunctionParser.js.map +0 -1
  304. package/src/NodeParser/FunctionParser.ts +0 -59
package/README.md CHANGED
@@ -18,6 +18,14 @@ This project is made possible by a [community of contributors](https://github.co
18
18
 
19
19
  ## CLI Usage
20
20
 
21
+ Run the schema generator with npx:
22
+
23
+ ```bash
24
+ npx ts-json-schema-generator --path 'my/project/**/*.ts' --type 'My.Type.Name'
25
+ ```
26
+
27
+ Or install the package and then run it
28
+
21
29
  ```bash
22
30
  npm install --save ts-json-schema-generator
23
31
  ./node_modules/.bin/ts-json-schema-generator --path 'my/project/**/*.ts' --type 'My.Type.Name'
@@ -25,6 +33,33 @@ npm install --save ts-json-schema-generator
25
33
 
26
34
  Note that different platforms (e.g. Windows) may use different path separators so you may have to adjust the command above.
27
35
 
36
+ Also note that you need to quote paths with `*` as otherwise the shell will expand the paths and therefore only pass the first path to the generator.
37
+
38
+ ### Options
39
+
40
+ ```
41
+ -p, --path <path> Source file path
42
+ -t, --type <name> Type name
43
+ -i, --id <name> $id for generated schema
44
+ -f, --tsconfig <path> Custom tsconfig.json path
45
+ -e, --expose <expose> Type exposing (choices: "all", "none", "export", default: "export")
46
+ -j, --jsDoc <extended> Read JsDoc annotations (choices: "none", "basic", "extended", default: "extended")
47
+ --markdown-description Generate `markdownDescription` in addition to `description`.
48
+ --functions <functions> How to handle functions. `fail` will throw an error. `comment` will add a comment. `hide` will treat the function like a NeverType or HiddenType.
49
+ (choices: "fail", "comment", "hide", default: "comment")
50
+ --minify Minify generated schema (default: false)
51
+ --unstable Do not sort properties
52
+ --strict-tuples Do not allow additional items on tuples
53
+ --no-top-ref Do not create a top-level $ref definition
54
+ --no-type-check Skip type checks to improve performance
55
+ --no-ref-encode Do not encode references
56
+ -o, --out <file> Set the output file (default: stdout)
57
+ --validation-keywords [value] Provide additional validation keywords to include (default: [])
58
+ --additional-properties Allow additional properties for objects with no index signature (default: false)
59
+ -V, --version output the version number
60
+ -h, --help display help for command
61
+ ```
62
+
28
63
  ## Programmatic Usage
29
64
 
30
65
  ```js
@@ -40,11 +75,11 @@ const config = {
40
75
  type: "*", // Or <type-name> if you want to generate schema for that one type only
41
76
  };
42
77
 
43
- const output_path = "path/to/output/file";
78
+ const outputPath = "path/to/output/file";
44
79
 
45
80
  const schema = tsj.createGenerator(config).createSchema(config.type);
46
81
  const schemaString = JSON.stringify(schema, null, 2);
47
- fs.writeFile(output_path, schemaString, (err) => {
82
+ fs.writeFile(outputPath, schemaString, (err) => {
48
83
  if (err) throw err;
49
84
  });
50
85
  ```
@@ -55,7 +90,7 @@ Run the schema generator via `node main.js`.
55
90
 
56
91
  Extending the built-in formatting is possible by creating a custom formatter and adding it to the main formatter:
57
92
 
58
- 1. First we create a formatter, in this case for formatting function types:
93
+ 1. First we create a formatter, in this case for formatting function types (note that there is a built in one):
59
94
 
60
95
  ```ts
61
96
  // my-function-formatter.ts
@@ -66,7 +101,7 @@ export class MyFunctionTypeFormatter implements SubTypeFormatter {
66
101
  // You can skip this line if you don't need childTypeFormatter
67
102
  public constructor(private childTypeFormatter: TypeFormatter) {}
68
103
 
69
- public supportsType(type: FunctionType): boolean {
104
+ public supportsType(type: BaseType): boolean {
70
105
  return type instanceof FunctionType;
71
106
  }
72
107
 
@@ -121,9 +156,10 @@ const program = createProgram(config);
121
156
  const parser = createParser(program, config);
122
157
  const generator = new SchemaGenerator(program, parser, formatter, config);
123
158
  const schema = generator.createSchema(config.type);
159
+ const outputPath = "path/to/output/file";
124
160
 
125
161
  const schemaString = JSON.stringify(schema, null, 2);
126
- fs.writeFile(output_path, schemaString, (err) => {
162
+ fs.writeFile(outputPath, schemaString, (err) => {
127
163
  if (err) throw err;
128
164
  });
129
165
  ```
@@ -173,86 +209,20 @@ const parser = createParser(program, config, (prs) => {
173
209
  const formatter = createFormatter(config);
174
210
  const generator = new SchemaGenerator(program, parser, formatter, config);
175
211
  const schema = generator.createSchema(config.type);
212
+ const outputPath = "path/to/output/file";
176
213
 
177
214
  const schemaString = JSON.stringify(schema, null, 2);
178
- fs.writeFile(output_path, schemaString, (err) => {
215
+ fs.writeFile(outputPath, schemaString, (err) => {
179
216
  if (err) throw err;
180
217
  });
181
218
  ```
182
219
 
183
- ## Options
184
-
185
- ```
186
- -p, --path 'index.ts'
187
- The path to the TypeScript source file. If this is not provided, the type will be searched in the project specified in the `.tsconfig`.
188
-
189
- -t, --type 'My.Type.Name'
190
- The type the generated schema will represent. If omitted, the generated schema will contain all
191
- types found in the files matching path. The same is true if '*' is specified.
192
-
193
- -i, --id 'generatedSchemaId'
194
- The `$id` of the generated schema. If omitted, there will be no `$id`.
195
-
196
- -e, --expose <all|none|export>
197
- all: Create shared $ref definitions for all types.
198
- none: Do not create shared $ref definitions.
199
- export (default): Create shared $ref definitions only for exported types (not tagged as `@internal`).
200
-
201
- -f, --tsconfig 'my/project/tsconfig.json'
202
- Use a custom tsconfig file for processing typescript (see https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) instead of the default:
203
- {
204
- "compilerOptions": {
205
- "noEmit": true,
206
- "emitDecoratorMetadata": true,
207
- "experimentalDecorators": true,
208
- "target": "ES5",
209
- "module": "CommonJS",
210
- "strictNullChecks": false,
211
- }
212
- }
213
-
214
- -j, --jsDoc <extended|none|basic>
215
- none: Do not use JsDoc annotations.
216
- basic: Read JsDoc annotations to provide schema properties.
217
- extended (default): Also read @nullable, and @asType annotations.
218
-
219
- --unstable
220
- Do not sort properties.
221
-
222
- --strict-tuples
223
- Do not allow additional items on tuples.
224
-
225
- --no-top-ref
226
- Do not create a top-level $ref definition.
227
-
228
- --no-type-check
229
- Skip type checks for better performance.
230
-
231
- --no-ref-encode
232
- Do not encode references. According to the standard, references must be valid URIs but some tools do not support encoded references.
233
-
234
- --validation-keywords
235
- Provide additional validation keywords to include.
236
-
237
- -o, --out
238
- Specify the output file path. Without this option, the generator logs the response in the console.
239
-
240
- --additional-properties <true|false>
241
- Controls whether or not to allow additional properties for objects that have no index signature.
242
-
243
- true: Additional properties are allowed
244
- false (default): Additional properties are not allowed
245
-
246
- --minify
247
- Minify generated schema (default: false)
248
- ```
249
-
250
220
  ## Current state
251
221
 
252
222
  - `interface` types
253
223
  - `enum` types
254
224
  - `union`, `tuple`, `type[]` types
255
- - `Date`, `RegExp` types
225
+ - `Date`, `RegExp`, `URL` types
256
226
  - `string`, `boolean`, `number` types
257
227
  - `"value"`, `123`, `true`, `false`, `null`, `undefined` literals
258
228
  - type aliases
@@ -260,6 +230,7 @@ fs.writeFile(output_path, schemaString, (err) => {
260
230
  - `typeof`
261
231
  - `keyof`
262
232
  - conditional types
233
+ - functions
263
234
 
264
235
  ## Run locally
265
236
 
@@ -1,6 +1,6 @@
1
- import { Config } from "../src/Config";
2
1
  import { CircularReferenceTypeFormatter } from "../src/CircularReferenceTypeFormatter";
3
- import { TypeFormatter } from "../src/TypeFormatter";
2
+ import { CompletedConfig } from "../src/Config";
4
3
  import { MutableTypeFormatter } from "../src/MutableTypeFormatter";
5
- export declare type FormatterAugmentor = (formatter: MutableTypeFormatter, circularReferenceTypeFormatter: CircularReferenceTypeFormatter) => void;
6
- export declare function createFormatter(config: Config, augmentor?: FormatterAugmentor): TypeFormatter;
4
+ import { TypeFormatter } from "../src/TypeFormatter";
5
+ export type FormatterAugmentor = (formatter: MutableTypeFormatter, circularReferenceTypeFormatter: CircularReferenceTypeFormatter) => void;
6
+ export declare function createFormatter(config: CompletedConfig, augmentor?: FormatterAugmentor): TypeFormatter;
@@ -6,14 +6,17 @@ const CircularReferenceTypeFormatter_1 = require("../src/CircularReferenceTypeFo
6
6
  const AliasTypeFormatter_1 = require("../src/TypeFormatter/AliasTypeFormatter");
7
7
  const AnnotatedTypeFormatter_1 = require("../src/TypeFormatter/AnnotatedTypeFormatter");
8
8
  const AnyTypeFormatter_1 = require("../src/TypeFormatter/AnyTypeFormatter");
9
- const SymbolTypeFormatter_1 = require("../src/TypeFormatter/SymbolTypeFormatter");
10
9
  const ArrayTypeFormatter_1 = require("../src/TypeFormatter/ArrayTypeFormatter");
11
10
  const BooleanTypeFormatter_1 = require("../src/TypeFormatter/BooleanTypeFormatter");
11
+ const ConstructorTypeFormatter_1 = require("../src/TypeFormatter/ConstructorTypeFormatter");
12
12
  const DefinitionTypeFormatter_1 = require("../src/TypeFormatter/DefinitionTypeFormatter");
13
13
  const EnumTypeFormatter_1 = require("../src/TypeFormatter/EnumTypeFormatter");
14
+ const FunctionTypeFormatter_1 = require("../src/TypeFormatter/FunctionTypeFormatter");
15
+ const HiddenTypeFormatter_1 = require("../src/TypeFormatter/HiddenTypeFormatter");
14
16
  const IntersectionTypeFormatter_1 = require("../src/TypeFormatter/IntersectionTypeFormatter");
15
17
  const LiteralTypeFormatter_1 = require("../src/TypeFormatter/LiteralTypeFormatter");
16
18
  const LiteralUnionTypeFormatter_1 = require("../src/TypeFormatter/LiteralUnionTypeFormatter");
19
+ const NeverTypeFormatter_1 = require("../src/TypeFormatter/NeverTypeFormatter");
17
20
  const NullTypeFormatter_1 = require("../src/TypeFormatter/NullTypeFormatter");
18
21
  const NumberTypeFormatter_1 = require("../src/TypeFormatter/NumberTypeFormatter");
19
22
  const ObjectTypeFormatter_1 = require("../src/TypeFormatter/ObjectTypeFormatter");
@@ -22,12 +25,12 @@ const PrimitiveUnionTypeFormatter_1 = require("../src/TypeFormatter/PrimitiveUni
22
25
  const ReferenceTypeFormatter_1 = require("../src/TypeFormatter/ReferenceTypeFormatter");
23
26
  const RestTypeFormatter_1 = require("../src/TypeFormatter/RestTypeFormatter");
24
27
  const StringTypeFormatter_1 = require("../src/TypeFormatter/StringTypeFormatter");
28
+ const SymbolTypeFormatter_1 = require("../src/TypeFormatter/SymbolTypeFormatter");
25
29
  const TupleTypeFormatter_1 = require("../src/TypeFormatter/TupleTypeFormatter");
26
30
  const UndefinedTypeFormatter_1 = require("../src/TypeFormatter/UndefinedTypeFormatter");
27
31
  const UnionTypeFormatter_1 = require("../src/TypeFormatter/UnionTypeFormatter");
28
32
  const UnknownTypeFormatter_1 = require("../src/TypeFormatter/UnknownTypeFormatter");
29
33
  const VoidTypeFormatter_1 = require("../src/TypeFormatter/VoidTypeFormatter");
30
- const NeverTypeFormatter_1 = require("../src/TypeFormatter/NeverTypeFormatter");
31
34
  function createFormatter(config, augmentor) {
32
35
  var _a, _b;
33
36
  const chainTypeFormatter = new ChainTypeFormatter_1.ChainTypeFormatter([]);
@@ -46,6 +49,7 @@ function createFormatter(config, augmentor) {
46
49
  .addTypeFormatter(new UndefinedTypeFormatter_1.UndefinedTypeFormatter())
47
50
  .addTypeFormatter(new UnknownTypeFormatter_1.UnknownTypeFormatter())
48
51
  .addTypeFormatter(new VoidTypeFormatter_1.VoidTypeFormatter())
52
+ .addTypeFormatter(new HiddenTypeFormatter_1.HiddenTypeFormatter())
49
53
  .addTypeFormatter(new NeverTypeFormatter_1.NeverTypeFormatter())
50
54
  .addTypeFormatter(new LiteralTypeFormatter_1.LiteralTypeFormatter())
51
55
  .addTypeFormatter(new EnumTypeFormatter_1.EnumTypeFormatter())
@@ -55,11 +59,13 @@ function createFormatter(config, augmentor) {
55
59
  .addTypeFormatter(new AliasTypeFormatter_1.AliasTypeFormatter(circularReferenceTypeFormatter))
56
60
  .addTypeFormatter(new PrimitiveUnionTypeFormatter_1.PrimitiveUnionTypeFormatter())
57
61
  .addTypeFormatter(new LiteralUnionTypeFormatter_1.LiteralUnionTypeFormatter())
62
+ .addTypeFormatter(new ConstructorTypeFormatter_1.ConstructorTypeFormatter(circularReferenceTypeFormatter, config.functions))
63
+ .addTypeFormatter(new FunctionTypeFormatter_1.FunctionTypeFormatter(circularReferenceTypeFormatter, config.functions))
58
64
  .addTypeFormatter(new OptionalTypeFormatter_1.OptionalTypeFormatter(circularReferenceTypeFormatter))
59
65
  .addTypeFormatter(new RestTypeFormatter_1.RestTypeFormatter(circularReferenceTypeFormatter))
60
66
  .addTypeFormatter(new ArrayTypeFormatter_1.ArrayTypeFormatter(circularReferenceTypeFormatter))
61
67
  .addTypeFormatter(new TupleTypeFormatter_1.TupleTypeFormatter(circularReferenceTypeFormatter))
62
- .addTypeFormatter(new UnionTypeFormatter_1.UnionTypeFormatter(circularReferenceTypeFormatter))
68
+ .addTypeFormatter(new UnionTypeFormatter_1.UnionTypeFormatter(circularReferenceTypeFormatter, config.discriminatorType))
63
69
  .addTypeFormatter(new IntersectionTypeFormatter_1.IntersectionTypeFormatter(circularReferenceTypeFormatter));
64
70
  return circularReferenceTypeFormatter;
65
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../factory/formatter.ts"],"names":[],"mappings":";;;AACA,kEAA+D;AAC/D,0FAAuF;AAEvF,gFAA6E;AAC7E,wFAAqF;AACrF,4EAAyE;AACzE,kFAA+E;AAC/E,gFAA6E;AAC7E,oFAAiF;AACjF,0FAAuF;AACvF,8EAA2E;AAC3E,8FAA2F;AAC3F,oFAAiF;AACjF,8FAA2F;AAC3F,8EAA2E;AAC3E,kFAA+E;AAC/E,kFAA+E;AAC/E,sFAAmF;AACnF,kGAA+F;AAC/F,wFAAqF;AACrF,8EAA2E;AAC3E,kFAA+E;AAC/E,gFAA6E;AAC7E,wFAAqF;AACrF,gFAA6E;AAC7E,oFAAiF;AACjF,8EAA2E;AAE3E,gFAA6E;AAO7E,SAAgB,eAAe,CAAC,MAAc,EAAE,SAA8B;;IAC1E,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,8BAA8B,GAAG,IAAI,+DAA8B,CAAC,kBAAkB,CAAC,CAAC;IAE9F,IAAI,SAAS,EAAE;QACX,SAAS,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;KACjE;IAED,kBAAkB;SACb,gBAAgB,CAAC,IAAI,+CAAsB,CAAC,8BAA8B,CAAC,CAAC;SAE5E,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAC3C,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAC3C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SACzC,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAE3C,gBAAgB,CAAC,IAAI,mCAAgB,EAAE,CAAC;SACxC,gBAAgB,CAAC,IAAI,+CAAsB,EAAE,CAAC;SAC9C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SACzC,gBAAgB,CAAC,IAAI,uCAAkB,EAAE,CAAC;SAE1C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SAEzC,gBAAgB,CAAC,IAAI,+CAAsB,CAAC,8BAA8B,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,CAAC;SACvG,gBAAgB,CAAC,IAAI,iDAAuB,CAAC,8BAA8B,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,CAAC;SACxG,gBAAgB,CAAC,IAAI,yCAAmB,CAAC,8BAA8B,CAAC,CAAC;SACzE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SAExE,gBAAgB,CAAC,IAAI,yDAA2B,EAAE,CAAC;SACnD,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC;SAEjD,gBAAgB,CAAC,IAAI,6CAAqB,CAAC,8BAA8B,CAAC,CAAC;SAC3E,gBAAgB,CAAC,IAAI,qCAAiB,CAAC,8BAA8B,CAAC,CAAC;SAEvE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SACxE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SACxE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SACxE,gBAAgB,CAAC,IAAI,qDAAyB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAErF,OAAO,8BAA8B,CAAC;AAC1C,CAAC;AA3CD,0CA2CC"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../factory/formatter.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,0FAAuF;AAIvF,gFAA6E;AAC7E,wFAAqF;AACrF,4EAAyE;AACzE,gFAA6E;AAC7E,oFAAiF;AACjF,4FAAyF;AACzF,0FAAuF;AACvF,8EAA2E;AAC3E,sFAAmF;AACnF,kFAA+E;AAC/E,8FAA2F;AAC3F,oFAAiF;AACjF,8FAA2F;AAC3F,gFAA6E;AAC7E,8EAA2E;AAC3E,kFAA+E;AAC/E,kFAA+E;AAC/E,sFAAmF;AACnF,kGAA+F;AAC/F,wFAAqF;AACrF,8EAA2E;AAC3E,kFAA+E;AAC/E,kFAA+E;AAC/E,gFAA6E;AAC7E,wFAAqF;AACrF,gFAA6E;AAC7E,oFAAiF;AACjF,8EAA2E;AAO3E,SAAgB,eAAe,CAAC,MAAuB,EAAE,SAA8B;;IACnF,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,8BAA8B,GAAG,IAAI,+DAA8B,CAAC,kBAAkB,CAAC,CAAC;IAE9F,IAAI,SAAS,EAAE,CAAC;QACZ,SAAS,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB;SACb,gBAAgB,CAAC,IAAI,+CAAsB,CAAC,8BAA8B,CAAC,CAAC;SAE5E,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAC3C,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAC3C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SACzC,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAE3C,gBAAgB,CAAC,IAAI,mCAAgB,EAAE,CAAC;SACxC,gBAAgB,CAAC,IAAI,+CAAsB,EAAE,CAAC;SAC9C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SACzC,gBAAgB,CAAC,IAAI,yCAAmB,EAAE,CAAC;SAC3C,gBAAgB,CAAC,IAAI,uCAAkB,EAAE,CAAC;SAE1C,gBAAgB,CAAC,IAAI,2CAAoB,EAAE,CAAC;SAC5C,gBAAgB,CAAC,IAAI,qCAAiB,EAAE,CAAC;SAEzC,gBAAgB,CAAC,IAAI,+CAAsB,CAAC,8BAA8B,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,CAAC;SACvG,gBAAgB,CAAC,IAAI,iDAAuB,CAAC,8BAA8B,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,CAAC;SACxG,gBAAgB,CAAC,IAAI,yCAAmB,CAAC,8BAA8B,CAAC,CAAC;SACzE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SAExE,gBAAgB,CAAC,IAAI,yDAA2B,EAAE,CAAC;SACnD,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC;SAEjD,gBAAgB,CAAC,IAAI,mDAAwB,CAAC,8BAA8B,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;SAChG,gBAAgB,CAAC,IAAI,6CAAqB,CAAC,8BAA8B,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;SAE7F,gBAAgB,CAAC,IAAI,6CAAqB,CAAC,8BAA8B,CAAC,CAAC;SAC3E,gBAAgB,CAAC,IAAI,qCAAiB,CAAC,8BAA8B,CAAC,CAAC;SAEvE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SACxE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,CAAC,CAAC;SACxE,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,8BAA8B,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAClG,gBAAgB,CAAC,IAAI,qDAAyB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAErF,OAAO,8BAA8B,CAAC;AAC1C,CAAC;AA/CD,0CA+CC"}
@@ -1,3 +1,3 @@
1
- import { Config } from "../src/Config";
1
+ import { CompletedConfig } from "../src/Config";
2
2
  import { SchemaGenerator } from "../src/SchemaGenerator";
3
- export declare function createGenerator(config: Config): SchemaGenerator;
3
+ export declare function createGenerator(config: CompletedConfig): SchemaGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AACzD,2CAA8C;AAC9C,qCAAwC;AACxC,uCAA0C;AAE1C,SAAgB,eAAe,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAI,iCAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AACzD,2CAA8C;AAC9C,qCAAwC;AACxC,uCAA0C;AAE1C,SAAgB,eAAe,CAAC,MAAuB;IACnD,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAI,iCAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAND,0CAMC"}
@@ -1,6 +1,6 @@
1
1
  import ts from "typescript";
2
- import { Config } from "../src/Config";
2
+ import { CompletedConfig } from "../src/Config";
3
3
  import { MutableParser } from "../src/MutableParser";
4
4
  import { NodeParser } from "../src/NodeParser";
5
- export declare type ParserAugmentor = (parser: MutableParser) => void;
6
- export declare function createParser(program: ts.Program, config: Config, augmentor?: ParserAugmentor): NodeParser;
5
+ export type ParserAugmentor = (parser: MutableParser) => void;
6
+ export declare function createParser(program: ts.Program, config: CompletedConfig, augmentor?: ParserAugmentor): NodeParser;
@@ -5,7 +5,6 @@ const BasicAnnotationsReader_1 = require("../src/AnnotationsReader/BasicAnnotati
5
5
  const ExtendedAnnotationsReader_1 = require("../src/AnnotationsReader/ExtendedAnnotationsReader");
6
6
  const ChainNodeParser_1 = require("../src/ChainNodeParser");
7
7
  const CircularReferenceNodeParser_1 = require("../src/CircularReferenceNodeParser");
8
- const Config_1 = require("../src/Config");
9
8
  const ExposeNodeParser_1 = require("../src/ExposeNodeParser");
10
9
  const AnnotatedNodeParser_1 = require("../src/NodeParser/AnnotatedNodeParser");
11
10
  const AnyTypeNodeParser_1 = require("../src/NodeParser/AnyTypeNodeParser");
@@ -16,10 +15,10 @@ const BooleanLiteralNodeParser_1 = require("../src/NodeParser/BooleanLiteralNode
16
15
  const BooleanTypeNodeParser_1 = require("../src/NodeParser/BooleanTypeNodeParser");
17
16
  const CallExpressionParser_1 = require("../src/NodeParser/CallExpressionParser");
18
17
  const ConditionalTypeNodeParser_1 = require("../src/NodeParser/ConditionalTypeNodeParser");
18
+ const ConstructorNodeParser_1 = require("../src/NodeParser/ConstructorNodeParser");
19
19
  const EnumNodeParser_1 = require("../src/NodeParser/EnumNodeParser");
20
20
  const ExpressionWithTypeArgumentsNodeParser_1 = require("../src/NodeParser/ExpressionWithTypeArgumentsNodeParser");
21
21
  const FunctionNodeParser_1 = require("../src/NodeParser/FunctionNodeParser");
22
- const FunctionParser_1 = require("../src/NodeParser/FunctionParser");
23
22
  const HiddenTypeNodeParser_1 = require("../src/NodeParser/HiddenTypeNodeParser");
24
23
  const IndexedAccessTypeNodeParser_1 = require("../src/NodeParser/IndexedAccessTypeNodeParser");
25
24
  const InferTypeNodeParser_1 = require("../src/NodeParser/InferTypeNodeParser");
@@ -56,22 +55,22 @@ const UnionNodeParser_1 = require("../src/NodeParser/UnionNodeParser");
56
55
  const UnknownTypeNodeParser_1 = require("../src/NodeParser/UnknownTypeNodeParser");
57
56
  const VoidTypeNodeParser_1 = require("../src/NodeParser/VoidTypeNodeParser");
58
57
  const TopRefNodeParser_1 = require("../src/TopRefNodeParser");
58
+ const SatisfiesNodeParser_1 = require("../src/NodeParser/SatisfiesNodeParser");
59
59
  function createParser(program, config, augmentor) {
60
60
  const typeChecker = program.getTypeChecker();
61
61
  const chainNodeParser = new ChainNodeParser_1.ChainNodeParser(typeChecker, []);
62
- const mergedConfig = { ...Config_1.DEFAULT_CONFIG, ...config };
63
62
  function withExpose(nodeParser) {
64
- return new ExposeNodeParser_1.ExposeNodeParser(typeChecker, nodeParser, mergedConfig.expose, mergedConfig.jsDoc);
63
+ return new ExposeNodeParser_1.ExposeNodeParser(typeChecker, nodeParser, config.expose, config.jsDoc);
65
64
  }
66
65
  function withTopRef(nodeParser) {
67
- return new TopRefNodeParser_1.TopRefNodeParser(chainNodeParser, mergedConfig.type, mergedConfig.topRef);
66
+ return new TopRefNodeParser_1.TopRefNodeParser(chainNodeParser, config.type, config.topRef);
68
67
  }
69
68
  function withJsDoc(nodeParser) {
70
- const extraTags = new Set(mergedConfig.extraTags);
71
- if (mergedConfig.jsDoc === "extended") {
72
- return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new ExtendedAnnotationsReader_1.ExtendedAnnotationsReader(typeChecker, extraTags));
69
+ const extraTags = new Set(config.extraTags);
70
+ if (config.jsDoc === "extended") {
71
+ return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new ExtendedAnnotationsReader_1.ExtendedAnnotationsReader(typeChecker, extraTags, config.markdownDescription));
73
72
  }
74
- else if (mergedConfig.jsDoc === "basic") {
73
+ else if (config.jsDoc === "basic") {
75
74
  return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new BasicAnnotationsReader_1.BasicAnnotationsReader(extraTags));
76
75
  }
77
76
  else {
@@ -97,7 +96,7 @@ function createParser(program, config, augmentor) {
97
96
  .addNodeParser(new NeverTypeNodeParser_1.NeverTypeNodeParser())
98
97
  .addNodeParser(new ObjectTypeNodeParser_1.ObjectTypeNodeParser())
99
98
  .addNodeParser(new AsExpressionNodeParser_1.AsExpressionNodeParser(chainNodeParser))
100
- .addNodeParser(new FunctionParser_1.FunctionParser(chainNodeParser))
99
+ .addNodeParser(new SatisfiesNodeParser_1.SatisfiesNodeParser(chainNodeParser))
101
100
  .addNodeParser(withJsDoc(new ParameterParser_1.ParameterParser(chainNodeParser)))
102
101
  .addNodeParser(new StringLiteralNodeParser_1.StringLiteralNodeParser())
103
102
  .addNodeParser(new StringTemplateLiteralNodeParser_1.StringTemplateLiteralNodeParser(chainNodeParser))
@@ -105,7 +104,6 @@ function createParser(program, config, augmentor) {
105
104
  .addNodeParser(new NumberLiteralNodeParser_1.NumberLiteralNodeParser())
106
105
  .addNodeParser(new BooleanLiteralNodeParser_1.BooleanLiteralNodeParser())
107
106
  .addNodeParser(new NullLiteralNodeParser_1.NullLiteralNodeParser())
108
- .addNodeParser(new FunctionNodeParser_1.FunctionNodeParser())
109
107
  .addNodeParser(new ObjectLiteralExpressionNodeParser_1.ObjectLiteralExpressionNodeParser(chainNodeParser))
110
108
  .addNodeParser(new ArrayLiteralExpressionNodeParser_1.ArrayLiteralExpressionNodeParser(chainNodeParser))
111
109
  .addNodeParser(new PrefixUnaryExpressionNodeParser_1.PrefixUnaryExpressionNodeParser(chainNodeParser))
@@ -116,7 +114,7 @@ function createParser(program, config, augmentor) {
116
114
  .addNodeParser(new IndexedAccessTypeNodeParser_1.IndexedAccessTypeNodeParser(typeChecker, chainNodeParser))
117
115
  .addNodeParser(new InferTypeNodeParser_1.InferTypeNodeParser(typeChecker, chainNodeParser))
118
116
  .addNodeParser(new TypeofNodeParser_1.TypeofNodeParser(typeChecker, chainNodeParser))
119
- .addNodeParser(new MappedTypeNodeParser_1.MappedTypeNodeParser(chainNodeParser, mergedConfig.additionalProperties))
117
+ .addNodeParser(new MappedTypeNodeParser_1.MappedTypeNodeParser(chainNodeParser, config.additionalProperties))
120
118
  .addNodeParser(new ConditionalTypeNodeParser_1.ConditionalTypeNodeParser(typeChecker, chainNodeParser))
121
119
  .addNodeParser(new TypeOperatorNodeParser_1.TypeOperatorNodeParser(chainNodeParser))
122
120
  .addNodeParser(new UnionNodeParser_1.UnionNodeParser(typeChecker, chainNodeParser))
@@ -129,9 +127,14 @@ function createParser(program, config, augmentor) {
129
127
  .addNodeParser(new PropertyAccessExpressionParser_1.PropertyAccessExpressionParser(typeChecker, chainNodeParser))
130
128
  .addNodeParser(withCircular(withExpose(withJsDoc(new TypeAliasNodeParser_1.TypeAliasNodeParser(typeChecker, chainNodeParser)))))
131
129
  .addNodeParser(withExpose(withJsDoc(new EnumNodeParser_1.EnumNodeParser(typeChecker))))
132
- .addNodeParser(withCircular(withExpose(withJsDoc(new InterfaceAndClassNodeParser_1.InterfaceAndClassNodeParser(typeChecker, withJsDoc(chainNodeParser), mergedConfig.additionalProperties)))))
133
- .addNodeParser(withCircular(withExpose(withJsDoc(new TypeLiteralNodeParser_1.TypeLiteralNodeParser(withJsDoc(chainNodeParser), mergedConfig.additionalProperties)))))
130
+ .addNodeParser(withCircular(withExpose(withJsDoc(new InterfaceAndClassNodeParser_1.InterfaceAndClassNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
131
+ .addNodeParser(withCircular(withExpose(withJsDoc(new TypeLiteralNodeParser_1.TypeLiteralNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
134
132
  .addNodeParser(new ArrayNodeParser_1.ArrayNodeParser(chainNodeParser));
133
+ if (config.functions !== "fail") {
134
+ chainNodeParser
135
+ .addNodeParser(new ConstructorNodeParser_1.ConstructorNodeParser(chainNodeParser, config.functions))
136
+ .addNodeParser(new FunctionNodeParser_1.FunctionNodeParser(chainNodeParser, config.functions));
137
+ }
135
138
  return withTopRef(chainNodeParser);
136
139
  }
137
140
  exports.createParser = createParser;
@@ -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":";;;AACA,4FAAyF;AACzF,kGAA+F;AAC/F,4DAAyD;AACzD,oFAAiF;AAEjF,8DAA2D;AAG3D,+EAA4E;AAC5E,2EAAwE;AACxE,yGAAsG;AACtG,uEAAoE;AACpE,qFAAkF;AAClF,yFAAsF;AACtF,mFAAgF;AAChF,iFAA8E;AAC9E,2FAAwF;AACxF,mFAAgF;AAChF,qEAAkE;AAClE,mHAAgH;AAChH,6EAA0E;AAC1E,iFAA0E;AAC1E,+FAA4F;AAC5F,+EAA4E;AAC5E,+FAA4F;AAC5F,qFAAkF;AAClF,+EAA4E;AAC5E,2EAAwE;AACxE,iFAA8E;AAC9E,6FAA0F;AAC1F,+EAA4E;AAC5E,mFAAgF;AAChF,uFAAoF;AACpF,iFAA8E;AAC9E,2GAAwG;AACxG,iFAA8E;AAC9E,qFAAkF;AAClF,uEAAoE;AACpE,uFAAoF;AACpF,uGAAoG;AACpG,qGAAkG;AAClG,6EAA0E;AAC1E,uFAAoF;AACpF,uGAAoG;AACpG,iFAA8E;AAC9E,iFAA8E;AAC9E,uEAAoE;AACpE,+EAA4E;AAC5E,mFAAgF;AAChF,yEAAsE;AACtE,qFAAkF;AAClF,uFAAoF;AACpF,uFAAoF;AACpF,uEAAoE;AACpE,mFAAgF;AAChF,6EAA0E;AAE1E,8DAA2D;AAC3D,+EAA4E;AAI5E,SAAgB,YAAY,CAAC,OAAmB,EAAE,MAAuB,EAAE,SAA2B;IAClG,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,SAAS,UAAU,CAAC,UAAyB;QACzC,OAAO,IAAI,mCAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IACD,SAAS,UAAU,CAAC,UAAsB;QACtC,OAAO,IAAI,mCAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IACD,SAAS,SAAS,CAAC,UAAyB;QACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,yCAAmB,CAC1B,UAAU,EACV,IAAI,qDAAyB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,CACpF,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,yCAAmB,CAAC,UAAU,EAAE,IAAI,+CAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IACD,SAAS,YAAY,CAAC,UAAyB;QAC3C,OAAO,IAAI,yDAA2B,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,SAAS,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;SACV,aAAa,CAAC,IAAI,uCAAgB,CAAC,WAAW,CAAC,CAAC;SAChD,aAAa,CAAC,IAAI,2CAAoB,EAAE,CAAC;SACzC,aAAa,CAAC,IAAI,2CAAoB,EAAE,CAAC;SACzC,aAAa,CAAC,IAAI,2CAAoB,EAAE,CAAC;SACzC,aAAa,CAAC,IAAI,6CAAqB,EAAE,CAAC;SAC1C,aAAa,CAAC,IAAI,qCAAiB,EAAE,CAAC;SACtC,aAAa,CAAC,IAAI,6CAAqB,EAAE,CAAC;SAC1C,aAAa,CAAC,IAAI,uCAAkB,EAAE,CAAC;SACvC,aAAa,CAAC,IAAI,iDAAuB,EAAE,CAAC;SAC5C,aAAa,CAAC,IAAI,yCAAmB,EAAE,CAAC;SACxC,aAAa,CAAC,IAAI,2CAAoB,EAAE,CAAC;SACzC,aAAa,CAAC,IAAI,+CAAsB,CAAC,eAAe,CAAC,CAAC;SAC1D,aAAa,CAAC,IAAI,yCAAmB,CAAC,eAAe,CAAC,CAAC;SACvD,aAAa,CAAC,SAAS,CAAC,IAAI,iCAAe,CAAC,eAAe,CAAC,CAAC,CAAC;SAC9D,aAAa,CAAC,IAAI,iDAAuB,EAAE,CAAC;SAC5C,aAAa,CAAC,IAAI,iEAA+B,CAAC,eAAe,CAAC,CAAC;SACnE,aAAa,CAAC,IAAI,yCAAmB,EAAE,CAAC;SACxC,aAAa,CAAC,IAAI,iDAAuB,EAAE,CAAC;SAC5C,aAAa,CAAC,IAAI,mDAAwB,EAAE,CAAC;SAC7C,aAAa,CAAC,IAAI,6CAAqB,EAAE,CAAC;SAC1C,aAAa,CAAC,IAAI,qEAAiC,CAAC,eAAe,CAAC,CAAC;SACrE,aAAa,CAAC,IAAI,mEAAgC,CAAC,eAAe,CAAC,CAAC;SAEpE,aAAa,CAAC,IAAI,iEAA+B,CAAC,eAAe,CAAC,CAAC;SAEnE,aAAa,CAAC,IAAI,qCAAiB,CAAC,eAAe,CAAC,CAAC;SACrD,aAAa,CAAC,IAAI,iDAAuB,CAAC,eAAe,CAAC,CAAC;SAE3D,aAAa,CAAC,IAAI,iDAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACxE,aAAa,CAAC,IAAI,6EAAqC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACtF,aAAa,CAAC,IAAI,yDAA2B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAC5E,aAAa,CAAC,IAAI,yCAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACpE,aAAa,CAAC,IAAI,mCAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACjE,aAAa,CAAC,IAAI,2CAAoB,CAAC,eAAe,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACrF,aAAa,CAAC,IAAI,qDAAyB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAC1E,aAAa,CAAC,IAAI,+CAAsB,CAAC,eAAe,CAAC,CAAC;SAE1D,aAAa,CAAC,IAAI,iCAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAChE,aAAa,CAAC,IAAI,+CAAsB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACvE,aAAa,CAAC,IAAI,iCAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAChE,aAAa,CAAC,IAAI,uDAA0B,CAAC,eAAe,CAAC,CAAC;SAC9D,aAAa,CAAC,IAAI,+CAAsB,CAAC,eAAe,CAAC,CAAC;SAC1D,aAAa,CAAC,IAAI,uCAAkB,CAAC,eAAe,CAAC,CAAC;SAEtD,aAAa,CAAC,IAAI,2CAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACrE,aAAa,CAAC,IAAI,+DAA8B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SAE/E,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,yCAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SACzG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACrE,aAAa,CACV,YAAY,CACR,UAAU,CACN,SAAS,CACL,IAAI,yDAA2B,CAC3B,WAAW,EACX,SAAS,CAAC,eAAe,CAAC,EAC1B,MAAM,CAAC,oBAAoB,CAC9B,CACJ,CACJ,CACJ,CACJ;SACA,aAAa,CACV,YAAY,CACR,UAAU,CACN,SAAS,CACL,IAAI,6CAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAClG,CACJ,CACJ,CACJ;SAEA,aAAa,CAAC,IAAI,iCAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzD,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9B,eAAe;aACV,aAAa,CAAC,IAAI,6CAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3E,aAAa,CAAC,IAAI,uCAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAjHD,oCAiHC"}
@@ -1,3 +1,3 @@
1
1
  import ts from "typescript";
2
- import { Config } from "../src/Config";
3
- export declare function createProgram(config: Config): ts.Program;
2
+ import { CompletedConfig } from "../src/Config";
3
+ export declare function createProgram(config: CompletedConfig): ts.Program;
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,2CAA6B;AAC7B,4DAA4B;AAC5B,oEAAuC;AAGvC,kEAA+D;AAC/D,wDAAqD;AACrD,oEAAiE;AACjE,kEAA+D;AAE/D,SAAS,gBAAgB,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,GAAG,EAAE;QACL,MAAM,MAAM,GAAG,oBAAE,CAAC,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,iCAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7C;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACvB,MAAM,IAAI,uBAAU,CAAC,+BAA+B,UAAU,GAAG,CAAC,CAAC;SACtE;QAED,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;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;KACtB;SAAM;QACH,MAAM,IAAI,iCAAe,EAAE,CAAC;KAC/B;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE;QACjB,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC5C;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,MAAc;IACxC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,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;QACnB,MAAM,IAAI,mCAAgB,EAAE,CAAC;KAChC;IAED,MAAM,OAAO,GAAe,oBAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE1E,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QACvB,MAAM,WAAW,GAAG,oBAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,iCAAe,CAAC,WAAW,CAAC,CAAC;SAC1C;KACJ;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAnBD,sCAmBC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export * from "./src/Type/BooleanType";
44
44
  export * from "./src/Type/DefinitionType";
45
45
  export * from "./src/Type/EnumType";
46
46
  export * from "./src/Type/FunctionType";
47
+ export * from "./src/Type/HiddenType";
47
48
  export * from "./src/Type/IntersectionType";
48
49
  export * from "./src/Type/LiteralType";
49
50
  export * from "./src/Type/NeverType";
@@ -75,6 +76,7 @@ export * from "./src/TypeFormatter/ArrayTypeFormatter";
75
76
  export * from "./src/TypeFormatter/BooleanTypeFormatter";
76
77
  export * from "./src/TypeFormatter/DefinitionTypeFormatter";
77
78
  export * from "./src/TypeFormatter/EnumTypeFormatter";
79
+ export * from "./src/TypeFormatter/HiddenTypeFormatter";
78
80
  export * from "./src/TypeFormatter/IntersectionTypeFormatter";
79
81
  export * from "./src/TypeFormatter/LiteralTypeFormatter";
80
82
  export * from "./src/TypeFormatter/LiteralUnionTypeFormatter";
@@ -93,6 +95,7 @@ export * from "./src/TypeFormatter/UndefinedTypeFormatter";
93
95
  export * from "./src/TypeFormatter/UnionTypeFormatter";
94
96
  export * from "./src/TypeFormatter/UnknownTypeFormatter";
95
97
  export * from "./src/TypeFormatter/VoidTypeFormatter";
98
+ export * from "./src/TypeFormatter/FunctionTypeFormatter";
96
99
  export * from "./src/NodeParser";
97
100
  export * from "./src/SubNodeParser";
98
101
  export * from "./src/ChainNodeParser";
@@ -111,7 +114,7 @@ export * from "./src/NodeParser/ConditionalTypeNodeParser";
111
114
  export * from "./src/NodeParser/EnumNodeParser";
112
115
  export * from "./src/NodeParser/ExpressionWithTypeArgumentsNodeParser";
113
116
  export * from "./src/NodeParser/FunctionNodeParser";
114
- export * from "./src/NodeParser/FunctionParser";
117
+ export * from "./src/NodeParser/ConstructorNodeParser";
115
118
  export * from "./src/NodeParser/HiddenTypeNodeParser";
116
119
  export * from "./src/NodeParser/IndexedAccessTypeNodeParser";
117
120
  export * from "./src/NodeParser/InterfaceAndClassNodeParser";
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ __exportStar(require("./src/Type/BooleanType"), exports);
64
64
  __exportStar(require("./src/Type/DefinitionType"), exports);
65
65
  __exportStar(require("./src/Type/EnumType"), exports);
66
66
  __exportStar(require("./src/Type/FunctionType"), exports);
67
+ __exportStar(require("./src/Type/HiddenType"), exports);
67
68
  __exportStar(require("./src/Type/IntersectionType"), exports);
68
69
  __exportStar(require("./src/Type/LiteralType"), exports);
69
70
  __exportStar(require("./src/Type/NeverType"), exports);
@@ -95,6 +96,7 @@ __exportStar(require("./src/TypeFormatter/ArrayTypeFormatter"), exports);
95
96
  __exportStar(require("./src/TypeFormatter/BooleanTypeFormatter"), exports);
96
97
  __exportStar(require("./src/TypeFormatter/DefinitionTypeFormatter"), exports);
97
98
  __exportStar(require("./src/TypeFormatter/EnumTypeFormatter"), exports);
99
+ __exportStar(require("./src/TypeFormatter/HiddenTypeFormatter"), exports);
98
100
  __exportStar(require("./src/TypeFormatter/IntersectionTypeFormatter"), exports);
99
101
  __exportStar(require("./src/TypeFormatter/LiteralTypeFormatter"), exports);
100
102
  __exportStar(require("./src/TypeFormatter/LiteralUnionTypeFormatter"), exports);
@@ -113,6 +115,7 @@ __exportStar(require("./src/TypeFormatter/UndefinedTypeFormatter"), exports);
113
115
  __exportStar(require("./src/TypeFormatter/UnionTypeFormatter"), exports);
114
116
  __exportStar(require("./src/TypeFormatter/UnknownTypeFormatter"), exports);
115
117
  __exportStar(require("./src/TypeFormatter/VoidTypeFormatter"), exports);
118
+ __exportStar(require("./src/TypeFormatter/FunctionTypeFormatter"), exports);
116
119
  __exportStar(require("./src/NodeParser"), exports);
117
120
  __exportStar(require("./src/SubNodeParser"), exports);
118
121
  __exportStar(require("./src/ChainNodeParser"), exports);
@@ -131,7 +134,7 @@ __exportStar(require("./src/NodeParser/ConditionalTypeNodeParser"), exports);
131
134
  __exportStar(require("./src/NodeParser/EnumNodeParser"), exports);
132
135
  __exportStar(require("./src/NodeParser/ExpressionWithTypeArgumentsNodeParser"), exports);
133
136
  __exportStar(require("./src/NodeParser/FunctionNodeParser"), exports);
134
- __exportStar(require("./src/NodeParser/FunctionParser"), exports);
137
+ __exportStar(require("./src/NodeParser/ConstructorNodeParser"), exports);
135
138
  __exportStar(require("./src/NodeParser/HiddenTypeNodeParser"), exports);
136
139
  __exportStar(require("./src/NodeParser/IndexedAccessTypeNodeParser"), exports);
137
140
  __exportStar(require("./src/NodeParser/InterfaceAndClassNodeParser"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.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.0.0-next.0",
3
+ "version": "2.0.0",
4
4
  "description": "Generate JSON schema from your Typescript sources",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -44,40 +44,40 @@
44
44
  "node": ">=10.0.0"
45
45
  },
46
46
  "dependencies": {
47
- "@types/json-schema": "^7.0.11",
48
- "commander": "^9.4.0",
47
+ "@types/json-schema": "^7.0.15",
48
+ "commander": "^12.0.0",
49
49
  "glob": "^8.0.3",
50
- "json5": "^2.2.1",
50
+ "json5": "^2.2.3",
51
51
  "normalize-path": "^3.0.0",
52
- "safe-stable-stringify": "^2.4.0",
53
- "typescript": "~4.8.3"
52
+ "safe-stable-stringify": "^2.4.3",
53
+ "typescript": "~5.4.5"
54
54
  },
55
55
  "devDependencies": {
56
- "@auto-it/conventional-commits": "^10.37.6",
57
- "@auto-it/first-time-contributor": "^10.37.6",
58
- "@babel/core": "^7.19.1",
59
- "@babel/preset-env": "^7.19.1",
60
- "@babel/preset-typescript": "^7.18.6",
61
- "@types/glob": "^8.0.0",
62
- "@types/jest": "^29.0.3",
63
- "@types/node": "^18.7.18",
64
- "@types/normalize-path": "^3.0.0",
65
- "@typescript-eslint/eslint-plugin": "^5.38.0",
66
- "@typescript-eslint/parser": "^5.38.0",
67
- "ajv": "^8.11.0",
68
- "ajv-formats": "^2.1.1",
69
- "auto": "^10.37.6",
70
- "chai": "^4.3.6",
56
+ "@auto-it/conventional-commits": "^11.1.6",
57
+ "@auto-it/first-time-contributor": "^11.1.6",
58
+ "@babel/core": "^7.24.4",
59
+ "@babel/preset-env": "^7.24.4",
60
+ "@babel/preset-typescript": "^7.24.1",
61
+ "@types/glob": "^8.1.0",
62
+ "@types/jest": "^29.5.12",
63
+ "@types/node": "^20.12.7",
64
+ "@types/normalize-path": "^3.0.2",
65
+ "@typescript-eslint/eslint-plugin": "^7.6.0",
66
+ "@typescript-eslint/parser": "^7.6.0",
67
+ "ajv": "^8.12.0",
68
+ "ajv-formats": "^3.0.1",
69
+ "auto": "^11.1.6",
70
+ "chai": "^5.1.0",
71
71
  "cross-env": "^7.0.3",
72
- "eslint": "^8.23.1",
73
- "eslint-config-prettier": "^8.5.0",
74
- "eslint-plugin-prettier": "^4.2.1",
75
- "jest": "^29.0.3",
76
- "jest-junit": "^14.0.1",
77
- "prettier": "^2.7.1",
78
- "ts-node": "^10.9.1",
79
- "vega": "^5.22.1",
80
- "vega-lite": "^5.5.0"
72
+ "eslint": "^8.55.0",
73
+ "eslint-config-prettier": "^9.1.0",
74
+ "eslint-plugin-prettier": "^5.1.3",
75
+ "jest": "^29.7.0",
76
+ "jest-junit": "^16.0.0",
77
+ "prettier": "^3.2.5",
78
+ "ts-node": "^10.9.2",
79
+ "vega": "^5.28.0",
80
+ "vega-lite": "^5.18.0"
81
81
  },
82
82
  "scripts": {
83
83
  "prepublishOnly": "yarn build",
@@ -92,5 +92,6 @@
92
92
  "debug": "node -r ts-node/register --inspect-brk ts-json-schema-generator.ts",
93
93
  "run": "ts-node-transpile-only ts-json-schema-generator.ts",
94
94
  "release": "yarn build && auto shipit"
95
- }
95
+ },
96
+ "packageManager": "yarn@1.22.19"
96
97
  }
@@ -94,6 +94,7 @@ BasicAnnotationsReader.jsonTags = new Set([
94
94
  "const",
95
95
  "examples",
96
96
  "default",
97
+ "required",
97
98
  "if",
98
99
  "then",
99
100
  "else",