@radio-garden/ts-json-schema-generator 2.0.0-0.29fba426

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 (690) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +259 -0
  3. package/bin/ts-json-schema-generator.js +4 -0
  4. package/dist/factory/formatter.d.ts +6 -0
  5. package/dist/factory/formatter.js +71 -0
  6. package/dist/factory/formatter.js.map +1 -0
  7. package/dist/factory/generator.d.ts +3 -0
  8. package/dist/factory/generator.js +16 -0
  9. package/dist/factory/generator.js.map +1 -0
  10. package/dist/factory/index.d.ts +4 -0
  11. package/dist/factory/index.js +8 -0
  12. package/dist/factory/index.js.map +1 -0
  13. package/dist/factory/parser.d.ts +6 -0
  14. package/dist/factory/parser.js +154 -0
  15. package/dist/factory/parser.js.map +1 -0
  16. package/dist/factory/program.d.ts +3 -0
  17. package/dist/factory/program.js +79 -0
  18. package/dist/factory/program.js.map +1 -0
  19. package/dist/index.d.ts +147 -0
  20. package/dist/index.js +152 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/package.json +102 -0
  23. package/dist/src/AnnotationsReader/BasicAnnotationsReader.d.ts +13 -0
  24. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +109 -0
  25. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -0
  26. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +18 -0
  27. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +114 -0
  28. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -0
  29. package/dist/src/AnnotationsReader.d.ts +5 -0
  30. package/dist/src/AnnotationsReader.js +3 -0
  31. package/dist/src/AnnotationsReader.js.map +1 -0
  32. package/dist/src/ChainNodeParser.d.ts +16 -0
  33. package/dist/src/ChainNodeParser.js +55 -0
  34. package/dist/src/ChainNodeParser.js.map +1 -0
  35. package/dist/src/ChainTypeFormatter.d.ts +13 -0
  36. package/dist/src/ChainTypeFormatter.js +33 -0
  37. package/dist/src/ChainTypeFormatter.js.map +1 -0
  38. package/dist/src/CircularReferenceNodeParser.d.ts +11 -0
  39. package/dist/src/CircularReferenceNodeParser.js +31 -0
  40. package/dist/src/CircularReferenceNodeParser.js.map +1 -0
  41. package/dist/src/CircularReferenceTypeFormatter.d.ts +12 -0
  42. package/dist/src/CircularReferenceTypeFormatter.js +35 -0
  43. package/dist/src/CircularReferenceTypeFormatter.js.map +1 -0
  44. package/dist/src/Config.d.ts +124 -0
  45. package/dist/src/Config.js +20 -0
  46. package/dist/src/Config.js.map +1 -0
  47. package/dist/src/Error/BaseError.d.ts +19 -0
  48. package/dist/src/Error/BaseError.js +44 -0
  49. package/dist/src/Error/BaseError.js.map +1 -0
  50. package/dist/src/Error/Errors.d.ts +49 -0
  51. package/dist/src/Error/Errors.js +127 -0
  52. package/dist/src/Error/Errors.js.map +1 -0
  53. package/dist/src/ExposeNodeParser.d.ts +16 -0
  54. package/dist/src/ExposeNodeParser.js +51 -0
  55. package/dist/src/ExposeNodeParser.js.map +1 -0
  56. package/dist/src/Interfaces/AnnotationsReader.d.ts +5 -0
  57. package/dist/src/Interfaces/AnnotationsReader.js +3 -0
  58. package/dist/src/Interfaces/AnnotationsReader.js.map +1 -0
  59. package/dist/src/Interfaces/MutableParser.d.ts +4 -0
  60. package/dist/src/Interfaces/MutableParser.js +3 -0
  61. package/dist/src/Interfaces/MutableParser.js.map +1 -0
  62. package/dist/src/Interfaces/MutableTypeFormatter.d.ts +4 -0
  63. package/dist/src/Interfaces/MutableTypeFormatter.js +3 -0
  64. package/dist/src/Interfaces/MutableTypeFormatter.js.map +1 -0
  65. package/dist/src/Interfaces/SubNodeParser.d.ts +5 -0
  66. package/dist/src/Interfaces/SubNodeParser.js +3 -0
  67. package/dist/src/Interfaces/SubNodeParser.js.map +1 -0
  68. package/dist/src/Interfaces/SubTypeFormatter.d.ts +5 -0
  69. package/dist/src/Interfaces/SubTypeFormatter.js +3 -0
  70. package/dist/src/Interfaces/SubTypeFormatter.js.map +1 -0
  71. package/dist/src/Interfaces/TypeFormatter.d.ts +6 -0
  72. package/dist/src/Interfaces/TypeFormatter.js +3 -0
  73. package/dist/src/Interfaces/TypeFormatter.js.map +1 -0
  74. package/dist/src/MutableParser.d.ts +4 -0
  75. package/dist/src/MutableParser.js +3 -0
  76. package/dist/src/MutableParser.js.map +1 -0
  77. package/dist/src/MutableTypeFormatter.d.ts +4 -0
  78. package/dist/src/MutableTypeFormatter.js +3 -0
  79. package/dist/src/MutableTypeFormatter.js.map +1 -0
  80. package/dist/src/NodeParser/AnnotatedNodeParser.d.ts +15 -0
  81. package/dist/src/NodeParser/AnnotatedNodeParser.js +84 -0
  82. package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -0
  83. package/dist/src/NodeParser/AnyTypeNodeParser.d.ts +8 -0
  84. package/dist/src/NodeParser/AnyTypeNodeParser.js +16 -0
  85. package/dist/src/NodeParser/AnyTypeNodeParser.js.map +1 -0
  86. package/dist/src/NodeParser/ArrayLiteralExpressionNodeParser.d.ts +10 -0
  87. package/dist/src/NodeParser/ArrayLiteralExpressionNodeParser.js +21 -0
  88. package/dist/src/NodeParser/ArrayLiteralExpressionNodeParser.js.map +1 -0
  89. package/dist/src/NodeParser/ArrayNodeParser.d.ts +10 -0
  90. package/dist/src/NodeParser/ArrayNodeParser.js +23 -0
  91. package/dist/src/NodeParser/ArrayNodeParser.js.map +1 -0
  92. package/dist/src/NodeParser/AsExpressionNodeParser.d.ts +11 -0
  93. package/dist/src/NodeParser/AsExpressionNodeParser.js +20 -0
  94. package/dist/src/NodeParser/AsExpressionNodeParser.js.map +1 -0
  95. package/dist/src/NodeParser/BinaryExpressionNodeParser.d.ts +13 -0
  96. package/dist/src/NodeParser/BinaryExpressionNodeParser.js +84 -0
  97. package/dist/src/NodeParser/BinaryExpressionNodeParser.js.map +1 -0
  98. package/dist/src/NodeParser/BooleanLiteralNodeParser.d.ts +8 -0
  99. package/dist/src/NodeParser/BooleanLiteralNodeParser.js +16 -0
  100. package/dist/src/NodeParser/BooleanLiteralNodeParser.js.map +1 -0
  101. package/dist/src/NodeParser/BooleanTypeNodeParser.d.ts +8 -0
  102. package/dist/src/NodeParser/BooleanTypeNodeParser.js +16 -0
  103. package/dist/src/NodeParser/BooleanTypeNodeParser.js.map +1 -0
  104. package/dist/src/NodeParser/CallExpressionParser.d.ts +13 -0
  105. package/dist/src/NodeParser/CallExpressionParser.js +57 -0
  106. package/dist/src/NodeParser/CallExpressionParser.js.map +1 -0
  107. package/dist/src/NodeParser/ConditionalTypeNodeParser.d.ts +36 -0
  108. package/dist/src/NodeParser/ConditionalTypeNodeParser.js +108 -0
  109. package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -0
  110. package/dist/src/NodeParser/ConstructorNodeParser.d.ts +12 -0
  111. package/dist/src/NodeParser/ConstructorNodeParser.js +30 -0
  112. package/dist/src/NodeParser/ConstructorNodeParser.js.map +1 -0
  113. package/dist/src/NodeParser/EnumNodeParser.d.ts +13 -0
  114. package/dist/src/NodeParser/EnumNodeParser.js +67 -0
  115. package/dist/src/NodeParser/EnumNodeParser.js.map +1 -0
  116. package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.d.ts +13 -0
  117. package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js +42 -0
  118. package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js.map +1 -0
  119. package/dist/src/NodeParser/FunctionNodeParser.d.ts +16 -0
  120. package/dist/src/NodeParser/FunctionNodeParser.js +72 -0
  121. package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -0
  122. package/dist/src/NodeParser/HiddenTypeNodeParser.d.ts +10 -0
  123. package/dist/src/NodeParser/HiddenTypeNodeParser.js +19 -0
  124. package/dist/src/NodeParser/HiddenTypeNodeParser.js.map +1 -0
  125. package/dist/src/NodeParser/IdentifierNodeParser.d.ts +14 -0
  126. package/dist/src/NodeParser/IdentifierNodeParser.js +36 -0
  127. package/dist/src/NodeParser/IdentifierNodeParser.js.map +1 -0
  128. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.d.ts +12 -0
  129. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +78 -0
  130. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -0
  131. package/dist/src/NodeParser/InferTypeNodeParser.d.ts +11 -0
  132. package/dist/src/NodeParser/InferTypeNodeParser.js +22 -0
  133. package/dist/src/NodeParser/InferTypeNodeParser.js.map +1 -0
  134. package/dist/src/NodeParser/InterfaceAndClassNodeParser.d.ts +28 -0
  135. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +148 -0
  136. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -0
  137. package/dist/src/NodeParser/IntersectionNodeParser.d.ts +16 -0
  138. package/dist/src/NodeParser/IntersectionNodeParser.js +112 -0
  139. package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -0
  140. package/dist/src/NodeParser/IntrinsicNodeParser.d.ts +9 -0
  141. package/dist/src/NodeParser/IntrinsicNodeParser.js +43 -0
  142. package/dist/src/NodeParser/IntrinsicNodeParser.js.map +1 -0
  143. package/dist/src/NodeParser/LiteralNodeParser.d.ts +10 -0
  144. package/dist/src/NodeParser/LiteralNodeParser.js +19 -0
  145. package/dist/src/NodeParser/LiteralNodeParser.js.map +1 -0
  146. package/dist/src/NodeParser/MappedTypeNodeParser.d.ts +31 -0
  147. package/dist/src/NodeParser/MappedTypeNodeParser.js +158 -0
  148. package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -0
  149. package/dist/src/NodeParser/NamedTupleMemberNodeParser.d.ts +11 -0
  150. package/dist/src/NodeParser/NamedTupleMemberNodeParser.js +26 -0
  151. package/dist/src/NodeParser/NamedTupleMemberNodeParser.js.map +1 -0
  152. package/dist/src/NodeParser/NeverTypeNodeParser.d.ts +8 -0
  153. package/dist/src/NodeParser/NeverTypeNodeParser.js +16 -0
  154. package/dist/src/NodeParser/NeverTypeNodeParser.js.map +1 -0
  155. package/dist/src/NodeParser/NewExpressionParser.d.ts +13 -0
  156. package/dist/src/NodeParser/NewExpressionParser.js +41 -0
  157. package/dist/src/NodeParser/NewExpressionParser.js.map +1 -0
  158. package/dist/src/NodeParser/NullLiteralNodeParser.d.ts +8 -0
  159. package/dist/src/NodeParser/NullLiteralNodeParser.js +16 -0
  160. package/dist/src/NodeParser/NullLiteralNodeParser.js.map +1 -0
  161. package/dist/src/NodeParser/NumberLiteralNodeParser.d.ts +8 -0
  162. package/dist/src/NodeParser/NumberLiteralNodeParser.js +16 -0
  163. package/dist/src/NodeParser/NumberLiteralNodeParser.js.map +1 -0
  164. package/dist/src/NodeParser/NumberTypeNodeParser.d.ts +8 -0
  165. package/dist/src/NodeParser/NumberTypeNodeParser.js +16 -0
  166. package/dist/src/NodeParser/NumberTypeNodeParser.js.map +1 -0
  167. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.d.ts +13 -0
  168. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js +73 -0
  169. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js.map +1 -0
  170. package/dist/src/NodeParser/ObjectTypeNodeParser.d.ts +8 -0
  171. package/dist/src/NodeParser/ObjectTypeNodeParser.js +17 -0
  172. package/dist/src/NodeParser/ObjectTypeNodeParser.js.map +1 -0
  173. package/dist/src/NodeParser/OptionalTypeNodeParser.d.ts +10 -0
  174. package/dist/src/NodeParser/OptionalTypeNodeParser.js +21 -0
  175. package/dist/src/NodeParser/OptionalTypeNodeParser.js.map +1 -0
  176. package/dist/src/NodeParser/ParameterParser.d.ts +11 -0
  177. package/dist/src/NodeParser/ParameterParser.js +19 -0
  178. package/dist/src/NodeParser/ParameterParser.js.map +1 -0
  179. package/dist/src/NodeParser/ParenthesizedNodeParser.d.ts +10 -0
  180. package/dist/src/NodeParser/ParenthesizedNodeParser.js +19 -0
  181. package/dist/src/NodeParser/ParenthesizedNodeParser.js.map +1 -0
  182. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.d.ts +10 -0
  183. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js +36 -0
  184. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -0
  185. package/dist/src/NodeParser/PromiseNodeParser.d.ts +15 -0
  186. package/dist/src/NodeParser/PromiseNodeParser.js +79 -0
  187. package/dist/src/NodeParser/PromiseNodeParser.js.map +1 -0
  188. package/dist/src/NodeParser/PropertyAccessExpressionParser.d.ts +11 -0
  189. package/dist/src/NodeParser/PropertyAccessExpressionParser.js +22 -0
  190. package/dist/src/NodeParser/PropertyAccessExpressionParser.js.map +1 -0
  191. package/dist/src/NodeParser/RestTypeNodeParser.d.ts +10 -0
  192. package/dist/src/NodeParser/RestTypeNodeParser.js +20 -0
  193. package/dist/src/NodeParser/RestTypeNodeParser.js.map +1 -0
  194. package/dist/src/NodeParser/SatisfiesNodeParser.d.ts +10 -0
  195. package/dist/src/NodeParser/SatisfiesNodeParser.js +19 -0
  196. package/dist/src/NodeParser/SatisfiesNodeParser.js.map +1 -0
  197. package/dist/src/NodeParser/SpreadElementNodeParser.d.ts +14 -0
  198. package/dist/src/NodeParser/SpreadElementNodeParser.js +25 -0
  199. package/dist/src/NodeParser/SpreadElementNodeParser.js.map +1 -0
  200. package/dist/src/NodeParser/StringLiteralNodeParser.d.ts +8 -0
  201. package/dist/src/NodeParser/StringLiteralNodeParser.js +16 -0
  202. package/dist/src/NodeParser/StringLiteralNodeParser.js.map +1 -0
  203. package/dist/src/NodeParser/StringTemplateLiteralNodeParser.d.ts +10 -0
  204. package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js +55 -0
  205. package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js.map +1 -0
  206. package/dist/src/NodeParser/StringTypeNodeParser.d.ts +8 -0
  207. package/dist/src/NodeParser/StringTypeNodeParser.js +16 -0
  208. package/dist/src/NodeParser/StringTypeNodeParser.js.map +1 -0
  209. package/dist/src/NodeParser/SymbolTypeNodeParser.d.ts +8 -0
  210. package/dist/src/NodeParser/SymbolTypeNodeParser.js +16 -0
  211. package/dist/src/NodeParser/SymbolTypeNodeParser.js.map +1 -0
  212. package/dist/src/NodeParser/TupleNodeParser.d.ts +11 -0
  213. package/dist/src/NodeParser/TupleNodeParser.js +24 -0
  214. package/dist/src/NodeParser/TupleNodeParser.js.map +1 -0
  215. package/dist/src/NodeParser/TypeAliasNodeParser.d.ts +14 -0
  216. package/dist/src/NodeParser/TypeAliasNodeParser.js +52 -0
  217. package/dist/src/NodeParser/TypeAliasNodeParser.js.map +1 -0
  218. package/dist/src/NodeParser/TypeLiteralNodeParser.d.ts +18 -0
  219. package/dist/src/NodeParser/TypeLiteralNodeParser.js +83 -0
  220. package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -0
  221. package/dist/src/NodeParser/TypeOperatorNodeParser.d.ts +10 -0
  222. package/dist/src/NodeParser/TypeOperatorNodeParser.js +43 -0
  223. package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -0
  224. package/dist/src/NodeParser/TypeReferenceNodeParser.d.ts +12 -0
  225. package/dist/src/NodeParser/TypeReferenceNodeParser.js +79 -0
  226. package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -0
  227. package/dist/src/NodeParser/TypeofNodeParser.d.ts +14 -0
  228. package/dist/src/NodeParser/TypeofNodeParser.js +88 -0
  229. package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -0
  230. package/dist/src/NodeParser/UndefinedLiteralNodeParser.d.ts +8 -0
  231. package/dist/src/NodeParser/UndefinedLiteralNodeParser.js +16 -0
  232. package/dist/src/NodeParser/UndefinedLiteralNodeParser.js.map +1 -0
  233. package/dist/src/NodeParser/UndefinedTypeNodeParser.d.ts +8 -0
  234. package/dist/src/NodeParser/UndefinedTypeNodeParser.js +16 -0
  235. package/dist/src/NodeParser/UndefinedTypeNodeParser.js.map +1 -0
  236. package/dist/src/NodeParser/UnionNodeParser.d.ts +11 -0
  237. package/dist/src/NodeParser/UnionNodeParser.js +35 -0
  238. package/dist/src/NodeParser/UnionNodeParser.js.map +1 -0
  239. package/dist/src/NodeParser/UnknownTypeNodeParser.d.ts +7 -0
  240. package/dist/src/NodeParser/UnknownTypeNodeParser.js +16 -0
  241. package/dist/src/NodeParser/UnknownTypeNodeParser.js.map +1 -0
  242. package/dist/src/NodeParser/VoidTypeNodeParser.d.ts +8 -0
  243. package/dist/src/NodeParser/VoidTypeNodeParser.js +16 -0
  244. package/dist/src/NodeParser/VoidTypeNodeParser.js.map +1 -0
  245. package/dist/src/NodeParser.d.ts +22 -0
  246. package/dist/src/NodeParser.js +53 -0
  247. package/dist/src/NodeParser.js.map +1 -0
  248. package/dist/src/Schema/Definition.d.ts +2 -0
  249. package/dist/src/Schema/Definition.js +3 -0
  250. package/dist/src/Schema/Definition.js.map +1 -0
  251. package/dist/src/Schema/RawType.d.ts +3 -0
  252. package/dist/src/Schema/RawType.js +3 -0
  253. package/dist/src/Schema/RawType.js.map +1 -0
  254. package/dist/src/Schema/Schema.d.ts +2 -0
  255. package/dist/src/Schema/Schema.js +3 -0
  256. package/dist/src/Schema/Schema.js.map +1 -0
  257. package/dist/src/SchemaGenerator.d.ts +30 -0
  258. package/dist/src/SchemaGenerator.js +253 -0
  259. package/dist/src/SchemaGenerator.js.map +1 -0
  260. package/dist/src/SubNodeParser.d.ts +5 -0
  261. package/dist/src/SubNodeParser.js +3 -0
  262. package/dist/src/SubNodeParser.js.map +1 -0
  263. package/dist/src/SubTypeFormatter.d.ts +5 -0
  264. package/dist/src/SubTypeFormatter.js +3 -0
  265. package/dist/src/SubTypeFormatter.js.map +1 -0
  266. package/dist/src/TopRefNodeParser.d.ts +10 -0
  267. package/dist/src/TopRefNodeParser.js +28 -0
  268. package/dist/src/TopRefNodeParser.js.map +1 -0
  269. package/dist/src/Type/AliasType.d.ts +8 -0
  270. package/dist/src/Type/AliasType.js +21 -0
  271. package/dist/src/Type/AliasType.js.map +1 -0
  272. package/dist/src/Type/AnnotatedType.d.ts +12 -0
  273. package/dist/src/Type/AnnotatedType.js +30 -0
  274. package/dist/src/Type/AnnotatedType.js.map +1 -0
  275. package/dist/src/Type/AnyType.d.ts +4 -0
  276. package/dist/src/Type/AnyType.js +11 -0
  277. package/dist/src/Type/AnyType.js.map +1 -0
  278. package/dist/src/Type/ArrayType.d.ts +7 -0
  279. package/dist/src/Type/ArrayType.js +19 -0
  280. package/dist/src/Type/ArrayType.js.map +1 -0
  281. package/dist/src/Type/BaseType.d.ts +7 -0
  282. package/dist/src/Type/BaseType.js +13 -0
  283. package/dist/src/Type/BaseType.js.map +1 -0
  284. package/dist/src/Type/BooleanType.d.ts +4 -0
  285. package/dist/src/Type/BooleanType.js +11 -0
  286. package/dist/src/Type/BooleanType.js.map +1 -0
  287. package/dist/src/Type/ConstructorType.d.ts +11 -0
  288. package/dist/src/Type/ConstructorType.js +28 -0
  289. package/dist/src/Type/ConstructorType.js.map +1 -0
  290. package/dist/src/Type/DefinitionType.d.ts +9 -0
  291. package/dist/src/Type/DefinitionType.js +24 -0
  292. package/dist/src/Type/DefinitionType.js.map +1 -0
  293. package/dist/src/Type/EnumType.d.ts +11 -0
  294. package/dist/src/Type/EnumType.js +28 -0
  295. package/dist/src/Type/EnumType.js.map +1 -0
  296. package/dist/src/Type/FunctionType.d.ts +13 -0
  297. package/dist/src/Type/FunctionType.js +31 -0
  298. package/dist/src/Type/FunctionType.js.map +1 -0
  299. package/dist/src/Type/HiddenType.d.ts +4 -0
  300. package/dist/src/Type/HiddenType.js +11 -0
  301. package/dist/src/Type/HiddenType.js.map +1 -0
  302. package/dist/src/Type/InferType.d.ts +6 -0
  303. package/dist/src/Type/InferType.js +16 -0
  304. package/dist/src/Type/InferType.js.map +1 -0
  305. package/dist/src/Type/IntersectionType.d.ts +7 -0
  306. package/dist/src/Type/IntersectionType.js +19 -0
  307. package/dist/src/Type/IntersectionType.js.map +1 -0
  308. package/dist/src/Type/LiteralType.d.ts +9 -0
  309. package/dist/src/Type/LiteralType.js +22 -0
  310. package/dist/src/Type/LiteralType.js.map +1 -0
  311. package/dist/src/Type/NeverType.d.ts +4 -0
  312. package/dist/src/Type/NeverType.js +11 -0
  313. package/dist/src/Type/NeverType.js.map +1 -0
  314. package/dist/src/Type/NullType.d.ts +4 -0
  315. package/dist/src/Type/NullType.js +11 -0
  316. package/dist/src/Type/NullType.js.map +1 -0
  317. package/dist/src/Type/NumberType.d.ts +4 -0
  318. package/dist/src/Type/NumberType.js +11 -0
  319. package/dist/src/Type/NumberType.js.map +1 -0
  320. package/dist/src/Type/ObjectType.d.ts +23 -0
  321. package/dist/src/Type/ObjectType.js +59 -0
  322. package/dist/src/Type/ObjectType.js.map +1 -0
  323. package/dist/src/Type/OptionalType.d.ts +7 -0
  324. package/dist/src/Type/OptionalType.js +19 -0
  325. package/dist/src/Type/OptionalType.js.map +1 -0
  326. package/dist/src/Type/PrimitiveType.d.ts +3 -0
  327. package/dist/src/Type/PrimitiveType.js +8 -0
  328. package/dist/src/Type/PrimitiveType.js.map +1 -0
  329. package/dist/src/Type/ReferenceType.d.ts +13 -0
  330. package/dist/src/Type/ReferenceType.js +44 -0
  331. package/dist/src/Type/ReferenceType.js.map +1 -0
  332. package/dist/src/Type/RestType.d.ts +12 -0
  333. package/dist/src/Type/RestType.js +24 -0
  334. package/dist/src/Type/RestType.js.map +1 -0
  335. package/dist/src/Type/StringType.d.ts +7 -0
  336. package/dist/src/Type/StringType.js +19 -0
  337. package/dist/src/Type/StringType.js.map +1 -0
  338. package/dist/src/Type/SymbolType.d.ts +4 -0
  339. package/dist/src/Type/SymbolType.js +11 -0
  340. package/dist/src/Type/SymbolType.js.map +1 -0
  341. package/dist/src/Type/TupleType.d.ts +7 -0
  342. package/dist/src/Type/TupleType.js +37 -0
  343. package/dist/src/Type/TupleType.js.map +1 -0
  344. package/dist/src/Type/UndefinedType.d.ts +4 -0
  345. package/dist/src/Type/UndefinedType.js +11 -0
  346. package/dist/src/Type/UndefinedType.js.map +1 -0
  347. package/dist/src/Type/UnionType.d.ts +16 -0
  348. package/dist/src/Type/UnionType.js +71 -0
  349. package/dist/src/Type/UnionType.js.map +1 -0
  350. package/dist/src/Type/UnknownType.d.ts +17 -0
  351. package/dist/src/Type/UnknownType.js +27 -0
  352. package/dist/src/Type/UnknownType.js.map +1 -0
  353. package/dist/src/Type/VoidType.d.ts +4 -0
  354. package/dist/src/Type/VoidType.js +11 -0
  355. package/dist/src/Type/VoidType.js.map +1 -0
  356. package/dist/src/TypeFormatter/AliasTypeFormatter.d.ts +12 -0
  357. package/dist/src/TypeFormatter/AliasTypeFormatter.js +21 -0
  358. package/dist/src/TypeFormatter/AliasTypeFormatter.js.map +1 -0
  359. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.d.ts +13 -0
  360. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js +84 -0
  361. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -0
  362. package/dist/src/TypeFormatter/AnyTypeFormatter.d.ts +9 -0
  363. package/dist/src/TypeFormatter/AnyTypeFormatter.js +17 -0
  364. package/dist/src/TypeFormatter/AnyTypeFormatter.js.map +1 -0
  365. package/dist/src/TypeFormatter/ArrayTypeFormatter.d.ts +12 -0
  366. package/dist/src/TypeFormatter/ArrayTypeFormatter.js +24 -0
  367. package/dist/src/TypeFormatter/ArrayTypeFormatter.js.map +1 -0
  368. package/dist/src/TypeFormatter/BooleanTypeFormatter.d.ts +9 -0
  369. package/dist/src/TypeFormatter/BooleanTypeFormatter.js +17 -0
  370. package/dist/src/TypeFormatter/BooleanTypeFormatter.js.map +1 -0
  371. package/dist/src/TypeFormatter/ConstructorTypeFormatter.d.ts +5 -0
  372. package/dist/src/TypeFormatter/ConstructorTypeFormatter.js +12 -0
  373. package/dist/src/TypeFormatter/ConstructorTypeFormatter.js.map +1 -0
  374. package/dist/src/TypeFormatter/DefinitionTypeFormatter.d.ts +13 -0
  375. package/dist/src/TypeFormatter/DefinitionTypeFormatter.js +25 -0
  376. package/dist/src/TypeFormatter/DefinitionTypeFormatter.js.map +1 -0
  377. package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +14 -0
  378. package/dist/src/TypeFormatter/EnumTypeFormatter.js +35 -0
  379. package/dist/src/TypeFormatter/EnumTypeFormatter.js.map +1 -0
  380. package/dist/src/TypeFormatter/FunctionTypeFormatter.d.ts +14 -0
  381. package/dist/src/TypeFormatter/FunctionTypeFormatter.js +36 -0
  382. package/dist/src/TypeFormatter/FunctionTypeFormatter.js.map +1 -0
  383. package/dist/src/TypeFormatter/HiddenTypeFormatter.d.ts +9 -0
  384. package/dist/src/TypeFormatter/HiddenTypeFormatter.js +17 -0
  385. package/dist/src/TypeFormatter/HiddenTypeFormatter.js.map +1 -0
  386. package/dist/src/TypeFormatter/IntersectionTypeFormatter.d.ts +12 -0
  387. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js +46 -0
  388. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -0
  389. package/dist/src/TypeFormatter/LiteralTypeFormatter.d.ts +9 -0
  390. package/dist/src/TypeFormatter/LiteralTypeFormatter.js +21 -0
  391. package/dist/src/TypeFormatter/LiteralTypeFormatter.js.map +1 -0
  392. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.d.ts +10 -0
  393. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js +103 -0
  394. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -0
  395. package/dist/src/TypeFormatter/NeverTypeFormatter.d.ts +9 -0
  396. package/dist/src/TypeFormatter/NeverTypeFormatter.js +17 -0
  397. package/dist/src/TypeFormatter/NeverTypeFormatter.js.map +1 -0
  398. package/dist/src/TypeFormatter/NullTypeFormatter.d.ts +9 -0
  399. package/dist/src/TypeFormatter/NullTypeFormatter.js +17 -0
  400. package/dist/src/TypeFormatter/NullTypeFormatter.js.map +1 -0
  401. package/dist/src/TypeFormatter/NumberTypeFormatter.d.ts +9 -0
  402. package/dist/src/TypeFormatter/NumberTypeFormatter.js +17 -0
  403. package/dist/src/TypeFormatter/NumberTypeFormatter.js.map +1 -0
  404. package/dist/src/TypeFormatter/ObjectTypeFormatter.d.ts +14 -0
  405. package/dist/src/TypeFormatter/ObjectTypeFormatter.js +94 -0
  406. package/dist/src/TypeFormatter/ObjectTypeFormatter.js.map +1 -0
  407. package/dist/src/TypeFormatter/OptionalTypeFormatter.d.ts +12 -0
  408. package/dist/src/TypeFormatter/OptionalTypeFormatter.js +21 -0
  409. package/dist/src/TypeFormatter/OptionalTypeFormatter.js.map +1 -0
  410. package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.d.ts +12 -0
  411. package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.js +48 -0
  412. package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.js.map +1 -0
  413. package/dist/src/TypeFormatter/ReferenceTypeFormatter.d.ts +13 -0
  414. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js +35 -0
  415. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -0
  416. package/dist/src/TypeFormatter/RestTypeFormatter.d.ts +12 -0
  417. package/dist/src/TypeFormatter/RestTypeFormatter.js +26 -0
  418. package/dist/src/TypeFormatter/RestTypeFormatter.js.map +1 -0
  419. package/dist/src/TypeFormatter/StringTypeFormatter.d.ts +9 -0
  420. package/dist/src/TypeFormatter/StringTypeFormatter.js +17 -0
  421. package/dist/src/TypeFormatter/StringTypeFormatter.js.map +1 -0
  422. package/dist/src/TypeFormatter/SymbolTypeFormatter.d.ts +9 -0
  423. package/dist/src/TypeFormatter/SymbolTypeFormatter.js +17 -0
  424. package/dist/src/TypeFormatter/SymbolTypeFormatter.js.map +1 -0
  425. package/dist/src/TypeFormatter/TupleTypeFormatter.d.ts +12 -0
  426. package/dist/src/TypeFormatter/TupleTypeFormatter.js +93 -0
  427. package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -0
  428. package/dist/src/TypeFormatter/UndefinedTypeFormatter.d.ts +9 -0
  429. package/dist/src/TypeFormatter/UndefinedTypeFormatter.js +17 -0
  430. package/dist/src/TypeFormatter/UndefinedTypeFormatter.js.map +1 -0
  431. package/dist/src/TypeFormatter/UnionTypeFormatter.d.ts +18 -0
  432. package/dist/src/TypeFormatter/UnionTypeFormatter.js +110 -0
  433. package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -0
  434. package/dist/src/TypeFormatter/UnknownTypeFormatter.d.ts +9 -0
  435. package/dist/src/TypeFormatter/UnknownTypeFormatter.js +20 -0
  436. package/dist/src/TypeFormatter/UnknownTypeFormatter.js.map +1 -0
  437. package/dist/src/TypeFormatter/VoidTypeFormatter.d.ts +9 -0
  438. package/dist/src/TypeFormatter/VoidTypeFormatter.js +17 -0
  439. package/dist/src/TypeFormatter/VoidTypeFormatter.js.map +1 -0
  440. package/dist/src/TypeFormatter.d.ts +6 -0
  441. package/dist/src/TypeFormatter.js +3 -0
  442. package/dist/src/TypeFormatter.js.map +1 -0
  443. package/dist/src/Utils/String.d.ts +1 -0
  444. package/dist/src/Utils/String.js +14 -0
  445. package/dist/src/Utils/String.js.map +1 -0
  446. package/dist/src/Utils/StringMap.d.ts +3 -0
  447. package/dist/src/Utils/StringMap.js +3 -0
  448. package/dist/src/Utils/StringMap.js.map +1 -0
  449. package/dist/src/Utils/allOfDefinition.d.ts +4 -0
  450. package/dist/src/Utils/allOfDefinition.js +84 -0
  451. package/dist/src/Utils/allOfDefinition.js.map +1 -0
  452. package/dist/src/Utils/castArray.d.ts +1 -0
  453. package/dist/src/Utils/castArray.js +10 -0
  454. package/dist/src/Utils/castArray.js.map +1 -0
  455. package/dist/src/Utils/deepMerge.d.ts +16 -0
  456. package/dist/src/Utils/deepMerge.js +55 -0
  457. package/dist/src/Utils/deepMerge.js.map +1 -0
  458. package/dist/src/Utils/derefType.d.ts +12 -0
  459. package/dist/src/Utils/derefType.js +62 -0
  460. package/dist/src/Utils/derefType.js.map +1 -0
  461. package/dist/src/Utils/extractLiterals.d.ts +2 -0
  462. package/dist/src/Utils/extractLiterals.js +40 -0
  463. package/dist/src/Utils/extractLiterals.js.map +1 -0
  464. package/dist/src/Utils/getFullDescription.d.ts +2 -0
  465. package/dist/src/Utils/getFullDescription.js +33 -0
  466. package/dist/src/Utils/getFullDescription.js.map +1 -0
  467. package/dist/src/Utils/hasJsDocTag.d.ts +2 -0
  468. package/dist/src/Utils/hasJsDocTag.js +9 -0
  469. package/dist/src/Utils/hasJsDocTag.js.map +1 -0
  470. package/dist/src/Utils/intersectionOfArrays.d.ts +1 -0
  471. package/dist/src/Utils/intersectionOfArrays.js +17 -0
  472. package/dist/src/Utils/intersectionOfArrays.js.map +1 -0
  473. package/dist/src/Utils/isAssignableTo.d.ts +14 -0
  474. package/dist/src/Utils/isAssignableTo.js +294 -0
  475. package/dist/src/Utils/isAssignableTo.js.map +1 -0
  476. package/dist/src/Utils/isHidden.d.ts +2 -0
  477. package/dist/src/Utils/isHidden.js +8 -0
  478. package/dist/src/Utils/isHidden.js.map +1 -0
  479. package/dist/src/Utils/modifiers.d.ts +23 -0
  480. package/dist/src/Utils/modifiers.js +42 -0
  481. package/dist/src/Utils/modifiers.js.map +1 -0
  482. package/dist/src/Utils/narrowType.d.ts +14 -0
  483. package/dist/src/Utils/narrowType.js +59 -0
  484. package/dist/src/Utils/narrowType.js.map +1 -0
  485. package/dist/src/Utils/nodeKey.d.ts +4 -0
  486. package/dist/src/Utils/nodeKey.js +49 -0
  487. package/dist/src/Utils/nodeKey.js.map +1 -0
  488. package/dist/src/Utils/notNever.d.ts +2 -0
  489. package/dist/src/Utils/notNever.js +8 -0
  490. package/dist/src/Utils/notNever.js.map +1 -0
  491. package/dist/src/Utils/preserveAnnotation.d.ts +8 -0
  492. package/dist/src/Utils/preserveAnnotation.js +17 -0
  493. package/dist/src/Utils/preserveAnnotation.js.map +1 -0
  494. package/dist/src/Utils/removeUndefined.d.ts +9 -0
  495. package/dist/src/Utils/removeUndefined.js +34 -0
  496. package/dist/src/Utils/removeUndefined.js.map +1 -0
  497. package/dist/src/Utils/removeUnreachable.d.ts +3 -0
  498. package/dist/src/Utils/removeUnreachable.js +85 -0
  499. package/dist/src/Utils/removeUnreachable.js.map +1 -0
  500. package/dist/src/Utils/symbolAtNode.d.ts +2 -0
  501. package/dist/src/Utils/symbolAtNode.js +8 -0
  502. package/dist/src/Utils/symbolAtNode.js.map +1 -0
  503. package/dist/src/Utils/typeKeys.d.ts +6 -0
  504. package/dist/src/Utils/typeKeys.js +121 -0
  505. package/dist/src/Utils/typeKeys.js.map +1 -0
  506. package/dist/src/Utils/typeName.d.ts +2 -0
  507. package/dist/src/Utils/typeName.js +21 -0
  508. package/dist/src/Utils/typeName.js.map +1 -0
  509. package/dist/src/Utils/uniqueArray.d.ts +1 -0
  510. package/dist/src/Utils/uniqueArray.js +7 -0
  511. package/dist/src/Utils/uniqueArray.js.map +1 -0
  512. package/dist/src/Utils/uniqueTypeArray.d.ts +2 -0
  513. package/dist/src/Utils/uniqueTypeArray.js +11 -0
  514. package/dist/src/Utils/uniqueTypeArray.js.map +1 -0
  515. package/dist/ts-json-schema-generator.d.ts +1 -0
  516. package/dist/ts-json-schema-generator.js +93 -0
  517. package/dist/ts-json-schema-generator.js.map +1 -0
  518. package/dist/tsconfig.tsbuildinfo +1 -0
  519. package/factory/formatter.ts +87 -0
  520. package/factory/generator.ts +15 -0
  521. package/factory/index.ts +4 -0
  522. package/factory/parser.ts +196 -0
  523. package/factory/program.ts +97 -0
  524. package/index.ts +158 -0
  525. package/package.json +102 -0
  526. package/src/AnnotationsReader/BasicAnnotationsReader.ts +121 -0
  527. package/src/AnnotationsReader/ExtendedAnnotationsReader.ts +129 -0
  528. package/src/AnnotationsReader.ts +6 -0
  529. package/src/ChainNodeParser.ts +62 -0
  530. package/src/ChainTypeFormatter.ts +34 -0
  531. package/src/CircularReferenceNodeParser.ts +32 -0
  532. package/src/CircularReferenceTypeFormatter.ts +35 -0
  533. package/src/Config.ts +161 -0
  534. package/src/Error/BaseError.ts +61 -0
  535. package/src/Error/Errors.ts +123 -0
  536. package/src/ExposeNodeParser.ts +52 -0
  537. package/src/Interfaces/AnnotationsReader.ts +6 -0
  538. package/src/Interfaces/MutableParser.ts +5 -0
  539. package/src/Interfaces/MutableTypeFormatter.ts +5 -0
  540. package/src/Interfaces/SubNodeParser.ts +6 -0
  541. package/src/Interfaces/SubTypeFormatter.ts +6 -0
  542. package/src/Interfaces/TypeFormatter.ts +7 -0
  543. package/src/MutableParser.ts +5 -0
  544. package/src/MutableTypeFormatter.ts +5 -0
  545. package/src/NodeParser/AnnotatedNodeParser.ts +92 -0
  546. package/src/NodeParser/AnyTypeNodeParser.ts +14 -0
  547. package/src/NodeParser/ArrayLiteralExpressionNodeParser.ts +18 -0
  548. package/src/NodeParser/ArrayNodeParser.ts +20 -0
  549. package/src/NodeParser/AsExpressionNodeParser.ts +17 -0
  550. package/src/NodeParser/BinaryExpressionNodeParser.ts +99 -0
  551. package/src/NodeParser/BooleanLiteralNodeParser.ts +14 -0
  552. package/src/NodeParser/BooleanTypeNodeParser.ts +14 -0
  553. package/src/NodeParser/CallExpressionParser.ts +63 -0
  554. package/src/NodeParser/ConditionalTypeNodeParser.ts +129 -0
  555. package/src/NodeParser/ConstructorNodeParser.ts +31 -0
  556. package/src/NodeParser/EnumNodeParser.ts +61 -0
  557. package/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.ts +41 -0
  558. package/src/NodeParser/FunctionNodeParser.ts +115 -0
  559. package/src/NodeParser/HiddenTypeNodeParser.ts +18 -0
  560. package/src/NodeParser/IdentifierNodeParser.ts +38 -0
  561. package/src/NodeParser/IndexedAccessTypeNodeParser.ts +95 -0
  562. package/src/NodeParser/InferTypeNodeParser.ts +20 -0
  563. package/src/NodeParser/InterfaceAndClassNodeParser.ts +191 -0
  564. package/src/NodeParser/IntersectionNodeParser.ts +118 -0
  565. package/src/NodeParser/IntrinsicNodeParser.ts +47 -0
  566. package/src/NodeParser/LiteralNodeParser.ts +15 -0
  567. package/src/NodeParser/MappedTypeNodeParser.ts +215 -0
  568. package/src/NodeParser/NamedTupleMemberNodeParser.ts +26 -0
  569. package/src/NodeParser/NeverTypeNodeParser.ts +14 -0
  570. package/src/NodeParser/NewExpressionParser.ts +46 -0
  571. package/src/NodeParser/NullLiteralNodeParser.ts +14 -0
  572. package/src/NodeParser/NumberLiteralNodeParser.ts +14 -0
  573. package/src/NodeParser/NumberTypeNodeParser.ts +14 -0
  574. package/src/NodeParser/ObjectLiteralExpressionNodeParser.ts +95 -0
  575. package/src/NodeParser/ObjectTypeNodeParser.ts +16 -0
  576. package/src/NodeParser/OptionalTypeNodeParser.ts +16 -0
  577. package/src/NodeParser/ParameterParser.ts +16 -0
  578. package/src/NodeParser/ParenthesizedNodeParser.ts +15 -0
  579. package/src/NodeParser/PrefixUnaryExpressionNodeParser.ts +39 -0
  580. package/src/NodeParser/PromiseNodeParser.ts +100 -0
  581. package/src/NodeParser/PropertyAccessExpressionParser.ts +20 -0
  582. package/src/NodeParser/RestTypeNodeParser.ts +18 -0
  583. package/src/NodeParser/SatisfiesNodeParser.ts +15 -0
  584. package/src/NodeParser/SpreadElementNodeParser.ts +25 -0
  585. package/src/NodeParser/StringLiteralNodeParser.ts +14 -0
  586. package/src/NodeParser/StringTemplateLiteralNodeParser.ts +61 -0
  587. package/src/NodeParser/StringTypeNodeParser.ts +15 -0
  588. package/src/NodeParser/SymbolTypeNodeParser.ts +15 -0
  589. package/src/NodeParser/TupleNodeParser.ts +24 -0
  590. package/src/NodeParser/TypeAliasNodeParser.ts +57 -0
  591. package/src/NodeParser/TypeLiteralNodeParser.ts +103 -0
  592. package/src/NodeParser/TypeOperatorNodeParser.ts +41 -0
  593. package/src/NodeParser/TypeReferenceNodeParser.ts +97 -0
  594. package/src/NodeParser/TypeofNodeParser.ts +104 -0
  595. package/src/NodeParser/UndefinedLiteralNodeParser.ts +14 -0
  596. package/src/NodeParser/UndefinedTypeNodeParser.ts +14 -0
  597. package/src/NodeParser/UnionNodeParser.ts +34 -0
  598. package/src/NodeParser/UnknownTypeNodeParser.ts +14 -0
  599. package/src/NodeParser/VoidTypeNodeParser.ts +14 -0
  600. package/src/NodeParser.ts +65 -0
  601. package/src/Schema/Definition.ts +3 -0
  602. package/src/Schema/RawType.ts +4 -0
  603. package/src/Schema/Schema.ts +3 -0
  604. package/src/SchemaGenerator.ts +326 -0
  605. package/src/SubNodeParser.ts +6 -0
  606. package/src/SubTypeFormatter.ts +6 -0
  607. package/src/TopRefNodeParser.ts +24 -0
  608. package/src/Type/AliasType.ts +18 -0
  609. package/src/Type/AnnotatedType.ts +28 -0
  610. package/src/Type/AnyType.ts +7 -0
  611. package/src/Type/ArrayType.ts +15 -0
  612. package/src/Type/BaseType.ts +10 -0
  613. package/src/Type/BooleanType.ts +7 -0
  614. package/src/Type/ConstructorType.ts +32 -0
  615. package/src/Type/DefinitionType.ts +22 -0
  616. package/src/Type/EnumType.ts +29 -0
  617. package/src/Type/FunctionType.ts +35 -0
  618. package/src/Type/HiddenType.ts +7 -0
  619. package/src/Type/InferType.ts +11 -0
  620. package/src/Type/IntersectionType.ts +15 -0
  621. package/src/Type/LiteralType.ts +21 -0
  622. package/src/Type/NeverType.ts +7 -0
  623. package/src/Type/NullType.ts +7 -0
  624. package/src/Type/NumberType.ts +7 -0
  625. package/src/Type/ObjectType.ts +50 -0
  626. package/src/Type/OptionalType.ts +15 -0
  627. package/src/Type/PrimitiveType.ts +3 -0
  628. package/src/Type/ReferenceType.ts +52 -0
  629. package/src/Type/RestType.ts +25 -0
  630. package/src/Type/StringType.ts +15 -0
  631. package/src/Type/SymbolType.ts +7 -0
  632. package/src/Type/TupleType.ts +40 -0
  633. package/src/Type/UndefinedType.ts +7 -0
  634. package/src/Type/UnionType.ts +74 -0
  635. package/src/Type/UnknownType.ts +23 -0
  636. package/src/Type/VoidType.ts +7 -0
  637. package/src/TypeFormatter/AliasTypeFormatter.ts +19 -0
  638. package/src/TypeFormatter/AnnotatedTypeFormatter.ts +89 -0
  639. package/src/TypeFormatter/AnyTypeFormatter.ts +16 -0
  640. package/src/TypeFormatter/ArrayTypeFormatter.ts +22 -0
  641. package/src/TypeFormatter/BooleanTypeFormatter.ts +16 -0
  642. package/src/TypeFormatter/ConstructorTypeFormatter.ts +9 -0
  643. package/src/TypeFormatter/DefinitionTypeFormatter.ts +24 -0
  644. package/src/TypeFormatter/EnumTypeFormatter.ts +37 -0
  645. package/src/TypeFormatter/FunctionTypeFormatter.ts +39 -0
  646. package/src/TypeFormatter/HiddenTypeFormatter.ts +16 -0
  647. package/src/TypeFormatter/IntersectionTypeFormatter.ts +52 -0
  648. package/src/TypeFormatter/LiteralTypeFormatter.ts +20 -0
  649. package/src/TypeFormatter/LiteralUnionTypeFormatter.ts +127 -0
  650. package/src/TypeFormatter/NeverTypeFormatter.ts +16 -0
  651. package/src/TypeFormatter/NullTypeFormatter.ts +16 -0
  652. package/src/TypeFormatter/NumberTypeFormatter.ts +16 -0
  653. package/src/TypeFormatter/ObjectTypeFormatter.ts +118 -0
  654. package/src/TypeFormatter/OptionalTypeFormatter.ts +19 -0
  655. package/src/TypeFormatter/PrimitiveUnionTypeFormatter.ts +57 -0
  656. package/src/TypeFormatter/ReferenceTypeFormatter.ts +35 -0
  657. package/src/TypeFormatter/RestTypeFormatter.ts +28 -0
  658. package/src/TypeFormatter/StringTypeFormatter.ts +16 -0
  659. package/src/TypeFormatter/SymbolTypeFormatter.ts +16 -0
  660. package/src/TypeFormatter/TupleTypeFormatter.ts +108 -0
  661. package/src/TypeFormatter/UndefinedTypeFormatter.ts +16 -0
  662. package/src/TypeFormatter/UnionTypeFormatter.ts +137 -0
  663. package/src/TypeFormatter/UnknownTypeFormatter.ts +22 -0
  664. package/src/TypeFormatter/VoidTypeFormatter.ts +16 -0
  665. package/src/TypeFormatter.ts +7 -0
  666. package/src/Utils/String.ts +11 -0
  667. package/src/Utils/StringMap.ts +3 -0
  668. package/src/Utils/allOfDefinition.ts +96 -0
  669. package/src/Utils/castArray.ts +7 -0
  670. package/src/Utils/deepMerge.ts +62 -0
  671. package/src/Utils/derefType.ts +66 -0
  672. package/src/Utils/extractLiterals.ts +46 -0
  673. package/src/Utils/getFullDescription.ts +39 -0
  674. package/src/Utils/hasJsDocTag.ts +7 -0
  675. package/src/Utils/intersectionOfArrays.ts +13 -0
  676. package/src/Utils/isAssignableTo.ts +351 -0
  677. package/src/Utils/isHidden.ts +6 -0
  678. package/src/Utils/modifiers.ts +37 -0
  679. package/src/Utils/narrowType.ts +55 -0
  680. package/src/Utils/nodeKey.ts +58 -0
  681. package/src/Utils/notNever.ts +6 -0
  682. package/src/Utils/preserveAnnotation.ts +15 -0
  683. package/src/Utils/removeUndefined.ts +33 -0
  684. package/src/Utils/removeUnreachable.ts +97 -0
  685. package/src/Utils/symbolAtNode.ts +6 -0
  686. package/src/Utils/typeKeys.ts +139 -0
  687. package/src/Utils/typeName.ts +24 -0
  688. package/src/Utils/uniqueArray.ts +3 -0
  689. package/src/Utils/uniqueTypeArray.ts +9 -0
  690. package/ts-json-schema-generator.ts +117 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2019, TypeScript JSON Schema Generator
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,259 @@
1
+ # ts-json-schema-generator
2
+
3
+ ![Test](https://github.com/vega/ts-json-schema-generator/workflows/Test/badge.svg)
4
+ [![codecov](https://codecov.io/gh/vega/ts-json-schema-generator/branch/master/graph/badge.svg)](https://codecov.io/gh/vega/ts-json-schema-generator)
5
+ [![npm version](https://img.shields.io/npm/v/ts-json-schema-generator.svg)](https://www.npmjs.com/package/ts-json-schema-generator)
6
+
7
+ Extended version of [https://github.com/xiag-ag/typescript-to-json-schema](https://github.com/xiag-ag/typescript-to-json-schema).
8
+
9
+ Inspired by [`YousefED/typescript-json-schema`](https://github.com/YousefED/typescript-json-schema). Here's the differences list:
10
+
11
+ - this implementation avoids the use of `typeChecker.getTypeAtLocation()` (so probably it keeps correct type aliases)
12
+ - processing AST and formatting JSON schema have been split into two independent steps
13
+ - not exported types, interfaces, enums are not exposed in the `definitions` section in the JSON schema
14
+
15
+ ## Contributors
16
+
17
+ This project is made possible by a [community of contributors](https://github.com/vega/ts-json-schema-generator/graphs/contributors). We welcome contributions of any kind (issues, code, documentation, examples, tests,...). Please read our [code of conduct](https://vega.github.io/vega/about/code-of-conduct).
18
+
19
+ ## CLI Usage
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
+
29
+ ```bash
30
+ npm install --save ts-json-schema-generator
31
+ ./node_modules/.bin/ts-json-schema-generator --path 'my/project/**/*.ts' --type 'My.Type.Name'
32
+ ```
33
+
34
+ Note that different platforms (e.g. Windows) may use different path separators so you may have to adjust the command above.
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
+ By default, the command-line generator will use the `tsconfig.json` file in the current working directory, or the first parent directory that contains a `tsconfig.json` file up to the root of the filesystem. If you want to use a different `tsconfig.json` file, you can use the `--tsconfig` option. In particular, if you need to use different compilation options for types, you may want to create a separate `tsconfig.json` file for the schema generation only.
39
+
40
+ ### Options
41
+
42
+ ```
43
+ -p, --path <path> Source file path
44
+ -t, --type <name> Type name
45
+ -i, --id <name> $id for generated schema
46
+ -f, --tsconfig <path> Custom tsconfig.json path
47
+ -e, --expose <expose> Type exposing (choices: "all", "none", "export", default: "export")
48
+ -j, --jsDoc <extended> Read JsDoc annotations (choices: "none", "basic", "extended", default: "extended")
49
+ --markdown-description Generate `markdownDescription` in addition to `description`.
50
+ --full-description Include the full raw JSDoc comment as `fullDescription` in the schema.
51
+ --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.
52
+ (choices: "fail", "comment", "hide", default: "comment")
53
+ --minify Minify generated schema (default: false)
54
+ --unstable Do not sort properties
55
+ --strict-tuples Do not allow additional items on tuples
56
+ --no-top-ref Do not create a top-level $ref definition
57
+ --no-type-check Skip type checks to improve performance
58
+ --no-ref-encode Do not encode references
59
+ -o, --out <file> Set the output file (default: stdout)
60
+ --validation-keywords [value] Provide additional validation keywords to include (default: [])
61
+ --additional-properties Allow additional properties for objects with no index signature (default: false)
62
+ -V, --version output the version number
63
+ -h, --help display help for command
64
+ ```
65
+
66
+ ## Programmatic Usage
67
+
68
+ ```js
69
+ // main.js
70
+
71
+ const tsj = require("ts-json-schema-generator");
72
+ const fs = require("fs");
73
+
74
+ /** @type {import('ts-json-schema-generator/dist/src/Config').Config} */
75
+ const config = {
76
+ path: "path/to/source/file",
77
+ tsconfig: "path/to/tsconfig.json",
78
+ type: "*", // Or <type-name> if you want to generate schema for that one type only
79
+ };
80
+
81
+ const outputPath = "path/to/output/file";
82
+
83
+ const schema = tsj.createGenerator(config).createSchema(config.type);
84
+ const schemaString = JSON.stringify(schema, null, 2);
85
+ fs.writeFile(outputPath, schemaString, (err) => {
86
+ if (err) throw err;
87
+ });
88
+ ```
89
+
90
+ Run the schema generator via `node main.js`.
91
+
92
+ ### Custom formatting
93
+
94
+ Extending the built-in formatting is possible by creating a custom formatter and adding it to the main formatter:
95
+
96
+ 1. First we create a formatter, in this case for formatting function types (note that there is a built in one):
97
+
98
+ ```ts
99
+ // my-function-formatter.ts
100
+ import { BaseType, Definition, FunctionType, SubTypeFormatter } from "ts-json-schema-generator";
101
+ import ts from "typescript";
102
+
103
+ export class MyFunctionTypeFormatter implements SubTypeFormatter {
104
+ // You can skip this line if you don't need childTypeFormatter
105
+ public constructor(private childTypeFormatter: TypeFormatter) {}
106
+
107
+ public supportsType(type: BaseType): boolean {
108
+ return type instanceof FunctionType;
109
+ }
110
+
111
+ public getDefinition(type: FunctionType): Definition {
112
+ // Return a custom schema for the function property.
113
+ return {
114
+ type: "object",
115
+ properties: {
116
+ isFunction: {
117
+ type: "boolean",
118
+ const: true,
119
+ },
120
+ },
121
+ };
122
+ }
123
+
124
+ // If this type does NOT HAVE children, generally all you need is:
125
+ public getChildren(type: FunctionType): BaseType[] {
126
+ return [];
127
+ }
128
+
129
+ // However, if children ARE supported, you'll need something similar to
130
+ // this (see src/TypeFormatter/{Array,Definition,etc}.ts for some examples):
131
+ public getChildren(type: FunctionType): BaseType[] {
132
+ return this.childTypeFormatter.getChildren(type.getType());
133
+ }
134
+ }
135
+ ```
136
+
137
+ 2. Then we add the formatter as a child to the core formatter using the augmentation callback:
138
+
139
+ ```ts
140
+ import { createProgram, createParser, SchemaGenerator, createFormatter } from "ts-json-schema-generator";
141
+ import { MyFunctionTypeFormatter } from "./my-function-formatter.ts";
142
+ import fs from "fs";
143
+
144
+ const config = {
145
+ path: "path/to/source/file",
146
+ tsconfig: "path/to/tsconfig.json",
147
+ type: "*", // Or <type-name> if you want to generate schema for that one type only
148
+ };
149
+
150
+ // We configure the formatter an add our custom formatter to it.
151
+ const formatter = createFormatter(config, (fmt, circularReferenceTypeFormatter) => {
152
+ // If your formatter DOES NOT support children, e.g. getChildren() { return [] }:
153
+ fmt.addTypeFormatter(new MyFunctionTypeFormatter());
154
+ // If your formatter DOES support children, you'll need this reference too:
155
+ fmt.addTypeFormatter(new MyFunctionTypeFormatter(circularReferenceTypeFormatter));
156
+ });
157
+
158
+ const program = createProgram(config);
159
+ const parser = createParser(program, config);
160
+ const generator = new SchemaGenerator(program, parser, formatter, config);
161
+ const schema = generator.createSchema(config.type);
162
+ const outputPath = "path/to/output/file";
163
+
164
+ const schemaString = JSON.stringify(schema, null, 2);
165
+ fs.writeFile(outputPath, schemaString, (err) => {
166
+ if (err) throw err;
167
+ });
168
+ ```
169
+
170
+ ### Custom parsing
171
+
172
+ Similar to custom formatting, extending the built-in parsing works practically the same way:
173
+
174
+ 1. First we create a parser, in this case for parsing construct types:
175
+
176
+ ```ts
177
+ // my-constructor-parser.ts
178
+ import { Context, StringType, ReferenceType, BaseType, SubNodeParser } from "ts-json-schema-generator";
179
+ // use typescript exported by TJS to avoid version conflict
180
+ import ts from "ts-json-schema-generator";
181
+
182
+ export class MyConstructorParser implements SubNodeParser {
183
+ supportsNode(node: ts.Node): boolean {
184
+ return node.kind === ts.SyntaxKind.ConstructorType;
185
+ }
186
+ createType(node: ts.Node, context: Context, reference?: ReferenceType): BaseType | undefined {
187
+ return new StringType(); // Treat constructors as strings in this example
188
+ }
189
+ }
190
+ ```
191
+
192
+ 2. Then we add the parser as a child to the core parser using the augmentation callback:
193
+
194
+ ```ts
195
+ import { createProgram, createParser, SchemaGenerator, createFormatter } from "ts-json-schema-generator";
196
+ import { MyConstructorParser } from "./my-constructor-parser.ts";
197
+ import fs from "fs";
198
+
199
+ const config = {
200
+ path: "path/to/source/file",
201
+ tsconfig: "path/to/tsconfig.json",
202
+ type: "*", // Or <type-name> if you want to generate schema for that one type only
203
+ };
204
+
205
+ const program = createProgram(config);
206
+
207
+ // We configure the parser an add our custom parser to it.
208
+ const parser = createParser(program, config, (prs) => {
209
+ prs.addNodeParser(new MyConstructorParser());
210
+ });
211
+
212
+ const formatter = createFormatter(config);
213
+ const generator = new SchemaGenerator(program, parser, formatter, config);
214
+ const schema = generator.createSchema(config.type);
215
+ const outputPath = "path/to/output/file";
216
+
217
+ const schemaString = JSON.stringify(schema, null, 2);
218
+ fs.writeFile(outputPath, schemaString, (err) => {
219
+ if (err) throw err;
220
+ });
221
+ ```
222
+
223
+ ## Current state
224
+
225
+ - `interface` types
226
+ - `enum` types
227
+ - `union`, `tuple`, `type[]` types
228
+ - `Date`, `RegExp`, `URL` types
229
+ - `string`, `boolean`, `number` types
230
+ - `"value"`, `123`, `true`, `false`, `null`, `undefined` literals
231
+ - type aliases
232
+ - generics
233
+ - `typeof`
234
+ - `keyof`
235
+ - conditional types
236
+ - functions
237
+ - `Promise<T>` unwraps to `T`
238
+ - Overrides (like `@format`)
239
+
240
+ ## Run locally
241
+
242
+ `npm run --silent run -- --path 'test/valid-data/type-mapped-array/*.ts' --type 'MyObject'`
243
+
244
+ ## Debug
245
+
246
+ `npm run --silent debug -- --path 'test/valid-data/type-mapped-array/*.ts' --type 'MyObject'`
247
+
248
+ And connect via the debugger protocol.
249
+
250
+ [AST Explorer](https://astexplorer.net/) is amazing for developers of this tool!
251
+
252
+ ## Publish
253
+
254
+ Publishing is handled by a 2-branch [pre-release process](https://intuit.github.io/auto/docs/generated/shipit#next-branch-default), configured in `publish-auto.yml`. All changes should be based off the default `next` branch, and are published automatically.
255
+
256
+ - PRs made into the default branch are auto-deployed to the `next` pre-release tag on NPM. The result can be installed with `npm install ts-json-schema-generator@next`
257
+ - When merging into `next`, please use the `squash and merge` strategy.
258
+ - To release a new stable version, open a PR from `next` into `stable` using this [compare link](https://github.com/vega/ts-json-schema-generator/compare/stable...next).
259
+ - When merging from `next` into `stable`, please use the `create a merge commit` strategy.
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
4
+ require("../dist/ts-json-schema-generator.js");
@@ -0,0 +1,6 @@
1
+ import { CircularReferenceTypeFormatter } from "../src/CircularReferenceTypeFormatter.js";
2
+ import type { CompletedConfig } from "../src/Config.js";
3
+ import type { MutableTypeFormatter } from "../src/MutableTypeFormatter.js";
4
+ import type { TypeFormatter } from "../src/TypeFormatter.js";
5
+ export type FormatterAugmentor = (formatter: MutableTypeFormatter, circularReferenceTypeFormatter: CircularReferenceTypeFormatter) => void;
6
+ export declare function createFormatter(config: CompletedConfig, augmentor?: FormatterAugmentor): TypeFormatter;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFormatter = createFormatter;
4
+ const ChainTypeFormatter_js_1 = require("../src/ChainTypeFormatter.js");
5
+ const CircularReferenceTypeFormatter_js_1 = require("../src/CircularReferenceTypeFormatter.js");
6
+ const AliasTypeFormatter_js_1 = require("../src/TypeFormatter/AliasTypeFormatter.js");
7
+ const AnnotatedTypeFormatter_js_1 = require("../src/TypeFormatter/AnnotatedTypeFormatter.js");
8
+ const AnyTypeFormatter_js_1 = require("../src/TypeFormatter/AnyTypeFormatter.js");
9
+ const ArrayTypeFormatter_js_1 = require("../src/TypeFormatter/ArrayTypeFormatter.js");
10
+ const BooleanTypeFormatter_js_1 = require("../src/TypeFormatter/BooleanTypeFormatter.js");
11
+ const ConstructorTypeFormatter_js_1 = require("../src/TypeFormatter/ConstructorTypeFormatter.js");
12
+ const DefinitionTypeFormatter_js_1 = require("../src/TypeFormatter/DefinitionTypeFormatter.js");
13
+ const EnumTypeFormatter_js_1 = require("../src/TypeFormatter/EnumTypeFormatter.js");
14
+ const FunctionTypeFormatter_js_1 = require("../src/TypeFormatter/FunctionTypeFormatter.js");
15
+ const HiddenTypeFormatter_js_1 = require("../src/TypeFormatter/HiddenTypeFormatter.js");
16
+ const IntersectionTypeFormatter_js_1 = require("../src/TypeFormatter/IntersectionTypeFormatter.js");
17
+ const LiteralTypeFormatter_js_1 = require("../src/TypeFormatter/LiteralTypeFormatter.js");
18
+ const LiteralUnionTypeFormatter_js_1 = require("../src/TypeFormatter/LiteralUnionTypeFormatter.js");
19
+ const NeverTypeFormatter_js_1 = require("../src/TypeFormatter/NeverTypeFormatter.js");
20
+ const NullTypeFormatter_js_1 = require("../src/TypeFormatter/NullTypeFormatter.js");
21
+ const NumberTypeFormatter_js_1 = require("../src/TypeFormatter/NumberTypeFormatter.js");
22
+ const ObjectTypeFormatter_js_1 = require("../src/TypeFormatter/ObjectTypeFormatter.js");
23
+ const OptionalTypeFormatter_js_1 = require("../src/TypeFormatter/OptionalTypeFormatter.js");
24
+ const PrimitiveUnionTypeFormatter_js_1 = require("../src/TypeFormatter/PrimitiveUnionTypeFormatter.js");
25
+ const ReferenceTypeFormatter_js_1 = require("../src/TypeFormatter/ReferenceTypeFormatter.js");
26
+ const RestTypeFormatter_js_1 = require("../src/TypeFormatter/RestTypeFormatter.js");
27
+ const StringTypeFormatter_js_1 = require("../src/TypeFormatter/StringTypeFormatter.js");
28
+ const SymbolTypeFormatter_js_1 = require("../src/TypeFormatter/SymbolTypeFormatter.js");
29
+ const TupleTypeFormatter_js_1 = require("../src/TypeFormatter/TupleTypeFormatter.js");
30
+ const UndefinedTypeFormatter_js_1 = require("../src/TypeFormatter/UndefinedTypeFormatter.js");
31
+ const UnionTypeFormatter_js_1 = require("../src/TypeFormatter/UnionTypeFormatter.js");
32
+ const UnknownTypeFormatter_js_1 = require("../src/TypeFormatter/UnknownTypeFormatter.js");
33
+ const VoidTypeFormatter_js_1 = require("../src/TypeFormatter/VoidTypeFormatter.js");
34
+ function createFormatter(config, augmentor) {
35
+ const chainTypeFormatter = new ChainTypeFormatter_js_1.ChainTypeFormatter([]);
36
+ const circularReferenceTypeFormatter = new CircularReferenceTypeFormatter_js_1.CircularReferenceTypeFormatter(chainTypeFormatter);
37
+ if (augmentor) {
38
+ augmentor(chainTypeFormatter, circularReferenceTypeFormatter);
39
+ }
40
+ chainTypeFormatter
41
+ .addTypeFormatter(new AnnotatedTypeFormatter_js_1.AnnotatedTypeFormatter(circularReferenceTypeFormatter))
42
+ .addTypeFormatter(new StringTypeFormatter_js_1.StringTypeFormatter())
43
+ .addTypeFormatter(new NumberTypeFormatter_js_1.NumberTypeFormatter())
44
+ .addTypeFormatter(new BooleanTypeFormatter_js_1.BooleanTypeFormatter())
45
+ .addTypeFormatter(new NullTypeFormatter_js_1.NullTypeFormatter())
46
+ .addTypeFormatter(new SymbolTypeFormatter_js_1.SymbolTypeFormatter())
47
+ .addTypeFormatter(new AnyTypeFormatter_js_1.AnyTypeFormatter())
48
+ .addTypeFormatter(new UndefinedTypeFormatter_js_1.UndefinedTypeFormatter())
49
+ .addTypeFormatter(new UnknownTypeFormatter_js_1.UnknownTypeFormatter())
50
+ .addTypeFormatter(new VoidTypeFormatter_js_1.VoidTypeFormatter())
51
+ .addTypeFormatter(new HiddenTypeFormatter_js_1.HiddenTypeFormatter())
52
+ .addTypeFormatter(new NeverTypeFormatter_js_1.NeverTypeFormatter())
53
+ .addTypeFormatter(new LiteralTypeFormatter_js_1.LiteralTypeFormatter())
54
+ .addTypeFormatter(new EnumTypeFormatter_js_1.EnumTypeFormatter())
55
+ .addTypeFormatter(new ReferenceTypeFormatter_js_1.ReferenceTypeFormatter(circularReferenceTypeFormatter, config.encodeRefs ?? true))
56
+ .addTypeFormatter(new DefinitionTypeFormatter_js_1.DefinitionTypeFormatter(circularReferenceTypeFormatter, config.encodeRefs ?? true))
57
+ .addTypeFormatter(new ObjectTypeFormatter_js_1.ObjectTypeFormatter(circularReferenceTypeFormatter))
58
+ .addTypeFormatter(new AliasTypeFormatter_js_1.AliasTypeFormatter(circularReferenceTypeFormatter))
59
+ .addTypeFormatter(new PrimitiveUnionTypeFormatter_js_1.PrimitiveUnionTypeFormatter())
60
+ .addTypeFormatter(new LiteralUnionTypeFormatter_js_1.LiteralUnionTypeFormatter())
61
+ .addTypeFormatter(new ConstructorTypeFormatter_js_1.ConstructorTypeFormatter(circularReferenceTypeFormatter, config.functions))
62
+ .addTypeFormatter(new FunctionTypeFormatter_js_1.FunctionTypeFormatter(circularReferenceTypeFormatter, config.functions))
63
+ .addTypeFormatter(new OptionalTypeFormatter_js_1.OptionalTypeFormatter(circularReferenceTypeFormatter))
64
+ .addTypeFormatter(new RestTypeFormatter_js_1.RestTypeFormatter(circularReferenceTypeFormatter))
65
+ .addTypeFormatter(new ArrayTypeFormatter_js_1.ArrayTypeFormatter(circularReferenceTypeFormatter))
66
+ .addTypeFormatter(new TupleTypeFormatter_js_1.TupleTypeFormatter(circularReferenceTypeFormatter))
67
+ .addTypeFormatter(new UnionTypeFormatter_js_1.UnionTypeFormatter(circularReferenceTypeFormatter, config.discriminatorType))
68
+ .addTypeFormatter(new IntersectionTypeFormatter_js_1.IntersectionTypeFormatter(circularReferenceTypeFormatter));
69
+ return circularReferenceTypeFormatter;
70
+ }
71
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../factory/formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Config } from "../src/Config.js";
2
+ import { SchemaGenerator } from "../src/SchemaGenerator.js";
3
+ export declare function createGenerator(config: Config): SchemaGenerator;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGenerator = createGenerator;
4
+ const Config_js_1 = require("../src/Config.js");
5
+ const SchemaGenerator_js_1 = require("../src/SchemaGenerator.js");
6
+ const formatter_js_1 = require("./formatter.js");
7
+ const parser_js_1 = require("./parser.js");
8
+ const program_js_1 = require("./program.js");
9
+ function createGenerator(config) {
10
+ const completedConfig = { ...Config_js_1.DEFAULT_CONFIG, ...config };
11
+ const program = config.tsProgram || (0, program_js_1.createProgram)(completedConfig);
12
+ const parser = (0, parser_js_1.createParser)(program, completedConfig);
13
+ const formatter = (0, formatter_js_1.createFormatter)(completedConfig);
14
+ return new SchemaGenerator_js_1.SchemaGenerator(program, parser, formatter, completedConfig);
15
+ }
16
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +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,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"}
@@ -0,0 +1,4 @@
1
+ export * from "./formatter.js";
2
+ export * from "./generator.js";
3
+ export * from "./parser.js";
4
+ export * from "./program.js";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./formatter.js"), exports);
5
+ tslib_1.__exportStar(require("./generator.js"), exports);
6
+ tslib_1.__exportStar(require("./parser.js"), exports);
7
+ tslib_1.__exportStar(require("./program.js"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../factory/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,yDAA+B;AAC/B,sDAA4B;AAC5B,uDAA6B"}
@@ -0,0 +1,6 @@
1
+ import type ts from "typescript";
2
+ import type { CompletedConfig } from "../src/Config.js";
3
+ import type { MutableParser } from "../src/MutableParser.js";
4
+ import type { NodeParser } from "../src/NodeParser.js";
5
+ export type ParserAugmentor = (parser: MutableParser) => void;
6
+ export declare function createParser(program: ts.Program, config: CompletedConfig, augmentor?: ParserAugmentor): NodeParser;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createParser = createParser;
4
+ const BasicAnnotationsReader_js_1 = require("../src/AnnotationsReader/BasicAnnotationsReader.js");
5
+ const ExtendedAnnotationsReader_js_1 = require("../src/AnnotationsReader/ExtendedAnnotationsReader.js");
6
+ const ChainNodeParser_js_1 = require("../src/ChainNodeParser.js");
7
+ const CircularReferenceNodeParser_js_1 = require("../src/CircularReferenceNodeParser.js");
8
+ const ExposeNodeParser_js_1 = require("../src/ExposeNodeParser.js");
9
+ const AnnotatedNodeParser_js_1 = require("../src/NodeParser/AnnotatedNodeParser.js");
10
+ const AnyTypeNodeParser_js_1 = require("../src/NodeParser/AnyTypeNodeParser.js");
11
+ const ArrayLiteralExpressionNodeParser_js_1 = require("../src/NodeParser/ArrayLiteralExpressionNodeParser.js");
12
+ const ArrayNodeParser_js_1 = require("../src/NodeParser/ArrayNodeParser.js");
13
+ const AsExpressionNodeParser_js_1 = require("../src/NodeParser/AsExpressionNodeParser.js");
14
+ const BinaryExpressionNodeParser_js_1 = require("../src/NodeParser/BinaryExpressionNodeParser.js");
15
+ const BooleanLiteralNodeParser_js_1 = require("../src/NodeParser/BooleanLiteralNodeParser.js");
16
+ const BooleanTypeNodeParser_js_1 = require("../src/NodeParser/BooleanTypeNodeParser.js");
17
+ const CallExpressionParser_js_1 = require("../src/NodeParser/CallExpressionParser.js");
18
+ const ConditionalTypeNodeParser_js_1 = require("../src/NodeParser/ConditionalTypeNodeParser.js");
19
+ const NewExpressionParser_js_1 = require("../src/NodeParser/NewExpressionParser.js");
20
+ const ConstructorNodeParser_js_1 = require("../src/NodeParser/ConstructorNodeParser.js");
21
+ const EnumNodeParser_js_1 = require("../src/NodeParser/EnumNodeParser.js");
22
+ const ExpressionWithTypeArgumentsNodeParser_js_1 = require("../src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js");
23
+ const FunctionNodeParser_js_1 = require("../src/NodeParser/FunctionNodeParser.js");
24
+ const HiddenTypeNodeParser_js_1 = require("../src/NodeParser/HiddenTypeNodeParser.js");
25
+ const IndexedAccessTypeNodeParser_js_1 = require("../src/NodeParser/IndexedAccessTypeNodeParser.js");
26
+ const InferTypeNodeParser_js_1 = require("../src/NodeParser/InferTypeNodeParser.js");
27
+ const InterfaceAndClassNodeParser_js_1 = require("../src/NodeParser/InterfaceAndClassNodeParser.js");
28
+ const IntersectionNodeParser_js_1 = require("../src/NodeParser/IntersectionNodeParser.js");
29
+ const IntrinsicNodeParser_js_1 = require("../src/NodeParser/IntrinsicNodeParser.js");
30
+ const LiteralNodeParser_js_1 = require("../src/NodeParser/LiteralNodeParser.js");
31
+ const MappedTypeNodeParser_js_1 = require("../src/NodeParser/MappedTypeNodeParser.js");
32
+ const NamedTupleMemberNodeParser_js_1 = require("../src/NodeParser/NamedTupleMemberNodeParser.js");
33
+ const NeverTypeNodeParser_js_1 = require("../src/NodeParser/NeverTypeNodeParser.js");
34
+ const NullLiteralNodeParser_js_1 = require("../src/NodeParser/NullLiteralNodeParser.js");
35
+ const NumberLiteralNodeParser_js_1 = require("../src/NodeParser/NumberLiteralNodeParser.js");
36
+ const NumberTypeNodeParser_js_1 = require("../src/NodeParser/NumberTypeNodeParser.js");
37
+ const ObjectLiteralExpressionNodeParser_js_1 = require("../src/NodeParser/ObjectLiteralExpressionNodeParser.js");
38
+ const ObjectTypeNodeParser_js_1 = require("../src/NodeParser/ObjectTypeNodeParser.js");
39
+ const OptionalTypeNodeParser_js_1 = require("../src/NodeParser/OptionalTypeNodeParser.js");
40
+ const ParameterParser_js_1 = require("../src/NodeParser/ParameterParser.js");
41
+ const ParenthesizedNodeParser_js_1 = require("../src/NodeParser/ParenthesizedNodeParser.js");
42
+ const PrefixUnaryExpressionNodeParser_js_1 = require("../src/NodeParser/PrefixUnaryExpressionNodeParser.js");
43
+ const PropertyAccessExpressionParser_js_1 = require("../src/NodeParser/PropertyAccessExpressionParser.js");
44
+ const RestTypeNodeParser_js_1 = require("../src/NodeParser/RestTypeNodeParser.js");
45
+ const StringLiteralNodeParser_js_1 = require("../src/NodeParser/StringLiteralNodeParser.js");
46
+ const StringTemplateLiteralNodeParser_js_1 = require("../src/NodeParser/StringTemplateLiteralNodeParser.js");
47
+ const StringTypeNodeParser_js_1 = require("../src/NodeParser/StringTypeNodeParser.js");
48
+ const SymbolTypeNodeParser_js_1 = require("../src/NodeParser/SymbolTypeNodeParser.js");
49
+ const TupleNodeParser_js_1 = require("../src/NodeParser/TupleNodeParser.js");
50
+ const TypeAliasNodeParser_js_1 = require("../src/NodeParser/TypeAliasNodeParser.js");
51
+ const TypeLiteralNodeParser_js_1 = require("../src/NodeParser/TypeLiteralNodeParser.js");
52
+ const TypeofNodeParser_js_1 = require("../src/NodeParser/TypeofNodeParser.js");
53
+ const TypeOperatorNodeParser_js_1 = require("../src/NodeParser/TypeOperatorNodeParser.js");
54
+ const TypeReferenceNodeParser_js_1 = require("../src/NodeParser/TypeReferenceNodeParser.js");
55
+ const UndefinedTypeNodeParser_js_1 = require("../src/NodeParser/UndefinedTypeNodeParser.js");
56
+ const UnionNodeParser_js_1 = require("../src/NodeParser/UnionNodeParser.js");
57
+ const UnknownTypeNodeParser_js_1 = require("../src/NodeParser/UnknownTypeNodeParser.js");
58
+ const VoidTypeNodeParser_js_1 = require("../src/NodeParser/VoidTypeNodeParser.js");
59
+ const TopRefNodeParser_js_1 = require("../src/TopRefNodeParser.js");
60
+ const SatisfiesNodeParser_js_1 = require("../src/NodeParser/SatisfiesNodeParser.js");
61
+ const PromiseNodeParser_js_1 = require("../src/NodeParser/PromiseNodeParser.js");
62
+ const SpreadElementNodeParser_js_1 = require("../src/NodeParser/SpreadElementNodeParser.js");
63
+ const IdentifierNodeParser_js_1 = require("../src/NodeParser/IdentifierNodeParser.js");
64
+ const castArray_js_1 = require("../src/Utils/castArray.js");
65
+ function createParser(program, config, augmentor) {
66
+ const typeChecker = program.getTypeChecker();
67
+ const chainNodeParser = new ChainNodeParser_js_1.ChainNodeParser(typeChecker, []);
68
+ function withExpose(nodeParser) {
69
+ return new ExposeNodeParser_js_1.ExposeNodeParser(typeChecker, nodeParser, config.expose, config.jsDoc);
70
+ }
71
+ function withTopRef(nodeParser) {
72
+ const typeArr = (0, castArray_js_1.castArray)(config.type);
73
+ // If we have multiple types, don't set a top-level $ref.
74
+ const topRefFullName = typeArr && typeArr.length === 1 ? typeArr[0] : undefined;
75
+ return new TopRefNodeParser_js_1.TopRefNodeParser(chainNodeParser, topRefFullName, config.topRef);
76
+ }
77
+ function withJsDoc(nodeParser) {
78
+ const extraTags = new Set(config.extraTags);
79
+ if (config.jsDoc === "extended") {
80
+ return new AnnotatedNodeParser_js_1.AnnotatedNodeParser(nodeParser, new ExtendedAnnotationsReader_js_1.ExtendedAnnotationsReader(typeChecker, extraTags, config.markdownDescription, config.fullDescription));
81
+ }
82
+ else if (config.jsDoc === "basic") {
83
+ return new AnnotatedNodeParser_js_1.AnnotatedNodeParser(nodeParser, new BasicAnnotationsReader_js_1.BasicAnnotationsReader(extraTags));
84
+ }
85
+ else {
86
+ return nodeParser;
87
+ }
88
+ }
89
+ function withCircular(nodeParser) {
90
+ return new CircularReferenceNodeParser_js_1.CircularReferenceNodeParser(nodeParser);
91
+ }
92
+ if (augmentor) {
93
+ augmentor(chainNodeParser);
94
+ }
95
+ chainNodeParser
96
+ .addNodeParser(new HiddenTypeNodeParser_js_1.HiddenNodeParser(typeChecker))
97
+ .addNodeParser(new StringTypeNodeParser_js_1.StringTypeNodeParser())
98
+ .addNodeParser(new SymbolTypeNodeParser_js_1.SymbolTypeNodeParser())
99
+ .addNodeParser(new NumberTypeNodeParser_js_1.NumberTypeNodeParser())
100
+ .addNodeParser(new BooleanTypeNodeParser_js_1.BooleanTypeNodeParser())
101
+ .addNodeParser(new AnyTypeNodeParser_js_1.AnyTypeNodeParser())
102
+ .addNodeParser(new UnknownTypeNodeParser_js_1.UnknownTypeNodeParser())
103
+ .addNodeParser(new VoidTypeNodeParser_js_1.VoidTypeNodeParser())
104
+ .addNodeParser(new UndefinedTypeNodeParser_js_1.UndefinedTypeNodeParser())
105
+ .addNodeParser(new NeverTypeNodeParser_js_1.NeverTypeNodeParser())
106
+ .addNodeParser(new ObjectTypeNodeParser_js_1.ObjectTypeNodeParser())
107
+ .addNodeParser(new AsExpressionNodeParser_js_1.AsExpressionNodeParser(chainNodeParser))
108
+ .addNodeParser(new BinaryExpressionNodeParser_js_1.BinaryExpressionNodeParser(chainNodeParser))
109
+ .addNodeParser(new SatisfiesNodeParser_js_1.SatisfiesNodeParser(chainNodeParser))
110
+ .addNodeParser(withJsDoc(new ParameterParser_js_1.ParameterParser(chainNodeParser)))
111
+ .addNodeParser(new StringLiteralNodeParser_js_1.StringLiteralNodeParser())
112
+ .addNodeParser(new StringTemplateLiteralNodeParser_js_1.StringTemplateLiteralNodeParser(chainNodeParser))
113
+ .addNodeParser(new IntrinsicNodeParser_js_1.IntrinsicNodeParser())
114
+ .addNodeParser(new NumberLiteralNodeParser_js_1.NumberLiteralNodeParser())
115
+ .addNodeParser(new BooleanLiteralNodeParser_js_1.BooleanLiteralNodeParser())
116
+ .addNodeParser(new NullLiteralNodeParser_js_1.NullLiteralNodeParser())
117
+ .addNodeParser(new ObjectLiteralExpressionNodeParser_js_1.ObjectLiteralExpressionNodeParser(chainNodeParser, typeChecker))
118
+ .addNodeParser(new ArrayLiteralExpressionNodeParser_js_1.ArrayLiteralExpressionNodeParser(chainNodeParser))
119
+ .addNodeParser(new PrefixUnaryExpressionNodeParser_js_1.PrefixUnaryExpressionNodeParser(chainNodeParser))
120
+ .addNodeParser(new LiteralNodeParser_js_1.LiteralNodeParser(chainNodeParser))
121
+ .addNodeParser(new ParenthesizedNodeParser_js_1.ParenthesizedNodeParser(chainNodeParser))
122
+ .addNodeParser(new PromiseNodeParser_js_1.PromiseNodeParser(typeChecker, chainNodeParser))
123
+ .addNodeParser(new TypeReferenceNodeParser_js_1.TypeReferenceNodeParser(typeChecker, chainNodeParser))
124
+ .addNodeParser(new ExpressionWithTypeArgumentsNodeParser_js_1.ExpressionWithTypeArgumentsNodeParser(typeChecker, chainNodeParser))
125
+ .addNodeParser(new IndexedAccessTypeNodeParser_js_1.IndexedAccessTypeNodeParser(typeChecker, withJsDoc(chainNodeParser)))
126
+ .addNodeParser(new InferTypeNodeParser_js_1.InferTypeNodeParser(typeChecker, chainNodeParser))
127
+ .addNodeParser(new TypeofNodeParser_js_1.TypeofNodeParser(typeChecker, chainNodeParser))
128
+ .addNodeParser(new MappedTypeNodeParser_js_1.MappedTypeNodeParser(chainNodeParser, config.additionalProperties))
129
+ .addNodeParser(new ConditionalTypeNodeParser_js_1.ConditionalTypeNodeParser(typeChecker, chainNodeParser))
130
+ .addNodeParser(new TypeOperatorNodeParser_js_1.TypeOperatorNodeParser(chainNodeParser))
131
+ .addNodeParser(new UnionNodeParser_js_1.UnionNodeParser(typeChecker, chainNodeParser))
132
+ .addNodeParser(new IntersectionNodeParser_js_1.IntersectionNodeParser(typeChecker, chainNodeParser))
133
+ .addNodeParser(new TupleNodeParser_js_1.TupleNodeParser(typeChecker, chainNodeParser))
134
+ .addNodeParser(new NamedTupleMemberNodeParser_js_1.NamedTupleMemberNodeParser(chainNodeParser))
135
+ .addNodeParser(new OptionalTypeNodeParser_js_1.OptionalTypeNodeParser(chainNodeParser))
136
+ .addNodeParser(new RestTypeNodeParser_js_1.RestTypeNodeParser(chainNodeParser))
137
+ .addNodeParser(new IdentifierNodeParser_js_1.IdentifierNodeParser(chainNodeParser, typeChecker))
138
+ .addNodeParser(new SpreadElementNodeParser_js_1.SpreadElementNodeParser(chainNodeParser))
139
+ .addNodeParser(new CallExpressionParser_js_1.CallExpressionParser(typeChecker, chainNodeParser))
140
+ .addNodeParser(new NewExpressionParser_js_1.NewExpressionParser(typeChecker, chainNodeParser))
141
+ .addNodeParser(new PropertyAccessExpressionParser_js_1.PropertyAccessExpressionParser(typeChecker, chainNodeParser))
142
+ .addNodeParser(withCircular(withExpose(withJsDoc(new TypeAliasNodeParser_js_1.TypeAliasNodeParser(typeChecker, chainNodeParser)))))
143
+ .addNodeParser(withExpose(withJsDoc(new EnumNodeParser_js_1.EnumNodeParser(typeChecker))))
144
+ .addNodeParser(withCircular(withExpose(withJsDoc(new InterfaceAndClassNodeParser_js_1.InterfaceAndClassNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
145
+ .addNodeParser(withCircular(withExpose(withJsDoc(new TypeLiteralNodeParser_js_1.TypeLiteralNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
146
+ .addNodeParser(new ArrayNodeParser_js_1.ArrayNodeParser(chainNodeParser));
147
+ if (config.functions !== "fail") {
148
+ chainNodeParser
149
+ .addNodeParser(new ConstructorNodeParser_js_1.ConstructorNodeParser(chainNodeParser, config.functions))
150
+ .addNodeParser(new FunctionNodeParser_js_1.FunctionNodeParser(chainNodeParser, config.functions));
151
+ }
152
+ return withTopRef(chainNodeParser);
153
+ }
154
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import ts from "typescript";
2
+ import type { CompletedConfig } from "../src/Config.js";
3
+ export declare function createProgram(config: CompletedConfig): ts.Program;