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
@@ -70,7 +70,10 @@ export namespace NotationGeneralProgrammer {
70
70
  rename: props.rename,
71
71
  type:
72
72
  props.name ??
73
- TypeFactory.getFullName(props.context.checker)(props.type),
73
+ TypeFactory.getFullName({
74
+ checker: props.context.checker,
75
+ type: props.type,
76
+ }),
74
77
  }),
75
78
  ),
76
79
  undefined,
@@ -104,9 +107,9 @@ export namespace NotationGeneralProgrammer {
104
107
  .arrays()
105
108
  .filter((a) => a.recursive)
106
109
  .map((type, i) =>
107
- StatementFactory.constant(
108
- `${props.config.prefix}a${i}`,
109
- ts.factory.createArrowFunction(
110
+ StatementFactory.constant({
111
+ name: `${props.config.prefix}a${i}`,
112
+ value: ts.factory.createArrowFunction(
110
113
  undefined,
111
114
  undefined,
112
115
  FeatureProgrammer.parameterDeclarations({
@@ -131,7 +134,7 @@ export namespace NotationGeneralProgrammer {
131
134
  },
132
135
  }),
133
136
  ),
134
- ),
137
+ }),
135
138
  );
136
139
 
137
140
  const write_tuple_functions = (props: {
@@ -144,9 +147,9 @@ export namespace NotationGeneralProgrammer {
144
147
  .tuples()
145
148
  .filter((t) => t.recursive)
146
149
  .map((tuple, i) =>
147
- StatementFactory.constant(
148
- `${props.config.prefix}t${i}`,
149
- ts.factory.createArrowFunction(
150
+ StatementFactory.constant({
151
+ name: `${props.config.prefix}t${i}`,
152
+ value: ts.factory.createArrowFunction(
150
153
  undefined,
151
154
  undefined,
152
155
  FeatureProgrammer.parameterDeclarations({
@@ -168,7 +171,7 @@ export namespace NotationGeneralProgrammer {
168
171
  },
169
172
  }),
170
173
  ),
171
- ),
174
+ }),
172
175
  );
173
176
 
174
177
  /* -----------------------------------------------------------
@@ -258,7 +261,7 @@ export namespace NotationGeneralProgrammer {
258
261
  if (props.metadata.sets.length)
259
262
  unions.push({
260
263
  type: "set",
261
- is: () => ExpressionFactory.isInstanceOf("Set")(props.input),
264
+ is: () => ExpressionFactory.isInstanceOf("Set", props.input),
262
265
  value: () =>
263
266
  explore_sets({
264
267
  ...props,
@@ -272,7 +275,7 @@ export namespace NotationGeneralProgrammer {
272
275
  if (props.metadata.maps.length)
273
276
  unions.push({
274
277
  type: "map",
275
- is: () => ExpressionFactory.isInstanceOf("Map")(props.input),
278
+ is: () => ExpressionFactory.isInstanceOf("Map", props.input),
276
279
  value: () =>
277
280
  explore_maps({
278
281
  ...props,
@@ -287,11 +290,11 @@ export namespace NotationGeneralProgrammer {
287
290
  if (native === "WeakSet" || native === "WeakMap") continue;
288
291
  unions.push({
289
292
  type: "native",
290
- is: () => ExpressionFactory.isInstanceOf(native)(props.input),
293
+ is: () => ExpressionFactory.isInstanceOf(native, props.input),
291
294
  value: () =>
292
295
  native === "Boolean" || native === "Number" || native === "String"
293
296
  ? ts.factory.createCallExpression(
294
- IdentifierFactory.access(props.input)("valueOf"),
297
+ IdentifierFactory.access(props.input, "valueOf"),
295
298
  undefined,
296
299
  undefined,
297
300
  )
@@ -310,7 +313,8 @@ export namespace NotationGeneralProgrammer {
310
313
  ExpressionFactory.isObject({
311
314
  checkNull: true,
312
315
  checkArray: false,
313
- })(props.input),
316
+ input: props.input,
317
+ }),
314
318
  value: () =>
315
319
  explore_objects({
316
320
  ...props,
@@ -475,7 +479,7 @@ export namespace NotationGeneralProgrammer {
475
479
  return decode({
476
480
  ...props,
477
481
  input: ts.factory.createCallExpression(
478
- IdentifierFactory.access(props.input)("slice"),
482
+ IdentifierFactory.access(props.input, "slice"),
479
483
  undefined,
480
484
  [ExpressionFactory.number(props.tuple.elements.length - 1)],
481
485
  ),
@@ -781,14 +785,19 @@ export namespace NotationGeneralProgrammer {
781
785
  types: {
782
786
  input: (type, name) =>
783
787
  ts.factory.createTypeReferenceNode(
784
- name ?? TypeFactory.getFullName(props.context.checker)(type),
788
+ name ??
789
+ TypeFactory.getFullName({ checker: props.context.checker, type }),
785
790
  ),
786
791
  output: (type, name) =>
787
792
  ts.factory.createTypeReferenceNode(
788
793
  returnType({
789
794
  rename: props.rename,
790
795
  type:
791
- name ?? TypeFactory.getFullName(props.context.checker)(type),
796
+ name ??
797
+ TypeFactory.getFullName({
798
+ checker: props.context.checker,
799
+ type,
800
+ }),
792
801
  }),
793
802
  ),
794
803
  },
@@ -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,
@@ -46,14 +46,14 @@ export namespace ProtobufDecodeProgrammer {
46
46
  .filter((object) => ProtobufUtil.isStaticObject(object))
47
47
  .map((object) => [
48
48
  `${PREFIX}o${object.index}`,
49
- StatementFactory.constant(
50
- props.importer.useLocal(`${PREFIX}o${object.index}`),
51
- write_object_function({
49
+ StatementFactory.constant({
50
+ name: props.importer.useLocal(`${PREFIX}o${object.index}`),
51
+ value: write_object_function({
52
52
  context: props.context,
53
53
  importer: props.importer,
54
54
  object,
55
55
  }),
56
- ),
56
+ }),
57
57
  ]),
58
58
  ),
59
59
  statements: [],
@@ -75,21 +75,24 @@ export namespace ProtobufDecodeProgrammer {
75
75
  [
76
76
  ts.factory.createTypeReferenceNode(
77
77
  props.name ??
78
- TypeFactory.getFullName(props.context.checker)(props.type),
78
+ TypeFactory.getFullName({
79
+ checker: props.context.checker,
80
+ type: props.type,
81
+ }),
79
82
  ),
80
83
  ],
81
84
  ),
82
85
  undefined,
83
86
  ts.factory.createBlock(
84
87
  [
85
- StatementFactory.constant(
86
- "reader",
87
- ts.factory.createNewExpression(
88
+ StatementFactory.constant({
89
+ name: "reader",
90
+ value: ts.factory.createNewExpression(
88
91
  props.importer.use("Reader"),
89
92
  undefined,
90
93
  [ts.factory.createIdentifier("input")],
91
94
  ),
92
- ),
95
+ }),
93
96
  ts.factory.createReturnStatement(
94
97
  decode_regular_object({
95
98
  top: true,
@@ -149,14 +152,14 @@ export namespace ProtobufDecodeProgrammer {
149
152
  ),
150
153
  undefined,
151
154
  ts.factory.createCallExpression(
152
- IdentifierFactory.access(READER())("size"),
155
+ IdentifierFactory.access(READER(), "size"),
153
156
  undefined,
154
157
  undefined,
155
158
  ),
156
159
  undefined,
157
160
  ts.factory.createAdd(
158
161
  ts.factory.createCallExpression(
159
- IdentifierFactory.access(READER())("index"),
162
+ IdentifierFactory.access(READER(), "index"),
160
163
  undefined,
161
164
  undefined,
162
165
  ),
@@ -170,7 +173,7 @@ export namespace ProtobufDecodeProgrammer {
170
173
  importer: props.importer,
171
174
  condition: ts.factory.createLessThan(
172
175
  ts.factory.createCallExpression(
173
- IdentifierFactory.access(READER())("index"),
176
+ IdentifierFactory.access(READER(), "index"),
174
177
  undefined,
175
178
  undefined,
176
179
  ),
@@ -205,7 +208,8 @@ export namespace ProtobufDecodeProgrammer {
205
208
  index,
206
209
  accessor: IdentifierFactory.access(
207
210
  ts.factory.createIdentifier(props.output),
208
- )(p.key.getSoleLiteral()!),
211
+ p.key.getSoleLiteral()!,
212
+ ),
209
213
  metadata: p.value,
210
214
  });
211
215
  index += ProtobufUtil.size(p.value);
@@ -213,9 +217,9 @@ export namespace ProtobufDecodeProgrammer {
213
217
  })
214
218
  .flat();
215
219
  return [
216
- StatementFactory.constant(
217
- props.output,
218
- ts.factory.createAsExpression(
220
+ StatementFactory.constant({
221
+ name: props.output,
222
+ value: ts.factory.createAsExpression(
219
223
  ts.factory.createObjectLiteralExpression(
220
224
  props.properties
221
225
  .filter(
@@ -235,18 +239,18 @@ export namespace ProtobufDecodeProgrammer {
235
239
  ),
236
240
  TypeFactory.keyword("any"),
237
241
  ),
238
- ),
242
+ }),
239
243
  ts.factory.createWhileStatement(
240
244
  props.condition,
241
245
  ts.factory.createBlock([
242
- StatementFactory.constant(
243
- props.tag,
244
- ts.factory.createCallExpression(
245
- IdentifierFactory.access(READER())("uint32"),
246
+ StatementFactory.constant({
247
+ name: props.tag,
248
+ value: ts.factory.createCallExpression(
249
+ IdentifierFactory.access(READER(), "uint32"),
246
250
  undefined,
247
251
  undefined,
248
252
  ),
249
- ),
253
+ }),
250
254
  ts.factory.createSwitchStatement(
251
255
  ts.factory.createUnsignedRightShift(
252
256
  ts.factory.createIdentifier(props.tag),
@@ -257,7 +261,7 @@ export namespace ProtobufDecodeProgrammer {
257
261
  ts.factory.createDefaultClause([
258
262
  ts.factory.createExpressionStatement(
259
263
  ts.factory.createCallExpression(
260
- IdentifierFactory.access(READER())("skipType"),
264
+ IdentifierFactory.access(READER(), "skipType"),
261
265
  undefined,
262
266
  [
263
267
  ts.factory.createBitwiseAnd(
@@ -413,9 +417,7 @@ export namespace ProtobufDecodeProgrammer {
413
417
  if (props.type === "string") return decode_bytes("string");
414
418
 
415
419
  const call: ts.CallExpression = ts.factory.createCallExpression(
416
- IdentifierFactory.access(ts.factory.createIdentifier("reader"))(
417
- props.type,
418
- ),
420
+ IdentifierFactory.access(READER(), props.type),
419
421
  undefined,
420
422
  undefined,
421
423
  );
@@ -435,7 +437,7 @@ export namespace ProtobufDecodeProgrammer {
435
437
 
436
438
  const decode_bytes = (method: "bytes" | "string"): ts.Expression =>
437
439
  ts.factory.createCallExpression(
438
- IdentifierFactory.access(ts.factory.createIdentifier("reader"))(method),
440
+ IdentifierFactory.access(READER(), method),
439
441
  undefined,
440
442
  undefined,
441
443
  );
@@ -486,25 +488,25 @@ export namespace ProtobufDecodeProgrammer {
486
488
  ),
487
489
  ts.factory.createBlock(
488
490
  [
489
- StatementFactory.constant(
490
- "piece",
491
- ts.factory.createAdd(
491
+ StatementFactory.constant({
492
+ name: "piece",
493
+ value: ts.factory.createAdd(
492
494
  ts.factory.createCallExpression(
493
- IdentifierFactory.access(READER())("uint32"),
495
+ IdentifierFactory.access(READER(), "uint32"),
494
496
  undefined,
495
497
  undefined,
496
498
  ),
497
499
  ts.factory.createCallExpression(
498
- IdentifierFactory.access(READER())("index"),
500
+ IdentifierFactory.access(READER(), "index"),
499
501
  undefined,
500
502
  undefined,
501
503
  ),
502
504
  ),
503
- ),
505
+ }),
504
506
  ts.factory.createWhileStatement(
505
507
  ts.factory.createLessThan(
506
508
  ts.factory.createCallExpression(
507
- IdentifierFactory.access(READER())("index"),
509
+ IdentifierFactory.access(READER(), "index"),
508
510
  undefined,
509
511
  undefined,
510
512
  ),
@@ -512,7 +514,7 @@ export namespace ProtobufDecodeProgrammer {
512
514
  ),
513
515
  ts.factory.createExpressionStatement(
514
516
  ts.factory.createCallExpression(
515
- IdentifierFactory.access(props.accessor)("push"),
517
+ IdentifierFactory.access(props.accessor, "push"),
516
518
  undefined,
517
519
  [decoder()],
518
520
  ),
@@ -523,7 +525,7 @@ export namespace ProtobufDecodeProgrammer {
523
525
  ),
524
526
  ts.factory.createExpressionStatement(
525
527
  ts.factory.createCallExpression(
526
- IdentifierFactory.access(props.accessor)("push"),
528
+ IdentifierFactory.access(props.accessor, "push"),
527
529
  undefined,
528
530
  [decoder()],
529
531
  ),
@@ -533,7 +535,7 @@ export namespace ProtobufDecodeProgrammer {
533
535
  } else
534
536
  statements.push(
535
537
  ts.factory.createCallExpression(
536
- IdentifierFactory.access(props.accessor)("push"),
538
+ IdentifierFactory.access(props.accessor, "push"),
537
539
  undefined,
538
540
  [decoder()],
539
541
  ),
@@ -556,7 +558,7 @@ export namespace ProtobufDecodeProgrammer {
556
558
  ? []
557
559
  : [
558
560
  ts.factory.createCallExpression(
559
- IdentifierFactory.access(READER())("uint32"),
561
+ IdentifierFactory.access(READER(), "uint32"),
560
562
  undefined,
561
563
  undefined,
562
564
  ),
@@ -629,7 +631,7 @@ export namespace ProtobufDecodeProgrammer {
629
631
  ),
630
632
  setter: () =>
631
633
  ts.factory.createCallExpression(
632
- IdentifierFactory.access(props.accessor)("set"),
634
+ IdentifierFactory.access(props.accessor, "set"),
633
635
  undefined,
634
636
  [
635
637
  ts.factory.createIdentifier("entry.key"),
@@ -652,27 +654,27 @@ export namespace ProtobufDecodeProgrammer {
652
654
  ...(props.required
653
655
  ? []
654
656
  : [ts.factory.createExpressionStatement(props.initializer())]),
655
- StatementFactory.constant(
656
- "piece",
657
- ts.factory.createAdd(
657
+ StatementFactory.constant({
658
+ name: "piece",
659
+ value: ts.factory.createAdd(
658
660
  ts.factory.createCallExpression(
659
- IdentifierFactory.access(READER())("uint32"),
661
+ IdentifierFactory.access(READER(), "uint32"),
660
662
  undefined,
661
663
  undefined,
662
664
  ),
663
665
  ts.factory.createCallExpression(
664
- IdentifierFactory.access(READER())("index"),
666
+ IdentifierFactory.access(READER(), "index"),
665
667
  undefined,
666
668
  undefined,
667
669
  ),
668
670
  ),
669
- ),
671
+ }),
670
672
  ...write_object_function_body({
671
673
  context: props.context,
672
674
  importer: props.importer,
673
675
  condition: ts.factory.createLessThan(
674
676
  ts.factory.createCallExpression(
675
- IdentifierFactory.access(READER())("index"),
677
+ IdentifierFactory.access(READER(), "index"),
676
678
  undefined,
677
679
  undefined,
678
680
  ),