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
@@ -33,9 +33,10 @@ export namespace NotationGeneralProgrammer {
33
33
  rename: (str: string) => string;
34
34
  }
35
35
 
36
- export const returnType =
37
- (rename: (str: string) => string) => (type: string) =>
38
- `typia.${StringUtil.capitalize(rename.name)}Case<${type}>`;
36
+ export const returnType = (props: {
37
+ rename: (str: string) => string;
38
+ type: string;
39
+ }) => `typia.${StringUtil.capitalize(props.rename.name)}Case<${props.type}>`;
39
40
 
40
41
  export const decompose = (props: {
41
42
  rename: (str: string) => string;
@@ -65,10 +66,15 @@ export namespace NotationGeneralProgrammer {
65
66
  undefined,
66
67
  composed.parameters,
67
68
  ts.factory.createTypeReferenceNode(
68
- returnType(props.rename)(
69
- props.name ??
70
- TypeFactory.getFullName(props.context.checker)(props.type),
71
- ),
69
+ returnType({
70
+ rename: props.rename,
71
+ type:
72
+ props.name ??
73
+ TypeFactory.getFullName({
74
+ checker: props.context.checker,
75
+ type: props.type,
76
+ }),
77
+ }),
72
78
  ),
73
79
  undefined,
74
80
  composed.body,
@@ -101,9 +107,9 @@ export namespace NotationGeneralProgrammer {
101
107
  .arrays()
102
108
  .filter((a) => a.recursive)
103
109
  .map((type, i) =>
104
- StatementFactory.constant(
105
- `${props.config.prefix}a${i}`,
106
- ts.factory.createArrowFunction(
110
+ StatementFactory.constant({
111
+ name: `${props.config.prefix}a${i}`,
112
+ value: ts.factory.createArrowFunction(
107
113
  undefined,
108
114
  undefined,
109
115
  FeatureProgrammer.parameterDeclarations({
@@ -128,7 +134,7 @@ export namespace NotationGeneralProgrammer {
128
134
  },
129
135
  }),
130
136
  ),
131
- ),
137
+ }),
132
138
  );
133
139
 
134
140
  const write_tuple_functions = (props: {
@@ -141,9 +147,9 @@ export namespace NotationGeneralProgrammer {
141
147
  .tuples()
142
148
  .filter((t) => t.recursive)
143
149
  .map((tuple, i) =>
144
- StatementFactory.constant(
145
- `${props.config.prefix}t${i}`,
146
- ts.factory.createArrowFunction(
150
+ StatementFactory.constant({
151
+ name: `${props.config.prefix}t${i}`,
152
+ value: ts.factory.createArrowFunction(
147
153
  undefined,
148
154
  undefined,
149
155
  FeatureProgrammer.parameterDeclarations({
@@ -165,7 +171,7 @@ export namespace NotationGeneralProgrammer {
165
171
  },
166
172
  }),
167
173
  ),
168
- ),
174
+ }),
169
175
  );
170
176
 
171
177
  /* -----------------------------------------------------------
@@ -243,7 +249,7 @@ export namespace NotationGeneralProgrammer {
243
249
  value: () =>
244
250
  explore_arrays({
245
251
  ...props,
246
- elements: props.metadata.arrays,
252
+ arrays: props.metadata.arrays,
247
253
  explore: {
248
254
  ...props.explore,
249
255
  from: "array",
@@ -255,7 +261,7 @@ export namespace NotationGeneralProgrammer {
255
261
  if (props.metadata.sets.length)
256
262
  unions.push({
257
263
  type: "set",
258
- is: () => ExpressionFactory.isInstanceOf("Set")(props.input),
264
+ is: () => ExpressionFactory.isInstanceOf("Set", props.input),
259
265
  value: () =>
260
266
  explore_sets({
261
267
  ...props,
@@ -269,7 +275,7 @@ export namespace NotationGeneralProgrammer {
269
275
  if (props.metadata.maps.length)
270
276
  unions.push({
271
277
  type: "map",
272
- is: () => ExpressionFactory.isInstanceOf("Map")(props.input),
278
+ is: () => ExpressionFactory.isInstanceOf("Map", props.input),
273
279
  value: () =>
274
280
  explore_maps({
275
281
  ...props,
@@ -284,11 +290,11 @@ export namespace NotationGeneralProgrammer {
284
290
  if (native === "WeakSet" || native === "WeakMap") continue;
285
291
  unions.push({
286
292
  type: "native",
287
- is: () => ExpressionFactory.isInstanceOf(native)(props.input),
293
+ is: () => ExpressionFactory.isInstanceOf(native, props.input),
288
294
  value: () =>
289
295
  native === "Boolean" || native === "Number" || native === "String"
290
296
  ? ts.factory.createCallExpression(
291
- IdentifierFactory.access(props.input)("valueOf"),
297
+ IdentifierFactory.access(props.input, "valueOf"),
292
298
  undefined,
293
299
  undefined,
294
300
  )
@@ -307,7 +313,8 @@ export namespace NotationGeneralProgrammer {
307
313
  ExpressionFactory.isObject({
308
314
  checkNull: true,
309
315
  checkArray: false,
310
- })(props.input),
316
+ input: props.input,
317
+ }),
311
318
  value: () =>
312
319
  explore_objects({
313
320
  ...props,
@@ -472,7 +479,7 @@ export namespace NotationGeneralProgrammer {
472
479
  return decode({
473
480
  ...props,
474
481
  input: ts.factory.createCallExpression(
475
- IdentifierFactory.access(props.input)("slice"),
482
+ IdentifierFactory.access(props.input, "slice"),
476
483
  undefined,
477
484
  [ExpressionFactory.number(props.tuple.elements.length - 1)],
478
485
  ),
@@ -514,37 +521,47 @@ export namespace NotationGeneralProgrammer {
514
521
  }): ts.Expression =>
515
522
  ts.factory.createCallExpression(
516
523
  UnionExplorer.set({
517
- checker: (input, metadata, explore) =>
518
- IsProgrammer.decode({
519
- context: props.context,
520
- importer: props.importer,
521
- input,
522
- metadata,
523
- explore,
524
- }),
525
- decoder: (input, array, explore) =>
526
- ts.factory.createNewExpression(
524
+ config: {
525
+ checker: (v) =>
526
+ IsProgrammer.decode({
527
+ context: props.context,
528
+ importer: props.importer,
529
+ input: v.input,
530
+ metadata: v.definition,
531
+ explore: v.explore,
532
+ }),
533
+ decoder: (v) =>
534
+ ts.factory.createNewExpression(
535
+ ts.factory.createIdentifier("Set"),
536
+ [TypeFactory.keyword("any")],
537
+ [
538
+ decode_array({
539
+ config: props.config,
540
+ importer: props.importer,
541
+ input: v.input,
542
+ array: v.definition,
543
+ explore: v.explore,
544
+ }),
545
+ ],
546
+ ),
547
+ empty: ts.factory.createNewExpression(
527
548
  ts.factory.createIdentifier("Set"),
528
549
  [TypeFactory.keyword("any")],
529
- [
530
- decode_array({
531
- config: props.config,
532
- importer: props.importer,
533
- input,
534
- array,
535
- explore,
536
- }),
537
- ],
550
+ [],
538
551
  ),
539
- empty: ts.factory.createNewExpression(
540
- ts.factory.createIdentifier("Set"),
541
- [TypeFactory.keyword("any")],
542
- [],
543
- ),
544
- success: ts.factory.createTrue(),
545
- failure: (input, expected) =>
546
- create_throw_error({ importer: props.importer, expected, input }),
547
- })([])(props.input, props.sets, props.explore),
552
+ success: ts.factory.createTrue(),
553
+ failure: (v) =>
554
+ create_throw_error({
555
+ importer: props.importer,
556
+ expected: v.expected,
557
+ input: v.input,
558
+ }),
559
+ },
560
+ parameters: [],
561
+ input: props.input,
562
+ sets: props.sets,
563
+ explore: props.explore,
564
+ }),
548
565
  undefined,
549
566
  undefined,
550
567
  );
@@ -559,52 +576,62 @@ export namespace NotationGeneralProgrammer {
559
576
  }): ts.Expression =>
560
577
  ts.factory.createCallExpression(
561
578
  UnionExplorer.map({
562
- checker: (top, entry, explore) =>
563
- ts.factory.createLogicalAnd(
564
- IsProgrammer.decode({
565
- context: props.context,
566
- importer: props.importer,
567
- input: ts.factory.createElementAccessExpression(top, 0),
568
- metadata: entry[0],
569
- explore: {
570
- ...props.explore,
571
- postfix: `${explore.postfix}[0]`,
572
- },
573
- }),
574
- IsProgrammer.decode({
575
- context: props.context,
576
- importer: props.importer,
577
- input: ts.factory.createElementAccessExpression(top, 1),
578
- metadata: entry[1],
579
- explore: {
580
- ...props.explore,
581
- postfix: `${props.explore.postfix}[1]`,
582
- },
583
- }),
584
- ),
585
- decoder: (input, array, explore) =>
586
- ts.factory.createNewExpression(
587
- ts.factory.createIdentifier("Map"),
588
- [TypeFactory.keyword("any"), TypeFactory.keyword("any")],
589
- [
590
- decode_array({
591
- config: props.config,
579
+ config: {
580
+ checker: (v) =>
581
+ ts.factory.createLogicalAnd(
582
+ IsProgrammer.decode({
583
+ context: props.context,
592
584
  importer: props.importer,
593
- input,
594
- array,
595
- explore,
585
+ input: ts.factory.createElementAccessExpression(v.input, 0),
586
+ metadata: v.definition[0],
587
+ explore: {
588
+ ...props.explore,
589
+ postfix: `${v.explore.postfix}[0]`,
590
+ },
596
591
  }),
597
- ],
592
+ IsProgrammer.decode({
593
+ context: props.context,
594
+ importer: props.importer,
595
+ input: ts.factory.createElementAccessExpression(v.input, 1),
596
+ metadata: v.definition[1],
597
+ explore: {
598
+ ...props.explore,
599
+ postfix: `${props.explore.postfix}[1]`,
600
+ },
601
+ }),
602
+ ),
603
+ decoder: (v) =>
604
+ ts.factory.createNewExpression(
605
+ ts.factory.createIdentifier("Map"),
606
+ [TypeFactory.keyword("any"), TypeFactory.keyword("any")],
607
+ [
608
+ decode_array({
609
+ config: props.config,
610
+ importer: props.importer,
611
+ input: v.input,
612
+ array: v.definition,
613
+ explore: v.explore,
614
+ }),
615
+ ],
616
+ ),
617
+ empty: ts.factory.createNewExpression(
618
+ ts.factory.createIdentifier("Map"),
619
+ [TypeFactory.keyword("any"), TypeFactory.keyword("any")],
620
+ [],
598
621
  ),
599
- empty: ts.factory.createNewExpression(
600
- ts.factory.createIdentifier("Map"),
601
- [TypeFactory.keyword("any"), TypeFactory.keyword("any")],
602
- [],
603
- ),
604
- success: ts.factory.createTrue(),
605
- failure: (input, expected) =>
606
- create_throw_error({ importer: props.importer, expected, input }),
607
- })([])(props.input, props.maps, props.explore),
622
+ success: ts.factory.createTrue(),
623
+ failure: (v) =>
624
+ create_throw_error({
625
+ importer: props.importer,
626
+ expected: v.expected,
627
+ input: v.input,
628
+ }),
629
+ },
630
+ parameters: [],
631
+ input: props.input,
632
+ maps: props.maps,
633
+ explore: props.explore,
634
+ }),
608
635
  undefined,
609
636
  undefined,
610
637
  );
@@ -637,37 +664,47 @@ export namespace NotationGeneralProgrammer {
637
664
  config: FeatureProgrammer.IConfig;
638
665
  importer: FunctionImporter;
639
666
  input: ts.Expression;
640
- elements: MetadataArray[];
667
+ arrays: MetadataArray[];
641
668
  explore: FeatureProgrammer.IExplore;
642
669
  }): ts.Expression =>
643
670
  explore_array_like_union_types({
644
671
  ...props,
645
- factory: UnionExplorer.array({
646
- checker: (input, metadata, explore) =>
647
- IsProgrammer.decode({
648
- context: props.context,
649
- importer: props.importer,
650
- input,
651
- metadata,
652
- explore,
653
- }),
654
- decoder: (input, array, explore) =>
655
- decode_array({
656
- config: props.config,
657
- importer: props.importer,
658
- input,
659
- array,
660
- explore,
661
- }),
662
- empty: ts.factory.createIdentifier("[]"),
663
- success: ts.factory.createTrue(),
664
- failure: (input, expected) =>
665
- create_throw_error({
666
- importer: props.importer,
667
- expected,
668
- input,
669
- }),
670
- }),
672
+ factory: (next) =>
673
+ UnionExplorer.array({
674
+ config: {
675
+ checker: (v) =>
676
+ IsProgrammer.decode({
677
+ context: props.context,
678
+ importer: props.importer,
679
+ input: v.input,
680
+ metadata: v.definition,
681
+ explore: v.explore,
682
+ }),
683
+ decoder: (v) =>
684
+ decode_array({
685
+ config: props.config,
686
+ importer: props.importer,
687
+ input: v.input,
688
+ array: v.definition,
689
+ explore: v.explore,
690
+ }),
691
+ empty: ts.factory.createIdentifier("[]"),
692
+ success: ts.factory.createTrue(),
693
+ failure: (v) =>
694
+ create_throw_error({
695
+ importer: props.importer,
696
+ expected: v.expected,
697
+ input: v.input,
698
+ }),
699
+ },
700
+ parameters: next.parameters,
701
+ input: next.input,
702
+ arrays: next.definitions,
703
+ explore: next.explore,
704
+ }),
705
+ definitions: props.arrays,
706
+ input: props.input,
707
+ explore: props.explore,
671
708
  });
672
709
 
673
710
  const explore_array_like_union_types = <
@@ -675,23 +712,27 @@ export namespace NotationGeneralProgrammer {
675
712
  >(props: {
676
713
  config: FeatureProgrammer.IConfig;
677
714
  importer: FunctionImporter;
678
- factory: (
679
- parameters: ts.ParameterDeclaration[],
680
- ) => (
681
- input: ts.Expression,
682
- elements: T[],
683
- explore: FeatureProgrammer.IExplore,
684
- ) => ts.ArrowFunction;
715
+ factory: (next: {
716
+ parameters: ts.ParameterDeclaration[];
717
+ input: ts.Expression;
718
+ definitions: T[];
719
+ explore: FeatureProgrammer.IExplore;
720
+ }) => ts.ArrowFunction;
685
721
  input: ts.Expression;
686
- elements: T[];
722
+ definitions: T[];
687
723
  explore: FeatureProgrammer.IExplore;
688
724
  }): ts.Expression => {
689
725
  const arrow =
690
726
  (parameters: ts.ParameterDeclaration[]) =>
691
727
  (explore: FeatureProgrammer.IExplore) =>
692
728
  (input: ts.Expression): ts.ArrowFunction =>
693
- props.factory(parameters)(input, props.elements, explore);
694
- if (props.elements.every((e) => e.type.recursive === false))
729
+ props.factory({
730
+ parameters,
731
+ input,
732
+ definitions: props.definitions,
733
+ explore,
734
+ });
735
+ if (props.definitions.every((e) => e.type.recursive === false))
695
736
  ts.factory.createCallExpression(
696
737
  arrow([])(props.explore)(props.input),
697
738
  undefined,
@@ -707,7 +748,7 @@ export namespace NotationGeneralProgrammer {
707
748
  ts.factory.createIdentifier(
708
749
  props.importer.emplaceUnion(
709
750
  props.config.prefix,
710
- props.elements.map((e) => e.type.name).join(" | "),
751
+ props.definitions.map((e) => e.type.name).join(" | "),
711
752
  () =>
712
753
  arrow(
713
754
  FeatureProgrammer.parameterDeclarations({
@@ -739,18 +780,25 @@ export namespace NotationGeneralProgrammer {
739
780
  rename: (str: string) => string;
740
781
  context: ITypiaContext;
741
782
  importer: FunctionImporter;
742
- }): FeatureProgrammer.IConfig => {
743
- const config: FeatureProgrammer.IConfig = {
783
+ }): FeatureProgrammer.IConfig<ts.Expression> => {
784
+ const config: FeatureProgrammer.IConfig<ts.Expression> = {
744
785
  types: {
745
786
  input: (type, name) =>
746
787
  ts.factory.createTypeReferenceNode(
747
- name ?? TypeFactory.getFullName(props.context.checker)(type),
788
+ name ??
789
+ TypeFactory.getFullName({ checker: props.context.checker, type }),
748
790
  ),
749
791
  output: (type, name) =>
750
792
  ts.factory.createTypeReferenceNode(
751
- returnType(props.rename)(
752
- name ?? TypeFactory.getFullName(props.context.checker)(type),
753
- ),
793
+ returnType({
794
+ rename: props.rename,
795
+ type:
796
+ name ??
797
+ TypeFactory.getFullName({
798
+ checker: props.context.checker,
799
+ type,
800
+ }),
801
+ }),
754
802
  ),
755
803
  },
756
804
  prefix: PREFIX,
@@ -782,30 +830,40 @@ export namespace NotationGeneralProgrammer {
782
830
  input: next.input,
783
831
  explore: next.explore,
784
832
  }),
785
- joiner: NotationJoiner.object(props.rename),
833
+ joiner: (next) =>
834
+ NotationJoiner.object({
835
+ rename: props.rename,
836
+ input: next.input!,
837
+ entries: next.entries,
838
+ }),
786
839
  unionizer: (next) =>
787
- decode_union_object((input, object, explore) =>
788
- IsProgrammer.decode_object({
789
- context: props.context,
790
- importer: props.importer,
791
- object,
792
- input,
793
- explore,
794
- }),
795
- )((input, object, explore) =>
796
- decode_object({
797
- importer: props.importer,
798
- object,
799
- input,
800
- explore,
801
- }),
802
- )((exp) => exp)((input, expected) =>
803
- create_throw_error({
804
- importer: props.importer,
805
- expected,
806
- input,
807
- }),
808
- )(next.input, next.objects, next.explore),
840
+ decode_union_object({
841
+ checker: (v) =>
842
+ IsProgrammer.decode_object({
843
+ context: props.context,
844
+ importer: props.importer,
845
+ object: v.object,
846
+ input: v.input,
847
+ explore: v.explore,
848
+ }),
849
+ decoder: (v) =>
850
+ decode_object({
851
+ importer: props.importer,
852
+ object: v.object,
853
+ input: v.input,
854
+ explore: v.explore,
855
+ }),
856
+ success: (exp) => exp,
857
+ escaper: (v) =>
858
+ create_throw_error({
859
+ importer: props.importer,
860
+ expected: v.expected,
861
+ input: v.input,
862
+ }),
863
+ input: next.input,
864
+ objects: next.objects,
865
+ explore: next.explore,
866
+ }),
809
867
  failure: (next) =>
810
868
  create_throw_error({
811
869
  importer: props.importer,
@@ -43,8 +43,14 @@ export namespace NotationIsGeneralProgrammer {
43
43
  statements: [
44
44
  ...is.statements,
45
45
  ...notation.statements,
46
- StatementFactory.constant("__is", is.arrow),
47
- StatementFactory.constant("__notation", notation.arrow),
46
+ StatementFactory.constant({
47
+ name: "__is",
48
+ value: is.arrow,
49
+ }),
50
+ StatementFactory.constant({
51
+ name: "__notation",
52
+ value: notation.arrow,
53
+ }),
48
54
  ],
49
55
  arrow: ts.factory.createArrowFunction(
50
56
  undefined,
@@ -43,8 +43,14 @@ export namespace NotationValidateGeneralProgrammer {
43
43
  statements: [
44
44
  ...validate.statements,
45
45
  ...notation.statements,
46
- StatementFactory.constant("__validate", validate.arrow),
47
- StatementFactory.constant("__notation", notation.arrow),
46
+ StatementFactory.constant({
47
+ name: "__validate",
48
+ value: validate.arrow,
49
+ }),
50
+ StatementFactory.constant({
51
+ name: "__notation",
52
+ value: notation.arrow,
53
+ }),
48
54
  ],
49
55
  arrow: ts.factory.createArrowFunction(
50
56
  undefined,
@@ -56,9 +62,9 @@ export namespace NotationValidateGeneralProgrammer {
56
62
  undefined,
57
63
  ts.factory.createBlock(
58
64
  [
59
- StatementFactory.constant(
60
- "result",
61
- ts.factory.createAsExpression(
65
+ StatementFactory.constant({
66
+ name: "result",
67
+ value: ts.factory.createAsExpression(
62
68
  ts.factory.createCallExpression(
63
69
  ts.factory.createIdentifier("__validate"),
64
70
  undefined,
@@ -66,7 +72,7 @@ export namespace NotationValidateGeneralProgrammer {
66
72
  ),
67
73
  TypeFactory.keyword("any"),
68
74
  ),
69
- ),
75
+ }),
70
76
  ts.factory.createIfStatement(
71
77
  ts.factory.createIdentifier("result.success"),
72
78
  ts.factory.createExpressionStatement(
@@ -44,8 +44,14 @@ export namespace ProtobufAssertDecodeProgrammer {
44
44
  statements: [
45
45
  ...assert.statements,
46
46
  ...decode.statements,
47
- StatementFactory.constant("__assert", assert.arrow),
48
- StatementFactory.constant("__decode", decode.arrow),
47
+ StatementFactory.constant({
48
+ name: "__assert",
49
+ value: assert.arrow,
50
+ }),
51
+ StatementFactory.constant({
52
+ name: "__decode",
53
+ value: decode.arrow,
54
+ }),
49
55
  ],
50
56
  arrow: ts.factory.createArrowFunction(
51
57
  undefined,
@@ -46,8 +46,14 @@ export namespace ProtobufAssertEncodeProgrammer {
46
46
  statements: [
47
47
  ...assert.statements,
48
48
  ...encode.statements,
49
- StatementFactory.constant("__assert", assert.arrow),
50
- StatementFactory.constant("__encode", encode.arrow),
49
+ StatementFactory.constant({
50
+ name: "__assert",
51
+ value: assert.arrow,
52
+ }),
53
+ StatementFactory.constant({
54
+ name: "__encode",
55
+ value: encode.arrow,
56
+ }),
51
57
  ],
52
58
  arrow: ts.factory.createArrowFunction(
53
59
  undefined,