typia 7.0.0-dev.20241001 → 7.0.0-dev.20241002-2

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 (308) 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 +6 -3
  20. package/lib/factories/MetadataCollection.js.map +1 -1
  21. package/lib/factories/MetadataCommentTagFactory.js +414 -330
  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/programmers/AssertProgrammer.js +16 -5
  58. package/lib/programmers/AssertProgrammer.js.map +1 -1
  59. package/lib/programmers/CheckerProgrammer.js +42 -35
  60. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  61. package/lib/programmers/FeatureProgrammer.js +21 -15
  62. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  63. package/lib/programmers/IsProgrammer.js +3 -2
  64. package/lib/programmers/IsProgrammer.js.map +1 -1
  65. package/lib/programmers/RandomProgrammer.js +88 -67
  66. package/lib/programmers/RandomProgrammer.js.map +1 -1
  67. package/lib/programmers/ValidateProgrammer.js +16 -7
  68. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  69. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +30 -15
  70. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  71. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +16 -13
  72. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  73. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +11 -8
  74. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  75. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +8 -2
  76. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  77. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +11 -5
  78. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  79. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +8 -2
  80. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  81. package/lib/programmers/helpers/CloneJoiner.js +9 -3
  82. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  83. package/lib/programmers/helpers/FunctionImporter.js +10 -7
  84. package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
  85. package/lib/programmers/helpers/NotationJoiner.js +9 -3
  86. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  87. package/lib/programmers/helpers/PruneJoiner.js +2 -2
  88. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  89. package/lib/programmers/helpers/RandomJoiner.js +4 -1
  90. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  91. package/lib/programmers/helpers/StringifyJoinder.js +1 -1
  92. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  93. package/lib/programmers/helpers/UnionExplorer.js +7 -7
  94. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  95. package/lib/programmers/helpers/UnionPredicator.js +1 -1
  96. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  97. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +8 -2
  98. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  99. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +8 -2
  100. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  101. package/lib/programmers/http/HttpAssertQueryProgrammer.js +8 -2
  102. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  103. package/lib/programmers/http/HttpFormDataProgrammer.js +14 -8
  104. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  105. package/lib/programmers/http/HttpHeadersProgrammer.js +21 -15
  106. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  107. package/lib/programmers/http/HttpIsFormDataProgrammer.js +12 -3
  108. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  109. package/lib/programmers/http/HttpIsHeadersProgrammer.js +12 -3
  110. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  111. package/lib/programmers/http/HttpIsQueryProgrammer.js +12 -3
  112. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  113. package/lib/programmers/http/HttpParameterProgrammer.js +17 -10
  114. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  115. package/lib/programmers/http/HttpQueryProgrammer.js +14 -8
  116. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  117. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +8 -2
  118. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  119. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +8 -2
  120. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  121. package/lib/programmers/http/HttpValidateQueryProgrammer.js +8 -2
  122. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  123. package/lib/programmers/internal/check_array_length.js +1 -1
  124. package/lib/programmers/internal/check_array_length.js.map +1 -1
  125. package/lib/programmers/internal/check_bigint.js +1 -1
  126. package/lib/programmers/internal/check_bigint.js.map +1 -1
  127. package/lib/programmers/internal/check_dynamic_properties.js +7 -4
  128. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  129. package/lib/programmers/internal/check_everything.js +1 -1
  130. package/lib/programmers/internal/check_everything.js.map +1 -1
  131. package/lib/programmers/internal/check_native.js +1 -1
  132. package/lib/programmers/internal/check_native.js.map +1 -1
  133. package/lib/programmers/internal/check_number.js +1 -1
  134. package/lib/programmers/internal/check_number.js.map +1 -1
  135. package/lib/programmers/internal/check_string.js +1 -1
  136. package/lib/programmers/internal/check_string.js.map +1 -1
  137. package/lib/programmers/internal/check_union_array_like.js +25 -7
  138. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  139. package/lib/programmers/internal/prune_object_properties.js +1 -1
  140. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  141. package/lib/programmers/internal/random_custom.js +1 -1
  142. package/lib/programmers/internal/random_custom.js.map +1 -1
  143. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -4
  144. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  145. package/lib/programmers/json/JsonAssertParseProgrammer.js +8 -2
  146. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  147. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +8 -2
  148. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  149. package/lib/programmers/json/JsonIsParseProgrammer.js +8 -2
  150. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  151. package/lib/programmers/json/JsonIsStringifyProgrammer.js +8 -2
  152. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  153. package/lib/programmers/json/JsonStringifyProgrammer.js +50 -43
  154. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  155. package/lib/programmers/json/JsonValidateParseProgrammer.js +8 -2
  156. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  157. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +12 -3
  158. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  159. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +8 -2
  160. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  161. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +12 -3
  162. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  163. package/lib/programmers/misc/MiscCloneProgrammer.js +60 -47
  164. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  165. package/lib/programmers/misc/MiscIsCloneProgrammer.js +8 -2
  166. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  167. package/lib/programmers/misc/MiscIsPruneProgrammer.js +8 -2
  168. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  169. package/lib/programmers/misc/MiscPruneProgrammer.js +49 -42
  170. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  171. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +12 -3
  172. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  173. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +16 -4
  174. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  175. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +8 -2
  176. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  177. package/lib/programmers/notations/NotationGeneralProgrammer.js +45 -32
  178. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  179. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +8 -2
  180. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  181. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +12 -3
  182. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  183. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +8 -2
  184. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  185. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +8 -2
  186. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  187. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +51 -30
  188. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  189. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +57 -41
  190. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  191. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +12 -3
  192. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  193. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +8 -2
  194. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  195. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +1 -1
  196. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  197. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +8 -2
  198. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  199. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +12 -3
  200. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  201. package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -2
  202. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  203. package/lib/utils/MapUtil.d.ts +1 -1
  204. package/lib/utils/MapUtil.js +7 -9
  205. package/lib/utils/MapUtil.js.map +1 -1
  206. package/lib/utils/NameEncoder.d.ts +2 -2
  207. package/lib/utils/NameEncoder.js +4 -6
  208. package/lib/utils/NameEncoder.js.map +1 -1
  209. package/package.json +1 -1
  210. package/src/executable/TypiaGenerateWizard.ts +1 -1
  211. package/src/executable/TypiaSetupWizard.ts +1 -1
  212. package/src/executable/setup/ArgumentParser.ts +27 -28
  213. package/src/executable/setup/FileRetriever.ts +14 -17
  214. package/src/executable/setup/PackageManager.ts +4 -3
  215. package/src/factories/ExpressionFactory.ts +98 -84
  216. package/src/factories/IdentifierFactory.ts +26 -7
  217. package/src/factories/MetadataCollection.ts +7 -3
  218. package/src/factories/MetadataCommentTagFactory.ts +306 -218
  219. package/src/factories/MetadataFactory.ts +2 -1
  220. package/src/factories/MetadataTypeTagFactory.ts +334 -285
  221. package/src/factories/MetadataTypeTagSchemaFactory.ts +75 -52
  222. package/src/factories/NumericRangeFactory.ts +8 -8
  223. package/src/factories/StatementFactory.ts +27 -11
  224. package/src/factories/TemplateFactory.ts +29 -21
  225. package/src/factories/TypeFactory.ts +80 -58
  226. package/src/factories/internal/metadata/iterate_metadata.ts +4 -1
  227. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +6 -4
  228. package/src/factories/internal/metadata/iterate_metadata_escape.ts +5 -3
  229. package/src/factories/internal/metadata/iterate_metadata_function.ts +4 -4
  230. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +6 -3
  231. package/src/factories/internal/metadata/iterate_metadata_map.ts +4 -3
  232. package/src/factories/internal/metadata/iterate_metadata_native.ts +12 -9
  233. package/src/factories/internal/metadata/iterate_metadata_set.ts +5 -1
  234. package/src/programmers/AssertProgrammer.ts +16 -5
  235. package/src/programmers/CheckerProgrammer.ts +16 -13
  236. package/src/programmers/FeatureProgrammer.ts +8 -8
  237. package/src/programmers/IsProgrammer.ts +4 -3
  238. package/src/programmers/RandomProgrammer.ts +37 -30
  239. package/src/programmers/ValidateProgrammer.ts +17 -10
  240. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +4 -4
  241. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +4 -4
  242. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +4 -4
  243. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +7 -7
  244. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +14 -8
  245. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +7 -7
  246. package/src/programmers/helpers/CloneJoiner.ts +13 -6
  247. package/src/programmers/helpers/FunctionImporter.ts +12 -11
  248. package/src/programmers/helpers/NotationJoiner.ts +13 -6
  249. package/src/programmers/helpers/PruneJoiner.ts +3 -2
  250. package/src/programmers/helpers/RandomJoiner.ts +7 -4
  251. package/src/programmers/helpers/StringifyJoinder.ts +1 -1
  252. package/src/programmers/helpers/UnionExplorer.ts +16 -11
  253. package/src/programmers/helpers/UnionPredicator.ts +1 -1
  254. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +8 -2
  255. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +8 -2
  256. package/src/programmers/http/HttpAssertQueryProgrammer.ts +8 -2
  257. package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
  258. package/src/programmers/http/HttpHeadersProgrammer.ts +14 -10
  259. package/src/programmers/http/HttpIsFormDataProgrammer.ts +12 -6
  260. package/src/programmers/http/HttpIsHeadersProgrammer.ts +12 -6
  261. package/src/programmers/http/HttpIsQueryProgrammer.ts +12 -6
  262. package/src/programmers/http/HttpParameterProgrammer.ts +16 -11
  263. package/src/programmers/http/HttpQueryProgrammer.ts +10 -6
  264. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +8 -2
  265. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +8 -2
  266. package/src/programmers/http/HttpValidateQueryProgrammer.ts +8 -2
  267. package/src/programmers/internal/check_array_length.ts +1 -1
  268. package/src/programmers/internal/check_bigint.ts +1 -1
  269. package/src/programmers/internal/check_dynamic_properties.ts +10 -7
  270. package/src/programmers/internal/check_everything.ts +1 -1
  271. package/src/programmers/internal/check_native.ts +1 -1
  272. package/src/programmers/internal/check_number.ts +1 -1
  273. package/src/programmers/internal/check_string.ts +1 -1
  274. package/src/programmers/internal/check_union_array_like.ts +27 -17
  275. package/src/programmers/internal/prune_object_properties.ts +1 -1
  276. package/src/programmers/internal/random_custom.ts +2 -1
  277. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -160
  278. package/src/programmers/json/JsonAssertParseProgrammer.ts +8 -2
  279. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +8 -2
  280. package/src/programmers/json/JsonIsParseProgrammer.ts +8 -2
  281. package/src/programmers/json/JsonIsStringifyProgrammer.ts +8 -2
  282. package/src/programmers/json/JsonStringifyProgrammer.ts +17 -15
  283. package/src/programmers/json/JsonValidateParseProgrammer.ts +8 -2
  284. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +12 -6
  285. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +8 -2
  286. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +12 -3
  287. package/src/programmers/misc/MiscCloneProgrammer.ts +30 -23
  288. package/src/programmers/misc/MiscIsCloneProgrammer.ts +8 -2
  289. package/src/programmers/misc/MiscIsPruneProgrammer.ts +8 -2
  290. package/src/programmers/misc/MiscPruneProgrammer.ts +16 -14
  291. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +12 -6
  292. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +16 -7
  293. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +8 -2
  294. package/src/programmers/notations/NotationGeneralProgrammer.ts +26 -17
  295. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +8 -2
  296. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +12 -6
  297. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +8 -2
  298. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +8 -2
  299. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +48 -46
  300. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +42 -34
  301. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -6
  302. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +8 -2
  303. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +1 -1
  304. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +8 -2
  305. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +12 -6
  306. package/src/transformers/features/llm/LlmApplicationTransformer.ts +7 -6
  307. package/src/utils/MapUtil.ts +11 -9
  308. package/src/utils/NameEncoder.ts +4 -4
@@ -117,12 +117,18 @@ export namespace AssertProgrammer {
117
117
  ts.factory.createIdentifier("input"),
118
118
  ts.factory.createTypeReferenceNode(
119
119
  props.name ??
120
- TypeFactory.getFullName(props.context.checker)(props.type),
120
+ TypeFactory.getFullName({
121
+ checker: props.context.checker,
122
+ type: props.type,
123
+ }),
121
124
  ),
122
125
  )
123
126
  : ts.factory.createTypeReferenceNode(
124
127
  props.name ??
125
- TypeFactory.getFullName(props.context.checker)(props.type),
128
+ TypeFactory.getFullName({
129
+ checker: props.context.checker,
130
+ type: props.type,
131
+ }),
126
132
  ),
127
133
  undefined,
128
134
  ts.factory.createBlock(
@@ -187,8 +193,13 @@ export namespace AssertProgrammer {
187
193
  statements: [
188
194
  ...is.statements,
189
195
  ...composed.statements,
190
- StatementFactory.constant("__is", is.arrow),
191
- StatementFactory.mut("_errorFactory"),
196
+ StatementFactory.constant({
197
+ name: "__is",
198
+ value: is.arrow,
199
+ }),
200
+ StatementFactory.mut({
201
+ name: "_errorFactory",
202
+ }),
192
203
  ],
193
204
  arrow,
194
205
  };
@@ -355,7 +366,7 @@ export namespace AssertProgrammer {
355
366
  }),
356
367
  array: (props) =>
357
368
  ts.factory.createCallExpression(
358
- IdentifierFactory.access(props.input)("every"),
369
+ IdentifierFactory.access(props.input, "every"),
359
370
  undefined,
360
371
  [props.arrow],
361
372
  ),
@@ -173,9 +173,9 @@ export namespace CheckerProgrammer {
173
173
  .arrays()
174
174
  .filter((a) => a.recursive)
175
175
  .map((type, i) =>
176
- StatementFactory.constant(
177
- `${props.config.prefix}a${i}`,
178
- ts.factory.createArrowFunction(
176
+ StatementFactory.constant({
177
+ name: `${props.config.prefix}a${i}`,
178
+ value: ts.factory.createArrowFunction(
179
179
  undefined,
180
180
  undefined,
181
181
  FeatureProgrammer.parameterDeclarations({
@@ -200,7 +200,7 @@ export namespace CheckerProgrammer {
200
200
  },
201
201
  }),
202
202
  ),
203
- ),
203
+ }),
204
204
  );
205
205
 
206
206
  export const write_tuple_functions = (props: {
@@ -213,9 +213,9 @@ export namespace CheckerProgrammer {
213
213
  .tuples()
214
214
  .filter((t) => t.recursive)
215
215
  .map((tuple, i) =>
216
- StatementFactory.constant(
217
- `${props.config.prefix}t${i}`,
218
- ts.factory.createArrowFunction(
216
+ StatementFactory.constant({
217
+ name: `${props.config.prefix}t${i}`,
218
+ value: ts.factory.createArrowFunction(
219
219
  undefined,
220
220
  undefined,
221
221
  FeatureProgrammer.parameterDeclarations({
@@ -239,7 +239,7 @@ export namespace CheckerProgrammer {
239
239
  },
240
240
  }),
241
241
  ),
242
- ),
242
+ }),
243
243
  );
244
244
 
245
245
  const configure = (props: {
@@ -254,7 +254,8 @@ export namespace CheckerProgrammer {
254
254
  undefined,
255
255
  "input",
256
256
  ts.factory.createTypeReferenceNode(
257
- name ?? TypeFactory.getFullName(props.context.checker)(type),
257
+ name ??
258
+ TypeFactory.getFullName({ checker: props.context.checker, type }),
258
259
  ),
259
260
  ),
260
261
  },
@@ -530,7 +531,8 @@ export namespace CheckerProgrammer {
530
531
  ],
531
532
  ),
532
533
  ),
533
- )("has"),
534
+ "has",
535
+ ),
534
536
  undefined,
535
537
  [props.input],
536
538
  ),
@@ -808,7 +810,8 @@ export namespace CheckerProgrammer {
808
810
  (prop) => !prop.key.isSoleLiteral() || !prop.value.isRequired(),
809
811
  ),
810
812
  ),
811
- })(props.input),
813
+ input: props.input,
814
+ }),
812
815
  expected: props.metadata.objects.map((obj) => obj.name).join(" | "),
813
816
  body: explore_objects({
814
817
  config: props.config,
@@ -1104,7 +1107,7 @@ export namespace CheckerProgrammer {
1104
1107
  context: props.context,
1105
1108
  importer: props.importer,
1106
1109
  input: ts.factory.createCallExpression(
1107
- IdentifierFactory.access(props.input)("slice"),
1110
+ IdentifierFactory.access(props.input, "slice"),
1108
1111
  undefined,
1109
1112
  [ExpressionFactory.number(props.tuple.elements.length - 1)],
1110
1113
  ),
@@ -1205,7 +1208,7 @@ export namespace CheckerProgrammer {
1205
1208
  undefined,
1206
1209
  [
1207
1210
  ts.factory.createCallExpression(
1208
- IdentifierFactory.access(props.input)("toJSON"),
1211
+ IdentifierFactory.access(props.input, "toJSON"),
1209
1212
  undefined,
1210
1213
  [],
1211
1214
  ),
@@ -397,9 +397,9 @@ export namespace FeatureProgrammer {
397
397
  collection: MetadataCollection;
398
398
  }) =>
399
399
  props.collection.objects().map((object) =>
400
- StatementFactory.constant(
401
- `${props.config.prefix}o${object.index}`,
402
- ts.factory.createArrowFunction(
400
+ StatementFactory.constant({
401
+ name: `${props.config.prefix}o${object.index}`,
402
+ value: ts.factory.createArrowFunction(
403
403
  undefined,
404
404
  undefined,
405
405
  parameterDeclarations({
@@ -420,7 +420,7 @@ export namespace FeatureProgrammer {
420
420
  object,
421
421
  }),
422
422
  ),
423
- ),
423
+ }),
424
424
  );
425
425
 
426
426
  export const write_union_functions = (props: {
@@ -428,13 +428,13 @@ export namespace FeatureProgrammer {
428
428
  collection: MetadataCollection;
429
429
  }) =>
430
430
  props.collection.unions().map((union, i) =>
431
- StatementFactory.constant(
432
- `${props.config.prefix}u${i}`,
433
- write_union({
431
+ StatementFactory.constant({
432
+ name: `${props.config.prefix}u${i}`,
433
+ value: write_union({
434
434
  config: props.config,
435
435
  objects: union,
436
436
  }),
437
- ),
437
+ }),
438
438
  );
439
439
 
440
440
  const write_union = (props: { config: IConfig; objects: MetadataObject[] }) =>
@@ -81,7 +81,7 @@ export namespace IsProgrammer {
81
81
  }),
82
82
  array: (props) =>
83
83
  ts.factory.createCallExpression(
84
- IdentifierFactory.access(props.input)("every"),
84
+ IdentifierFactory.access(props.input, "every"),
85
85
  undefined,
86
86
  [props.arrow],
87
87
  ),
@@ -259,10 +259,11 @@ export namespace IsProgrammer {
259
259
  ExpressionFactory.isObject({
260
260
  checkArray: false,
261
261
  checkNull: props.checkNull,
262
- })(props.input),
262
+ input: props.input,
263
+ }),
263
264
  ts.factory.createStrictEquality(
264
265
  ts.factory.createStringLiteral("function"),
265
- ValueFactory.TYPEOF(IdentifierFactory.access(props.input)("toJSON")),
266
+ ValueFactory.TYPEOF(IdentifierFactory.access(props.input, "toJSON")),
266
267
  ),
267
268
  );
268
269
 
@@ -107,7 +107,10 @@ export namespace RandomProgrammer {
107
107
  [
108
108
  ts.factory.createTypeReferenceNode(
109
109
  props.name ??
110
- TypeFactory.getFullName(props.context.checker)(props.type),
110
+ TypeFactory.getFullName({
111
+ checker: props.context.checker,
112
+ type: props.type,
113
+ }),
111
114
  ),
112
115
  ],
113
116
  false,
@@ -138,7 +141,7 @@ export namespace RandomProgrammer {
138
141
  );
139
142
  return {
140
143
  functions,
141
- statements: [StatementFactory.mut("_generator")],
144
+ statements: [StatementFactory.mut({ name: "_generator" })],
142
145
  arrow,
143
146
  };
144
147
  };
@@ -163,9 +166,9 @@ export namespace RandomProgrammer {
163
166
  collection: MetadataCollection;
164
167
  }): ts.VariableStatement[] =>
165
168
  props.collection.objects().map((obj, i) =>
166
- StatementFactory.constant(
167
- Prefix.object(i),
168
- ts.factory.createArrowFunction(
169
+ StatementFactory.constant({
170
+ name: Prefix.object(i),
171
+ value: ts.factory.createArrowFunction(
169
172
  undefined,
170
173
  undefined,
171
174
  [
@@ -196,7 +199,7 @@ export namespace RandomProgrammer {
196
199
  object: obj,
197
200
  }),
198
201
  ),
199
- ),
202
+ }),
200
203
  );
201
204
 
202
205
  const write_array_functions = (props: {
@@ -207,9 +210,9 @@ export namespace RandomProgrammer {
207
210
  .arrays()
208
211
  .filter((a) => a.recursive)
209
212
  .map((array, i) =>
210
- StatementFactory.constant(
211
- Prefix.array(i),
212
- ts.factory.createArrowFunction(
213
+ StatementFactory.constant({
214
+ name: Prefix.array(i),
215
+ value: ts.factory.createArrowFunction(
213
216
  undefined,
214
217
  undefined,
215
218
  [
@@ -254,7 +257,7 @@ export namespace RandomProgrammer {
254
257
  metadata: array.value,
255
258
  }),
256
259
  ),
257
- ),
260
+ }),
258
261
  );
259
262
 
260
263
  const write_tuple_functions = (props: {
@@ -265,9 +268,9 @@ export namespace RandomProgrammer {
265
268
  .tuples()
266
269
  .filter((a) => a.recursive)
267
270
  .map((tuple, i) =>
268
- StatementFactory.constant(
269
- Prefix.tuple(i),
270
- ts.factory.createArrowFunction(
271
+ StatementFactory.constant({
272
+ name: Prefix.tuple(i),
273
+ value: ts.factory.createArrowFunction(
271
274
  undefined,
272
275
  undefined,
273
276
  [
@@ -297,7 +300,7 @@ export namespace RandomProgrammer {
297
300
  elements: tuple.elements,
298
301
  }),
299
302
  ),
300
- ),
303
+ }),
301
304
  );
302
305
 
303
306
  /* -----------------------------------------------------------
@@ -1005,39 +1008,41 @@ export namespace RandomProgrammer {
1005
1008
  importer: props.importer,
1006
1009
  name: "Uint8Array",
1007
1010
  }),
1008
- )("buffer")
1011
+ "buffer",
1012
+ )
1009
1013
  : ExpressionFactory.selfCall(
1010
1014
  ts.factory.createBlock(
1011
1015
  [
1012
- StatementFactory.constant(
1013
- "length",
1014
- ts.factory.createCallExpression(
1016
+ StatementFactory.constant({
1017
+ name: "length",
1018
+ value: ts.factory.createCallExpression(
1015
1019
  coalesce(props.importer)("integer"),
1016
1020
  undefined,
1017
1021
  [],
1018
1022
  ),
1019
- ),
1020
- StatementFactory.constant(
1021
- "buffer",
1022
- ts.factory.createNewExpression(
1023
+ }),
1024
+ StatementFactory.constant({
1025
+ name: "buffer",
1026
+ value: ts.factory.createNewExpression(
1023
1027
  ts.factory.createIdentifier("SharedArrayBuffer"),
1024
1028
  [],
1025
1029
  [ts.factory.createIdentifier("length")],
1026
1030
  ),
1027
- ),
1028
- StatementFactory.constant(
1029
- "bytes",
1030
- ts.factory.createNewExpression(
1031
+ }),
1032
+ StatementFactory.constant({
1033
+ name: "bytes",
1034
+ value: ts.factory.createNewExpression(
1031
1035
  ts.factory.createIdentifier("Uint8Array"),
1032
1036
  [],
1033
1037
  [ts.factory.createIdentifier("buffer")],
1034
1038
  ),
1035
- ),
1039
+ }),
1036
1040
  ts.factory.createExpressionStatement(
1037
1041
  ts.factory.createCallExpression(
1038
1042
  IdentifierFactory.access(
1039
1043
  ts.factory.createIdentifier("bytes"),
1040
- )("set"),
1044
+ "set",
1045
+ ),
1041
1046
  undefined,
1042
1047
  [
1043
1048
  ts.factory.createCallExpression(
@@ -1084,7 +1089,8 @@ export namespace RandomProgrammer {
1084
1089
  importer,
1085
1090
  name: "Uint8Array",
1086
1091
  }),
1087
- )("buffer"),
1092
+ "buffer",
1093
+ ),
1088
1094
  ],
1089
1095
  );
1090
1096
 
@@ -1121,7 +1127,8 @@ const coalesce = (importer: FunctionImporter) => (name: string) =>
1121
1127
  ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
1122
1128
  ts.factory.createStringLiteral(name),
1123
1129
  ),
1124
- )(IdentifierFactory.access(importer.use("generator"))(name));
1130
+ IdentifierFactory.access(importer.use("generator"), name),
1131
+ );
1125
1132
 
1126
1133
  const emendFormat = (key: keyof Format.Validator) =>
1127
1134
  key === "date-time"
@@ -105,7 +105,10 @@ export namespace ValidateProgrammer {
105
105
  ts.factory.createTypeReferenceNode(
106
106
  `typia.IValidation<${
107
107
  props.name ??
108
- TypeFactory.getFullName(props.context.checker)(props.type)
108
+ TypeFactory.getFullName({
109
+ checker: props.context.checker,
110
+ type: props.type,
111
+ })
109
112
  }>`,
110
113
  ),
111
114
  undefined,
@@ -142,7 +145,8 @@ export namespace ValidateProgrammer {
142
145
  TypeFactory.keyword("any"),
143
146
  ),
144
147
  ),
145
- )("report"),
148
+ "report",
149
+ ),
146
150
  [],
147
151
  [ts.factory.createIdentifier("errors")],
148
152
  ),
@@ -166,13 +170,13 @@ export namespace ValidateProgrammer {
166
170
  ],
167
171
  ),
168
172
  ),
169
- StatementFactory.constant(
170
- "success",
171
- ts.factory.createStrictEquality(
173
+ StatementFactory.constant({
174
+ name: "success",
175
+ value: ts.factory.createStrictEquality(
172
176
  ExpressionFactory.number(0),
173
177
  ts.factory.createIdentifier("errors.length"),
174
178
  ),
175
- ),
179
+ }),
176
180
  ts.factory.createReturnStatement(
177
181
  ts.factory.createAsExpression(
178
182
  create_output(),
@@ -215,9 +219,12 @@ export namespace ValidateProgrammer {
215
219
  statements: [
216
220
  ...is.statements,
217
221
  ...composed.statements,
218
- StatementFactory.constant("__is", is.arrow),
219
- StatementFactory.mut("errors"),
220
- StatementFactory.mut("$report"),
222
+ StatementFactory.constant({
223
+ name: "__is",
224
+ value: is.arrow,
225
+ }),
226
+ StatementFactory.mut({ name: "errors" }),
227
+ StatementFactory.mut({ name: "$report" }),
221
228
  ],
222
229
  arrow,
223
230
  };
@@ -363,7 +370,7 @@ const joiner = (props: {
363
370
  array: (props) =>
364
371
  check_everything(
365
372
  ts.factory.createCallExpression(
366
- IdentifierFactory.access(props.input)("map"),
373
+ IdentifierFactory.access(props.input, "map"),
367
374
  undefined,
368
375
  [props.arrow],
369
376
  ),
@@ -92,9 +92,9 @@ export namespace FunctionalAssertParametersProgrammer {
92
92
 
93
93
  export const decompose = (props: IDecomposeProps): IDecomposeOutput => ({
94
94
  functions: props.parameters.map((p, i) =>
95
- StatementFactory.constant(
96
- `__assert_param_${i}`,
97
- AssertProgrammer.write({
95
+ StatementFactory.constant({
96
+ name: `__assert_param_${i}`,
97
+ value: AssertProgrammer.write({
98
98
  context: props.context,
99
99
  modulo: props.modulo,
100
100
  config: {
@@ -124,7 +124,7 @@ export namespace FunctionalAssertParametersProgrammer {
124
124
  // ),
125
125
  // undefined,
126
126
  // [ts.factory.createIdentifier(p.name.getText())],
127
- ),
127
+ }),
128
128
  ),
129
129
  expressions: props.parameters.map((p, i) =>
130
130
  ts.factory.createCallExpression(
@@ -87,9 +87,9 @@ export namespace FunctionAssertReturnProgrammer {
87
87
  return {
88
88
  async,
89
89
  functions: [
90
- StatementFactory.constant(
91
- "__assert_return",
92
- AssertProgrammer.write({
90
+ StatementFactory.constant({
91
+ name: "__assert_return",
92
+ value: AssertProgrammer.write({
93
93
  context: props.context,
94
94
  modulo: props.modulo,
95
95
  config: {
@@ -103,7 +103,7 @@ export namespace FunctionAssertReturnProgrammer {
103
103
  replacer: "$input.return",
104
104
  }),
105
105
  }),
106
- ),
106
+ }),
107
107
  ],
108
108
  value: ts.factory.createCallExpression(
109
109
  ts.factory.createIdentifier("__assert_return"),
@@ -80,9 +80,9 @@ export namespace FunctionalIsParametersProgrammer {
80
80
 
81
81
  export const decompose = (props: IDecomposeProps): IDecomposeOutput => ({
82
82
  functions: props.declaration.parameters.map((p, i) =>
83
- StatementFactory.constant(
84
- `__is_param_${i}`,
85
- IsProgrammer.write({
83
+ StatementFactory.constant({
84
+ name: `__is_param_${i}`,
85
+ value: IsProgrammer.write({
86
86
  context: props.context,
87
87
  modulo: props.modulo,
88
88
  config: props.config,
@@ -92,7 +92,7 @@ export namespace FunctionalIsParametersProgrammer {
92
92
  init: undefined,
93
93
  name: undefined,
94
94
  }),
95
- ),
95
+ }),
96
96
  ),
97
97
  statements: props.declaration.parameters
98
98
  .map((p, i) => [
@@ -81,21 +81,21 @@ export namespace FunctionalIsReturnProgrammer {
81
81
  return {
82
82
  async,
83
83
  functions: [
84
- StatementFactory.constant(
85
- "__is_return",
86
- IsProgrammer.write({
84
+ StatementFactory.constant({
85
+ name: "__is_return",
86
+ value: IsProgrammer.write({
87
87
  ...props,
88
88
  type,
89
89
  name: undefined,
90
90
  init: undefined,
91
91
  }),
92
- ),
92
+ }),
93
93
  ],
94
94
  statements: [
95
- StatementFactory.constant(
95
+ StatementFactory.constant({
96
96
  name,
97
- async ? ts.factory.createAwaitExpression(caller) : caller,
98
- ),
97
+ value: async ? ts.factory.createAwaitExpression(caller) : caller,
98
+ }),
99
99
  ts.factory.createReturnStatement(
100
100
  ts.factory.createConditionalExpression(
101
101
  ts.factory.createCallExpression(
@@ -202,9 +202,9 @@ export namespace FunctionalValidateParametersProgrammer {
202
202
  );
203
203
  return {
204
204
  functions: props.declaration.parameters.map((p, i) =>
205
- StatementFactory.constant(
206
- `__validate_param_${i}`,
207
- ValidateProgrammer.write({
205
+ StatementFactory.constant({
206
+ name: `__validate_param_${i}`,
207
+ value: ValidateProgrammer.write({
208
208
  ...props,
209
209
  type: props.context.checker.getTypeFromTypeNode(
210
210
  p.type ?? TypeFactory.keyword("any"),
@@ -212,10 +212,13 @@ export namespace FunctionalValidateParametersProgrammer {
212
212
  name: undefined,
213
213
  init: undefined,
214
214
  }),
215
- ),
215
+ }),
216
216
  ),
217
217
  statements: [
218
- StatementFactory.constant(resultName, failures),
218
+ StatementFactory.constant({
219
+ name: resultName,
220
+ value: failures,
221
+ }),
219
222
  ts.factory.createIfStatement(
220
223
  ts.factory.createStrictInequality(
221
224
  ts.factory.createNumericLiteral("0"),
@@ -238,7 +241,8 @@ export namespace FunctionalValidateParametersProgrammer {
238
241
  ts.factory.createCallExpression(
239
242
  IdentifierFactory.access(
240
243
  ts.factory.createIdentifier(resultName),
241
- )("map"),
244
+ "map",
245
+ ),
242
246
  undefined,
243
247
  [
244
248
  ts.factory.createArrowFunction(
@@ -254,11 +258,13 @@ export namespace FunctionalValidateParametersProgrammer {
254
258
  undefined,
255
259
  IdentifierFactory.access(
256
260
  ts.factory.createIdentifier("r"),
257
- )("errors"),
261
+ "errors",
262
+ ),
258
263
  ),
259
264
  ],
260
265
  ),
261
- )("flat"),
266
+ "flat",
267
+ ),
262
268
  undefined,
263
269
  undefined,
264
270
  ),
@@ -82,25 +82,25 @@ export namespace FunctionalValidateReturnProgrammer {
82
82
  return {
83
83
  async,
84
84
  functions: [
85
- StatementFactory.constant(
86
- "__validate_return",
87
- ValidateProgrammer.write({
85
+ StatementFactory.constant({
86
+ name: "__validate_return",
87
+ value: ValidateProgrammer.write({
88
88
  ...props,
89
89
  type,
90
90
  name: undefined,
91
91
  init: undefined,
92
92
  }),
93
- ),
93
+ }),
94
94
  ],
95
95
  statements: [
96
- StatementFactory.constant(
96
+ StatementFactory.constant({
97
97
  name,
98
- ts.factory.createCallExpression(
98
+ value: ts.factory.createCallExpression(
99
99
  ts.factory.createIdentifier("__validate_return"),
100
100
  undefined,
101
101
  [async ? ts.factory.createAwaitExpression(caller) : caller],
102
102
  ),
103
- ),
103
+ }),
104
104
  ts.factory.createIfStatement(
105
105
  ts.factory.createStrictEquality(
106
106
  ts.factory.createFalse(),
@@ -44,7 +44,8 @@ export namespace CloneJoiner {
44
44
  ts.factory.createStringLiteral(r.key.getSoleLiteral()!),
45
45
  ),
46
46
  ),
47
- )("some"),
47
+ "some",
48
+ ),
48
49
  undefined,
49
50
  [
50
51
  ts.factory.createArrowFunction(
@@ -91,13 +92,19 @@ export namespace CloneJoiner {
91
92
  );
92
93
 
93
94
  return ts.factory.createBlock([
94
- StatementFactory.constant(
95
- "output",
96
- ts.factory.createAsExpression(literal, TypeFactory.keyword("any")),
97
- ),
95
+ StatementFactory.constant({
96
+ name: "output",
97
+ value: ts.factory.createAsExpression(
98
+ literal,
99
+ TypeFactory.keyword("any"),
100
+ ),
101
+ }),
98
102
  ts.factory.createForOfStatement(
99
103
  undefined,
100
- StatementFactory.entry("key")("value"),
104
+ StatementFactory.entry({
105
+ key: "key",
106
+ value: "value",
107
+ }),
101
108
  ts.factory.createCallExpression(
102
109
  ts.factory.createIdentifier("Object.entries"),
103
110
  undefined,