typia 13.0.0-dev.20260501 → 13.0.0-dev.20260506

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 (371) hide show
  1. package/lib/executable/generate/ttsc.js.map +1 -1
  2. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  3. package/lib/internal/_randomInteger.js.map +1 -1
  4. package/lib/internal/_validateReport.js.map +1 -1
  5. package/lib/transform.js.map +1 -1
  6. package/native/adapter/adapter.go +128 -128
  7. package/native/adapter/cleanup.go +155 -155
  8. package/native/adapter/imports.go +80 -80
  9. package/native/adapter/visit.go +142 -142
  10. package/native/cmd/ttsc-typia/build.go +223 -223
  11. package/native/cmd/ttsc-typia/main.go +57 -57
  12. package/native/cmd/ttsc-typia/transform.go +393 -385
  13. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  14. package/native/core/context/IProgrammerProps.go +7 -7
  15. package/native/core/context/ITransformOptions.go +5 -5
  16. package/native/core/context/ITypiaContext.go +13 -13
  17. package/native/core/context/TransformerError.go +81 -81
  18. package/native/core/factories/CommentFactory.go +9 -9
  19. package/native/core/factories/ExpressionFactory.go +254 -254
  20. package/native/core/factories/FormatCheatSheet.go +23 -23
  21. package/native/core/factories/IdentifierFactory.go +130 -130
  22. package/native/core/factories/JsonMetadataFactory.go +129 -129
  23. package/native/core/factories/LiteralFactory.go +192 -192
  24. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  25. package/native/core/factories/MetadataFactory.go +462 -462
  26. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  27. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  28. package/native/core/factories/NumericRangeFactory.go +84 -84
  29. package/native/core/factories/ProtobufFactory.go +933 -933
  30. package/native/core/factories/StatementFactory.go +72 -72
  31. package/native/core/factories/TemplateFactory.go +57 -57
  32. package/native/core/factories/TypeFactory.go +125 -125
  33. package/native/core/factories/ValueFactory.go +12 -12
  34. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  35. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  36. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  37. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  38. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  39. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  40. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  41. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  42. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  43. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  44. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  45. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  46. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  47. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  48. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  49. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  50. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  51. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  52. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  53. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  54. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  55. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  56. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  57. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  58. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  59. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  60. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  61. package/native/core/programmers/AssertProgrammer.go +389 -389
  62. package/native/core/programmers/ImportProgrammer.go +196 -196
  63. package/native/core/programmers/IsProgrammer.go +293 -293
  64. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  65. package/native/core/programmers/ValidateProgrammer.go +369 -369
  66. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  67. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  68. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  69. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  70. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  71. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  72. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  73. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  74. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  75. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  76. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  77. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  78. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  79. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  80. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  81. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  82. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  83. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  84. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  85. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  86. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  87. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  88. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  89. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  90. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  91. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  92. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  93. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  94. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  95. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  96. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  97. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  98. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  99. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  100. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  101. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  102. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  103. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  104. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  105. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  106. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  107. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  108. package/native/core/programmers/iterate/check_array_length.go +46 -46
  109. package/native/core/programmers/iterate/check_bigint.go +52 -52
  110. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  111. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  112. package/native/core/programmers/iterate/check_everything.go +21 -21
  113. package/native/core/programmers/iterate/check_native.go +25 -25
  114. package/native/core/programmers/iterate/check_number.go +135 -135
  115. package/native/core/programmers/iterate/check_object.go +66 -66
  116. package/native/core/programmers/iterate/check_string.go +52 -52
  117. package/native/core/programmers/iterate/check_template.go +57 -57
  118. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  119. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  120. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  121. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  122. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  123. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  124. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  125. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  126. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  127. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  128. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  129. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  130. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  131. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  133. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  134. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  135. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  136. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  137. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  138. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  139. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  140. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  141. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  142. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  143. package/native/core/programmers/iterate/stringify_native.go +1 -1
  144. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  145. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  146. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  147. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  148. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  149. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  150. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  151. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  152. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  153. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  154. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  155. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  156. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  157. package/native/core/programmers/llm/LlmApplicationProgrammer.go +445 -445
  158. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  159. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  160. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  161. package/native/core/programmers/llm/LlmParametersProgrammer.go +104 -104
  162. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  163. package/native/core/programmers/llm/LlmSchemaProgrammer.go +702 -702
  164. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  165. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  166. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  167. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  168. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  169. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  170. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  171. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  172. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  173. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  174. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  175. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  176. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  177. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  178. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  179. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  180. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  181. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  182. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  183. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  184. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  185. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  186. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  187. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  188. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  189. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  190. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  191. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  192. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  193. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  194. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  195. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  196. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  197. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  198. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  199. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  200. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  201. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  202. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  203. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  204. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  205. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  206. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  207. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  208. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  209. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  210. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  211. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  212. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  213. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  214. package/native/core/typings/Writable.go +1 -1
  215. package/native/core/utils/PatternUtil.go +38 -38
  216. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  217. package/native/shim/printer/go.mod +1 -1
  218. package/native/shim/printer/shim.go +213 -213
  219. package/native/third_party/ttsc/driver/host.go +9 -9
  220. package/native/third_party/ttsc/driver/program.go +344 -281
  221. package/native/third_party/ttsc/driver/rewrite.go +247 -221
  222. package/native/third_party/ttsc/go.mod +5 -3
  223. package/native/third_party/ttsc/go.sum +2 -2
  224. package/native/third_party/ttsc/shim/ast/go.mod +1 -1
  225. package/native/third_party/ttsc/shim/ast/lint.go +174 -171
  226. package/native/third_party/ttsc/shim/ast/shim.go +86 -85
  227. package/native/third_party/ttsc/shim/bundled/go.mod +1 -1
  228. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  229. package/native/third_party/ttsc/shim/checker/go.mod +1 -1
  230. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  231. package/native/third_party/ttsc/shim/compiler/go.mod +1 -1
  232. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  233. package/native/third_party/ttsc/shim/core/go.mod +1 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +13 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/go.mod +1 -1
  236. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  237. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  238. package/native/third_party/ttsc/shim/parser/go.mod +1 -1
  239. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  240. package/native/third_party/ttsc/shim/scanner/go.mod +1 -1
  241. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  242. package/native/third_party/ttsc/shim/tsoptions/go.mod +1 -1
  243. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  244. package/native/third_party/ttsc/shim/tspath/go.mod +1 -1
  245. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  246. package/native/third_party/ttsc/shim/vfs/cachedvfs/go.mod +1 -1
  247. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  248. package/native/third_party/ttsc/shim/vfs/go.mod +1 -1
  249. package/native/third_party/ttsc/shim/vfs/osvfs/go.mod +1 -1
  250. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  251. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  252. package/native/transform/CallExpressionTransformer.go +556 -556
  253. package/native/transform/FileTransformer.go +123 -123
  254. package/native/transform/ImportTransformer.go +224 -224
  255. package/native/transform/NodeTransformer.go +11 -11
  256. package/native/transform/TypiaGenerator.go +136 -136
  257. package/native/transform/features/AssertTransformer.go +28 -28
  258. package/native/transform/features/CreateAssertTransformer.go +28 -28
  259. package/native/transform/features/CreateIsTransformer.go +24 -24
  260. package/native/transform/features/CreateRandomTransformer.go +35 -35
  261. package/native/transform/features/CreateValidateTransformer.go +24 -24
  262. package/native/transform/features/IsTransformer.go +24 -24
  263. package/native/transform/features/RandomTransformer.go +37 -37
  264. package/native/transform/features/ValidateTransformer.go +24 -24
  265. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  266. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  268. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  269. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  271. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  274. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  275. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  276. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  280. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  281. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  282. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  283. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  284. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  285. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  286. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  287. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  288. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  289. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  290. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  291. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  292. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  293. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  294. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  295. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  296. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  297. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  298. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  300. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  301. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  302. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  303. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  304. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  305. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  306. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  307. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  308. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  309. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  310. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  311. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  312. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  313. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  314. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  315. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  316. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  317. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  318. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  324. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  327. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  328. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  329. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  330. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  331. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  332. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  333. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  334. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  335. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  336. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  337. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  338. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  339. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  340. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  341. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  342. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  343. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  350. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  352. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  353. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  354. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  355. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  356. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  357. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  358. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  359. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  360. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  361. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  362. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  363. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  364. package/native/transform/internal/GenericTransformer.go +173 -173
  365. package/native/transform/transform.go +32 -32
  366. package/package.json +5 -5
  367. package/src/executable/generate/ttsc.ts +2 -3
  368. package/src/executable/setup/PluginConfigurator.ts +2 -3
  369. package/src/internal/_randomInteger.ts +5 -5
  370. package/src/internal/_validateReport.ts +1 -2
  371. package/src/transform.ts +1 -1
@@ -1,169 +1,169 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- "fmt"
4
+ "fmt"
5
5
 
6
- shimast "github.com/microsoft/typescript-go/shim/ast"
7
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
8
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
10
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
8
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
10
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
11
11
  )
12
12
 
13
13
  type Check_numberProps struct {
14
- Numeric bool
15
- Context nativecontext.ITypiaContext
16
- Atomic *nativemetadata.MetadataAtomic
17
- Input *shimast.Expression
14
+ Numeric bool
15
+ Context nativecontext.ITypiaContext
16
+ Atomic *nativemetadata.MetadataAtomic
17
+ Input *shimast.Expression
18
18
  }
19
19
 
20
20
  func Check_number(props Check_numberProps) nativehelpers.ICheckEntry {
21
- base := check_number_factory.NewBinaryExpression(
22
- nil,
23
- check_number_factory.NewStringLiteral("number", shimast.TokenFlagsNone),
24
- nil,
25
- check_number_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
26
- check_number_factory.NewTypeOfExpression(props.Input),
27
- )
28
- var addition *shimast.Node
29
- if props.Numeric {
30
- if nativehelpers.OptionPredicator.Finite(props.Context.Options) {
31
- addition = check_number_factory.NewCallExpression(
32
- check_number_factory.NewIdentifier("Number.isFinite"),
33
- nil,
34
- nil,
35
- check_number_factory.NewNodeList([]*shimast.Node{props.Input}),
36
- shimast.NodeFlagsNone,
37
- )
38
- } else if nativehelpers.OptionPredicator.Numeric(props.Context.Options) {
39
- addition = check_number_factory.NewPrefixUnaryExpression(
40
- shimast.KindExclamationToken,
41
- check_number_factory.NewCallExpression(
42
- check_number_factory.NewIdentifier("Number.isNaN"),
43
- nil,
44
- nil,
45
- check_number_factory.NewNodeList([]*shimast.Node{props.Input}),
46
- shimast.NodeFlagsNone,
47
- ),
48
- )
49
- }
50
- }
51
- conditions := check_numeric_type_tags(check_numeric_type_tagsProps{
52
- Context: props.Context,
53
- Atomic: props.Atomic,
54
- Input: props.Input,
55
- Addition: addition,
56
- })
57
- expression := base
58
- if addition != nil && len(conditions) == 0 {
59
- expression = check_number_factory.NewBinaryExpression(
60
- nil,
61
- base,
62
- nil,
63
- check_number_factory.NewToken(shimast.KindAmpersandAmpersandToken),
64
- addition,
65
- )
66
- }
67
- return nativehelpers.ICheckEntry{
68
- Expected: props.Atomic.GetName(),
69
- Expression: expression,
70
- Conditions: conditions,
71
- }
21
+ base := check_number_factory.NewBinaryExpression(
22
+ nil,
23
+ check_number_factory.NewStringLiteral("number", shimast.TokenFlagsNone),
24
+ nil,
25
+ check_number_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
26
+ check_number_factory.NewTypeOfExpression(props.Input),
27
+ )
28
+ var addition *shimast.Node
29
+ if props.Numeric {
30
+ if nativehelpers.OptionPredicator.Finite(props.Context.Options) {
31
+ addition = check_number_factory.NewCallExpression(
32
+ check_number_factory.NewIdentifier("Number.isFinite"),
33
+ nil,
34
+ nil,
35
+ check_number_factory.NewNodeList([]*shimast.Node{props.Input}),
36
+ shimast.NodeFlagsNone,
37
+ )
38
+ } else if nativehelpers.OptionPredicator.Numeric(props.Context.Options) {
39
+ addition = check_number_factory.NewPrefixUnaryExpression(
40
+ shimast.KindExclamationToken,
41
+ check_number_factory.NewCallExpression(
42
+ check_number_factory.NewIdentifier("Number.isNaN"),
43
+ nil,
44
+ nil,
45
+ check_number_factory.NewNodeList([]*shimast.Node{props.Input}),
46
+ shimast.NodeFlagsNone,
47
+ ),
48
+ )
49
+ }
50
+ }
51
+ conditions := check_numeric_type_tags(check_numeric_type_tagsProps{
52
+ Context: props.Context,
53
+ Atomic: props.Atomic,
54
+ Input: props.Input,
55
+ Addition: addition,
56
+ })
57
+ expression := base
58
+ if addition != nil && len(conditions) == 0 {
59
+ expression = check_number_factory.NewBinaryExpression(
60
+ nil,
61
+ base,
62
+ nil,
63
+ check_number_factory.NewToken(shimast.KindAmpersandAmpersandToken),
64
+ addition,
65
+ )
66
+ }
67
+ return nativehelpers.ICheckEntry{
68
+ Expected: props.Atomic.GetName(),
69
+ Expression: expression,
70
+ Conditions: conditions,
71
+ }
72
72
  }
73
73
 
74
74
  type check_numeric_type_tagsProps struct {
75
- Context nativecontext.ITypiaContext
76
- Atomic *nativemetadata.MetadataAtomic
77
- Addition *shimast.Expression
78
- Input *shimast.Expression
75
+ Context nativecontext.ITypiaContext
76
+ Atomic *nativemetadata.MetadataAtomic
77
+ Addition *shimast.Expression
78
+ Input *shimast.Expression
79
79
  }
80
80
 
81
81
  func check_numeric_type_tags(props check_numeric_type_tagsProps) [][]nativehelpers.ICheckEntry_ICondition {
82
- output := [][]nativehelpers.ICheckEntry_ICondition{}
83
- for _, row := range props.Atomic.Tags {
84
- tags := check_number_filter_validate(row)
85
- if len(tags) == 0 {
86
- continue
87
- }
88
- conditions := []nativehelpers.ICheckEntry_ICondition{}
89
- if props.Addition != nil && !check_numeric_type_tags_covers_addition(tags) {
90
- conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
91
- Expected: "number",
92
- Expression: props.Addition,
93
- })
94
- }
95
- for _, tag := range tags {
96
- conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
97
- Expected: fmt.Sprintf("number & %s", tag.Name),
98
- Expression: check_number_transpile(props.Context, tag.Validate)(props.Input),
99
- })
100
- }
101
- output = append(output, conditions)
102
- }
103
- return output
82
+ output := [][]nativehelpers.ICheckEntry_ICondition{}
83
+ for _, row := range props.Atomic.Tags {
84
+ tags := check_number_filter_validate(row)
85
+ if len(tags) == 0 {
86
+ continue
87
+ }
88
+ conditions := []nativehelpers.ICheckEntry_ICondition{}
89
+ if props.Addition != nil && !check_numeric_type_tags_covers_addition(tags) {
90
+ conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
91
+ Expected: "number",
92
+ Expression: props.Addition,
93
+ })
94
+ }
95
+ for _, tag := range tags {
96
+ conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
97
+ Expected: fmt.Sprintf("number & %s", tag.Name),
98
+ Expression: check_number_transpile(props.Context, tag.Validate)(props.Input),
99
+ })
100
+ }
101
+ output = append(output, conditions)
102
+ }
103
+ return output
104
104
  }
105
105
 
106
106
  func check_numeric_type_tags_covers_addition(row []nativemetadata.IMetadataTypeTag) bool {
107
- if check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
108
- return tag.Kind == "type" &&
109
- (tag.Value == "int32" ||
110
- tag.Value == "uint32" ||
111
- tag.Value == "int64" ||
112
- tag.Value == "uint64" ||
113
- tag.Value == "float")
114
- }) {
115
- return true
116
- }
117
- if check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
118
- return tag.Kind == "multipleOf" && check_number_is_number(tag.Value)
119
- }) {
120
- return true
121
- }
122
- return check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
123
- return (tag.Kind == "minimum" || tag.Kind == "exclusiveMinimum") && check_number_is_number(tag.Value)
124
- }) && check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
125
- return (tag.Kind == "maximum" || tag.Kind == "exclusiveMaximum") && check_number_is_number(tag.Value)
126
- })
107
+ if check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
108
+ return tag.Kind == "type" &&
109
+ (tag.Value == "int32" ||
110
+ tag.Value == "uint32" ||
111
+ tag.Value == "int64" ||
112
+ tag.Value == "uint64" ||
113
+ tag.Value == "float")
114
+ }) {
115
+ return true
116
+ }
117
+ if check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
118
+ return tag.Kind == "multipleOf" && check_number_is_number(tag.Value)
119
+ }) {
120
+ return true
121
+ }
122
+ return check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
123
+ return (tag.Kind == "minimum" || tag.Kind == "exclusiveMinimum") && check_number_is_number(tag.Value)
124
+ }) && check_number_some(row, func(tag nativemetadata.IMetadataTypeTag) bool {
125
+ return (tag.Kind == "maximum" || tag.Kind == "exclusiveMaximum") && check_number_is_number(tag.Value)
126
+ })
127
127
  }
128
128
 
129
129
  func check_number_filter_validate(row []nativemetadata.IMetadataTypeTag) []nativemetadata.IMetadataTypeTag {
130
- tags := []nativemetadata.IMetadataTypeTag{}
131
- for _, tag := range row {
132
- if tag.Validate != "" {
133
- tags = append(tags, tag)
134
- }
135
- }
136
- return tags
130
+ tags := []nativemetadata.IMetadataTypeTag{}
131
+ for _, tag := range row {
132
+ if tag.Validate != "" {
133
+ tags = append(tags, tag)
134
+ }
135
+ }
136
+ return tags
137
137
  }
138
138
 
139
139
  func check_number_some(row []nativemetadata.IMetadataTypeTag, pred func(tag nativemetadata.IMetadataTypeTag) bool) bool {
140
- for _, tag := range row {
141
- if pred(tag) {
142
- return true
143
- }
144
- }
145
- return false
140
+ for _, tag := range row {
141
+ if pred(tag) {
142
+ return true
143
+ }
144
+ }
145
+ return false
146
146
  }
147
147
 
148
148
  func check_number_is_number(value any) bool {
149
- switch value.(type) {
150
- case int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, float32, float64:
151
- return true
152
- default:
153
- return false
154
- }
149
+ switch value.(type) {
150
+ case int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, float32, float64:
151
+ return true
152
+ default:
153
+ return false
154
+ }
155
155
  }
156
156
 
157
157
  func check_number_transpile(context nativecontext.ITypiaContext, script string) func(input *shimast.Expression) *shimast.Node {
158
- var importer nativefactories.ExpressionFactory_Importer
159
- if v, ok := context.Importer.(nativefactories.ExpressionFactory_Importer); ok {
160
- importer = v
161
- }
162
- return nativefactories.ExpressionFactory.Transpile(nativefactories.ExpressionFactory_TranspileProps{
163
- Transformer: context.Transformer,
164
- Importer: importer,
165
- Script: script,
166
- })
158
+ var importer nativefactories.ExpressionFactory_Importer
159
+ if v, ok := context.Importer.(nativefactories.ExpressionFactory_Importer); ok {
160
+ importer = v
161
+ }
162
+ return nativefactories.ExpressionFactory.Transpile(nativefactories.ExpressionFactory_TranspileProps{
163
+ Transformer: context.Transformer,
164
+ Importer: importer,
165
+ Script: script,
166
+ })
167
167
  }
168
168
 
169
169
  var check_number_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
@@ -1,89 +1,89 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
7
7
  )
8
8
 
9
9
  type Check_objectProps struct {
10
- Config Check_object_IConfig
11
- Context nativecontext.ITypiaContext
12
- Input *shimast.Expression
13
- Entries []nativehelpers.IExpressionEntry
10
+ Config Check_object_IConfig
11
+ Context nativecontext.ITypiaContext
12
+ Input *shimast.Expression
13
+ Entries []nativehelpers.IExpressionEntry
14
14
  }
15
15
 
16
16
  type Check_object_IConfig struct {
17
- Equals bool
18
- Assert bool
19
- Undefined bool
20
- Halt func(exp *shimast.Expression) *shimast.Node
21
- Reduce func(a *shimast.Expression, b *shimast.Expression) *shimast.Node
22
- Positive *shimast.Expression
23
- Superfluous func(value *shimast.Expression, description *shimast.Expression) *shimast.Node
24
- Entries *shimast.Expression
17
+ Equals bool
18
+ Assert bool
19
+ Undefined bool
20
+ Halt func(exp *shimast.Expression) *shimast.Node
21
+ Reduce func(a *shimast.Expression, b *shimast.Expression) *shimast.Node
22
+ Positive *shimast.Expression
23
+ Superfluous func(value *shimast.Expression, description *shimast.Expression) *shimast.Node
24
+ Entries *shimast.Expression
25
25
  }
26
26
 
27
27
  func Check_object(props Check_objectProps) *shimast.Node {
28
- regular := []nativehelpers.IExpressionEntry{}
29
- dynamic := []nativehelpers.IExpressionEntry{}
30
- for _, entry := range props.Entries {
31
- if entry.Key.IsSoleLiteral() {
32
- regular = append(regular, entry)
33
- } else {
34
- dynamic = append(dynamic, entry)
35
- }
36
- }
37
- flags := make([]*shimast.Node, 0, len(regular)+1)
38
- for _, entry := range regular {
39
- flags = append(flags, entry.Expression)
40
- }
28
+ regular := []nativehelpers.IExpressionEntry{}
29
+ dynamic := []nativehelpers.IExpressionEntry{}
30
+ for _, entry := range props.Entries {
31
+ if entry.Key.IsSoleLiteral() {
32
+ regular = append(regular, entry)
33
+ } else {
34
+ dynamic = append(dynamic, entry)
35
+ }
36
+ }
37
+ flags := make([]*shimast.Node, 0, len(regular)+1)
38
+ for _, entry := range regular {
39
+ flags = append(flags, entry.Expression)
40
+ }
41
41
 
42
- if props.Config.Equals == false && len(dynamic) == 0 {
43
- if len(regular) == 0 {
44
- return props.Config.Positive
45
- }
46
- return check_object_reduce(check_object_reduceProps{
47
- Config: props.Config,
48
- Expressions: flags,
49
- })
50
- }
42
+ if props.Config.Equals == false && len(dynamic) == 0 {
43
+ if len(regular) == 0 {
44
+ return props.Config.Positive
45
+ }
46
+ return check_object_reduce(check_object_reduceProps{
47
+ Config: props.Config,
48
+ Expressions: flags,
49
+ })
50
+ }
51
51
 
52
- flags = append(flags, Check_dynamic_properties(Check_dynamic_propertiesProps{
53
- Config: props.Config,
54
- Context: props.Context,
55
- Input: props.Input,
56
- Regular: regular,
57
- Dynamic: dynamic,
58
- }))
59
- return check_object_reduce(check_object_reduceProps{
60
- Config: props.Config,
61
- Expressions: flags,
62
- })
52
+ flags = append(flags, Check_dynamic_properties(Check_dynamic_propertiesProps{
53
+ Config: props.Config,
54
+ Context: props.Context,
55
+ Input: props.Input,
56
+ Regular: regular,
57
+ Dynamic: dynamic,
58
+ }))
59
+ return check_object_reduce(check_object_reduceProps{
60
+ Config: props.Config,
61
+ Expressions: flags,
62
+ })
63
63
  }
64
64
 
65
65
  type check_object_reduceProps struct {
66
- Config Check_object_IConfig
67
- Expressions []*shimast.Node
66
+ Config Check_object_IConfig
67
+ Expressions []*shimast.Node
68
68
  }
69
69
 
70
70
  func check_object_reduce(props check_object_reduceProps) *shimast.Node {
71
- if len(props.Expressions) == 0 {
72
- return props.Config.Positive
73
- }
74
- if props.Config.Assert {
75
- output := props.Expressions[0]
76
- for _, next := range props.Expressions[1:] {
77
- output = props.Config.Reduce(output, next)
78
- }
79
- return output
80
- }
81
- return Check_everything(
82
- check_object_factory.NewArrayLiteralExpression(
83
- check_object_factory.NewNodeList(props.Expressions),
84
- false,
85
- ),
86
- )
71
+ if len(props.Expressions) == 0 {
72
+ return props.Config.Positive
73
+ }
74
+ if props.Config.Assert {
75
+ output := props.Expressions[0]
76
+ for _, next := range props.Expressions[1:] {
77
+ output = props.Config.Reduce(output, next)
78
+ }
79
+ return output
80
+ }
81
+ return Check_everything(
82
+ check_object_factory.NewArrayLiteralExpression(
83
+ check_object_factory.NewNodeList(props.Expressions),
84
+ false,
85
+ ),
86
+ )
87
87
  }
88
88
 
89
89
  var check_object_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
@@ -1,73 +1,73 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
7
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
8
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
7
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
8
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
9
  )
10
10
 
11
11
  type Check_stringProps struct {
12
- Context nativecontext.ITypiaContext
13
- Atomic *nativemetadata.MetadataAtomic
14
- Input *shimast.Expression
12
+ Context nativecontext.ITypiaContext
13
+ Atomic *nativemetadata.MetadataAtomic
14
+ Input *shimast.Expression
15
15
  }
16
16
 
17
17
  func Check_string(props Check_stringProps) nativehelpers.ICheckEntry {
18
- conditions := check_string_type_tags(props)
19
- return nativehelpers.ICheckEntry{
20
- Expected: props.Atomic.GetName(),
21
- Expression: check_string_factory.NewBinaryExpression(
22
- nil,
23
- check_string_factory.NewStringLiteral("string", shimast.TokenFlagsNone),
24
- nil,
25
- check_string_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
26
- check_string_factory.NewTypeOfExpression(props.Input),
27
- ),
28
- Conditions: conditions,
29
- }
18
+ conditions := check_string_type_tags(props)
19
+ return nativehelpers.ICheckEntry{
20
+ Expected: props.Atomic.GetName(),
21
+ Expression: check_string_factory.NewBinaryExpression(
22
+ nil,
23
+ check_string_factory.NewStringLiteral("string", shimast.TokenFlagsNone),
24
+ nil,
25
+ check_string_factory.NewToken(shimast.KindEqualsEqualsEqualsToken),
26
+ check_string_factory.NewTypeOfExpression(props.Input),
27
+ ),
28
+ Conditions: conditions,
29
+ }
30
30
  }
31
31
 
32
32
  func check_string_type_tags(props Check_stringProps) [][]nativehelpers.ICheckEntry_ICondition {
33
- output := [][]nativehelpers.ICheckEntry_ICondition{}
34
- for _, row := range props.Atomic.Tags {
35
- tags := check_string_filter_validate(row)
36
- if len(tags) == 0 {
37
- continue
38
- }
39
- conditions := make([]nativehelpers.ICheckEntry_ICondition, 0, len(tags))
40
- for _, tag := range tags {
41
- conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
42
- Expected: "string & " + tag.Name,
43
- Expression: check_string_transpile(props.Context, tag.Validate)(props.Input),
44
- })
45
- }
46
- output = append(output, conditions)
47
- }
48
- return output
33
+ output := [][]nativehelpers.ICheckEntry_ICondition{}
34
+ for _, row := range props.Atomic.Tags {
35
+ tags := check_string_filter_validate(row)
36
+ if len(tags) == 0 {
37
+ continue
38
+ }
39
+ conditions := make([]nativehelpers.ICheckEntry_ICondition, 0, len(tags))
40
+ for _, tag := range tags {
41
+ conditions = append(conditions, nativehelpers.ICheckEntry_ICondition{
42
+ Expected: "string & " + tag.Name,
43
+ Expression: check_string_transpile(props.Context, tag.Validate)(props.Input),
44
+ })
45
+ }
46
+ output = append(output, conditions)
47
+ }
48
+ return output
49
49
  }
50
50
 
51
51
  func check_string_filter_validate(row []nativemetadata.IMetadataTypeTag) []nativemetadata.IMetadataTypeTag {
52
- tags := []nativemetadata.IMetadataTypeTag{}
53
- for _, tag := range row {
54
- if tag.Validate != "" {
55
- tags = append(tags, tag)
56
- }
57
- }
58
- return tags
52
+ tags := []nativemetadata.IMetadataTypeTag{}
53
+ for _, tag := range row {
54
+ if tag.Validate != "" {
55
+ tags = append(tags, tag)
56
+ }
57
+ }
58
+ return tags
59
59
  }
60
60
 
61
61
  func check_string_transpile(context nativecontext.ITypiaContext, script string) func(input *shimast.Expression) *shimast.Node {
62
- var importer nativefactories.ExpressionFactory_Importer
63
- if v, ok := context.Importer.(nativefactories.ExpressionFactory_Importer); ok {
64
- importer = v
65
- }
66
- return nativefactories.ExpressionFactory.Transpile(nativefactories.ExpressionFactory_TranspileProps{
67
- Transformer: context.Transformer,
68
- Importer: importer,
69
- Script: script,
70
- })
62
+ var importer nativefactories.ExpressionFactory_Importer
63
+ if v, ok := context.Importer.(nativefactories.ExpressionFactory_Importer); ok {
64
+ importer = v
65
+ }
66
+ return nativefactories.ExpressionFactory.Transpile(nativefactories.ExpressionFactory_TranspileProps{
67
+ Transformer: context.Transformer,
68
+ Importer: importer,
69
+ Script: script,
70
+ })
71
71
  }
72
72
 
73
73
  var check_string_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})