typia 7.0.0-dev.20241001 → 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 (294) 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/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/http/HttpAssertFormDataProgrammer.js +8 -2
  96. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  97. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +8 -2
  98. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  99. package/lib/programmers/http/HttpAssertQueryProgrammer.js +8 -2
  100. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  101. package/lib/programmers/http/HttpFormDataProgrammer.js +14 -8
  102. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  103. package/lib/programmers/http/HttpHeadersProgrammer.js +20 -14
  104. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  105. package/lib/programmers/http/HttpIsFormDataProgrammer.js +12 -3
  106. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  107. package/lib/programmers/http/HttpIsHeadersProgrammer.js +12 -3
  108. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  109. package/lib/programmers/http/HttpIsQueryProgrammer.js +12 -3
  110. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  111. package/lib/programmers/http/HttpParameterProgrammer.js +17 -10
  112. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  113. package/lib/programmers/http/HttpQueryProgrammer.js +14 -8
  114. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  115. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +8 -2
  116. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  117. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +8 -2
  118. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  119. package/lib/programmers/http/HttpValidateQueryProgrammer.js +8 -2
  120. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  121. package/lib/programmers/internal/check_array_length.js +1 -1
  122. package/lib/programmers/internal/check_array_length.js.map +1 -1
  123. package/lib/programmers/internal/check_bigint.js +1 -1
  124. package/lib/programmers/internal/check_bigint.js.map +1 -1
  125. package/lib/programmers/internal/check_dynamic_properties.js +7 -4
  126. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  127. package/lib/programmers/internal/check_everything.js +1 -1
  128. package/lib/programmers/internal/check_everything.js.map +1 -1
  129. package/lib/programmers/internal/check_native.js +1 -1
  130. package/lib/programmers/internal/check_native.js.map +1 -1
  131. package/lib/programmers/internal/check_number.js +1 -1
  132. package/lib/programmers/internal/check_number.js.map +1 -1
  133. package/lib/programmers/internal/check_string.js +1 -1
  134. package/lib/programmers/internal/check_string.js.map +1 -1
  135. package/lib/programmers/internal/check_union_array_like.js +25 -7
  136. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  137. package/lib/programmers/internal/prune_object_properties.js +1 -1
  138. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  139. package/lib/programmers/internal/random_custom.js +1 -1
  140. package/lib/programmers/internal/random_custom.js.map +1 -1
  141. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -4
  142. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  143. package/lib/programmers/json/JsonAssertParseProgrammer.js +8 -2
  144. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  145. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +8 -2
  146. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  147. package/lib/programmers/json/JsonIsParseProgrammer.js +8 -2
  148. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  149. package/lib/programmers/json/JsonIsStringifyProgrammer.js +8 -2
  150. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  151. package/lib/programmers/json/JsonStringifyProgrammer.js +50 -43
  152. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  153. package/lib/programmers/json/JsonValidateParseProgrammer.js +8 -2
  154. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  155. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +12 -3
  156. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  157. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +8 -2
  158. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  159. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +12 -3
  160. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  161. package/lib/programmers/misc/MiscCloneProgrammer.js +60 -47
  162. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  163. package/lib/programmers/misc/MiscIsCloneProgrammer.js +8 -2
  164. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  165. package/lib/programmers/misc/MiscIsPruneProgrammer.js +8 -2
  166. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  167. package/lib/programmers/misc/MiscPruneProgrammer.js +49 -42
  168. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  169. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +12 -3
  170. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  171. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +16 -4
  172. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  173. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +8 -2
  174. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  175. package/lib/programmers/notations/NotationGeneralProgrammer.js +45 -32
  176. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  177. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +8 -2
  178. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  179. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +12 -3
  180. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  181. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +8 -2
  182. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  183. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +8 -2
  184. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  185. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +51 -30
  186. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  187. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +57 -41
  188. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  189. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +12 -3
  190. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  191. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +8 -2
  192. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  193. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +8 -2
  194. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  195. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +12 -3
  196. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  197. package/lib/transformers/features/llm/LlmApplicationTransformer.js +5 -2
  198. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  199. package/package.json +1 -1
  200. package/src/executable/TypiaGenerateWizard.ts +1 -1
  201. package/src/executable/TypiaSetupWizard.ts +1 -1
  202. package/src/executable/setup/ArgumentParser.ts +27 -28
  203. package/src/executable/setup/FileRetriever.ts +14 -17
  204. package/src/executable/setup/PackageManager.ts +4 -3
  205. package/src/factories/ExpressionFactory.ts +98 -84
  206. package/src/factories/IdentifierFactory.ts +26 -7
  207. package/src/factories/MetadataCollection.ts +4 -1
  208. package/src/factories/MetadataCommentTagFactory.ts +97 -88
  209. package/src/factories/MetadataFactory.ts +2 -1
  210. package/src/factories/MetadataTypeTagFactory.ts +334 -285
  211. package/src/factories/MetadataTypeTagSchemaFactory.ts +75 -52
  212. package/src/factories/NumericRangeFactory.ts +8 -8
  213. package/src/factories/StatementFactory.ts +27 -11
  214. package/src/factories/TemplateFactory.ts +29 -21
  215. package/src/factories/TypeFactory.ts +80 -58
  216. package/src/factories/internal/metadata/iterate_metadata.ts +4 -1
  217. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +6 -4
  218. package/src/factories/internal/metadata/iterate_metadata_escape.ts +5 -3
  219. package/src/factories/internal/metadata/iterate_metadata_function.ts +4 -4
  220. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +6 -3
  221. package/src/factories/internal/metadata/iterate_metadata_map.ts +4 -3
  222. package/src/factories/internal/metadata/iterate_metadata_native.ts +12 -9
  223. package/src/factories/internal/metadata/iterate_metadata_set.ts +5 -1
  224. package/src/programmers/AssertProgrammer.ts +16 -5
  225. package/src/programmers/CheckerProgrammer.ts +16 -13
  226. package/src/programmers/FeatureProgrammer.ts +8 -8
  227. package/src/programmers/IsProgrammer.ts +4 -3
  228. package/src/programmers/RandomProgrammer.ts +37 -30
  229. package/src/programmers/ValidateProgrammer.ts +17 -10
  230. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +4 -4
  231. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +4 -4
  232. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +4 -4
  233. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +7 -7
  234. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +14 -8
  235. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +7 -7
  236. package/src/programmers/helpers/CloneJoiner.ts +13 -6
  237. package/src/programmers/helpers/FunctionImporter.ts +12 -11
  238. package/src/programmers/helpers/NotationJoiner.ts +13 -6
  239. package/src/programmers/helpers/PruneJoiner.ts +3 -2
  240. package/src/programmers/helpers/RandomJoiner.ts +7 -4
  241. package/src/programmers/helpers/StringifyJoinder.ts +1 -1
  242. package/src/programmers/helpers/UnionExplorer.ts +16 -11
  243. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +8 -2
  244. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +8 -2
  245. package/src/programmers/http/HttpAssertQueryProgrammer.ts +8 -2
  246. package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
  247. package/src/programmers/http/HttpHeadersProgrammer.ts +13 -9
  248. package/src/programmers/http/HttpIsFormDataProgrammer.ts +12 -6
  249. package/src/programmers/http/HttpIsHeadersProgrammer.ts +12 -6
  250. package/src/programmers/http/HttpIsQueryProgrammer.ts +12 -6
  251. package/src/programmers/http/HttpParameterProgrammer.ts +16 -11
  252. package/src/programmers/http/HttpQueryProgrammer.ts +10 -6
  253. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +8 -2
  254. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +8 -2
  255. package/src/programmers/http/HttpValidateQueryProgrammer.ts +8 -2
  256. package/src/programmers/internal/check_array_length.ts +1 -1
  257. package/src/programmers/internal/check_bigint.ts +1 -1
  258. package/src/programmers/internal/check_dynamic_properties.ts +10 -7
  259. package/src/programmers/internal/check_everything.ts +1 -1
  260. package/src/programmers/internal/check_native.ts +1 -1
  261. package/src/programmers/internal/check_number.ts +1 -1
  262. package/src/programmers/internal/check_string.ts +1 -1
  263. package/src/programmers/internal/check_union_array_like.ts +27 -17
  264. package/src/programmers/internal/prune_object_properties.ts +1 -1
  265. package/src/programmers/internal/random_custom.ts +2 -1
  266. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -160
  267. package/src/programmers/json/JsonAssertParseProgrammer.ts +8 -2
  268. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +8 -2
  269. package/src/programmers/json/JsonIsParseProgrammer.ts +8 -2
  270. package/src/programmers/json/JsonIsStringifyProgrammer.ts +8 -2
  271. package/src/programmers/json/JsonStringifyProgrammer.ts +17 -15
  272. package/src/programmers/json/JsonValidateParseProgrammer.ts +8 -2
  273. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +12 -6
  274. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +8 -2
  275. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +12 -3
  276. package/src/programmers/misc/MiscCloneProgrammer.ts +30 -23
  277. package/src/programmers/misc/MiscIsCloneProgrammer.ts +8 -2
  278. package/src/programmers/misc/MiscIsPruneProgrammer.ts +8 -2
  279. package/src/programmers/misc/MiscPruneProgrammer.ts +16 -14
  280. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +12 -6
  281. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +16 -7
  282. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +8 -2
  283. package/src/programmers/notations/NotationGeneralProgrammer.ts +26 -17
  284. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +8 -2
  285. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +12 -6
  286. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +8 -2
  287. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +8 -2
  288. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +48 -46
  289. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +42 -34
  290. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -6
  291. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +8 -2
  292. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +8 -2
  293. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +12 -6
  294. package/src/transformers/features/llm/LlmApplicationTransformer.ts +7 -6
@@ -45,25 +45,25 @@ export namespace ProtobufEncodeProgrammer {
45
45
  });
46
46
 
47
47
  const callEncoder = (writer: string, factory: ts.NewExpression) =>
48
- StatementFactory.constant(
49
- writer,
50
- ts.factory.createCallExpression(
48
+ StatementFactory.constant({
49
+ name: writer,
50
+ value: ts.factory.createCallExpression(
51
51
  ts.factory.createIdentifier("encoder"),
52
52
  undefined,
53
53
  [factory, ts.factory.createIdentifier("input")],
54
54
  ),
55
- );
55
+ });
56
56
  return {
57
57
  functions: {
58
- encoder: StatementFactory.constant(
59
- props.importer.useLocal("encoder"),
60
- write_encoder({
58
+ encoder: StatementFactory.constant({
59
+ name: props.importer.useLocal("encoder"),
60
+ value: write_encoder({
61
61
  context: props.context,
62
62
  importer: props.importer,
63
63
  collection,
64
64
  metadata,
65
65
  }),
66
- ),
66
+ }),
67
67
  },
68
68
  statements: [],
69
69
  arrow: ts.factory.createArrowFunction(
@@ -74,7 +74,10 @@ export namespace ProtobufEncodeProgrammer {
74
74
  "input",
75
75
  ts.factory.createTypeReferenceNode(
76
76
  props.name ??
77
- TypeFactory.getFullName(props.context.checker)(props.type),
77
+ TypeFactory.getFullName({
78
+ checker: props.context.checker,
79
+ type: props.type,
80
+ }),
78
81
  ),
79
82
  ),
80
83
  ],
@@ -100,7 +103,7 @@ export namespace ProtobufEncodeProgrammer {
100
103
  ),
101
104
  ts.factory.createReturnStatement(
102
105
  ts.factory.createCallExpression(
103
- IdentifierFactory.access(WRITER())("buffer"),
106
+ IdentifierFactory.access(WRITER(), "buffer"),
104
107
  undefined,
105
108
  undefined,
106
109
  ),
@@ -137,9 +140,9 @@ export namespace ProtobufEncodeProgrammer {
137
140
  .objects()
138
141
  .filter((obj) => ProtobufUtil.isStaticObject(obj))
139
142
  .map((object) =>
140
- StatementFactory.constant(
141
- `${PREFIX}o${object.index}`,
142
- write_object_function({
143
+ StatementFactory.constant({
144
+ name: `${PREFIX}o${object.index}`,
145
+ value: write_object_function({
143
146
  context: props.context,
144
147
  importer: props.importer,
145
148
  input: ts.factory.createIdentifier("input"),
@@ -151,7 +154,7 @@ export namespace ProtobufEncodeProgrammer {
151
154
  postfix: "",
152
155
  },
153
156
  }),
154
- ),
157
+ }),
155
158
  );
156
159
  const main: ts.Block = decode({
157
160
  context: props.context,
@@ -203,7 +206,7 @@ export namespace ProtobufEncodeProgrammer {
203
206
  const block = decode({
204
207
  ...props,
205
208
  index,
206
- input: IdentifierFactory.access(props.input)(p.key.getSoleLiteral()!),
209
+ input: IdentifierFactory.access(props.input, p.key.getSoleLiteral()!),
207
210
  metadata: p.value,
208
211
  });
209
212
  index += ProtobufUtil.size(p.value);
@@ -360,7 +363,7 @@ export namespace ProtobufEncodeProgrammer {
360
363
  if (props.metadata.natives.length)
361
364
  unions.push({
362
365
  type: "bytes",
363
- is: () => ExpressionFactory.isInstanceOf("Uint8Array")(props.input),
366
+ is: () => ExpressionFactory.isInstanceOf("Uint8Array", props.input),
364
367
  value: (index) =>
365
368
  decode_bytes({
366
369
  method: "bytes",
@@ -390,7 +393,7 @@ export namespace ProtobufEncodeProgrammer {
390
393
  if (props.metadata.maps.length)
391
394
  unions.push({
392
395
  type: "map",
393
- is: () => ExpressionFactory.isInstanceOf("Map")(props.input),
396
+ is: () => ExpressionFactory.isInstanceOf("Map", props.input),
394
397
  value: (index) =>
395
398
  decode_map({
396
399
  ...props,
@@ -411,7 +414,8 @@ export namespace ProtobufEncodeProgrammer {
411
414
  ExpressionFactory.isObject({
412
415
  checkNull: true,
413
416
  checkArray: false,
414
- })(props.input),
417
+ input: props.input,
418
+ }),
415
419
  value: (index) =>
416
420
  explore_objects({
417
421
  ...props,
@@ -483,7 +487,7 @@ export namespace ProtobufEncodeProgrammer {
483
487
  ),
484
488
  ts.factory.createExpressionStatement(
485
489
  ts.factory.createCallExpression(
486
- IdentifierFactory.access(WRITER())("fork"),
490
+ IdentifierFactory.access(WRITER(), "fork"),
487
491
  undefined,
488
492
  undefined,
489
493
  ),
@@ -502,7 +506,7 @@ export namespace ProtobufEncodeProgrammer {
502
506
  }).statements,
503
507
  ts.factory.createExpressionStatement(
504
508
  ts.factory.createCallExpression(
505
- IdentifierFactory.access(WRITER())("ldelim"),
509
+ IdentifierFactory.access(WRITER(), "ldelim"),
506
510
  undefined,
507
511
  undefined,
508
512
  ),
@@ -512,7 +516,10 @@ export namespace ProtobufEncodeProgrammer {
512
516
  [
513
517
  ts.factory.createForOfStatement(
514
518
  undefined,
515
- StatementFactory.entry("key")("value"),
519
+ StatementFactory.entry({
520
+ key: "key",
521
+ value: "value",
522
+ }),
516
523
  props.input,
517
524
  ts.factory.createBlock(each),
518
525
  ),
@@ -565,7 +572,7 @@ export namespace ProtobufEncodeProgrammer {
565
572
  index: props.index,
566
573
  }),
567
574
  ts.factory.createCallExpression(
568
- IdentifierFactory.access(WRITER())("fork"),
575
+ IdentifierFactory.access(WRITER(), "fork"),
569
576
  undefined,
570
577
  undefined,
571
578
  ),
@@ -581,7 +588,7 @@ export namespace ProtobufEncodeProgrammer {
581
588
  ...(props.index !== null
582
589
  ? [
583
590
  ts.factory.createCallExpression(
584
- IdentifierFactory.access(WRITER())("ldelim"),
591
+ IdentifierFactory.access(WRITER(), "ldelim"),
585
592
  undefined,
586
593
  undefined,
587
594
  ),
@@ -622,7 +629,7 @@ export namespace ProtobufEncodeProgrammer {
622
629
  ts.factory.createIfStatement(
623
630
  ts.factory.createStrictInequality(
624
631
  ExpressionFactory.number(0),
625
- IdentifierFactory.access(props.input)("length"),
632
+ IdentifierFactory.access(props.input, "length"),
626
633
  ),
627
634
  block,
628
635
  ),
@@ -643,7 +650,7 @@ export namespace ProtobufEncodeProgrammer {
643
650
  ),
644
651
  ts.factory.createExpressionStatement(
645
652
  ts.factory.createCallExpression(
646
- IdentifierFactory.access(WRITER())("fork"),
653
+ IdentifierFactory.access(WRITER(), "fork"),
647
654
  undefined,
648
655
  undefined,
649
656
  ),
@@ -651,7 +658,7 @@ export namespace ProtobufEncodeProgrammer {
651
658
  forLoop(null),
652
659
  ts.factory.createExpressionStatement(
653
660
  ts.factory.createCallExpression(
654
- IdentifierFactory.access(WRITER())("ldelim"),
661
+ IdentifierFactory.access(WRITER(), "ldelim"),
655
662
  undefined,
656
663
  undefined,
657
664
  ),
@@ -674,7 +681,7 @@ export namespace ProtobufEncodeProgrammer {
674
681
  ]
675
682
  : []),
676
683
  ts.factory.createCallExpression(
677
- IdentifierFactory.access(WRITER())("bool"),
684
+ IdentifierFactory.access(WRITER(), "bool"),
678
685
  undefined,
679
686
  [props.input],
680
687
  ),
@@ -699,7 +706,7 @@ export namespace ProtobufEncodeProgrammer {
699
706
  ts.factory.createStringLiteral("number"),
700
707
  ts.factory.createTypeOfExpression(props.input),
701
708
  ),
702
- NumericRangeFactory.number(props.type)(props.input),
709
+ NumericRangeFactory.number(props.type, props.input),
703
710
  ),
704
711
  value: (index) =>
705
712
  ts.factory.createBlock(
@@ -713,7 +720,7 @@ export namespace ProtobufEncodeProgrammer {
713
720
  ]
714
721
  : []),
715
722
  ts.factory.createCallExpression(
716
- IdentifierFactory.access(WRITER())(props.type),
723
+ IdentifierFactory.access(WRITER(), props.type),
717
724
  undefined,
718
725
  [props.input],
719
726
  ),
@@ -739,7 +746,7 @@ export namespace ProtobufEncodeProgrammer {
739
746
  ts.factory.createStringLiteral("bigint"),
740
747
  ts.factory.createTypeOfExpression(props.input),
741
748
  ),
742
- NumericRangeFactory.bigint(props.type)(props.input),
749
+ NumericRangeFactory.bigint(props.type, props.input),
743
750
  ),
744
751
  value: (index) =>
745
752
  ts.factory.createBlock(
@@ -753,7 +760,7 @@ export namespace ProtobufEncodeProgrammer {
753
760
  ]
754
761
  : []),
755
762
  ts.factory.createCallExpression(
756
- IdentifierFactory.access(WRITER())(props.type),
763
+ IdentifierFactory.access(WRITER(), props.type),
757
764
  undefined,
758
765
  [props.input],
759
766
  ),
@@ -774,7 +781,7 @@ export namespace ProtobufEncodeProgrammer {
774
781
  index: props.index,
775
782
  }),
776
783
  ts.factory.createCallExpression(
777
- IdentifierFactory.access(WRITER())(props.method),
784
+ IdentifierFactory.access(WRITER(), props.method),
778
785
  undefined,
779
786
  [props.input],
780
787
  ),
@@ -787,7 +794,7 @@ export namespace ProtobufEncodeProgrammer {
787
794
  index: number;
788
795
  }): ts.CallExpression =>
789
796
  ts.factory.createCallExpression(
790
- IdentifierFactory.access(WRITER())("uint32"),
797
+ IdentifierFactory.access(WRITER(), "uint32"),
791
798
  undefined,
792
799
  [ExpressionFactory.number((props.index << 3) | props.wire)],
793
800
  );
@@ -900,7 +907,8 @@ export namespace ProtobufEncodeProgrammer {
900
907
  .filter((spec) => spec.property.key.getSoleLiteral() !== null)
901
908
  .map((spec, i, array) => {
902
909
  const key: string = spec.property.key.getSoleLiteral()!;
903
- const accessor: ts.Expression = IdentifierFactory.access(props.input)(
910
+ const accessor: ts.Expression = IdentifierFactory.access(
911
+ props.input,
904
912
  key,
905
913
  );
906
914
  const pred: ts.Expression = spec.neighbour
@@ -43,8 +43,14 @@ export namespace ProtobufIsDecodeProgrammer {
43
43
  statements: [
44
44
  ...is.statements,
45
45
  ...decode.statements,
46
- StatementFactory.constant("__is", is.arrow),
47
- StatementFactory.constant("__decode", decode.arrow),
46
+ StatementFactory.constant({
47
+ name: "__is",
48
+ value: is.arrow,
49
+ }),
50
+ StatementFactory.constant({
51
+ name: "__decode",
52
+ value: decode.arrow,
53
+ }),
48
54
  ],
49
55
  arrow: ts.factory.createArrowFunction(
50
56
  undefined,
@@ -57,14 +63,14 @@ export namespace ProtobufIsDecodeProgrammer {
57
63
  undefined,
58
64
  ts.factory.createBlock(
59
65
  [
60
- StatementFactory.constant(
61
- "value",
62
- ts.factory.createCallExpression(
66
+ StatementFactory.constant({
67
+ name: "value",
68
+ value: ts.factory.createCallExpression(
63
69
  ts.factory.createIdentifier("__decode"),
64
70
  undefined,
65
71
  [ts.factory.createIdentifier("input")],
66
72
  ),
67
- ),
73
+ }),
68
74
  ts.factory.createIfStatement(
69
75
  ts.factory.createPrefixUnaryExpression(
70
76
  ts.SyntaxKind.ExclamationToken,
@@ -44,8 +44,14 @@ export namespace ProtobufIsEncodeProgrammer {
44
44
  statements: [
45
45
  ...is.statements,
46
46
  ...encode.statements,
47
- StatementFactory.constant("__is", is.arrow),
48
- StatementFactory.constant("__encode", encode.arrow),
47
+ StatementFactory.constant({
48
+ name: "__is",
49
+ value: is.arrow,
50
+ }),
51
+ StatementFactory.constant({
52
+ name: "__encode",
53
+ value: encode.arrow,
54
+ }),
49
55
  ],
50
56
  arrow: ts.factory.createArrowFunction(
51
57
  undefined,
@@ -41,8 +41,14 @@ export namespace ProtobufValidateDecodeProgrammer {
41
41
  },
42
42
  statements: [
43
43
  ...validate.statements,
44
- StatementFactory.constant("__validate", validate.arrow),
45
- StatementFactory.constant("__decode", decode.arrow),
44
+ StatementFactory.constant({
45
+ name: "__validate",
46
+ value: validate.arrow,
47
+ }),
48
+ StatementFactory.constant({
49
+ name: "__decode",
50
+ value: decode.arrow,
51
+ }),
46
52
  ],
47
53
  arrow: ts.factory.createArrowFunction(
48
54
  undefined,
@@ -43,8 +43,14 @@ export namespace ProtobufValidateEncodeProgrammer {
43
43
  statements: [
44
44
  ...validate.statements,
45
45
  ...encode.statements,
46
- StatementFactory.constant("__validate", validate.arrow),
47
- StatementFactory.constant("__encode", encode.arrow),
46
+ StatementFactory.constant({
47
+ name: "__validate",
48
+ value: validate.arrow,
49
+ }),
50
+ StatementFactory.constant({
51
+ name: "__encode",
52
+ value: encode.arrow,
53
+ }),
48
54
  ],
49
55
  arrow: ts.factory.createArrowFunction(
50
56
  undefined,
@@ -56,9 +62,9 @@ export namespace ProtobufValidateEncodeProgrammer {
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 ProtobufValidateEncodeProgrammer {
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(
@@ -53,20 +53,21 @@ export namespace LlmApplicationTransformer {
53
53
  throw TransformerError.from("typia.llm.application")(result.errors);
54
54
 
55
55
  // GENERATE LLM APPLICATION
56
- const schema: ILlmApplication = LlmApplicationProgrammer.write(
57
- result.data,
58
- );
56
+ const schema: ILlmApplication = LlmApplicationProgrammer.write(result.data);
59
57
  const literal: ts.Expression = LiteralFactory.generate(schema);
60
58
  if (!props.expression.arguments?.[0]) return literal;
61
-
59
+
62
60
  return ExpressionFactory.selfCall(
63
61
  ts.factory.createBlock(
64
62
  [
65
- StatementFactory.constant("app", LiteralFactory.generate(schema)),
63
+ StatementFactory.constant({
64
+ name: "app",
65
+ value: LiteralFactory.generate(schema),
66
+ }),
66
67
  ts.factory.createExpressionStatement(
67
68
  ts.factory.createCallExpression(
68
69
  ts.factory.createAsExpression(
69
- IdentifierFactory.access(props.modulo)("finalize"),
70
+ IdentifierFactory.access(props.modulo, "finalize"),
70
71
  TypeFactory.keyword("any"),
71
72
  ),
72
73
  undefined,