typia 7.0.0-dev.20240930 → 7.0.0-dev.20241002

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 (373) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +1 -1
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaSetupWizard.js +1 -1
  4. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  5. package/lib/executable/setup/ArgumentParser.d.ts +1 -1
  6. package/lib/executable/setup/ArgumentParser.js +31 -33
  7. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  8. package/lib/executable/setup/FileRetriever.d.ts +5 -2
  9. package/lib/executable/setup/FileRetriever.js +12 -21
  10. package/lib/executable/setup/FileRetriever.js.map +1 -1
  11. package/lib/executable/setup/PackageManager.js +4 -1
  12. package/lib/executable/setup/PackageManager.js.map +1 -1
  13. package/lib/factories/ExpressionFactory.d.ts +14 -7
  14. package/lib/factories/ExpressionFactory.js +26 -34
  15. package/lib/factories/ExpressionFactory.js.map +1 -1
  16. package/lib/factories/IdentifierFactory.d.ts +2 -2
  17. package/lib/factories/IdentifierFactory.js +10 -6
  18. package/lib/factories/IdentifierFactory.js.map +1 -1
  19. package/lib/factories/MetadataCollection.js +4 -1
  20. package/lib/factories/MetadataCollection.js.map +1 -1
  21. package/lib/factories/MetadataCommentTagFactory.js +133 -128
  22. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  23. package/lib/factories/MetadataFactory.js +1 -1
  24. package/lib/factories/MetadataFactory.js.map +1 -1
  25. package/lib/factories/MetadataTypeTagFactory.d.ts +14 -2
  26. package/lib/factories/MetadataTypeTagFactory.js +312 -267
  27. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  28. package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -1
  29. package/lib/factories/MetadataTypeTagSchemaFactory.js +70 -61
  30. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  31. package/lib/factories/NumericRangeFactory.d.ts +2 -2
  32. package/lib/factories/NumericRangeFactory.js +2 -10
  33. package/lib/factories/NumericRangeFactory.js.map +1 -1
  34. package/lib/factories/StatementFactory.d.ts +14 -3
  35. package/lib/factories/StatementFactory.js +16 -8
  36. package/lib/factories/StatementFactory.js.map +1 -1
  37. package/lib/factories/TemplateFactory.js +24 -18
  38. package/lib/factories/TemplateFactory.js.map +1 -1
  39. package/lib/factories/TypeFactory.d.ts +10 -2
  40. package/lib/factories/TypeFactory.js +65 -53
  41. package/lib/factories/TypeFactory.js.map +1 -1
  42. package/lib/factories/internal/metadata/iterate_metadata.js +4 -1
  43. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  44. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +16 -11
  45. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_escape.js +5 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  48. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +6 -1
  50. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  51. package/lib/factories/internal/metadata/iterate_metadata_map.js +5 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_native.js +11 -3
  54. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_set.js +5 -1
  56. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  57. package/lib/index.mjs +25 -25
  58. package/lib/index.mjs.map +1 -1
  59. package/lib/programmers/AssertProgrammer.js +36 -22
  60. package/lib/programmers/AssertProgrammer.js.map +1 -1
  61. package/lib/programmers/CheckerProgrammer.js +316 -251
  62. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  63. package/lib/programmers/FeatureProgrammer.js +34 -20
  64. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  65. package/lib/programmers/IsProgrammer.js +41 -22
  66. package/lib/programmers/IsProgrammer.js.map +1 -1
  67. package/lib/programmers/RandomProgrammer.js +171 -135
  68. package/lib/programmers/RandomProgrammer.js.map +1 -1
  69. package/lib/programmers/TypiaProgrammer.d.ts +2 -2
  70. package/lib/programmers/TypiaProgrammer.js +79 -75
  71. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  72. package/lib/programmers/ValidateProgrammer.js +55 -24
  73. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  74. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +30 -15
  75. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  76. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +16 -13
  77. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  78. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +11 -8
  79. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  80. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +8 -2
  81. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  82. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +11 -5
  83. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  84. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +8 -2
  85. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  86. package/lib/programmers/helpers/CloneJoiner.js +13 -4
  87. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  88. package/lib/programmers/helpers/FunctionImporter.js +10 -7
  89. package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
  90. package/lib/programmers/helpers/NotationJoiner.d.ts +2 -1
  91. package/lib/programmers/helpers/NotationJoiner.js +40 -33
  92. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  93. package/lib/programmers/helpers/PruneJoiner.js +6 -3
  94. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  95. package/lib/programmers/helpers/RandomJoiner.d.ts +1 -1
  96. package/lib/programmers/helpers/RandomJoiner.js +4 -1
  97. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  98. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  99. package/lib/programmers/helpers/StringifyJoinder.js +5 -2
  100. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  101. package/lib/programmers/helpers/StringifyPredicator.d.ts +1 -1
  102. package/lib/programmers/helpers/StringifyPredicator.js +4 -3
  103. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  104. package/lib/programmers/helpers/UnionExplorer.d.ts +52 -12
  105. package/lib/programmers/helpers/UnionExplorer.js +183 -144
  106. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  107. package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
  108. package/lib/programmers/helpers/UnionPredicator.js +7 -7
  109. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +8 -2
  110. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  111. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +8 -2
  112. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  113. package/lib/programmers/http/HttpAssertQueryProgrammer.js +8 -2
  114. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  115. package/lib/programmers/http/HttpFormDataProgrammer.js +84 -71
  116. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  117. package/lib/programmers/http/HttpHeadersProgrammer.js +76 -69
  118. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  119. package/lib/programmers/http/HttpIsFormDataProgrammer.js +12 -3
  120. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  121. package/lib/programmers/http/HttpIsHeadersProgrammer.js +12 -3
  122. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  123. package/lib/programmers/http/HttpIsQueryProgrammer.js +12 -3
  124. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  125. package/lib/programmers/http/HttpParameterProgrammer.js +17 -10
  126. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  127. package/lib/programmers/http/HttpQueryProgrammer.js +76 -63
  128. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  129. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +8 -2
  130. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  131. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +8 -2
  132. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  133. package/lib/programmers/http/HttpValidateQueryProgrammer.js +8 -2
  134. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  135. package/lib/programmers/internal/application_escaped.js +4 -4
  136. package/lib/programmers/internal/application_escaped.js.map +1 -1
  137. package/lib/programmers/internal/application_templates.js +8 -2
  138. package/lib/programmers/internal/application_templates.js.map +1 -1
  139. package/lib/programmers/internal/application_union_discriminator.d.ts +1 -1
  140. package/lib/programmers/internal/application_union_discriminator.js +6 -6
  141. package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
  142. package/lib/programmers/internal/application_v30_object.js +6 -3
  143. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  144. package/lib/programmers/internal/application_v31_object.js +4 -1
  145. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  146. package/lib/programmers/internal/check_array_length.js +21 -26
  147. package/lib/programmers/internal/check_array_length.js.map +1 -1
  148. package/lib/programmers/internal/check_bigint.js +18 -26
  149. package/lib/programmers/internal/check_bigint.js.map +1 -1
  150. package/lib/programmers/internal/check_dynamic_key.d.ts +1 -5
  151. package/lib/programmers/internal/check_dynamic_key.js +109 -91
  152. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  153. package/lib/programmers/internal/check_dynamic_properties.js +92 -91
  154. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  155. package/lib/programmers/internal/check_everything.js +1 -1
  156. package/lib/programmers/internal/check_everything.js.map +1 -1
  157. package/lib/programmers/internal/check_native.js +8 -5
  158. package/lib/programmers/internal/check_native.js.map +1 -1
  159. package/lib/programmers/internal/check_number.js +59 -65
  160. package/lib/programmers/internal/check_number.js.map +1 -1
  161. package/lib/programmers/internal/check_object.js +31 -22
  162. package/lib/programmers/internal/check_object.js.map +1 -1
  163. package/lib/programmers/internal/check_string.js +18 -26
  164. package/lib/programmers/internal/check_string.js.map +1 -1
  165. package/lib/programmers/internal/check_template.js +20 -21
  166. package/lib/programmers/internal/check_template.js.map +1 -1
  167. package/lib/programmers/internal/check_union_array_like.js +86 -53
  168. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  169. package/lib/programmers/internal/decode_union_object.js +59 -49
  170. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  171. package/lib/programmers/internal/feature_object_entries.js +31 -37
  172. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  173. package/lib/programmers/internal/llm_schema_escaped.js +29 -11
  174. package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
  175. package/lib/programmers/internal/llm_schema_object.js +4 -1
  176. package/lib/programmers/internal/llm_schema_object.js.map +1 -1
  177. package/lib/programmers/internal/metadata_to_pattern.js +44 -41
  178. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  179. package/lib/programmers/internal/postfix_of_tuple.d.ts +1 -1
  180. package/lib/programmers/internal/postfix_of_tuple.js +3 -0
  181. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  182. package/lib/programmers/internal/prune_object_properties.js +7 -4
  183. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  184. package/lib/programmers/internal/random_custom.js +8 -14
  185. package/lib/programmers/internal/random_custom.js.map +1 -1
  186. package/lib/programmers/internal/stringify_dynamic_properties.js +8 -5
  187. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  188. package/lib/programmers/internal/stringify_regular_properties.js +4 -4
  189. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  190. package/lib/programmers/internal/template_to_pattern.js +10 -5
  191. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  192. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +1 -2
  193. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +3 -0
  194. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  195. package/lib/programmers/json/JsonAssertParseProgrammer.js +8 -2
  196. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  197. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +8 -2
  198. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  199. package/lib/programmers/json/JsonIsParseProgrammer.js +8 -2
  200. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  201. package/lib/programmers/json/JsonIsStringifyProgrammer.js +8 -2
  202. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  203. package/lib/programmers/json/JsonStringifyProgrammer.js +126 -95
  204. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  205. package/lib/programmers/json/JsonValidateParseProgrammer.js +8 -2
  206. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  207. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +12 -3
  208. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  209. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +8 -2
  210. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  211. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +12 -3
  212. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  213. package/lib/programmers/misc/MiscCloneProgrammer.js +203 -162
  214. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  215. package/lib/programmers/misc/MiscIsCloneProgrammer.js +8 -2
  216. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  217. package/lib/programmers/misc/MiscIsPruneProgrammer.js +8 -2
  218. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  219. package/lib/programmers/misc/MiscPruneProgrammer.js +114 -92
  220. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  221. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +12 -3
  222. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  223. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +16 -4
  224. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  225. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +8 -2
  226. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  227. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +4 -1
  228. package/lib/programmers/notations/NotationGeneralProgrammer.js +209 -145
  229. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  230. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +8 -2
  231. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  232. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +12 -3
  233. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  234. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +8 -2
  235. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  236. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +8 -2
  237. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  238. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +51 -30
  239. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  240. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +89 -65
  241. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  242. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +12 -3
  243. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  244. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +8 -2
  245. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  246. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +8 -2
  247. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  248. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +12 -3
  249. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  250. package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -2
  251. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  252. package/lib/utils/NamingConvention/NamingConvention.js +41 -47
  253. package/lib/utils/NamingConvention/NamingConvention.js.map +1 -1
  254. package/package.json +1 -1
  255. package/src/executable/TypiaGenerateWizard.ts +1 -1
  256. package/src/executable/TypiaSetupWizard.ts +1 -1
  257. package/src/executable/setup/ArgumentParser.ts +27 -28
  258. package/src/executable/setup/FileRetriever.ts +14 -17
  259. package/src/executable/setup/PackageManager.ts +4 -3
  260. package/src/factories/ExpressionFactory.ts +98 -84
  261. package/src/factories/IdentifierFactory.ts +26 -7
  262. package/src/factories/MetadataCollection.ts +4 -1
  263. package/src/factories/MetadataCommentTagFactory.ts +97 -88
  264. package/src/factories/MetadataFactory.ts +2 -1
  265. package/src/factories/MetadataTypeTagFactory.ts +334 -285
  266. package/src/factories/MetadataTypeTagSchemaFactory.ts +75 -52
  267. package/src/factories/NumericRangeFactory.ts +8 -8
  268. package/src/factories/StatementFactory.ts +27 -11
  269. package/src/factories/TemplateFactory.ts +29 -21
  270. package/src/factories/TypeFactory.ts +80 -58
  271. package/src/factories/internal/metadata/iterate_metadata.ts +4 -1
  272. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +6 -4
  273. package/src/factories/internal/metadata/iterate_metadata_escape.ts +5 -3
  274. package/src/factories/internal/metadata/iterate_metadata_function.ts +4 -4
  275. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +6 -3
  276. package/src/factories/internal/metadata/iterate_metadata_map.ts +4 -3
  277. package/src/factories/internal/metadata/iterate_metadata_native.ts +12 -9
  278. package/src/factories/internal/metadata/iterate_metadata_set.ts +5 -1
  279. package/src/programmers/AssertProgrammer.ts +46 -32
  280. package/src/programmers/CheckerProgrammer.ts +295 -261
  281. package/src/programmers/FeatureProgrammer.ts +25 -23
  282. package/src/programmers/IsProgrammer.ts +38 -23
  283. package/src/programmers/RandomProgrammer.ts +55 -39
  284. package/src/programmers/TypiaProgrammer.ts +48 -34
  285. package/src/programmers/ValidateProgrammer.ts +67 -37
  286. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +4 -4
  287. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +4 -4
  288. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +4 -4
  289. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +7 -7
  290. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +14 -8
  291. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +7 -7
  292. package/src/programmers/helpers/CloneJoiner.ts +17 -7
  293. package/src/programmers/helpers/FunctionImporter.ts +12 -11
  294. package/src/programmers/helpers/NotationJoiner.ts +91 -82
  295. package/src/programmers/helpers/ProtobufUtil.ts +2 -2
  296. package/src/programmers/helpers/PruneJoiner.ts +7 -3
  297. package/src/programmers/helpers/RandomJoiner.ts +12 -6
  298. package/src/programmers/helpers/RandomRanger.ts +8 -1
  299. package/src/programmers/helpers/StringifyJoinder.ts +5 -2
  300. package/src/programmers/helpers/StringifyPredicator.ts +4 -3
  301. package/src/programmers/helpers/UnionExplorer.ts +287 -205
  302. package/src/programmers/helpers/UnionPredicator.ts +5 -5
  303. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +8 -2
  304. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +8 -2
  305. package/src/programmers/http/HttpAssertQueryProgrammer.ts +8 -2
  306. package/src/programmers/http/HttpFormDataProgrammer.ts +139 -114
  307. package/src/programmers/http/HttpHeadersProgrammer.ts +150 -121
  308. package/src/programmers/http/HttpIsFormDataProgrammer.ts +12 -6
  309. package/src/programmers/http/HttpIsHeadersProgrammer.ts +12 -6
  310. package/src/programmers/http/HttpIsQueryProgrammer.ts +12 -6
  311. package/src/programmers/http/HttpParameterProgrammer.ts +16 -11
  312. package/src/programmers/http/HttpQueryProgrammer.ts +141 -116
  313. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +8 -2
  314. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +8 -2
  315. package/src/programmers/http/HttpValidateQueryProgrammer.ts +8 -2
  316. package/src/programmers/internal/application_escaped.ts +6 -6
  317. package/src/programmers/internal/application_templates.ts +8 -6
  318. package/src/programmers/internal/application_union_discriminator.ts +6 -6
  319. package/src/programmers/internal/application_v30_object.ts +6 -3
  320. package/src/programmers/internal/application_v31_object.ts +4 -1
  321. package/src/programmers/internal/application_v31_tuple.ts +1 -1
  322. package/src/programmers/internal/check_array_length.ts +31 -30
  323. package/src/programmers/internal/check_bigint.ts +31 -31
  324. package/src/programmers/internal/check_dynamic_key.ts +155 -126
  325. package/src/programmers/internal/check_dynamic_properties.ts +155 -154
  326. package/src/programmers/internal/check_everything.ts +1 -1
  327. package/src/programmers/internal/check_native.ts +11 -5
  328. package/src/programmers/internal/check_number.ts +88 -84
  329. package/src/programmers/internal/check_object.ts +45 -31
  330. package/src/programmers/internal/check_string.ts +31 -30
  331. package/src/programmers/internal/check_template.ts +34 -32
  332. package/src/programmers/internal/check_union_array_like.ts +255 -228
  333. package/src/programmers/internal/decode_union_object.ts +92 -75
  334. package/src/programmers/internal/feature_object_entries.ts +43 -46
  335. package/src/programmers/internal/llm_schema_escaped.ts +36 -13
  336. package/src/programmers/internal/llm_schema_object.ts +4 -1
  337. package/src/programmers/internal/metadata_to_pattern.ts +31 -23
  338. package/src/programmers/internal/postfix_of_tuple.ts +3 -0
  339. package/src/programmers/internal/prune_object_properties.ts +7 -4
  340. package/src/programmers/internal/random_custom.ts +25 -23
  341. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -157
  342. package/src/programmers/internal/stringify_regular_properties.ts +7 -7
  343. package/src/programmers/internal/template_to_pattern.ts +12 -4
  344. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +3 -0
  345. package/src/programmers/json/JsonAssertParseProgrammer.ts +8 -2
  346. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +8 -2
  347. package/src/programmers/json/JsonIsParseProgrammer.ts +8 -2
  348. package/src/programmers/json/JsonIsStringifyProgrammer.ts +8 -2
  349. package/src/programmers/json/JsonStringifyProgrammer.ts +88 -66
  350. package/src/programmers/json/JsonValidateParseProgrammer.ts +8 -2
  351. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +12 -6
  352. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +8 -2
  353. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +12 -3
  354. package/src/programmers/misc/MiscCloneProgrammer.ts +186 -155
  355. package/src/programmers/misc/MiscIsCloneProgrammer.ts +8 -2
  356. package/src/programmers/misc/MiscIsPruneProgrammer.ts +8 -2
  357. package/src/programmers/misc/MiscPruneProgrammer.ts +77 -63
  358. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +12 -6
  359. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +16 -7
  360. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +8 -2
  361. package/src/programmers/notations/NotationGeneralProgrammer.ts +218 -160
  362. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +8 -2
  363. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +12 -6
  364. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +8 -2
  365. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +8 -2
  366. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +48 -46
  367. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +67 -55
  368. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -6
  369. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +8 -2
  370. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +8 -2
  371. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +12 -6
  372. package/src/transformers/features/llm/LlmApplicationTransformer.ts +7 -6
  373. package/src/utils/NamingConvention/NamingConvention.ts +40 -42
@@ -26,60 +26,93 @@ var MetadataTuple_1 = require("../../schemas/metadata/MetadataTuple");
26
26
  /**
27
27
  * @internal
28
28
  */
29
- var check_union_array_like = function (accessor) {
30
- return function (props) {
31
- return function (parameters) {
32
- return function (input, origins, explore) {
33
- // ONLY ONE TYPE
34
- var targets = origins.map(accessor.transform);
35
- if (targets.length === 1)
36
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, parameters, undefined, undefined, props.decoder(accessor.array(input), targets[0], explore));
37
- var array = typescript_1.default.factory.createIdentifier("array");
38
- var top = typescript_1.default.factory.createIdentifier("top");
39
- var statements = [];
40
- var tupleList = targets.filter(function (t) { return t instanceof MetadataTuple_1.MetadataTuple; });
41
- var arrayList = targets.filter(function (t) { return t instanceof MetadataArray_1.MetadataArray; });
42
- var predicate = function (meta) {
43
- return typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression([
44
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
45
- IdentifierFactory_1.IdentifierFactory.parameter("top", meta instanceof MetadataArrayType_1.MetadataArrayType
46
- ? TypeFactory_1.TypeFactory.keyword("any")
47
- : typescript_1.default.factory.createTypeReferenceNode("any[]")),
48
- ], TypeFactory_1.TypeFactory.keyword("any"), undefined, props.checker(typescript_1.default.factory.createIdentifier("top"), accessor.element(meta), __assign(__assign({}, explore), { tracable: false, postfix: meta instanceof MetadataArrayType_1.MetadataArrayType ? "\"[0]\"" : "" }), array)),
49
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
50
- IdentifierFactory_1.IdentifierFactory.parameter("entire", typescript_1.default.factory.createTypeReferenceNode("any[]")),
51
- ], TypeFactory_1.TypeFactory.keyword("any"), undefined, props.decoder(typescript_1.default.factory.createIdentifier("entire"), meta, __assign(__assign({}, explore), { tracable: true }))),
52
- ], true), typescript_1.default.factory.createTypeReferenceNode("const"));
53
- };
54
- var iterate = function (init) {
55
- return function (from) {
56
- return function (stmt) {
57
- return typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration(init)], typescript_1.default.NodeFlags.Const), from, stmt);
58
- };
59
- };
60
- };
61
- if (tupleList.length)
62
- statements.push(StatementFactory_1.StatementFactory.constant("array", accessor.array(input)), StatementFactory_1.StatementFactory.constant("tuplePredicators", typescript_1.default.factory.createArrayLiteralExpression(tupleList.map(function (x) { return predicate(x); }), true)), iterate("pred")(typescript_1.default.factory.createIdentifier("tuplePredicators"))(typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [array]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[1]"), undefined, [array])))));
63
- if (arrayList.length) {
64
- if (tupleList.length === 0)
65
- statements.push(StatementFactory_1.StatementFactory.constant("array", accessor.array(input)));
66
- statements.push(StatementFactory_1.StatementFactory.constant("top", accessor.front(input)), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), accessor.size(input)), typescript_1.default.isReturnStatement(props.empty)
67
- ? props.empty
68
- : typescript_1.default.factory.createReturnStatement(props.empty)), StatementFactory_1.StatementFactory.constant("arrayPredicators", typescript_1.default.factory.createArrayLiteralExpression(arrayList.map(function (x) { return predicate(x); }), true)), StatementFactory_1.StatementFactory.constant("passed", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("arrayPredicators"))("filter"), undefined, [
69
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("pred")], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [top])),
70
- ])), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(1), typescript_1.default.factory.createIdentifier("passed.length")), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createElementAccessExpression(typescript_1.default.factory.createNonNullExpression(typescript_1.default.factory.createIdentifier("passed[0]")), 1), undefined, [array])), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(ExpressionFactory_1.ExpressionFactory.number(1), typescript_1.default.factory.createIdentifier("passed.length")), iterate("pred")(typescript_1.default.factory.createIdentifier("passed"))(typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(array)("every"), undefined, [
71
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
72
- IdentifierFactory_1.IdentifierFactory.parameter("value", TypeFactory_1.TypeFactory.keyword("any")),
73
- ], undefined, undefined, typescript_1.default.factory.createStrictEquality(props.success, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [typescript_1.default.factory.createIdentifier("value")]))),
74
- ]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[1]"), undefined, [typescript_1.default.factory.createIdentifier("array")])))))));
75
- }
76
- statements.push(props.failure(input, "(".concat(targets
77
- .map(function (t) { return accessor.name(t, accessor.element(t)); })
78
- .join(" | "), ")"), explore));
79
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, parameters, undefined, undefined, typescript_1.default.factory.createBlock(statements, true));
80
- };
81
- };
29
+ var check_union_array_like = function (props) {
30
+ // ONLY ONE TYPE
31
+ var targets = props.definitions.map(props.accessor.transform);
32
+ if (targets.length === 1)
33
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, props.parameters, undefined, undefined, props.config.decoder({
34
+ input: props.accessor.array(props.input),
35
+ definition: targets[0],
36
+ explore: props.explore,
37
+ }));
38
+ var array = typescript_1.default.factory.createIdentifier("array");
39
+ var top = typescript_1.default.factory.createIdentifier("top");
40
+ var statements = [];
41
+ var tupleList = targets.filter(function (t) { return t instanceof MetadataTuple_1.MetadataTuple; });
42
+ var arrayList = targets.filter(function (t) { return t instanceof MetadataArray_1.MetadataArray; });
43
+ var predicate = function (meta) {
44
+ return typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression([
45
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [
46
+ IdentifierFactory_1.IdentifierFactory.parameter("top", meta instanceof MetadataArrayType_1.MetadataArrayType
47
+ ? TypeFactory_1.TypeFactory.keyword("any")
48
+ : typescript_1.default.factory.createTypeReferenceNode("any[]")),
49
+ ], TypeFactory_1.TypeFactory.keyword("any"), undefined, props.config.checker({
50
+ input: typescript_1.default.factory.createIdentifier("top"),
51
+ definition: props.accessor.element(meta),
52
+ explore: __assign(__assign({}, props.explore), { tracable: false, postfix: meta instanceof MetadataArrayType_1.MetadataArrayType ? "\"[0]\"" : "" }),
53
+ container: array,
54
+ })),
55
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [
56
+ IdentifierFactory_1.IdentifierFactory.parameter("entire", typescript_1.default.factory.createTypeReferenceNode("any[]")),
57
+ ], TypeFactory_1.TypeFactory.keyword("any"), undefined, props.config.decoder({
58
+ input: typescript_1.default.factory.createIdentifier("entire"),
59
+ definition: meta,
60
+ explore: __assign(__assign({}, props.explore), { tracable: true }),
61
+ })),
62
+ ], true), typescript_1.default.factory.createTypeReferenceNode("const"));
82
63
  };
64
+ var iterate = function (props) {
65
+ return typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration(props.init)], typescript_1.default.NodeFlags.Const), props.from, props.if);
66
+ };
67
+ if (tupleList.length)
68
+ statements.push(StatementFactory_1.StatementFactory.constant({
69
+ name: "array",
70
+ value: props.accessor.array(props.input),
71
+ }), StatementFactory_1.StatementFactory.constant({
72
+ name: "tuplePredicators",
73
+ value: typescript_1.default.factory.createArrayLiteralExpression(tupleList.map(function (x) { return predicate(x); }), true),
74
+ }), iterate({
75
+ init: "pred",
76
+ from: typescript_1.default.factory.createIdentifier("tuplePredicators"),
77
+ if: typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [array]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[1]"), undefined, [array]))),
78
+ }));
79
+ if (arrayList.length) {
80
+ if (tupleList.length === 0)
81
+ statements.push(StatementFactory_1.StatementFactory.constant({
82
+ name: "array",
83
+ value: props.accessor.array(props.input),
84
+ }));
85
+ statements.push(StatementFactory_1.StatementFactory.constant({
86
+ name: "top",
87
+ value: props.accessor.front(props.input),
88
+ }), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), props.accessor.size(props.input)), typescript_1.default.isReturnStatement(props.config.empty)
89
+ ? props.config.empty
90
+ : typescript_1.default.factory.createReturnStatement(props.config.empty)), StatementFactory_1.StatementFactory.constant({
91
+ name: "arrayPredicators",
92
+ value: typescript_1.default.factory.createArrayLiteralExpression(arrayList.map(function (x) { return predicate(x); }), true),
93
+ }), StatementFactory_1.StatementFactory.constant({
94
+ name: "passed",
95
+ value: typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("arrayPredicators"), "filter"), undefined, [
96
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("pred")], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [top])),
97
+ ]),
98
+ }), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(1), typescript_1.default.factory.createIdentifier("passed.length")), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createElementAccessExpression(typescript_1.default.factory.createNonNullExpression(typescript_1.default.factory.createIdentifier("passed[0]")), 1), undefined, [array])), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(ExpressionFactory_1.ExpressionFactory.number(1), typescript_1.default.factory.createIdentifier("passed.length")), iterate({
99
+ init: "pred",
100
+ from: typescript_1.default.factory.createIdentifier("passed"),
101
+ if: typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(array, "every"), undefined, [
102
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [
103
+ IdentifierFactory_1.IdentifierFactory.parameter("value", TypeFactory_1.TypeFactory.keyword("any")),
104
+ ], undefined, undefined, typescript_1.default.factory.createStrictEquality(props.config.success, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[0]"), undefined, [typescript_1.default.factory.createIdentifier("value")]))),
105
+ ]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("pred[1]"), undefined, [typescript_1.default.factory.createIdentifier("array")]))),
106
+ }))));
107
+ }
108
+ statements.push(props.config.failure({
109
+ input: props.input,
110
+ expected: "(".concat(targets
111
+ .map(function (t) { return props.accessor.name(t, props.accessor.element(t)); })
112
+ .join(" | "), ")"),
113
+ explore: props.explore,
114
+ }));
115
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, props.parameters, undefined, undefined, typescript_1.default.factory.createBlock(statements, true));
83
116
  };
84
117
  exports.check_union_array_like = check_union_array_like;
85
118
  //# sourceMappingURL=check_union_array_like.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
@@ -19,62 +19,72 @@ var typescript_1 = __importDefault(require("typescript"));
19
19
  /**
20
20
  * @internal
21
21
  */
22
- var decode_union_object = function (checker) {
23
- return function (decoder) {
24
- return function (success) {
25
- return function (escaper) {
26
- return function (input, targets, explore) {
27
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, iterate(escaper)(input, targets.map(function (obj) { return ({
28
- type: "object",
29
- is: function () { return success(checker(input, obj, explore)); },
30
- value: function () { return decoder(input, obj, explore); },
31
- }); }), "(".concat(targets.map(function (t) { return t.name; }).join(" | "), ")"))), undefined, undefined);
32
- };
33
- };
34
- };
35
- };
22
+ var decode_union_object = function (props) {
23
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, iterate({
24
+ escaper: props.escaper,
25
+ input: props.input,
26
+ unions: props.objects.map(function (object) { return ({
27
+ type: "object",
28
+ is: function () {
29
+ return props.success(props.checker({
30
+ input: props.input,
31
+ explore: props.explore,
32
+ object: object,
33
+ }));
34
+ },
35
+ value: function () {
36
+ return props.decoder({
37
+ input: props.input,
38
+ explore: props.explore,
39
+ object: object,
40
+ });
41
+ },
42
+ }); }),
43
+ expected: "(".concat(props.objects.map(function (t) { return t.name; }).join(" | "), ")"),
44
+ })), undefined, undefined);
36
45
  };
37
46
  exports.decode_union_object = decode_union_object;
38
- var iterate = function (escaper) {
39
- return function (input, unions, expected) {
40
- var e_1, _a;
41
- var branches = [];
42
- try {
43
- for (var unions_1 = __values(unions), unions_1_1 = unions_1.next(); !unions_1_1.done; unions_1_1 = unions_1.next()) {
44
- var u = unions_1_1.value;
45
- var condition = u.is();
46
- if (condition.kind === typescript_1.default.SyntaxKind.TrueKeyword) {
47
- branches.push({
48
- condition: null,
49
- value: u.value(),
50
- });
51
- break;
52
- }
47
+ /**
48
+ * @internal
49
+ */
50
+ var iterate = function (props) {
51
+ var e_1, _a;
52
+ var branches = [];
53
+ try {
54
+ for (var _b = __values(props.unions), _c = _b.next(); !_c.done; _c = _b.next()) {
55
+ var u = _c.value;
56
+ var condition = u.is();
57
+ if (condition.kind === typescript_1.default.SyntaxKind.TrueKeyword) {
53
58
  branches.push({
54
- condition: condition,
59
+ condition: null,
55
60
  value: u.value(),
56
61
  });
62
+ break;
57
63
  }
64
+ branches.push({
65
+ condition: condition,
66
+ value: u.value(),
67
+ });
58
68
  }
59
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
- finally {
61
- try {
62
- if (unions_1_1 && !unions_1_1.done && (_a = unions_1.return)) _a.call(unions_1);
63
- }
64
- finally { if (e_1) throw e_1.error; }
69
+ }
70
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
71
+ finally {
72
+ try {
73
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
65
74
  }
66
- if (branches.length === 0)
67
- return typescript_1.default.factory.createBlock([escaper(input, expected)], true);
68
- else if (branches.length === 1 && branches[0].condition === null)
69
- return branches[0].value;
70
- var statements = branches.map(function (b) {
71
- return b.condition !== null
72
- ? typescript_1.default.factory.createIfStatement(b.condition, typescript_1.default.factory.createReturnStatement(b.value), undefined)
73
- : typescript_1.default.factory.createReturnStatement(b.value);
74
- });
75
- if (branches.at(-1).condition !== null)
76
- statements.push(escaper(input, expected));
77
- return typescript_1.default.factory.createBlock(statements, true);
78
- };
75
+ finally { if (e_1) throw e_1.error; }
76
+ }
77
+ if (branches.length === 0)
78
+ return typescript_1.default.factory.createBlock([props.escaper(props)], true);
79
+ else if (branches.length === 1 && branches[0].condition === null)
80
+ return branches[0].value;
81
+ var statements = branches.map(function (b) {
82
+ return b.condition !== null
83
+ ? typescript_1.default.factory.createIfStatement(b.condition, typescript_1.default.factory.createReturnStatement(b.value), undefined)
84
+ : typescript_1.default.factory.createReturnStatement(b.value);
85
+ });
86
+ if (branches.at(-1).condition !== null)
87
+ statements.push(props.escaper(props));
88
+ return typescript_1.default.factory.createBlock(statements, true);
79
89
  };
80
90
  //# sourceMappingURL=decode_union_object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":"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"}
@@ -10,44 +10,38 @@ var Escaper_1 = require("../../utils/Escaper");
10
10
  /**
11
11
  * @internal
12
12
  */
13
- var feature_object_entries = function (config) {
14
- return function (importer) {
15
- return function (object) {
16
- return function (input, from) {
17
- if (from === void 0) { from = "object"; }
18
- return object.properties.map(function (prop) {
19
- var sole = prop.key.getSoleLiteral();
20
- var propInput = sole === null
21
- ? typescript_1.default.factory.createIdentifier("value")
22
- : Escaper_1.Escaper.variable(sole)
23
- ? typescript_1.default.factory.createPropertyAccessExpression(input, typescript_1.default.factory.createIdentifier(sole))
24
- : typescript_1.default.factory.createElementAccessExpression(input, typescript_1.default.factory.createStringLiteral(sole));
25
- return {
26
- input: propInput,
27
- key: prop.key,
28
- meta: prop.value,
29
- expression: config.decoder({
30
- input: propInput,
31
- metadata: prop.value,
32
- explore: {
33
- tracable: config.path || config.trace,
34
- source: "function",
35
- from: from,
36
- postfix: config.trace
37
- ? sole !== null
38
- ? IdentifierFactory_1.IdentifierFactory.postfix(sole)
39
- : (function () {
40
- importer.use("join");
41
- return "$join(key)";
42
- })()
43
- : "",
44
- },
45
- }),
46
- };
47
- });
48
- };
13
+ var feature_object_entries = function (props) {
14
+ return props.object.properties.map(function (next) {
15
+ var _a;
16
+ var sole = next.key.getSoleLiteral();
17
+ var propInput = sole === null
18
+ ? typescript_1.default.factory.createIdentifier("value")
19
+ : Escaper_1.Escaper.variable(sole)
20
+ ? typescript_1.default.factory.createPropertyAccessExpression(props.input, typescript_1.default.factory.createIdentifier(sole))
21
+ : typescript_1.default.factory.createElementAccessExpression(props.input, typescript_1.default.factory.createStringLiteral(sole));
22
+ return {
23
+ input: propInput,
24
+ key: next.key,
25
+ meta: next.value,
26
+ expression: props.config.decoder({
27
+ input: propInput,
28
+ metadata: next.value,
29
+ explore: {
30
+ tracable: props.config.path || props.config.trace,
31
+ source: "function",
32
+ from: (_a = props.from) !== null && _a !== void 0 ? _a : "object",
33
+ postfix: props.config.trace
34
+ ? sole !== null
35
+ ? IdentifierFactory_1.IdentifierFactory.postfix(sole)
36
+ : (function () {
37
+ props.importer.use("join");
38
+ return "$join(key)";
39
+ })()
40
+ : "",
41
+ },
42
+ }),
49
43
  };
50
- };
44
+ });
51
45
  };
52
46
  exports.feature_object_entries = feature_object_entries;
53
47
  //# sourceMappingURL=feature_object_entries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAK9C;;GAEG;AACI,IAAM,sBAAsB,GACjC,UACE,MAGC;IAEH,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,MAAsB;YACvB,OAAA,UAAC,KAAoB,EAAE,IAA2C;gBAA3C,qBAAA,EAAA,eAA2C;gBAChE,OAAA,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;oBACzB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBACtD,IAAM,SAAS,GACb,IAAI,KAAK,IAAI;wBACX,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACtB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACvC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAClC;4BACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACrC,CAAC;oBACV,OAAO;wBACL,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC;4BACzB,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,IAAI,CAAC,KAAK;4BACpB,OAAO,EAAE;gCACP,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;gCACrC,MAAM,EAAE,UAAU;gCAClB,IAAI,MAAA;gCACJ,OAAO,EAAE,MAAM,CAAC,KAAK;oCACnB,CAAC,CAAC,IAAI,KAAK,IAAI;wCACb,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;wCACjC,CAAC,CAAC,CAAC;4CACC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4CACrB,OAAO,YAAY,CAAC;wCACtB,CAAC,CAAC,EAAE;oCACR,CAAC,CAAC,EAAE;6BACP;yBACF,CAAC;qBACH,CAAC;gBACJ,CAAC,CAAC;YApCF,CAoCE;QArCJ,CAqCI;IAtCJ,CAsCI;AAvCJ,CAuCI,CAAC;AA9CM,QAAA,sBAAsB,0BA8C5B"}
1
+ {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAK9C;;GAEG;AACI,IAAM,sBAAsB,GAAG,UAAgC,KAMrE;IACC,OAAA,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;;QAC/B,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtD,IAAM,SAAS,GACb,IAAI,KAAK,IAAI;YACX,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACvC,KAAK,CAAC,KAAK,EACX,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAClC;gBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,KAAK,CAAC,KAAK,EACX,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACrC,CAAC;QACV,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC/B,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,OAAO,EAAE;oBACP,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;oBACjD,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,QAAQ;oBAC5B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;wBACzB,CAAC,CAAC,IAAI,KAAK,IAAI;4BACb,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjC,CAAC,CAAC,CAAC;gCACC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gCAC3B,OAAO,YAAY,CAAC;4BACtB,CAAC,CAAC,EAAE;wBACR,CAAC,CAAC,EAAE;iBACP;aACF,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;AApCF,CAoCE,CAAC;AA3CQ,QAAA,sBAAsB,0BA2C9B"}
@@ -13,7 +13,10 @@ var llm_schema_escaped = function (escaped) {
13
13
  });
14
14
  if (output === null)
15
15
  return [];
16
- else if (is_date(new Set())(escaped.original)) {
16
+ else if (is_date({
17
+ visited: new Set(),
18
+ metadata: escaped.original,
19
+ })) {
17
20
  var string = is_string(output)
18
21
  ? output
19
22
  : is_one_of(output)
@@ -42,15 +45,30 @@ var is_one_of = function (elem) {
42
45
  /**
43
46
  * @internal
44
47
  */
45
- var is_date = function (visited) {
46
- return function (meta) {
47
- if (visited.has(meta))
48
- return false;
49
- visited.add(meta);
50
- return (meta.natives.some(function (name) { return name === "Date"; }) ||
51
- meta.arrays.some(function (array) { return is_date(visited)(array.type.value); }) ||
52
- meta.tuples.some(function (tuple) { return tuple.type.elements.some(is_date(visited)); }) ||
53
- meta.aliases.some(function (alias) { return is_date(visited)(alias.value); }));
54
- };
48
+ var is_date = function (props) {
49
+ if (props.visited.has(props.metadata))
50
+ return false;
51
+ props.visited.add(props.metadata);
52
+ return (props.metadata.natives.some(function (name) { return name === "Date"; }) ||
53
+ props.metadata.arrays.some(function (array) {
54
+ return is_date({
55
+ visited: props.visited,
56
+ metadata: array.type.value,
57
+ });
58
+ }) ||
59
+ props.metadata.tuples.some(function (tuple) {
60
+ return tuple.type.elements.some(function (elem) {
61
+ return is_date({
62
+ visited: props.visited,
63
+ metadata: elem,
64
+ });
65
+ });
66
+ }) ||
67
+ props.metadata.aliases.some(function (alias) {
68
+ return is_date({
69
+ visited: props.visited,
70
+ metadata: alias.value,
71
+ });
72
+ }));
55
73
  };
56
74
  //# sourceMappingURL=llm_schema_escaped.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm_schema_escaped.js","sourceRoot":"","sources":["../../../src/programmers/internal/llm_schema_escaped.ts"],"names":[],"mappings":";;;AAKA,2DAA0D;AAE1D;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAAC,OAAwB;IACzD,IAAM,MAAM,GAAsB,IAAA,uCAAkB,EAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;SAC1B,IAAI,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAM,MAAM,GAAmC,SAAS,CAAC,MAAM,CAAC;YAC9D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;gBACjB,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAwB;gBACtD,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,MAAM,KAAK,SAAS;YACpB,MAAM,CAAC,MAAM,KAAK,MAAM;YACxB,MAAM,CAAC,MAAM,KAAK,WAAW;YAE7B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,KAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B;AAEF;;GAEG;AACH,IAAM,SAAS,GAAG,UAAC,IAAgB;IACjC,OAAC,IAA2B,CAAC,IAAI,KAAK,QAAQ;AAA9C,CAA8C,CAAC;AAEjD;;GAEG;AACH,IAAM,SAAS,GAAG,UAAC,IAAgB;IACjC,OAAA,KAAK,CAAC,OAAO,CAAE,IAA0B,CAAC,KAAK,CAAC;AAAhD,CAAgD,CAAC;AAEnD;;GAEG;AACH,IAAM,OAAO,GACX,UAAC,OAAsB;IACvB,OAAA,UAAC,IAAc;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,MAAM,EAAf,CAAe,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAlC,CAAkC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAA1C,CAA0C,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAA7B,CAA6B,CAAC,CAC5D,CAAC;IACJ,CAAC;AAVD,CAUC,CAAC"}
1
+ {"version":3,"file":"llm_schema_escaped.js","sourceRoot":"","sources":["../../../src/programmers/internal/llm_schema_escaped.ts"],"names":[],"mappings":";;;AAKA,2DAA0D;AAE1D;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAAC,OAAwB;IACzD,IAAM,MAAM,GAAsB,IAAA,uCAAkB,EAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;SAC1B,IACH,OAAO,CAAC;QACN,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,EACF,CAAC;QACD,IAAM,MAAM,GAAmC,SAAS,CAAC,MAAM,CAAC;YAC9D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;gBACjB,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAwB;gBACtD,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,MAAM,KAAK,SAAS;YACpB,MAAM,CAAC,MAAM,KAAK,MAAM;YACxB,MAAM,CAAC,MAAM,KAAK,WAAW;YAE7B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,KAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B;AAEF;;GAEG;AACH,IAAM,SAAS,GAAG,UAAC,IAAgB;IACjC,OAAC,IAA2B,CAAC,IAAI,KAAK,QAAQ;AAA9C,CAA8C,CAAC;AAEjD;;GAEG;AACH,IAAM,SAAS,GAAG,UAAC,IAAgB;IACjC,OAAA,KAAK,CAAC,OAAO,CAAE,IAA0B,CAAC,KAAK,CAAC;AAAhD,CAAgD,CAAC;AAEnD;;GAEG;AACH,IAAM,OAAO,GAAG,UAAC,KAGhB;IACC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,MAAM,EAAf,CAAe,CAAC;QACtD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK;YAC/B,OAAA,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;aAC3B,CAAC;QAHF,CAGE,CACH;QACD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK;YAC/B,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC5B,OAAA,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,IAAI;iBACf,CAAC;YAHF,CAGE,CACH;QALD,CAKC,CACF;QACD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,KAAK;YAChC,OAAA,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,KAAK;aACtB,CAAC;QAHF,CAGE,CACH,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -73,7 +73,10 @@ var llm_schema_object = function (props) {
73
73
  required.push(key);
74
74
  }
75
75
  else {
76
- var pattern = (0, metadata_to_pattern_1.metadata_to_pattern)(true)(property.key);
76
+ var pattern = (0, metadata_to_pattern_1.metadata_to_pattern)({
77
+ top: true,
78
+ metadata: property.key,
79
+ });
77
80
  if (pattern === PatternUtil_1.PatternUtil.STRING)
78
81
  extraMeta.additionalProperties = [property.value, schema];
79
82
  else
@@ -1 +1 @@
1
- {"version":3,"file":"llm_schema_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/llm_schema_object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm_schema_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/llm_schema_object.ts"],"names":[],"mappings":"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"}