typia 7.0.0-dev.20240916 → 7.0.0-dev.20240919

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 (508) hide show
  1. package/lib/executable/TypiaSetupWizard.d.ts +1 -1
  2. package/lib/executable/TypiaSetupWizard.js +86 -69
  3. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  4. package/lib/executable/setup/PackageManager.d.ts +1 -2
  5. package/lib/executable/setup/PackageManager.js +13 -10
  6. package/lib/executable/setup/PackageManager.js.map +1 -1
  7. package/lib/factories/JsonMetadataFactory.d.ts +7 -1
  8. package/lib/factories/JsonMetadataFactory.js +17 -15
  9. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  10. package/lib/factories/MetadataFactory.d.ts +14 -2
  11. package/lib/factories/MetadataFactory.js +287 -324
  12. package/lib/factories/MetadataFactory.js.map +1 -1
  13. package/lib/factories/ProtobufFactory.d.ts +8 -1
  14. package/lib/factories/ProtobufFactory.js +22 -17
  15. package/lib/factories/ProtobufFactory.js.map +1 -1
  16. package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +13 -0
  17. package/lib/factories/internal/metadata/IMetadataIteratorProps.js +3 -0
  18. package/lib/factories/internal/metadata/IMetadataIteratorProps.js.map +1 -0
  19. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -4
  20. package/lib/factories/internal/metadata/emplace_metadata_alias.js +10 -18
  21. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  22. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +6 -3
  23. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +10 -18
  24. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  25. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +2 -4
  26. package/lib/factories/internal/metadata/emplace_metadata_object.js +171 -158
  27. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  28. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -3
  29. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +26 -34
  30. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  31. package/lib/factories/internal/metadata/explore_metadata.d.ts +6 -3
  32. package/lib/factories/internal/metadata/explore_metadata.js +24 -21
  33. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  34. package/lib/factories/internal/metadata/iterate_metadata.d.ts +2 -5
  35. package/lib/factories/internal/metadata/iterate_metadata.js +27 -36
  36. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_alias.d.ts +2 -5
  38. package/lib/factories/internal/metadata/iterate_metadata_alias.js +11 -19
  39. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  40. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +2 -5
  41. package/lib/factories/internal/metadata/iterate_metadata_array.js +59 -56
  42. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  43. package/lib/factories/internal/metadata/iterate_metadata_atomic.d.ts +4 -1
  44. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +3 -3
  45. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_coalesce.d.ts +4 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +5 -5
  48. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +4 -1
  50. package/lib/factories/internal/metadata/iterate_metadata_collection.js +119 -121
  51. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +4 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +7 -7
  54. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_constant.d.ts +2 -4
  56. package/lib/factories/internal/metadata/iterate_metadata_constant.js +39 -43
  57. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  58. package/lib/factories/internal/metadata/iterate_metadata_escape.d.ts +2 -5
  59. package/lib/factories/internal/metadata/iterate_metadata_escape.js +15 -23
  60. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  61. package/lib/factories/internal/metadata/iterate_metadata_function.d.ts +2 -5
  62. package/lib/factories/internal/metadata/iterate_metadata_function.js +43 -51
  63. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  64. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.ts +2 -5
  65. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +142 -152
  66. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  67. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +2 -5
  68. package/lib/factories/internal/metadata/iterate_metadata_map.js +15 -23
  69. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_native.d.ts +2 -3
  71. package/lib/factories/internal/metadata/iterate_metadata_native.js +42 -36
  72. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  73. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +2 -5
  74. package/lib/factories/internal/metadata/iterate_metadata_object.js +12 -20
  75. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +2 -5
  77. package/lib/factories/internal/metadata/iterate_metadata_set.js +11 -19
  78. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +4 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_sort.js +112 -95
  81. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +2 -5
  83. package/lib/factories/internal/metadata/iterate_metadata_template.js +17 -25
  84. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  85. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +2 -4
  86. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +9 -17
  87. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +2 -5
  89. package/lib/factories/internal/metadata/iterate_metadata_union.js +7 -15
  90. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  91. package/lib/index.mjs +3610 -25
  92. package/lib/index.mjs.map +1 -1
  93. package/lib/programmers/AssertProgrammer.js +2 -2
  94. package/lib/programmers/AssertProgrammer.js.map +1 -1
  95. package/lib/programmers/CheckerProgrammer.d.ts +8 -2
  96. package/lib/programmers/CheckerProgrammer.js +73 -57
  97. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  98. package/lib/programmers/FeatureProgrammer.d.ts +9 -2
  99. package/lib/programmers/FeatureProgrammer.js +10 -5
  100. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  101. package/lib/programmers/IsProgrammer.d.ts +5 -2
  102. package/lib/programmers/IsProgrammer.js +2 -2
  103. package/lib/programmers/IsProgrammer.js.map +1 -1
  104. package/lib/programmers/RandomProgrammer.js +18 -12
  105. package/lib/programmers/RandomProgrammer.js.map +1 -1
  106. package/lib/programmers/ValidateProgrammer.js +2 -2
  107. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  108. package/lib/programmers/helpers/AtomicPredicator.d.ts +9 -3
  109. package/lib/programmers/helpers/AtomicPredicator.js +6 -10
  110. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  111. package/lib/programmers/helpers/CloneJoiner.d.ts +12 -3
  112. package/lib/programmers/helpers/CloneJoiner.js +11 -11
  113. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  114. package/lib/programmers/helpers/HttpMetadataUtil.d.ts +2 -2
  115. package/lib/programmers/helpers/HttpMetadataUtil.js +9 -9
  116. package/lib/programmers/helpers/HttpMetadataUtil.js.map +1 -1
  117. package/lib/programmers/helpers/NotationJoiner.d.ts +12 -3
  118. package/lib/programmers/helpers/NotationJoiner.js +11 -11
  119. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  120. package/lib/programmers/helpers/PruneJoiner.d.ts +13 -3
  121. package/lib/programmers/helpers/PruneJoiner.js +33 -31
  122. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  123. package/lib/programmers/helpers/StringifyJoinder.d.ts +11 -3
  124. package/lib/programmers/helpers/StringifyJoinder.js +22 -19
  125. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  126. package/lib/programmers/http/HttpFormDataProgrammer.js +12 -6
  127. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  128. package/lib/programmers/http/HttpHeadersProgrammer.js +12 -6
  129. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  130. package/lib/programmers/http/HttpParameterProgrammer.js +12 -6
  131. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  132. package/lib/programmers/http/HttpQueryProgrammer.js +14 -6
  133. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  134. package/lib/programmers/internal/application_array.js +23 -24
  135. package/lib/programmers/internal/application_array.js.map +1 -1
  136. package/lib/programmers/internal/application_bigint.js +5 -2
  137. package/lib/programmers/internal/application_bigint.js.map +1 -1
  138. package/lib/programmers/internal/application_boolean.js +5 -2
  139. package/lib/programmers/internal/application_boolean.js.map +1 -1
  140. package/lib/programmers/internal/application_escaped.js +44 -28
  141. package/lib/programmers/internal/application_escaped.js.map +1 -1
  142. package/lib/programmers/internal/application_number.js +5 -2
  143. package/lib/programmers/internal/application_number.js.map +1 -1
  144. package/lib/programmers/internal/application_plugin.js +4 -4
  145. package/lib/programmers/internal/application_plugin.js.map +1 -1
  146. package/lib/programmers/internal/application_string.js +5 -2
  147. package/lib/programmers/internal/application_string.js.map +1 -1
  148. package/lib/programmers/internal/application_templates.js +6 -3
  149. package/lib/programmers/internal/application_templates.js.map +1 -1
  150. package/lib/programmers/internal/application_v30_alias.js +37 -32
  151. package/lib/programmers/internal/application_v30_alias.js.map +1 -1
  152. package/lib/programmers/internal/application_v30_native.js +19 -23
  153. package/lib/programmers/internal/application_v30_native.js.map +1 -1
  154. package/lib/programmers/internal/application_v30_object.js +121 -117
  155. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  156. package/lib/programmers/internal/application_v30_schema.js +227 -183
  157. package/lib/programmers/internal/application_v30_schema.js.map +1 -1
  158. package/lib/programmers/internal/application_v30_tuple.js +12 -11
  159. package/lib/programmers/internal/application_v30_tuple.js.map +1 -1
  160. package/lib/programmers/internal/application_v31_alias.js +29 -23
  161. package/lib/programmers/internal/application_v31_alias.js.map +1 -1
  162. package/lib/programmers/internal/application_v31_constant.js +9 -6
  163. package/lib/programmers/internal/application_v31_constant.js.map +1 -1
  164. package/lib/programmers/internal/application_v31_native.js +15 -17
  165. package/lib/programmers/internal/application_v31_native.js.map +1 -1
  166. package/lib/programmers/internal/application_v31_object.js +97 -89
  167. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  168. package/lib/programmers/internal/application_v31_schema.js +223 -178
  169. package/lib/programmers/internal/application_v31_schema.js.map +1 -1
  170. package/lib/programmers/internal/application_v31_tuple.js +10 -12
  171. package/lib/programmers/internal/application_v31_tuple.js.map +1 -1
  172. package/lib/programmers/internal/check_object.js +8 -8
  173. package/lib/programmers/internal/check_object.js.map +1 -1
  174. package/lib/programmers/internal/llm_schema_array.js +10 -7
  175. package/lib/programmers/internal/llm_schema_array.js.map +1 -1
  176. package/lib/programmers/internal/llm_schema_station.js +4 -1
  177. package/lib/programmers/internal/llm_schema_station.js.map +1 -1
  178. package/lib/programmers/json/JsonApplicationProgrammer.js +12 -2
  179. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  180. package/lib/programmers/json/JsonStringifyProgrammer.js +52 -38
  181. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  182. package/lib/programmers/misc/MiscCloneProgrammer.js +23 -14
  183. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  184. package/lib/programmers/misc/MiscLiteralsProgrammer.js +21 -15
  185. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  186. package/lib/programmers/misc/MiscPruneProgrammer.js +16 -7
  187. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  188. package/lib/programmers/notations/NotationGeneralProgrammer.js +16 -7
  189. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  190. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +7 -1
  191. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  192. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +7 -1
  193. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  194. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +7 -1
  195. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  196. package/lib/transformers/features/json/JsonApplicationTransformer.js +12 -6
  197. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  198. package/lib/transformers/features/llm/LlmApplicationTransformer.js +18 -9
  199. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  200. package/lib/transformers/features/llm/LlmSchemaTransformer.js +12 -6
  201. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  202. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +12 -6
  203. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  204. package/lib/transformers/features/reflect/ReflectNameTransformer.js +11 -5
  205. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  206. package/package.json +2 -2
  207. package/src/executable/TypiaSetupWizard.ts +17 -6
  208. package/src/executable/setup/PackageManager.ts +16 -16
  209. package/src/factories/JsonMetadataFactory.ts +60 -53
  210. package/src/factories/MetadataFactory.ts +269 -184
  211. package/src/factories/ProtobufFactory.ts +23 -16
  212. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +16 -0
  213. package/src/factories/internal/metadata/emplace_metadata_alias.ts +32 -41
  214. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +26 -29
  215. package/src/factories/internal/metadata/emplace_metadata_object.ts +163 -144
  216. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +56 -57
  217. package/src/factories/internal/metadata/explore_metadata.ts +22 -20
  218. package/src/factories/internal/metadata/iterate_metadata.ts +31 -80
  219. package/src/factories/internal/metadata/iterate_metadata_alias.ts +28 -34
  220. package/src/factories/internal/metadata/iterate_metadata_array.ts +51 -51
  221. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +6 -6
  222. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +8 -8
  223. package/src/factories/internal/metadata/iterate_metadata_collection.ts +145 -131
  224. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +24 -22
  225. package/src/factories/internal/metadata/iterate_metadata_constant.ts +63 -63
  226. package/src/factories/internal/metadata/iterate_metadata_escape.ts +47 -52
  227. package/src/factories/internal/metadata/iterate_metadata_function.ts +72 -74
  228. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +182 -182
  229. package/src/factories/internal/metadata/iterate_metadata_map.ts +37 -36
  230. package/src/factories/internal/metadata/iterate_metadata_native.ts +56 -43
  231. package/src/factories/internal/metadata/iterate_metadata_object.ts +18 -24
  232. package/src/factories/internal/metadata/iterate_metadata_set.ts +24 -30
  233. package/src/factories/internal/metadata/iterate_metadata_sort.ts +83 -74
  234. package/src/factories/internal/metadata/iterate_metadata_template.ts +29 -31
  235. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -37
  236. package/src/factories/internal/metadata/iterate_metadata_union.ts +16 -24
  237. package/src/programmers/AssertProgrammer.ts +3 -3
  238. package/src/programmers/CheckerProgrammer.ts +123 -79
  239. package/src/programmers/FeatureProgrammer.ts +31 -30
  240. package/src/programmers/IsProgrammer.ts +7 -7
  241. package/src/programmers/RandomProgrammer.ts +18 -15
  242. package/src/programmers/ValidateProgrammer.ts +3 -3
  243. package/src/programmers/helpers/AtomicPredicator.ts +21 -10
  244. package/src/programmers/helpers/CloneJoiner.ts +21 -18
  245. package/src/programmers/helpers/HttpMetadataUtil.ts +11 -11
  246. package/src/programmers/helpers/NotationJoiner.ts +21 -18
  247. package/src/programmers/helpers/PruneJoiner.ts +87 -82
  248. package/src/programmers/helpers/StringifyJoinder.ts +32 -28
  249. package/src/programmers/http/HttpFormDataProgrammer.ts +12 -9
  250. package/src/programmers/http/HttpHeadersProgrammer.ts +12 -9
  251. package/src/programmers/http/HttpParameterProgrammer.ts +110 -107
  252. package/src/programmers/http/HttpQueryProgrammer.ts +13 -9
  253. package/src/programmers/internal/application_array.ts +30 -35
  254. package/src/programmers/internal/application_bigint.ts +4 -4
  255. package/src/programmers/internal/application_boolean.ts +4 -4
  256. package/src/programmers/internal/application_escaped.ts +56 -34
  257. package/src/programmers/internal/application_number.ts +4 -4
  258. package/src/programmers/internal/application_plugin.ts +7 -7
  259. package/src/programmers/internal/application_string.ts +4 -4
  260. package/src/programmers/internal/application_templates.ts +4 -4
  261. package/src/programmers/internal/application_v30_alias.ts +34 -27
  262. package/src/programmers/internal/application_v30_native.ts +21 -20
  263. package/src/programmers/internal/application_v30_object.ts +106 -93
  264. package/src/programmers/internal/application_v30_schema.ts +187 -128
  265. package/src/programmers/internal/application_v30_tuple.ts +22 -22
  266. package/src/programmers/internal/application_v31_alias.ts +32 -26
  267. package/src/programmers/internal/application_v31_constant.ts +4 -4
  268. package/src/programmers/internal/application_v31_native.ts +17 -16
  269. package/src/programmers/internal/application_v31_object.ts +103 -89
  270. package/src/programmers/internal/application_v31_schema.ts +180 -124
  271. package/src/programmers/internal/application_v31_tuple.ts +13 -12
  272. package/src/programmers/internal/check_array_length.ts +45 -45
  273. package/src/programmers/internal/check_bigint.ts +49 -49
  274. package/src/programmers/internal/check_dynamic_key.ts +174 -174
  275. package/src/programmers/internal/check_dynamic_properties.ts +211 -211
  276. package/src/programmers/internal/check_number.ts +107 -107
  277. package/src/programmers/internal/check_object.ts +64 -61
  278. package/src/programmers/internal/check_string.ts +48 -48
  279. package/src/programmers/internal/llm_schema_array.ts +4 -4
  280. package/src/programmers/internal/llm_schema_station.ts +6 -1
  281. package/src/programmers/json/JsonApplicationProgrammer.ts +12 -2
  282. package/src/programmers/json/JsonStringifyProgrammer.ts +62 -42
  283. package/src/programmers/misc/MiscCloneProgrammer.ts +23 -17
  284. package/src/programmers/misc/MiscLiteralsProgrammer.ts +77 -74
  285. package/src/programmers/misc/MiscPruneProgrammer.ts +16 -10
  286. package/src/programmers/notations/NotationGeneralProgrammer.ts +16 -10
  287. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +7 -4
  288. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +7 -4
  289. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +168 -165
  290. package/src/transform.ts +35 -35
  291. package/src/transformers/ITypiaContext.ts +15 -15
  292. package/src/transformers/NodeTransformer.ts +13 -13
  293. package/src/transformers/features/AssertTransformer.ts +24 -24
  294. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  295. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  296. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  297. package/src/transformers/features/IsTransformer.ts +18 -18
  298. package/src/transformers/features/ValidateTransformer.ts +18 -18
  299. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  300. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  301. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  302. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  303. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  304. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  305. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  306. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  307. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  308. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  309. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  310. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  311. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  312. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  313. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  314. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  315. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  316. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  317. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  318. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  319. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  320. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  321. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  322. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  323. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  324. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  325. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  326. package/src/transformers/features/json/JsonApplicationTransformer.ts +12 -9
  327. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  328. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  329. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  330. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  331. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  332. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  333. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  334. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  335. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  336. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  337. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  338. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  339. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  340. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  341. package/src/transformers/features/llm/LlmApplicationTransformer.ts +19 -12
  342. package/src/transformers/features/llm/LlmSchemaTransformer.ts +12 -9
  343. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  344. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  345. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  346. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  347. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  348. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  349. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  350. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  351. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  352. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  353. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  354. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  355. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  356. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  357. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  358. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  359. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  360. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  361. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  362. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  363. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  364. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  365. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  366. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  367. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  368. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  369. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  370. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  371. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  372. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  373. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  374. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  375. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  376. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  377. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  378. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  379. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  380. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  381. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  382. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  383. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +12 -9
  384. package/src/transformers/features/reflect/ReflectNameTransformer.ts +79 -76
  385. package/lib/TypeGuardError.mjs +0 -26
  386. package/lib/TypeGuardError.mjs.map +0 -1
  387. package/lib/_external/node_modules_@samchon_openapi_lib_utils/LlmSchemaSeparator.mjs +0 -57
  388. package/lib/_external/node_modules_@samchon_openapi_lib_utils/LlmSchemaSeparator.mjs.map +0 -1
  389. package/lib/_external/node_modules_@samchon_openapi_lib_utils/LlmTypeChecker.mjs +0 -23
  390. package/lib/_external/node_modules_@samchon_openapi_lib_utils/LlmTypeChecker.mjs.map +0 -1
  391. package/lib/_external/node_modules_drange_lib/index.mjs +0 -180
  392. package/lib/_external/node_modules_drange_lib/index.mjs.map +0 -1
  393. package/lib/_external/node_modules_randexp_lib/randexp.mjs +0 -270
  394. package/lib/_external/node_modules_randexp_lib/randexp.mjs.map +0 -1
  395. package/lib/_external/node_modules_ret_lib/index.mjs +0 -296
  396. package/lib/_external/node_modules_ret_lib/index.mjs.map +0 -1
  397. package/lib/_external/node_modules_ret_lib/positions.mjs +0 -11
  398. package/lib/_external/node_modules_ret_lib/positions.mjs.map +0 -1
  399. package/lib/_external/node_modules_ret_lib/sets.mjs +0 -55
  400. package/lib/_external/node_modules_ret_lib/sets.mjs.map +0 -1
  401. package/lib/_external/node_modules_ret_lib/types.mjs +0 -13
  402. package/lib/_external/node_modules_ret_lib/types.mjs.map +0 -1
  403. package/lib/_external/node_modules_ret_lib/util.mjs +0 -116
  404. package/lib/_external/node_modules_ret_lib/util.mjs.map +0 -1
  405. package/lib/_virtual/_commonjsHelpers.mjs +0 -6
  406. package/lib/_virtual/_commonjsHelpers.mjs.map +0 -1
  407. package/lib/_virtual/index.mjs +0 -4
  408. package/lib/_virtual/index.mjs.map +0 -1
  409. package/lib/_virtual/positions.mjs +0 -4
  410. package/lib/_virtual/positions.mjs.map +0 -1
  411. package/lib/_virtual/sets.mjs +0 -4
  412. package/lib/_virtual/sets.mjs.map +0 -1
  413. package/lib/_virtual/util.mjs +0 -4
  414. package/lib/_virtual/util.mjs.map +0 -1
  415. package/lib/functional/Namespace/functional.mjs +0 -8
  416. package/lib/functional/Namespace/functional.mjs.map +0 -1
  417. package/lib/functional/Namespace/http.mjs +0 -12
  418. package/lib/functional/Namespace/http.mjs.map +0 -1
  419. package/lib/functional/Namespace/index.mjs +0 -54
  420. package/lib/functional/Namespace/index.mjs.map +0 -1
  421. package/lib/functional/Namespace/json.mjs +0 -18
  422. package/lib/functional/Namespace/json.mjs.map +0 -1
  423. package/lib/functional/Namespace/llm.mjs +0 -19
  424. package/lib/functional/Namespace/llm.mjs.map +0 -1
  425. package/lib/functional/Namespace/misc.mjs +0 -16
  426. package/lib/functional/Namespace/misc.mjs.map +0 -1
  427. package/lib/functional/Namespace/notations.mjs +0 -24
  428. package/lib/functional/Namespace/notations.mjs.map +0 -1
  429. package/lib/functional/Namespace/protobuf.mjs +0 -22
  430. package/lib/functional/Namespace/protobuf.mjs.map +0 -1
  431. package/lib/functional/_FormDataReader/_FormDataReader.mjs +0 -64
  432. package/lib/functional/_FormDataReader/_FormDataReader.mjs.map +0 -1
  433. package/lib/functional/_HeadersReader/_HeadersReader.mjs +0 -25
  434. package/lib/functional/_HeadersReader/_HeadersReader.mjs.map +0 -1
  435. package/lib/functional/_ParameterReader/_ParameterReader.mjs +0 -25
  436. package/lib/functional/_ParameterReader/_ParameterReader.mjs.map +0 -1
  437. package/lib/functional/_ProtobufReader.mjs +0 -176
  438. package/lib/functional/_ProtobufReader.mjs.map +0 -1
  439. package/lib/functional/_ProtobufSizer.mjs +0 -131
  440. package/lib/functional/_ProtobufSizer.mjs.map +0 -1
  441. package/lib/functional/_ProtobufWriter.mjs +0 -122
  442. package/lib/functional/_ProtobufWriter.mjs.map +0 -1
  443. package/lib/functional/_QueryReader/_QueryReader.mjs +0 -38
  444. package/lib/functional/_QueryReader/_QueryReader.mjs.map +0 -1
  445. package/lib/functional/_any.mjs +0 -6
  446. package/lib/functional/_any.mjs.map +0 -1
  447. package/lib/functional/_clone.mjs +0 -62
  448. package/lib/functional/_clone.mjs.map +0 -1
  449. package/lib/functional/_convention.mjs +0 -37
  450. package/lib/functional/_convention.mjs.map +0 -1
  451. package/lib/functional/_every.mjs +0 -10
  452. package/lib/functional/_every.mjs.map +0 -1
  453. package/lib/functional/_guard.mjs +0 -18
  454. package/lib/functional/_guard.mjs.map +0 -1
  455. package/lib/functional/_is_between.mjs +0 -4
  456. package/lib/functional/_is_between.mjs.map +0 -1
  457. package/lib/functional/_join.mjs +0 -44
  458. package/lib/functional/_join.mjs.map +0 -1
  459. package/lib/functional/_number.mjs +0 -15
  460. package/lib/functional/_number.mjs.map +0 -1
  461. package/lib/functional/_report.mjs +0 -16
  462. package/lib/functional/_report.mjs.map +0 -1
  463. package/lib/functional/_rest.mjs +0 -6
  464. package/lib/functional/_rest.mjs.map +0 -1
  465. package/lib/functional/_stoll.mjs +0 -12
  466. package/lib/functional/_stoll.mjs.map +0 -1
  467. package/lib/functional/_string.mjs +0 -41
  468. package/lib/functional/_string.mjs.map +0 -1
  469. package/lib/functional/_strlen.mjs +0 -11
  470. package/lib/functional/_strlen.mjs.map +0 -1
  471. package/lib/functional/_tail.mjs +0 -7
  472. package/lib/functional/_tail.mjs.map +0 -1
  473. package/lib/functional/_throws.mjs +0 -11
  474. package/lib/functional/_throws.mjs.map +0 -1
  475. package/lib/functional/is.mjs +0 -13
  476. package/lib/functional/is.mjs.map +0 -1
  477. package/lib/functional.mjs +0 -150
  478. package/lib/functional.mjs.map +0 -1
  479. package/lib/http.mjs +0 -239
  480. package/lib/http.mjs.map +0 -1
  481. package/lib/json.mjs +0 -126
  482. package/lib/json.mjs.map +0 -1
  483. package/lib/llm.mjs +0 -26
  484. package/lib/llm.mjs.map +0 -1
  485. package/lib/misc.mjs +0 -154
  486. package/lib/misc.mjs.map +0 -1
  487. package/lib/module.mjs +0 -163
  488. package/lib/module.mjs.map +0 -1
  489. package/lib/notations.mjs +0 -222
  490. package/lib/notations.mjs.map +0 -1
  491. package/lib/programmers/helpers/FunctionImporeter.d.ts +0 -1
  492. package/lib/programmers/helpers/FunctionImporeter.js +0 -18
  493. package/lib/programmers/helpers/FunctionImporeter.js.map +0 -1
  494. package/lib/protobuf.mjs +0 -157
  495. package/lib/protobuf.mjs.map +0 -1
  496. package/lib/reflect.mjs +0 -19
  497. package/lib/reflect.mjs.map +0 -1
  498. package/lib/tags/index.mjs +0 -2
  499. package/lib/tags/index.mjs.map +0 -1
  500. package/lib/utils/NamingConvention/NamingConvention.mjs +0 -84
  501. package/lib/utils/NamingConvention/NamingConvention.mjs.map +0 -1
  502. package/lib/utils/RandomGenerator/RandomGenerator.mjs +0 -104
  503. package/lib/utils/RandomGenerator/RandomGenerator.mjs.map +0 -1
  504. package/lib/utils/Singleton.mjs +0 -17
  505. package/lib/utils/Singleton.mjs.map +0 -1
  506. package/lib/utils/StringUtil/StringUtil.mjs +0 -4
  507. package/lib/utils/StringUtil/StringUtil.mjs.map +0 -1
  508. package/src/programmers/helpers/FunctionImporeter.ts +0 -1
@@ -1,61 +1,64 @@
1
- import ts from "typescript";
2
-
3
- import { ITypiaContext } from "../../transformers/ITypiaContext";
4
-
5
- import { FunctionImporter } from "../helpers/FunctionImporter";
6
- import { IExpressionEntry } from "../helpers/IExpressionEntry";
7
- import { check_dynamic_properties } from "./check_dynamic_properties";
8
- import { check_everything } from "./check_everything";
9
-
10
- /**
11
- * @internal
12
- */
13
- export const check_object =
14
- (props: check_object.IProps) =>
15
- (project: ITypiaContext) =>
16
- (importer: FunctionImporter) =>
17
- (input: ts.Expression, entries: IExpressionEntry<ts.Expression>[]) => {
18
- // PREPARE ASSETS
19
- const regular = entries.filter((entry) => entry.key.isSoleLiteral());
20
- const dynamic = entries.filter((entry) => !entry.key.isSoleLiteral());
21
- const flags: ts.Expression[] = regular.map((entry) => entry.expression);
22
-
23
- // REGULAR WITHOUT DYNAMIC PROPERTIES
24
- if (props.equals === false && dynamic.length === 0)
25
- return regular.length === 0 ? props.positive : reduce(props)(flags);
26
-
27
- // CHECK DYNAMIC PROPERTIES
28
- flags.push(
29
- check_dynamic_properties(props)(project)(importer)(
30
- input,
31
- regular,
32
- dynamic,
33
- ),
34
- );
35
- return reduce(props)(flags);
36
- };
37
-
38
- /**
39
- * @internal
40
- */
41
- export namespace check_object {
42
- export interface IProps {
43
- equals: boolean;
44
- assert: boolean;
45
- undefined: boolean;
46
- halt?: undefined | ((exp: ts.Expression) => ts.Expression);
47
- reduce: (a: ts.Expression, b: ts.Expression) => ts.Expression;
48
- positive: ts.Expression;
49
- superfluous: (value: ts.Expression) => ts.Expression;
50
- entries?: undefined | ts.Identifier;
51
- }
52
- }
53
-
54
- /**
55
- * @internal
56
- */
57
- const reduce =
58
- (props: check_object.IProps) => (expressions: ts.Expression[]) =>
59
- props.assert
60
- ? expressions.reduce(props.reduce)
61
- : check_everything(ts.factory.createArrayLiteralExpression(expressions));
1
+ import ts from "typescript";
2
+
3
+ import { ITypiaContext } from "../../transformers/ITypiaContext";
4
+
5
+ import { FunctionImporter } from "../helpers/FunctionImporter";
6
+ import { IExpressionEntry } from "../helpers/IExpressionEntry";
7
+ import { check_dynamic_properties } from "./check_dynamic_properties";
8
+ import { check_everything } from "./check_everything";
9
+
10
+ /**
11
+ * @internal
12
+ */
13
+ export const check_object =
14
+ (config: check_object.IProps) =>
15
+ (project: ITypiaContext) =>
16
+ (importer: FunctionImporter) =>
17
+ (props: {
18
+ input: ts.Expression;
19
+ entries: IExpressionEntry<ts.Expression>[];
20
+ }) => {
21
+ // PREPARE ASSETS
22
+ const regular = props.entries.filter((entry) => entry.key.isSoleLiteral());
23
+ const dynamic = props.entries.filter((entry) => !entry.key.isSoleLiteral());
24
+ const flags: ts.Expression[] = regular.map((entry) => entry.expression);
25
+
26
+ // REGULAR WITHOUT DYNAMIC PROPERTIES
27
+ if (config.equals === false && dynamic.length === 0)
28
+ return regular.length === 0 ? config.positive : reduce(config)(flags);
29
+
30
+ // CHECK DYNAMIC PROPERTIES
31
+ flags.push(
32
+ check_dynamic_properties(config)(project)(importer)(
33
+ props.input,
34
+ regular,
35
+ dynamic,
36
+ ),
37
+ );
38
+ return reduce(config)(flags);
39
+ };
40
+
41
+ /**
42
+ * @internal
43
+ */
44
+ export namespace check_object {
45
+ export interface IProps {
46
+ equals: boolean;
47
+ assert: boolean;
48
+ undefined: boolean;
49
+ halt?: undefined | ((exp: ts.Expression) => ts.Expression);
50
+ reduce: (a: ts.Expression, b: ts.Expression) => ts.Expression;
51
+ positive: ts.Expression;
52
+ superfluous: (value: ts.Expression) => ts.Expression;
53
+ entries?: undefined | ts.Identifier;
54
+ }
55
+ }
56
+
57
+ /**
58
+ * @internal
59
+ */
60
+ const reduce =
61
+ (props: check_object.IProps) => (expressions: ts.Expression[]) =>
62
+ props.assert
63
+ ? expressions.reduce(props.reduce)
64
+ : check_everything(ts.factory.createArrayLiteralExpression(expressions));
@@ -1,48 +1,48 @@
1
- import ts from "typescript";
2
-
3
- import { ExpressionFactory } from "../../factories/ExpressionFactory";
4
-
5
- import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
6
-
7
- import { ITypiaContext } from "../../transformers/ITypiaContext";
8
-
9
- import { ICheckEntry } from "../helpers/ICheckEntry";
10
-
11
- /**
12
- * @internal
13
- */
14
- export const check_string =
15
- (project: ITypiaContext) =>
16
- (atomic: MetadataAtomic) =>
17
- (input: ts.Expression): ICheckEntry => {
18
- const conditions: ICheckEntry.ICondition[][] =
19
- check_string_type_tags(project)(atomic)(input);
20
- return {
21
- expected: atomic.getName(),
22
- expression: ts.factory.createStrictEquality(
23
- ts.factory.createStringLiteral("string"),
24
- ts.factory.createTypeOfExpression(input),
25
- ),
26
- conditions,
27
- };
28
- };
29
-
30
- /**
31
- * @internal
32
- */
33
- const check_string_type_tags =
34
- (project: ITypiaContext) =>
35
- (atomic: MetadataAtomic) =>
36
- (input: ts.Expression): ICheckEntry.ICondition[][] =>
37
- atomic.tags
38
- .map((row) => row.filter((tag) => !!tag.validate))
39
- .filter((row) => !!row.length)
40
- .map((row) =>
41
- row.map((tag) => ({
42
- expected: `string & ${tag.name}`,
43
- expression: (
44
- tag.predicate ??
45
- ExpressionFactory.transpile(project.transformer)(tag.validate!)
46
- )(input),
47
- })),
48
- );
1
+ import ts from "typescript";
2
+
3
+ import { ExpressionFactory } from "../../factories/ExpressionFactory";
4
+
5
+ import { MetadataAtomic } from "../../schemas/metadata/MetadataAtomic";
6
+
7
+ import { ITypiaContext } from "../../transformers/ITypiaContext";
8
+
9
+ import { ICheckEntry } from "../helpers/ICheckEntry";
10
+
11
+ /**
12
+ * @internal
13
+ */
14
+ export const check_string =
15
+ (project: ITypiaContext) =>
16
+ (atomic: MetadataAtomic) =>
17
+ (input: ts.Expression): ICheckEntry => {
18
+ const conditions: ICheckEntry.ICondition[][] =
19
+ check_string_type_tags(project)(atomic)(input);
20
+ return {
21
+ expected: atomic.getName(),
22
+ expression: ts.factory.createStrictEquality(
23
+ ts.factory.createStringLiteral("string"),
24
+ ts.factory.createTypeOfExpression(input),
25
+ ),
26
+ conditions,
27
+ };
28
+ };
29
+
30
+ /**
31
+ * @internal
32
+ */
33
+ const check_string_type_tags =
34
+ (project: ITypiaContext) =>
35
+ (atomic: MetadataAtomic) =>
36
+ (input: ts.Expression): ICheckEntry.ICondition[][] =>
37
+ atomic.tags
38
+ .map((row) => row.filter((tag) => !!tag.validate))
39
+ .filter((row) => !!row.length)
40
+ .map((row) =>
41
+ row.map((tag) => ({
42
+ expected: `string & ${tag.name}`,
43
+ expression: (
44
+ tag.predicate ??
45
+ ExpressionFactory.transpile(project.transformer)(tag.validate!)
46
+ )(input),
47
+ })),
48
+ );
@@ -9,8 +9,8 @@ import { llm_schema_station } from "./llm_schema_station";
9
9
  * @internal
10
10
  */
11
11
  export const llm_schema_array = (array: MetadataArray): ILlmSchema.IArray[] =>
12
- application_plugin(
13
- {
12
+ application_plugin({
13
+ schema: {
14
14
  type: "array",
15
15
  items: llm_schema_station({
16
16
  metadata: array.type.value,
@@ -18,5 +18,5 @@ export const llm_schema_array = (array: MetadataArray): ILlmSchema.IArray[] =>
18
18
  attribute: {},
19
19
  }),
20
20
  },
21
- array.tags,
22
- );
21
+ tags: array.tags,
22
+ });
@@ -61,7 +61,12 @@ export const llm_schema_station = (props: {
61
61
  )
62
62
  application_templates<"3.0">(props.metadata).map(insert);
63
63
  for (const constant of props.metadata.constants)
64
- if (AtomicPredicator.constant(props.metadata)(constant.type) === false)
64
+ if (
65
+ AtomicPredicator.constant({
66
+ metadata: props.metadata,
67
+ name: constant.type,
68
+ }) === false
69
+ )
65
70
  continue;
66
71
  else insert(application_v30_constant(constant));
67
72
  for (const a of props.metadata.atomics)
@@ -43,7 +43,12 @@ export namespace JsonApplicationProgrammer {
43
43
  const v30 = (metadatas: Array<Metadata>): IJsonApplication<"3.0"> => {
44
44
  const components: OpenApiV3.IComponents = {};
45
45
  const generator = (meta: Metadata): OpenApiV3.IJsonSchema | null =>
46
- application_v30_schema(true)(components)({})(meta);
46
+ application_v30_schema({
47
+ blockNever: true,
48
+ components,
49
+ attribute: {},
50
+ metadata: meta,
51
+ });
47
52
  return {
48
53
  version: "3.0",
49
54
  components,
@@ -64,7 +69,12 @@ export namespace JsonApplicationProgrammer {
64
69
  schemas: {},
65
70
  };
66
71
  const generator = (meta: Metadata): OpenApi.IJsonSchema | null =>
67
- application_v31_schema(true)(components)({})(meta);
72
+ application_v31_schema({
73
+ blockNever: true,
74
+ components,
75
+ attribute: {},
76
+ metadata: meta,
77
+ });
68
78
  return {
69
79
  version: "3.1",
70
80
  components,
@@ -164,19 +164,19 @@ export namespace JsonStringifyProgrammer {
164
164
  (importer: FunctionImporter) =>
165
165
  (
166
166
  input: ts.Expression,
167
- meta: Metadata,
167
+ metadata: Metadata,
168
168
  explore: FeatureProgrammer.IExplore,
169
169
  ): ts.Expression => {
170
170
  // ANY TYPE
171
- if (meta.any === true)
171
+ if (metadata.any === true)
172
172
  return wrap_required(
173
173
  input,
174
- meta,
174
+ metadata,
175
175
  explore,
176
176
  )(
177
177
  wrap_functional(
178
178
  input,
179
- meta,
179
+ metadata,
180
180
  explore,
181
181
  )(
182
182
  ts.factory.createCallExpression(
@@ -188,12 +188,12 @@ export namespace JsonStringifyProgrammer {
188
188
  );
189
189
 
190
190
  // ONLY NULL OR UNDEFINED
191
- const size: number = meta.size();
191
+ const size: number = metadata.size();
192
192
  if (
193
193
  size === 0 &&
194
- (meta.isRequired() === false || meta.nullable === true)
194
+ (metadata.isRequired() === false || metadata.nullable === true)
195
195
  ) {
196
- if (meta.isRequired() === false && meta.nullable === true)
196
+ if (metadata.isRequired() === false && metadata.nullable === true)
197
197
  return explore.from === "array"
198
198
  ? ts.factory.createStringLiteral("null")
199
199
  : ts.factory.createConditionalExpression(
@@ -203,7 +203,7 @@ export namespace JsonStringifyProgrammer {
203
203
  undefined,
204
204
  ts.factory.createIdentifier("undefined"),
205
205
  );
206
- else if (meta.isRequired() === false)
206
+ else if (metadata.isRequired() === false)
207
207
  return explore.from === "array"
208
208
  ? ts.factory.createStringLiteral("null")
209
209
  : ts.factory.createIdentifier("undefined");
@@ -216,22 +216,22 @@ export namespace JsonStringifyProgrammer {
216
216
  const unions: IUnion[] = [];
217
217
 
218
218
  // toJSON() METHOD
219
- if (meta.escaped !== null)
219
+ if (metadata.escaped !== null)
220
220
  unions.push({
221
221
  type: "resolved",
222
222
  is:
223
- meta.escaped.original.size() === 1 &&
224
- meta.escaped.original.natives[0] === "Date"
223
+ metadata.escaped.original.size() === 1 &&
224
+ metadata.escaped.original.natives[0] === "Date"
225
225
  ? () => check_native("Date")(input)
226
226
  : () => IsProgrammer.decode_to_json(false)(input),
227
227
  value: () =>
228
228
  decode_to_json(project)(config)(importer)(
229
229
  input,
230
- meta.escaped!.returns,
230
+ metadata.escaped!.returns,
231
231
  explore,
232
232
  ),
233
233
  });
234
- else if (meta.functions.length)
234
+ else if (metadata.functions.length)
235
235
  unions.push({
236
236
  type: "functional",
237
237
  is: () => IsProgrammer.decode_functional(input),
@@ -240,10 +240,10 @@ export namespace JsonStringifyProgrammer {
240
240
 
241
241
  // TEMPLATES
242
242
  if (
243
- meta.templates.length ||
244
- ArrayUtil.has(meta.constants, (c) => c.type === "string")
243
+ metadata.templates.length ||
244
+ ArrayUtil.has(metadata.constants, (c) => c.type === "string")
245
245
  )
246
- if (AtomicPredicator.template(meta)) {
246
+ if (AtomicPredicator.template(metadata)) {
247
247
  const partial = Metadata.initialize();
248
248
  partial.atomics.push(
249
249
  MetadataAtomic.create({ type: "string", tags: [] }),
@@ -258,8 +258,14 @@ export namespace JsonStringifyProgrammer {
258
258
  }
259
259
 
260
260
  // CONSTANTS
261
- for (const constant of meta.constants)
262
- if (AtomicPredicator.constant(meta)(constant.type) === false) continue;
261
+ for (const constant of metadata.constants)
262
+ if (
263
+ AtomicPredicator.constant({
264
+ metadata,
265
+ name: constant.type,
266
+ }) === false
267
+ )
268
+ continue;
263
269
  else if (constant.type !== "string")
264
270
  unions.push({
265
271
  type: "atomic",
@@ -281,7 +287,7 @@ export namespace JsonStringifyProgrammer {
281
287
  value: () =>
282
288
  decode_atomic(project)(importer)(input, constant.type, explore),
283
289
  });
284
- else if (meta.templates.length === 0)
290
+ else if (metadata.templates.length === 0)
285
291
  unions.push({
286
292
  type: "const string",
287
293
  is: () =>
@@ -308,8 +314,13 @@ export namespace JsonStringifyProgrammer {
308
314
  });
309
315
 
310
316
  /// ATOMICS
311
- for (const a of meta.atomics)
312
- if (AtomicPredicator.atomic(meta)(a.type))
317
+ for (const a of metadata.atomics)
318
+ if (
319
+ AtomicPredicator.atomic({
320
+ metadata,
321
+ name: a.type,
322
+ })
323
+ )
313
324
  unions.push({
314
325
  type: "atomic",
315
326
  is: () =>
@@ -327,7 +338,7 @@ export namespace JsonStringifyProgrammer {
327
338
  });
328
339
 
329
340
  // TUPLES
330
- for (const tuple of meta.tuples)
341
+ for (const tuple of metadata.tuples)
331
342
  unions.push({
332
343
  type: "tuple",
333
344
  is: () =>
@@ -345,15 +356,15 @@ export namespace JsonStringifyProgrammer {
345
356
  });
346
357
 
347
358
  // ARRAYS
348
- if (meta.arrays.length) {
359
+ if (metadata.arrays.length) {
349
360
  const value: () => ts.Expression =
350
- meta.arrays.length === 1
361
+ metadata.arrays.length === 1
351
362
  ? () =>
352
- decode_array(config)(importer)(input, meta.arrays[0]!, {
363
+ decode_array(config)(importer)(input, metadata.arrays[0]!, {
353
364
  ...explore,
354
365
  from: "array",
355
366
  })
356
- : meta.arrays.some((elem) => elem.type.value.any)
367
+ : metadata.arrays.some((elem) => elem.type.value.any)
357
368
  ? () =>
358
369
  ts.factory.createCallExpression(
359
370
  ts.factory.createIdentifier("JSON.stringify"),
@@ -363,7 +374,7 @@ export namespace JsonStringifyProgrammer {
363
374
  : () =>
364
375
  explore_arrays(project)(config)(importer)(
365
376
  input,
366
- meta.arrays,
377
+ metadata.arrays,
367
378
  {
368
379
  ...explore,
369
380
  from: "array",
@@ -378,8 +389,8 @@ export namespace JsonStringifyProgrammer {
378
389
  }
379
390
 
380
391
  // BUILT-IN CLASSES
381
- if (meta.natives.length)
382
- for (const native of meta.natives)
392
+ if (metadata.natives.length)
393
+ for (const native of metadata.natives)
383
394
  unions.push({
384
395
  type: "object",
385
396
  is: () => check_native(native)(input),
@@ -394,7 +405,7 @@ export namespace JsonStringifyProgrammer {
394
405
  });
395
406
 
396
407
  // SETS
397
- if (meta.sets.length)
408
+ if (metadata.sets.length)
398
409
  unions.push({
399
410
  type: "object",
400
411
  is: () => ExpressionFactory.isInstanceOf("Set")(input),
@@ -402,7 +413,7 @@ export namespace JsonStringifyProgrammer {
402
413
  });
403
414
 
404
415
  // MAPS
405
- if (meta.maps.length)
416
+ if (metadata.maps.length)
406
417
  unions.push({
407
418
  type: "object",
408
419
  is: () => ExpressionFactory.isInstanceOf("Map")(input),
@@ -410,13 +421,13 @@ export namespace JsonStringifyProgrammer {
410
421
  });
411
422
 
412
423
  // OBJECTS
413
- if (meta.objects.length)
424
+ if (metadata.objects.length)
414
425
  unions.push({
415
426
  type: "object",
416
427
  is: () =>
417
428
  ExpressionFactory.isObject({
418
429
  checkNull: true,
419
- checkArray: meta.objects.some((obj) =>
430
+ checkArray: metadata.objects.some((obj) =>
420
431
  obj.properties.every(
421
432
  (prop) =>
422
433
  !prop.key.isSoleLiteral() || !prop.value.isRequired(),
@@ -424,7 +435,7 @@ export namespace JsonStringifyProgrammer {
424
435
  ),
425
436
  })(input),
426
437
  value: () =>
427
- explore_objects(config)(importer)(input, meta, {
438
+ explore_objects(config)(importer)(input, metadata, {
428
439
  ...explore,
429
440
  from: "object",
430
441
  }),
@@ -435,7 +446,11 @@ export namespace JsonStringifyProgrammer {
435
446
  //----
436
447
  // CHECK NULL AND UNDEFINED
437
448
  const wrapper = (output: ts.Expression) =>
438
- wrap_required(input, meta, explore)(wrap_nullable(input, meta)(output));
449
+ wrap_required(
450
+ input,
451
+ metadata,
452
+ explore,
453
+ )(wrap_nullable(input, metadata)(output));
439
454
 
440
455
  // DIRECT RETURN
441
456
  if (unions.length === 0)
@@ -455,7 +470,7 @@ export namespace JsonStringifyProgrammer {
455
470
  [],
456
471
  undefined,
457
472
  undefined,
458
- iterate(importer, input, unions, meta.getName()),
473
+ iterate(importer, input, unions, metadata.getName()),
459
474
  ),
460
475
  undefined,
461
476
  undefined,
@@ -541,7 +556,7 @@ export namespace JsonStringifyProgrammer {
541
556
  tuple: MetadataTupleType,
542
557
  explore: FeatureProgrammer.IExplore,
543
558
  ): ts.Expression => {
544
- const children: ts.Expression[] = tuple.elements
559
+ const elements: ts.Expression[] = tuple.elements
545
560
  .filter((elem) => elem.rest === null)
546
561
  .map((elem, index) =>
547
562
  decode(project)(config)(importer)(
@@ -579,7 +594,10 @@ export namespace JsonStringifyProgrammer {
579
594
  [code],
580
595
  );
581
596
  })();
582
- return StringifyJoiner.tuple(children, rest);
597
+ return StringifyJoiner.tuple({
598
+ elements,
599
+ rest,
600
+ });
583
601
  };
584
602
 
585
603
  const decode_atomic =
@@ -871,10 +889,12 @@ export namespace JsonStringifyProgrammer {
871
889
 
872
890
  const initializer: FeatureProgrammer.IConfig["initializer"] =
873
891
  (project) => (importer) => (type) =>
874
- JsonMetadataFactory.analyze(`typia.json.${importer.method}`)(
875
- project.checker,
876
- project.transformer,
877
- )(type);
892
+ JsonMetadataFactory.analyze({
893
+ method: `typia.json.${importer.method}`,
894
+ checker: project.checker,
895
+ transformer: project.transformer,
896
+ type,
897
+ });
878
898
 
879
899
  const create_throw_error =
880
900
  (importer: FunctionImporter) =>
@@ -375,7 +375,7 @@ export namespace MiscCloneProgrammer {
375
375
  tuple: MetadataTupleType,
376
376
  explore: FeatureProgrammer.IExplore,
377
377
  ): ts.Expression => {
378
- const children: ts.Expression[] = tuple.elements
378
+ const elements: ts.Expression[] = tuple.elements
379
379
  .filter((m) => m.rest === null)
380
380
  .map((elem, index) =>
381
381
  decode(project)(config)(importer)(
@@ -410,7 +410,10 @@ export namespace MiscCloneProgrammer {
410
410
  },
411
411
  );
412
412
  })();
413
- return CloneJoiner.tuple(children, rest);
413
+ return CloneJoiner.tuple({
414
+ elements,
415
+ rest,
416
+ });
414
417
  };
415
418
 
416
419
  /* -----------------------------------------------------------
@@ -722,22 +725,25 @@ export namespace MiscCloneProgrammer {
722
725
  const initializer: FeatureProgrammer.IConfig["initializer"] =
723
726
  (project) => (importer) => (type) => {
724
727
  const collection = new MetadataCollection();
725
- const result = MetadataFactory.analyze(
726
- project.checker,
727
- project.transformer,
728
- )({
729
- escape: false,
730
- constant: true,
731
- absorb: true,
732
- validate: (meta) => {
733
- const output: string[] = [];
734
- if (meta.natives.some((n) => n === "WeakSet"))
735
- output.push("unable to clone WeakSet");
736
- else if (meta.natives.some((n) => n === "WeakMap"))
737
- output.push("unable to clone WeakMap");
738
- return output;
728
+ const result = MetadataFactory.analyze({
729
+ checker: project.checker,
730
+ transformer: project.transformer,
731
+ options: {
732
+ escape: false,
733
+ constant: true,
734
+ absorb: true,
735
+ validate: (meta) => {
736
+ const output: string[] = [];
737
+ if (meta.natives.some((n) => n === "WeakSet"))
738
+ output.push("unable to clone WeakSet");
739
+ else if (meta.natives.some((n) => n === "WeakMap"))
740
+ output.push("unable to clone WeakMap");
741
+ return output;
742
+ },
739
743
  },
740
- })(collection)(type);
744
+ collection,
745
+ type,
746
+ });
741
747
  if (result.success === false)
742
748
  throw TransformerError.from(`typia.misc.${importer.method}`)(
743
749
  result.errors,