typia 3.3.12

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 (341) hide show
  1. package/CODE_OF_CONDUCT.md +133 -0
  2. package/CONTRIBUTING.md +104 -0
  3. package/LICENSE +21 -0
  4. package/README.md +572 -0
  5. package/lib/IValidation.d.ts +11 -0
  6. package/lib/IValidation.js +3 -0
  7. package/lib/IValidation.js.map +1 -0
  8. package/lib/TypeGuardError.d.ts +16 -0
  9. package/lib/TypeGuardError.js +39 -0
  10. package/lib/TypeGuardError.js.map +1 -0
  11. package/lib/factories/CommentFactory.d.ts +4 -0
  12. package/lib/factories/CommentFactory.js +14 -0
  13. package/lib/factories/CommentFactory.js.map +1 -0
  14. package/lib/factories/ExpressionFactory.d.ts +6 -0
  15. package/lib/factories/ExpressionFactory.js +30 -0
  16. package/lib/factories/ExpressionFactory.js.map +1 -0
  17. package/lib/factories/IdentifierFactory.d.ts +7 -0
  18. package/lib/factories/IdentifierFactory.js +35 -0
  19. package/lib/factories/IdentifierFactory.js.map +1 -0
  20. package/lib/factories/LiteralFactory.d.ts +4 -0
  21. package/lib/factories/LiteralFactory.js +67 -0
  22. package/lib/factories/LiteralFactory.js.map +1 -0
  23. package/lib/factories/MetadataCollection.d.ts +20 -0
  24. package/lib/factories/MetadataCollection.js +141 -0
  25. package/lib/factories/MetadataCollection.js.map +1 -0
  26. package/lib/factories/MetadataFactory.d.ts +10 -0
  27. package/lib/factories/MetadataFactory.js +47 -0
  28. package/lib/factories/MetadataFactory.js.map +1 -0
  29. package/lib/factories/MetadataTagFactory.d.ts +6 -0
  30. package/lib/factories/MetadataTagFactory.js +317 -0
  31. package/lib/factories/MetadataTagFactory.js.map +1 -0
  32. package/lib/factories/StatementFactory.d.ts +7 -0
  33. package/lib/factories/StatementFactory.js +31 -0
  34. package/lib/factories/StatementFactory.js.map +1 -0
  35. package/lib/factories/TemplateFactory.d.ts +4 -0
  36. package/lib/factories/TemplateFactory.js +41 -0
  37. package/lib/factories/TemplateFactory.js.map +1 -0
  38. package/lib/factories/TypeFactory.d.ts +6 -0
  39. package/lib/factories/TypeFactory.js +71 -0
  40. package/lib/factories/TypeFactory.js.map +1 -0
  41. package/lib/factories/ValueFactory.d.ts +8 -0
  42. package/lib/factories/ValueFactory.js +23 -0
  43. package/lib/factories/ValueFactory.js.map +1 -0
  44. package/lib/factories/internal/MetadataHelper.d.ts +4 -0
  45. package/lib/factories/internal/MetadataHelper.js +17 -0
  46. package/lib/factories/internal/MetadataHelper.js.map +1 -0
  47. package/lib/factories/internal/emplace_metadata_object.d.ts +5 -0
  48. package/lib/factories/internal/emplace_metadata_object.js +149 -0
  49. package/lib/factories/internal/emplace_metadata_object.js.map +1 -0
  50. package/lib/factories/internal/explore_metadata.d.ts +5 -0
  51. package/lib/factories/internal/explore_metadata.js +88 -0
  52. package/lib/factories/internal/explore_metadata.js.map +1 -0
  53. package/lib/factories/internal/iterate_metadata.d.ts +5 -0
  54. package/lib/factories/internal/iterate_metadata.js +37 -0
  55. package/lib/factories/internal/iterate_metadata.js.map +1 -0
  56. package/lib/factories/internal/iterate_metadata_array.d.ts +5 -0
  57. package/lib/factories/internal/iterate_metadata_array.js +22 -0
  58. package/lib/factories/internal/iterate_metadata_array.js.map +1 -0
  59. package/lib/factories/internal/iterate_metadata_atomic.d.ts +3 -0
  60. package/lib/factories/internal/iterate_metadata_atomic.js +73 -0
  61. package/lib/factories/internal/iterate_metadata_atomic.js.map +1 -0
  62. package/lib/factories/internal/iterate_metadata_coalesce.d.ts +3 -0
  63. package/lib/factories/internal/iterate_metadata_coalesce.js +35 -0
  64. package/lib/factories/internal/iterate_metadata_coalesce.js.map +1 -0
  65. package/lib/factories/internal/iterate_metadata_constant.d.ts +4 -0
  66. package/lib/factories/internal/iterate_metadata_constant.js +40 -0
  67. package/lib/factories/internal/iterate_metadata_constant.js.map +1 -0
  68. package/lib/factories/internal/iterate_metadata_object.d.ts +5 -0
  69. package/lib/factories/internal/iterate_metadata_object.js +38 -0
  70. package/lib/factories/internal/iterate_metadata_object.js.map +1 -0
  71. package/lib/factories/internal/iterate_metadata_resolve.d.ts +5 -0
  72. package/lib/factories/internal/iterate_metadata_resolve.js +24 -0
  73. package/lib/factories/internal/iterate_metadata_resolve.js.map +1 -0
  74. package/lib/factories/internal/iterate_metadata_template.d.ts +5 -0
  75. package/lib/factories/internal/iterate_metadata_template.js +33 -0
  76. package/lib/factories/internal/iterate_metadata_template.js.map +1 -0
  77. package/lib/factories/internal/iterate_metadata_tuple.d.ts +5 -0
  78. package/lib/factories/internal/iterate_metadata_tuple.js +27 -0
  79. package/lib/factories/internal/iterate_metadata_tuple.js.map +1 -0
  80. package/lib/factories/internal/iterate_metadata_union.d.ts +5 -0
  81. package/lib/factories/internal/iterate_metadata_union.js +82 -0
  82. package/lib/factories/internal/iterate_metadata_union.js.map +1 -0
  83. package/lib/functional/$is_email.d.ts +1 -0
  84. package/lib/functional/$is_email.js +9 -0
  85. package/lib/functional/$is_email.js.map +1 -0
  86. package/lib/functional/$is_ipv4.d.ts +1 -0
  87. package/lib/functional/$is_ipv4.js +9 -0
  88. package/lib/functional/$is_ipv4.js.map +1 -0
  89. package/lib/functional/$is_ipv6.d.ts +1 -0
  90. package/lib/functional/$is_ipv6.js +9 -0
  91. package/lib/functional/$is_ipv6.js.map +1 -0
  92. package/lib/functional/$is_url.d.ts +1 -0
  93. package/lib/functional/$is_url.js +9 -0
  94. package/lib/functional/$is_url.js.map +1 -0
  95. package/lib/functional/$is_uuid.d.ts +1 -0
  96. package/lib/functional/$is_uuid.js +9 -0
  97. package/lib/functional/$is_uuid.js.map +1 -0
  98. package/lib/functional/$join.d.ts +1 -0
  99. package/lib/functional/$join.js +52 -0
  100. package/lib/functional/$join.js.map +1 -0
  101. package/lib/functional/$number.d.ts +1 -0
  102. package/lib/functional/$number.js +23 -0
  103. package/lib/functional/$number.js.map +1 -0
  104. package/lib/functional/$string.d.ts +1 -0
  105. package/lib/functional/$string.js +36 -0
  106. package/lib/functional/$string.js.map +1 -0
  107. package/lib/functional/$tail.d.ts +1 -0
  108. package/lib/functional/$tail.js +8 -0
  109. package/lib/functional/$tail.js.map +1 -0
  110. package/lib/index.d.ts +3 -0
  111. package/lib/index.js +32 -0
  112. package/lib/index.js.map +1 -0
  113. package/lib/metadata/IJsDocTagInfo.d.ts +10 -0
  114. package/lib/metadata/IJsDocTagInfo.js +3 -0
  115. package/lib/metadata/IJsDocTagInfo.js.map +1 -0
  116. package/lib/metadata/IMetadata.d.ts +15 -0
  117. package/lib/metadata/IMetadata.js +3 -0
  118. package/lib/metadata/IMetadata.js.map +1 -0
  119. package/lib/metadata/IMetadataConstant.d.ts +8 -0
  120. package/lib/metadata/IMetadataConstant.js +3 -0
  121. package/lib/metadata/IMetadataConstant.js.map +1 -0
  122. package/lib/metadata/IMetadataObject.d.ts +8 -0
  123. package/lib/metadata/IMetadataObject.js +3 -0
  124. package/lib/metadata/IMetadataObject.js.map +1 -0
  125. package/lib/metadata/IMetadataProperty.d.ts +10 -0
  126. package/lib/metadata/IMetadataProperty.js +3 -0
  127. package/lib/metadata/IMetadataProperty.js.map +1 -0
  128. package/lib/metadata/IMetadataTag.d.ts +74 -0
  129. package/lib/metadata/IMetadataTag.js +3 -0
  130. package/lib/metadata/IMetadataTag.js.map +1 -0
  131. package/lib/metadata/Metadata.d.ts +33 -0
  132. package/lib/metadata/Metadata.js +568 -0
  133. package/lib/metadata/Metadata.js.map +1 -0
  134. package/lib/metadata/MetadataConstant.d.ts +2 -0
  135. package/lib/metadata/MetadataConstant.js +3 -0
  136. package/lib/metadata/MetadataConstant.js.map +1 -0
  137. package/lib/metadata/MetadataObject.d.ts +15 -0
  138. package/lib/metadata/MetadataObject.js +64 -0
  139. package/lib/metadata/MetadataObject.js.map +1 -0
  140. package/lib/metadata/MetadataProperty.d.ts +16 -0
  141. package/lib/metadata/MetadataProperty.js +37 -0
  142. package/lib/metadata/MetadataProperty.js.map +1 -0
  143. package/lib/module.d.ts +382 -0
  144. package/lib/module.js +187 -0
  145. package/lib/module.js.map +1 -0
  146. package/lib/programmers/ApplicationProgrammer.d.ts +11 -0
  147. package/lib/programmers/ApplicationProgrammer.js +48 -0
  148. package/lib/programmers/ApplicationProgrammer.js.map +1 -0
  149. package/lib/programmers/AssertProgrammer.d.ts +5 -0
  150. package/lib/programmers/AssertProgrammer.js +79 -0
  151. package/lib/programmers/AssertProgrammer.js.map +1 -0
  152. package/lib/programmers/CheckerProgrammer.d.ts +41 -0
  153. package/lib/programmers/CheckerProgrammer.js +279 -0
  154. package/lib/programmers/CheckerProgrammer.js.map +1 -0
  155. package/lib/programmers/FeatureProgrammer.d.ts +53 -0
  156. package/lib/programmers/FeatureProgrammer.js +211 -0
  157. package/lib/programmers/FeatureProgrammer.js.map +1 -0
  158. package/lib/programmers/IsProgrammer.d.ts +21 -0
  159. package/lib/programmers/IsProgrammer.js +78 -0
  160. package/lib/programmers/IsProgrammer.js.map +1 -0
  161. package/lib/programmers/StringifyProgrammer.d.ts +5 -0
  162. package/lib/programmers/StringifyProgrammer.js +433 -0
  163. package/lib/programmers/StringifyProgrammer.js.map +1 -0
  164. package/lib/programmers/ValidateProgrammer.d.ts +5 -0
  165. package/lib/programmers/ValidateProgrammer.js +96 -0
  166. package/lib/programmers/ValidateProgrammer.js.map +1 -0
  167. package/lib/programmers/helpers/FunctionImporeter.d.ts +9 -0
  168. package/lib/programmers/helpers/FunctionImporeter.js +58 -0
  169. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -0
  170. package/lib/programmers/helpers/IExpressionEntry.d.ts +8 -0
  171. package/lib/programmers/helpers/IExpressionEntry.js +3 -0
  172. package/lib/programmers/helpers/IExpressionEntry.js.map +1 -0
  173. package/lib/programmers/helpers/OptionPredicator.d.ts +5 -0
  174. package/lib/programmers/helpers/OptionPredicator.js +17 -0
  175. package/lib/programmers/helpers/OptionPredicator.js.map +1 -0
  176. package/lib/programmers/helpers/StringifyJoinder.d.ts +8 -0
  177. package/lib/programmers/helpers/StringifyJoinder.js +95 -0
  178. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -0
  179. package/lib/programmers/helpers/StringifyPredicator.d.ts +5 -0
  180. package/lib/programmers/helpers/StringifyPredicator.js +19 -0
  181. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -0
  182. package/lib/programmers/helpers/UnionExplorer.d.ts +13 -0
  183. package/lib/programmers/helpers/UnionExplorer.js +117 -0
  184. package/lib/programmers/helpers/UnionExplorer.js.map +1 -0
  185. package/lib/programmers/helpers/UnionPredicator.d.ts +11 -0
  186. package/lib/programmers/helpers/UnionPredicator.js +111 -0
  187. package/lib/programmers/helpers/UnionPredicator.js.map +1 -0
  188. package/lib/programmers/internal/application_array.d.ts +1 -0
  189. package/lib/programmers/internal/application_array.js +63 -0
  190. package/lib/programmers/internal/application_array.js.map +1 -0
  191. package/lib/programmers/internal/application_boolean.d.ts +1 -0
  192. package/lib/programmers/internal/application_boolean.js +18 -0
  193. package/lib/programmers/internal/application_boolean.js.map +1 -0
  194. package/lib/programmers/internal/application_constant.d.ts +1 -0
  195. package/lib/programmers/internal/application_constant.js +26 -0
  196. package/lib/programmers/internal/application_constant.js.map +1 -0
  197. package/lib/programmers/internal/application_default.d.ts +1 -0
  198. package/lib/programmers/internal/application_default.js +40 -0
  199. package/lib/programmers/internal/application_default.js.map +1 -0
  200. package/lib/programmers/internal/application_default_string.d.ts +1 -0
  201. package/lib/programmers/internal/application_default_string.js +61 -0
  202. package/lib/programmers/internal/application_default_string.js.map +1 -0
  203. package/lib/programmers/internal/application_number.d.ts +1 -0
  204. package/lib/programmers/internal/application_number.js +86 -0
  205. package/lib/programmers/internal/application_number.js.map +1 -0
  206. package/lib/programmers/internal/application_object.d.ts +1 -0
  207. package/lib/programmers/internal/application_object.js +96 -0
  208. package/lib/programmers/internal/application_object.js.map +1 -0
  209. package/lib/programmers/internal/application_schema.d.ts +1 -0
  210. package/lib/programmers/internal/application_schema.js +246 -0
  211. package/lib/programmers/internal/application_schema.js.map +1 -0
  212. package/lib/programmers/internal/application_string.d.ts +1 -0
  213. package/lib/programmers/internal/application_string.js +66 -0
  214. package/lib/programmers/internal/application_string.js.map +1 -0
  215. package/lib/programmers/internal/application_templates.d.ts +1 -0
  216. package/lib/programmers/internal/application_templates.js +24 -0
  217. package/lib/programmers/internal/application_templates.js.map +1 -0
  218. package/lib/programmers/internal/application_tuple.d.ts +1 -0
  219. package/lib/programmers/internal/application_tuple.js +24 -0
  220. package/lib/programmers/internal/application_tuple.js.map +1 -0
  221. package/lib/programmers/internal/check_array.d.ts +1 -0
  222. package/lib/programmers/internal/check_array.js +52 -0
  223. package/lib/programmers/internal/check_array.js.map +1 -0
  224. package/lib/programmers/internal/check_dynamic_properties.d.ts +1 -0
  225. package/lib/programmers/internal/check_dynamic_properties.js +111 -0
  226. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -0
  227. package/lib/programmers/internal/check_everything.d.ts +1 -0
  228. package/lib/programmers/internal/check_everything.js +17 -0
  229. package/lib/programmers/internal/check_everything.js.map +1 -0
  230. package/lib/programmers/internal/check_length.d.ts +1 -0
  231. package/lib/programmers/internal/check_length.js +28 -0
  232. package/lib/programmers/internal/check_length.js.map +1 -0
  233. package/lib/programmers/internal/check_number.d.ts +1 -0
  234. package/lib/programmers/internal/check_number.js +124 -0
  235. package/lib/programmers/internal/check_number.js.map +1 -0
  236. package/lib/programmers/internal/check_object.d.ts +1 -0
  237. package/lib/programmers/internal/check_object.js +35 -0
  238. package/lib/programmers/internal/check_object.js.map +1 -0
  239. package/lib/programmers/internal/check_string.d.ts +1 -0
  240. package/lib/programmers/internal/check_string.js +45 -0
  241. package/lib/programmers/internal/check_string.js.map +1 -0
  242. package/lib/programmers/internal/check_string_tags.d.ts +1 -0
  243. package/lib/programmers/internal/check_string_tags.js +51 -0
  244. package/lib/programmers/internal/check_string_tags.js.map +1 -0
  245. package/lib/programmers/internal/check_template.d.ts +1 -0
  246. package/lib/programmers/internal/check_template.js +50 -0
  247. package/lib/programmers/internal/check_template.js.map +1 -0
  248. package/lib/programmers/internal/decode_union_object.d.ts +1 -0
  249. package/lib/programmers/internal/decode_union_object.js +56 -0
  250. package/lib/programmers/internal/decode_union_object.js.map +1 -0
  251. package/lib/programmers/internal/metadata_to_pattern.d.ts +2 -0
  252. package/lib/programmers/internal/metadata_to_pattern.js +62 -0
  253. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -0
  254. package/lib/programmers/internal/stringify_dynamic_properties.d.ts +1 -0
  255. package/lib/programmers/internal/stringify_dynamic_properties.js +76 -0
  256. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -0
  257. package/lib/programmers/internal/stringify_regular_properties.d.ts +1 -0
  258. package/lib/programmers/internal/stringify_regular_properties.js +78 -0
  259. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -0
  260. package/lib/programmers/internal/template_to_pattern.d.ts +1 -0
  261. package/lib/programmers/internal/template_to_pattern.js +13 -0
  262. package/lib/programmers/internal/template_to_pattern.js.map +1 -0
  263. package/lib/schemas/IJsonApplication.d.ts +8 -0
  264. package/lib/schemas/IJsonApplication.js +3 -0
  265. package/lib/schemas/IJsonApplication.js.map +1 -0
  266. package/lib/schemas/IJsonComponents.d.ts +19 -0
  267. package/lib/schemas/IJsonComponents.js +3 -0
  268. package/lib/schemas/IJsonComponents.js.map +1 -0
  269. package/lib/schemas/IJsonSchema.d.ts +62 -0
  270. package/lib/schemas/IJsonSchema.js +3 -0
  271. package/lib/schemas/IJsonSchema.js.map +1 -0
  272. package/lib/transform.d.ts +3 -0
  273. package/lib/transform.js +21 -0
  274. package/lib/transform.js.map +1 -0
  275. package/lib/transformers/CallExpressionTransformer.d.ts +5 -0
  276. package/lib/transformers/CallExpressionTransformer.js +45 -0
  277. package/lib/transformers/CallExpressionTransformer.js.map +1 -0
  278. package/lib/transformers/ExpressionWithArgumentTransformer.d.ts +0 -0
  279. package/lib/transformers/ExpressionWithArgumentTransformer.js +2 -0
  280. package/lib/transformers/ExpressionWithArgumentTransformer.js.map +1 -0
  281. package/lib/transformers/FileTransformer.d.ts +5 -0
  282. package/lib/transformers/FileTransformer.js +34 -0
  283. package/lib/transformers/FileTransformer.js.map +1 -0
  284. package/lib/transformers/IProject.d.ts +9 -0
  285. package/lib/transformers/IProject.js +3 -0
  286. package/lib/transformers/IProject.js.map +1 -0
  287. package/lib/transformers/ITransformOptions.d.ts +4 -0
  288. package/lib/transformers/ITransformOptions.js +3 -0
  289. package/lib/transformers/ITransformOptions.js.map +1 -0
  290. package/lib/transformers/NodeTransformer.d.ts +5 -0
  291. package/lib/transformers/NodeTransformer.js +18 -0
  292. package/lib/transformers/NodeTransformer.js.map +1 -0
  293. package/lib/transformers/features/ApplicationTransformer.d.ts +5 -0
  294. package/lib/transformers/features/ApplicationTransformer.js +63 -0
  295. package/lib/transformers/features/ApplicationTransformer.js.map +1 -0
  296. package/lib/transformers/features/AssertTransformer.d.ts +5 -0
  297. package/lib/transformers/features/AssertTransformer.js +30 -0
  298. package/lib/transformers/features/AssertTransformer.js.map +1 -0
  299. package/lib/transformers/features/CreateTransformer.d.ts +5 -0
  300. package/lib/transformers/features/CreateTransformer.js +29 -0
  301. package/lib/transformers/features/CreateTransformer.js.map +1 -0
  302. package/lib/transformers/features/IsTransformer.d.ts +5 -0
  303. package/lib/transformers/features/IsTransformer.js +30 -0
  304. package/lib/transformers/features/IsTransformer.js.map +1 -0
  305. package/lib/transformers/features/StringifyTransformer.d.ts +5 -0
  306. package/lib/transformers/features/StringifyTransformer.js +23 -0
  307. package/lib/transformers/features/StringifyTransformer.js.map +1 -0
  308. package/lib/transformers/features/ValidateTransformer.d.ts +5 -0
  309. package/lib/transformers/features/ValidateTransformer.js +30 -0
  310. package/lib/transformers/features/ValidateTransformer.js.map +1 -0
  311. package/lib/typings/Atomic.d.ts +11 -0
  312. package/lib/typings/Atomic.js +3 -0
  313. package/lib/typings/Atomic.js.map +1 -0
  314. package/lib/typings/ClassProperties.d.ts +4 -0
  315. package/lib/typings/ClassProperties.js +3 -0
  316. package/lib/typings/ClassProperties.js.map +1 -0
  317. package/lib/typings/OmitNever.d.ts +2 -0
  318. package/lib/typings/OmitNever.js +3 -0
  319. package/lib/typings/OmitNever.js.map +1 -0
  320. package/lib/typings/SpecialFields.d.ts +3 -0
  321. package/lib/typings/SpecialFields.js +3 -0
  322. package/lib/typings/SpecialFields.js.map +1 -0
  323. package/lib/typings/Writable.d.ts +5 -0
  324. package/lib/typings/Writable.js +8 -0
  325. package/lib/typings/Writable.js.map +1 -0
  326. package/lib/utils/ArrayUtil.d.ts +8 -0
  327. package/lib/utils/ArrayUtil.js +69 -0
  328. package/lib/utils/ArrayUtil.js.map +1 -0
  329. package/lib/utils/Escaper.d.ts +3 -0
  330. package/lib/utils/Escaper.js +52 -0
  331. package/lib/utils/Escaper.js.map +1 -0
  332. package/lib/utils/MapUtil.d.ts +3 -0
  333. package/lib/utils/MapUtil.js +16 -0
  334. package/lib/utils/MapUtil.js.map +1 -0
  335. package/lib/utils/PatternUtil.d.ts +7 -0
  336. package/lib/utils/PatternUtil.js +59 -0
  337. package/lib/utils/PatternUtil.js.map +1 -0
  338. package/lib/utils/Singleton.d.ts +6 -0
  339. package/lib/utils/Singleton.js +47 -0
  340. package/lib/utils/Singleton.js.map +1 -0
  341. package/package.json +78 -0
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.stringify_regular_properties = void 0;
32
+ var typescript_1 = __importDefault(require("typescript"));
33
+ var TemplateFactory_1 = require("../../factories/TemplateFactory");
34
+ var ValueFactory_1 = require("../../factories/ValueFactory");
35
+ function stringify_regular_properties(regular, dynamic) {
36
+ var output = [];
37
+ regular.sort(function (x, y) { return sequence(x.meta) - sequence(y.meta); });
38
+ regular.forEach(function (entry, index) {
39
+ var key = entry.key.getSoleLiteral();
40
+ var base = [
41
+ typescript_1.default.factory.createStringLiteral("".concat(JSON.stringify(key), ":")),
42
+ entry.expression,
43
+ ];
44
+ if (index !== regular.length - 1 || dynamic.length !== 0)
45
+ base.push(typescript_1.default.factory.createStringLiteral(","));
46
+ var empty = (entry.meta.required === false &&
47
+ entry.meta.nullable === false &&
48
+ entry.meta.size() === 0) ||
49
+ (entry.meta.functional &&
50
+ entry.meta.nullable === false &&
51
+ entry.meta.size() === 1);
52
+ if (empty === true)
53
+ return;
54
+ else if (entry.meta.required === false ||
55
+ entry.meta.functional === true ||
56
+ entry.meta.any === true)
57
+ output.push(typescript_1.default.factory.createConditionalExpression((function () {
58
+ var conditions = [];
59
+ if (entry.meta.required === false || entry.meta.any)
60
+ conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), entry.input));
61
+ if (entry.meta.functional || entry.meta.any)
62
+ conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(entry.input)));
63
+ return conditions.length === 1
64
+ ? conditions[0]
65
+ : conditions.reduce(function (x, y) {
66
+ return typescript_1.default.factory.createLogicalOr(x, y);
67
+ });
68
+ })(), undefined, typescript_1.default.factory.createStringLiteral(""), undefined, TemplateFactory_1.TemplateFactory.generate(base)));
69
+ else
70
+ output.push.apply(output, __spreadArray([], __read(base), false));
71
+ });
72
+ return output;
73
+ }
74
+ exports.stringify_regular_properties = stringify_regular_properties;
75
+ function sequence(meta) {
76
+ return meta.any || !meta.required || meta.functional ? 0 : 1;
77
+ }
78
+ //# sourceMappingURL=stringify_regular_properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.template_to_pattern = void 0;
4
+ var PatternUtil_1 = require("../../utils/PatternUtil");
5
+ var metadata_to_pattern_1 = require("./metadata_to_pattern");
6
+ var template_to_pattern = function (top) { return function (template) {
7
+ var pattern = template
8
+ .map(function (meta) { return (0, metadata_to_pattern_1.metadata_to_pattern)(false)(meta); })
9
+ .join("");
10
+ return top ? PatternUtil_1.PatternUtil.fix(pattern) : pattern;
11
+ }; };
12
+ exports.template_to_pattern = template_to_pattern;
13
+ //# sourceMappingURL=template_to_pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template_to_pattern.js","sourceRoot":"","sources":["../../../src/programmers/internal/template_to_pattern.ts"],"names":[],"mappings":";;;AAEA,uDAAsD;AAEtD,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAAC,GAAY,IAAK,OAAA,UAAC,QAAoB;IACtE,IAAM,OAAO,GAAW,QAAQ;SAC3B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,yCAAmB,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAhC,CAAgC,CAAC;SAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,yBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC,EALoD,CAKpD,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
@@ -0,0 +1,8 @@
1
+ import { IJsonComponents } from "./IJsonComponents";
2
+ import { IJsonSchema } from "./IJsonSchema";
3
+ export interface IJsonApplication {
4
+ schemas: IJsonSchema[];
5
+ components: IJsonComponents;
6
+ purpose: "swagger" | "ajv";
7
+ prefix: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IJsonApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IJsonApplication.js","sourceRoot":"","sources":["../../src/schemas/IJsonApplication.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
+ import { IJsonSchema } from "./IJsonSchema";
3
+ export interface IJsonComponents {
4
+ schemas: Record<string, IJsonComponents.IObject>;
5
+ }
6
+ export declare namespace IJsonComponents {
7
+ interface IObject {
8
+ $id?: string;
9
+ type: "object";
10
+ nullable: boolean;
11
+ properties: Record<string, IJsonSchema>;
12
+ patternProperties?: Record<string, IJsonSchema>;
13
+ additionalProperties?: IJsonSchema;
14
+ required?: string[];
15
+ description?: string;
16
+ "x-tson_jsDocTags"?: IJsDocTagInfo[];
17
+ $recursiveAnchor?: boolean;
18
+ }
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IJsonComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IJsonComponents.js","sourceRoot":"","sources":["../../src/schemas/IJsonComponents.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
+ import { IMetadataTag } from "../metadata/IMetadataTag";
3
+ import { Atomic } from "../typings/Atomic";
4
+ export declare type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnkown;
5
+ export declare namespace IJsonSchema {
6
+ type NotUnknown = IEnumeration<"boolean"> | IEnumeration<"number"> | IEnumeration<"bigint"> | IEnumeration<"string"> | IBoolean | INumber | IBigInt | IString | IArray | ITuple | IOneOf | IReference | IRecursiveReference | INullOnly;
7
+ interface IEnumeration<Literal extends Atomic.Literal> extends IAtomic<Literal> {
8
+ enum: Array<Atomic.Mapper[Literal]>;
9
+ }
10
+ interface IAtomic<Literal extends Atomic.Literal> extends IAttribute {
11
+ type: Literal;
12
+ nullable: boolean;
13
+ default?: Atomic.Mapper[Literal];
14
+ }
15
+ interface IString extends IAtomic<"string"> {
16
+ minLength?: number;
17
+ maxLength?: number;
18
+ pattern?: string;
19
+ format?: string;
20
+ }
21
+ interface INumber extends IAtomic<"number" | "integer"> {
22
+ minimum?: number;
23
+ maximum?: number;
24
+ exclusiveMinimum?: number;
25
+ exclusiveMaximum?: number;
26
+ }
27
+ interface IBoolean extends IAtomic<"boolean"> {
28
+ }
29
+ interface IBigInt extends IAtomic<"bigint"> {
30
+ }
31
+ interface IArray extends ISignificant<"array"> {
32
+ items: IJsonSchema;
33
+ minItems?: number;
34
+ maxItems?: number;
35
+ }
36
+ interface ITuple extends ISignificant<"array"> {
37
+ items: IJsonSchema[];
38
+ }
39
+ interface IReference extends IAttribute {
40
+ $ref: string;
41
+ }
42
+ interface IRecursiveReference extends IAttribute {
43
+ $recursiveRef: string;
44
+ }
45
+ interface INullOnly extends IAttribute {
46
+ type: "null";
47
+ }
48
+ interface IOneOf extends IAttribute {
49
+ oneOf: IJsonSchema[];
50
+ }
51
+ interface IUnkown {
52
+ }
53
+ interface ISignificant<Literal extends string> {
54
+ type: Literal;
55
+ nullable: boolean;
56
+ }
57
+ interface IAttribute {
58
+ description?: string;
59
+ "x-tson-metaTags"?: IMetadataTag[];
60
+ "x-tson-jsDocTags"?: IJsDocTagInfo[];
61
+ }
62
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IJsonSchema.js","sourceRoot":"","sources":["../../src/schemas/IJsonSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import ts from "typescript";
2
+ import { ITransformOptions } from "./transformers/ITransformOptions";
3
+ export default function transform(program: ts.Program, options?: ITransformOptions): ts.TransformerFactory<ts.SourceFile>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var typescript_1 = __importDefault(require("typescript"));
7
+ var FileTransformer_1 = require("./transformers/FileTransformer");
8
+ function transform(program, options) {
9
+ var project = {
10
+ program: program,
11
+ compilerOptions: program.getCompilerOptions(),
12
+ checker: program.getTypeChecker(),
13
+ printer: typescript_1.default.createPrinter(),
14
+ options: options || {},
15
+ };
16
+ return function (context) { return function (file) {
17
+ return FileTransformer_1.FileTransformer.transform(project, context, file);
18
+ }; };
19
+ }
20
+ exports.default = transform;
21
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAE5B,kEAAiE;AAIjE,SAAwB,SAAS,CAC7B,OAAmB,EACnB,OAA2B;IAE3B,IAAM,OAAO,GAAa;QACtB,OAAO,SAAA;QACP,eAAe,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC7C,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,IAAI,EAAE;KACzB,CAAC;IACF,OAAO,UAAC,OAAO,IAAK,OAAA,UAAC,IAAI;QACrB,OAAA,iCAAe,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;IAAjD,CAAiD,EADjC,CACiC,CAAC;AAC1D,CAAC;AAbD,4BAaC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "./IProject";
3
+ export declare namespace CallExpressionTransformer {
4
+ function transform(project: IProject, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CallExpressionTransformer = void 0;
7
+ var path_1 = __importDefault(require("path"));
8
+ var ApplicationTransformer_1 = require("./features/ApplicationTransformer");
9
+ var AssertTransformer_1 = require("./features/AssertTransformer");
10
+ var CreateTransformer_1 = require("./features/CreateTransformer");
11
+ var IsTransformer_1 = require("./features/IsTransformer");
12
+ var StringifyTransformer_1 = require("./features/StringifyTransformer");
13
+ var ValidateTransformer_1 = require("./features/ValidateTransformer");
14
+ var CallExpressionTransformer;
15
+ (function (CallExpressionTransformer) {
16
+ function transform(project, expression) {
17
+ var _a;
18
+ var declaration = (_a = project.checker.getResolvedSignature(expression)) === null || _a === void 0 ? void 0 : _a.declaration;
19
+ if (!declaration)
20
+ return expression;
21
+ var file = path_1.default.resolve(declaration.getSourceFile().fileName);
22
+ if (file !== LIB_PATH && file !== SRC_PATH)
23
+ return expression;
24
+ var name = project.checker.getTypeAtLocation(declaration).symbol.name;
25
+ var functor = FUNCTORS[name];
26
+ if (functor === undefined)
27
+ return expression;
28
+ return functor()(project, expression.expression, expression);
29
+ }
30
+ CallExpressionTransformer.transform = transform;
31
+ })(CallExpressionTransformer = exports.CallExpressionTransformer || (exports.CallExpressionTransformer = {}));
32
+ var LIB_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.d.ts"));
33
+ var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.ts"));
34
+ var FUNCTORS = {
35
+ assertType: function () { return AssertTransformer_1.AssertTransformer.transform(false); },
36
+ is: function () { return IsTransformer_1.IsTransformer.transform(false); },
37
+ validate: function () { return ValidateTransformer_1.ValidateTransformer.transform(false); },
38
+ assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
39
+ equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
40
+ validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
41
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
42
+ create: function () { return CreateTransformer_1.CreateTransformer.transform; },
43
+ stringify: function () { return StringifyTransformer_1.StringifyTransformer.transform; },
44
+ };
45
+ //# sourceMappingURL=CallExpressionTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,4EAA2E;AAC3E,kEAAiE;AACjE,kEAAiE;AACjE,0DAAyD;AACzD,wEAAuE;AACvE,sEAAqE;AAErE,IAAiB,yBAAyB,CA8BzC;AA9BD,WAAiB,yBAAyB;IACtC,SAAgB,SAAS,CACrB,OAAiB,EACjB,UAA6B;;QAM7B,IAAM,WAAW,GACb,MAAA,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAGpC,IAAM,IAAI,GAAW,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAMtD,IAAA,IAAI,GAAK,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,KAA1D,CAA2D;QAGvE,IAAM,OAAO,GAA6B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAG7C,OAAO,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IA5Be,mCAAS,YA4BxB,CAAA;AACL,CAAC,EA9BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QA8BzC;AAQD,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AACzE,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,IAAM,QAAQ,GAA+B;IACzC,UAAU,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAlC,CAAkC;IACpD,EAAE,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAA9B,CAA8B;IACxC,QAAQ,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAApC,CAAoC;IAEpD,YAAY,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAjC,CAAiC;IACrD,MAAM,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAA7B,CAA6B;IAC3C,cAAc,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAnC,CAAmC;IAEzD,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,MAAM,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,EAA3B,CAA2B;IACzC,SAAS,EAAE,cAAM,OAAA,2CAAoB,CAAC,SAAS,EAA9B,CAA8B;CAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ExpressionWithArgumentTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionWithArgumentTransformer.js","sourceRoot":"","sources":["../../src/transformers/ExpressionWithArgumentTransformer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "./IProject";
3
+ export declare namespace FileTransformer {
4
+ function transform(project: IProject, context: ts.TransformationContext, file: ts.SourceFile): ts.SourceFile;
5
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FileTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var NodeTransformer_1 = require("./NodeTransformer");
9
+ var FileTransformer;
10
+ (function (FileTransformer) {
11
+ function transform(project, context, file) {
12
+ if (file.isDeclarationFile)
13
+ return file;
14
+ return typescript_1.default.visitEachChild(file, function (node) { return iterate_node(project, context, node); }, context);
15
+ }
16
+ FileTransformer.transform = transform;
17
+ function iterate_node(project, context, node) {
18
+ return typescript_1.default.visitEachChild(try_transform_node(project, node), function (child) { return iterate_node(project, context, child); }, context);
19
+ }
20
+ function try_transform_node(project, node) {
21
+ try {
22
+ return NodeTransformer_1.NodeTransformer.transform(project, node);
23
+ }
24
+ catch (exp) {
25
+ if (!(exp instanceof Error))
26
+ throw exp;
27
+ var file = node.getSourceFile();
28
+ var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
29
+ exp.message += " - ".concat(file.fileName, ".").concat(line + 1, ":").concat(character + 1);
30
+ throw exp;
31
+ }
32
+ }
33
+ })(FileTransformer = exports.FileTransformer || (exports.FileTransformer = {}));
34
+ //# sourceMappingURL=FileTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,qDAAoD;AAEpD,IAAiB,eAAe,CA2C/B;AA3CD,WAAiB,eAAe;IAC5B,SAAgB,SAAS,CACrB,OAAiB,EACjB,OAAiC,EACjC,IAAmB;QAGnB,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAGxC,OAAO,oBAAE,CAAC,cAAc,CACpB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAApC,CAAoC,EAC9C,OAAO,CACV,CAAC;IACN,CAAC;IAde,yBAAS,YAcxB,CAAA;IAED,SAAS,YAAY,CACjB,OAAiB,EACjB,OAAiC,EACjC,IAAa;QAEb,OAAO,oBAAE,CAAC,cAAc,CACpB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EACjC,UAAC,KAAK,IAAK,OAAA,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAArC,CAAqC,EAChD,OAAO,CACV,CAAC;IACN,CAAC;IAED,SAAS,kBAAkB,CAAC,OAAiB,EAAE,IAAa;QACxD,IAAI;YACA,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;gBAAE,MAAM,GAAG,CAAC;YAEvC,IAAM,IAAI,GAAkB,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAA,KAAsB,IAAI,CAAC,6BAA6B,CAC1D,IAAI,CAAC,GAAG,CACX,EAFO,IAAI,UAAA,EAAE,SAAS,eAEtB,CAAC;YACF,GAAG,CAAC,OAAO,IAAI,aAAM,IAAI,CAAC,QAAQ,cAAI,IAAI,GAAG,CAAC,cAAI,SAAS,GAAG,CAAC,CAAE,CAAC;YAClE,MAAM,GAAG,CAAC;SACb;IACL,CAAC;AACL,CAAC,EA3CgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA2C/B"}
@@ -0,0 +1,9 @@
1
+ import ts from "typescript";
2
+ import { ITransformOptions } from "./ITransformOptions";
3
+ export interface IProject {
4
+ program: ts.Program;
5
+ compilerOptions: ts.CompilerOptions;
6
+ checker: ts.TypeChecker;
7
+ printer: ts.Printer;
8
+ options: ITransformOptions;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProject.js","sourceRoot":"","sources":["../../src/transformers/IProject.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ITransformOptions {
2
+ functional?: boolean | "checker" | "stringify";
3
+ numeric?: boolean | "checker" | "stringify";
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITransformOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITransformOptions.js","sourceRoot":"","sources":["../../src/transformers/ITransformOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "./IProject";
3
+ export declare namespace NodeTransformer {
4
+ function transform(project: IProject, expression: ts.Node): ts.Node;
5
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NodeTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var CallExpressionTransformer_1 = require("./CallExpressionTransformer");
9
+ var NodeTransformer;
10
+ (function (NodeTransformer) {
11
+ function transform(project, expression) {
12
+ if (typescript_1.default.isCallExpression(expression))
13
+ return CallExpressionTransformer_1.CallExpressionTransformer.transform(project, expression);
14
+ return expression;
15
+ }
16
+ NodeTransformer.transform = transform;
17
+ })(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {}));
18
+ //# sourceMappingURL=NodeTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTransformer.js","sourceRoot":"","sources":["../../src/transformers/NodeTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,yEAAwE;AAKxE,IAAiB,eAAe,CAW/B;AAXD,WAAiB,eAAe;IAC5B,SAAgB,SAAS,CAAC,OAAiB,EAAE,UAAmB;QAC5D,IAAI,oBAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC/B,OAAO,qDAAyB,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAMpE,OAAO,UAAU,CAAC;IACtB,CAAC;IATe,yBAAS,YASxB,CAAA;AACL,CAAC,EAXgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAW/B"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../IProject";
3
+ export declare namespace ApplicationTransformer {
4
+ function transform({ checker }: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApplicationTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var LiteralFactory_1 = require("../../factories/LiteralFactory");
9
+ var MetadataCollection_1 = require("../../factories/MetadataCollection");
10
+ var MetadataFactory_1 = require("../../factories/MetadataFactory");
11
+ var ApplicationProgrammer_1 = require("../../programmers/ApplicationProgrammer");
12
+ var ApplicationTransformer;
13
+ (function (ApplicationTransformer) {
14
+ function transform(_a, _modulo, expression) {
15
+ var _b;
16
+ var checker = _a.checker;
17
+ if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
18
+ throw new Error("Error on TSON.application(): no generic argument.");
19
+ var top = expression.typeArguments[0];
20
+ if (!typescript_1.default.isTupleTypeNode(top))
21
+ return expression;
22
+ else if (top.elements.some(function (child) { return !typescript_1.default.isTypeNode(child); }))
23
+ return expression;
24
+ var types = top.elements.map(function (child) {
25
+ return checker.getTypeFromTypeNode(child);
26
+ });
27
+ if (types.some(function (t) { return t.isTypeParameter(); }))
28
+ throw new Error("Error on TSON.application(): non-specified generic argument(s).");
29
+ var purpose = get_parameter(checker, "Purpose", expression.typeArguments[1], function (str) { return str === "swagger" || str === "ajv"; }, function () { return "swagger"; });
30
+ var prefix = get_parameter(checker, "Prefix", expression.typeArguments[2], function () { return true; }, function () {
31
+ return purpose === "swagger"
32
+ ? "#/components/schemas"
33
+ : "components#/schemas";
34
+ });
35
+ var collection = new MetadataCollection_1.MetadataCollection({
36
+ replace: MetadataCollection_1.MetadataCollection.replace,
37
+ });
38
+ var metadatas = types.map(function (type) {
39
+ return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
40
+ resolve: true,
41
+ constant: true,
42
+ });
43
+ });
44
+ var app = ApplicationProgrammer_1.ApplicationProgrammer.generate(metadatas, {
45
+ purpose: purpose,
46
+ prefix: prefix,
47
+ });
48
+ return LiteralFactory_1.LiteralFactory.generate(app);
49
+ }
50
+ ApplicationTransformer.transform = transform;
51
+ function get_parameter(checker, name, node, predicator, defaulter) {
52
+ if (!node)
53
+ return defaulter();
54
+ var type = checker.getTypeFromTypeNode(node);
55
+ if (!type.isLiteral())
56
+ throw new Error("Error on TSON.application(): generic argument \"".concat(name, "\" must be constant."));
57
+ var value = type.value;
58
+ if (typeof value !== "string" || predicator(value) === false)
59
+ throw new Error("Error on TSON.application(): invalid value on generic argument \"".concat(name, "\"."));
60
+ return value;
61
+ }
62
+ })(ApplicationTransformer = exports.ApplicationTransformer || (exports.ApplicationTransformer = {}));
63
+ //# sourceMappingURL=ApplicationTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../IProject";
3
+ export declare namespace AssertTransformer {
4
+ function transform(equals: boolean): (project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression) => ts.Expression;
5
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AssertTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var AssertProgrammer_1 = require("../../programmers/AssertProgrammer");
9
+ var AssertTransformer;
10
+ (function (AssertTransformer) {
11
+ function transform(equals) {
12
+ var SYMBOL = equals ? "assertEquals" : "assertType";
13
+ var MESSAGES = {
14
+ NO_INPUT_VALUE: "Error on TSON.".concat(SYMBOL, "(): no input value."),
15
+ GENERIC_ARGUMENT: "Error on TSON.".concat(SYMBOL, "(): non-specified generic argument."),
16
+ };
17
+ return function (project, modulo, expression) {
18
+ if (expression.arguments.length !== 1)
19
+ throw new Error(MESSAGES.NO_INPUT_VALUE);
20
+ var type = expression.typeArguments && expression.typeArguments[0]
21
+ ? project.checker.getTypeFromTypeNode(expression.typeArguments[0])
22
+ : project.checker.getTypeAtLocation(expression.arguments[0]);
23
+ if (type.isTypeParameter())
24
+ throw new Error(MESSAGES.GENERIC_ARGUMENT);
25
+ return typescript_1.default.factory.createCallExpression(AssertProgrammer_1.AssertProgrammer.generate(project, modulo, equals)(type), undefined, [expression.arguments[0]]);
26
+ };
27
+ }
28
+ AssertTransformer.transform = transform;
29
+ })(AssertTransformer = exports.AssertTransformer || (exports.AssertTransformer = {}));
30
+ //# sourceMappingURL=AssertTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/AssertTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,IAAiB,iBAAiB,CAoCjC;AApCD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CAAC,MAAe;QACrC,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACtD,IAAM,QAAQ,GAAG;YACb,cAAc,EAAE,wBAAiB,MAAM,wBAAqB;YAC5D,gBAAgB,EAAE,wBAAiB,MAAM,wCAAqC;SACjF,CAAC;QAEF,OAAO,UACH,OAAiB,EACjB,MAAiC,EACjC,UAA6B;YAE7B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAG7C,IAAM,IAAI,GACN,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B;gBACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAC7B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAC3B,CAAC;YACZ,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAG/C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EACxD,SAAS,EACT,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAC7B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IAlCe,2BAAS,YAkCxB,CAAA;AACL,CAAC,EApCgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoCjC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../IProject";
3
+ export declare namespace CreateTransformer {
4
+ function transform(_project: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.CallExpression;
5
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CreateTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var CreateTransformer;
9
+ (function (CreateTransformer) {
10
+ function transform(_project, _modulo, expression) {
11
+ var param = expression.arguments[0];
12
+ if (param === undefined)
13
+ throw new Error("Error on TSON.application(): no input value.");
14
+ var json = to_json_string(param);
15
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createStringLiteral(json)]);
16
+ }
17
+ CreateTransformer.transform = transform;
18
+ function to_json_string(param) {
19
+ try {
20
+ var text = param.getFullText();
21
+ var obj = new Function("return ".concat(text, ";"))();
22
+ return JSON.stringify(obj);
23
+ }
24
+ catch (exp) {
25
+ throw new Error("Error on TSON.application(): input value must be constant.");
26
+ }
27
+ }
28
+ })(CreateTransformer = exports.CreateTransformer || (exports.CreateTransformer = {}));
29
+ //# sourceMappingURL=CreateTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/CreateTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,IAAiB,iBAAiB,CA+BjC;AA/BD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CACrB,QAAkB,EAClB,OAAkC,EAClC,UAA6B;QAG7B,IAAM,KAAK,GAA8B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,gDAA8B,CAAC;QAGvE,IAAM,IAAI,GAAW,cAAc,CAAC,KAAK,CAAC,CAAC;QAG3C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IACN,CAAC;IAlBe,2BAAS,YAkBxB,CAAA;IAED,SAAS,cAAc,CAAC,KAAoB;QACxC,IAAI;YACA,IAAM,IAAI,GAAW,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,IAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,iBAAU,IAAI,MAAG,CAAC,EAAE,CAAC;YAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,8DAAiC,CAAC;SACpD;IACL,CAAC;AACL,CAAC,EA/BgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA+BjC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../IProject";
3
+ export declare namespace IsTransformer {
4
+ function transform(equals: boolean): (project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression) => ts.Expression;
5
+ }