typia 13.0.0-dev.20260430 → 13.0.0-dev.20260502-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +55 -8
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard2.mjs +55 -8
  4. package/lib/executable/TypiaGenerateWizard2.mjs.map +1 -1
  5. package/lib/executable/generate/ttsc.js.map +1 -1
  6. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  7. package/lib/internal/_randomInteger.js.map +1 -1
  8. package/lib/internal/_validateReport.js.map +1 -1
  9. package/lib/transform.d.ts +2 -13
  10. package/lib/transform.js +4 -11
  11. package/lib/transform.js.map +1 -1
  12. package/lib/transform2.mjs +6 -14
  13. package/lib/transform2.mjs.map +1 -1
  14. package/native/adapter/adapter.go +128 -128
  15. package/native/adapter/cleanup.go +155 -172
  16. package/native/adapter/imports.go +80 -80
  17. package/native/adapter/visit.go +142 -142
  18. package/native/cmd/ttsc-typia/build.go +223 -223
  19. package/native/cmd/ttsc-typia/main.go +57 -57
  20. package/native/cmd/ttsc-typia/transform.go +421 -254
  21. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  22. package/native/core/context/IProgrammerProps.go +7 -7
  23. package/native/core/context/ITransformOptions.go +5 -5
  24. package/native/core/context/ITypiaContext.go +13 -13
  25. package/native/core/context/TransformerError.go +81 -81
  26. package/native/core/factories/CommentFactory.go +9 -9
  27. package/native/core/factories/ExpressionFactory.go +254 -254
  28. package/native/core/factories/FormatCheatSheet.go +23 -23
  29. package/native/core/factories/IdentifierFactory.go +130 -130
  30. package/native/core/factories/JsonMetadataFactory.go +129 -129
  31. package/native/core/factories/LiteralFactory.go +195 -182
  32. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  33. package/native/core/factories/MetadataFactory.go +462 -462
  34. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  35. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  36. package/native/core/factories/NumericRangeFactory.go +84 -84
  37. package/native/core/factories/ProtobufFactory.go +933 -933
  38. package/native/core/factories/StatementFactory.go +72 -72
  39. package/native/core/factories/TemplateFactory.go +57 -57
  40. package/native/core/factories/TypeFactory.go +125 -125
  41. package/native/core/factories/ValueFactory.go +12 -12
  42. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  43. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  44. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  45. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  46. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  47. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  48. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  49. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  50. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  51. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  52. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  53. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  54. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  55. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  56. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  57. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  58. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  59. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  60. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  61. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  62. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  63. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  64. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  65. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  66. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  67. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  68. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  69. package/native/core/programmers/AssertProgrammer.go +389 -389
  70. package/native/core/programmers/ImportProgrammer.go +196 -196
  71. package/native/core/programmers/IsProgrammer.go +293 -293
  72. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  73. package/native/core/programmers/ValidateProgrammer.go +369 -369
  74. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  75. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  76. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  77. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  78. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  79. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  80. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  81. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  82. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  83. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  84. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  85. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  86. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  87. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  88. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  89. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  90. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  91. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  92. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  93. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  94. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  95. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  96. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  97. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  98. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  99. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  100. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  101. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  102. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  103. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  104. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  105. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  106. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  107. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  108. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  109. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  110. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  111. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  112. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  113. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  114. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  115. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  116. package/native/core/programmers/iterate/check_array_length.go +46 -46
  117. package/native/core/programmers/iterate/check_bigint.go +52 -52
  118. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  119. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  120. package/native/core/programmers/iterate/check_everything.go +21 -21
  121. package/native/core/programmers/iterate/check_native.go +25 -25
  122. package/native/core/programmers/iterate/check_number.go +135 -135
  123. package/native/core/programmers/iterate/check_object.go +66 -66
  124. package/native/core/programmers/iterate/check_string.go +52 -52
  125. package/native/core/programmers/iterate/check_template.go +57 -57
  126. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  127. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  128. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  129. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  130. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  131. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  133. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  134. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  135. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  136. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  137. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  138. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  139. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  140. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  141. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  142. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  143. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  144. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  145. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  146. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  147. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  148. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  149. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  150. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  151. package/native/core/programmers/iterate/stringify_native.go +1 -1
  152. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  153. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  154. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  155. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  156. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  157. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  158. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  159. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  160. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  161. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  162. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  163. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  164. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  165. package/native/core/programmers/llm/LlmApplicationProgrammer.go +449 -437
  166. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  167. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  168. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  169. package/native/core/programmers/llm/LlmParametersProgrammer.go +105 -132
  170. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  171. package/native/core/programmers/llm/LlmSchemaProgrammer.go +780 -423
  172. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  173. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  174. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  175. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  176. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  177. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  178. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  179. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  180. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  181. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  182. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  183. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  184. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  185. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  186. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  187. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  188. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  189. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  190. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  191. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  192. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  193. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  194. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  195. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  196. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  197. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  198. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  199. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  200. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  201. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  202. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  203. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  204. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  205. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  206. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  207. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  208. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  209. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  210. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  211. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  212. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  213. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  214. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  215. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  216. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  217. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  218. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  219. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  220. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  221. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  222. package/native/core/typings/Writable.go +1 -1
  223. package/native/core/utils/PatternUtil.go +38 -38
  224. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  225. package/native/shim/printer/shim.go +213 -213
  226. package/native/third_party/ttsc/driver/host.go +7 -7
  227. package/native/third_party/ttsc/driver/program.go +275 -275
  228. package/native/third_party/ttsc/driver/rewrite.go +219 -219
  229. package/native/third_party/ttsc/shim/ast/lint.go +171 -171
  230. package/native/third_party/ttsc/shim/ast/shim.go +83 -83
  231. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  232. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  233. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +10 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  236. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  237. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  238. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  239. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  240. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  241. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  242. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  243. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  244. package/native/transform/CallExpressionTransformer.go +556 -556
  245. package/native/transform/FileTransformer.go +123 -123
  246. package/native/transform/ImportTransformer.go +224 -224
  247. package/native/transform/NodeTransformer.go +11 -11
  248. package/native/transform/TypiaGenerator.go +136 -136
  249. package/native/transform/features/AssertTransformer.go +28 -28
  250. package/native/transform/features/CreateAssertTransformer.go +28 -28
  251. package/native/transform/features/CreateIsTransformer.go +24 -24
  252. package/native/transform/features/CreateRandomTransformer.go +35 -35
  253. package/native/transform/features/CreateValidateTransformer.go +24 -24
  254. package/native/transform/features/IsTransformer.go +24 -24
  255. package/native/transform/features/RandomTransformer.go +37 -37
  256. package/native/transform/features/ValidateTransformer.go +24 -24
  257. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  258. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  259. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  260. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  261. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  262. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  263. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  264. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  265. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  266. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  268. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  269. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  271. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  274. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  275. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  276. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  280. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  281. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  282. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  283. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  284. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  285. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  286. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  287. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  288. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  289. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  290. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  291. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  292. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  293. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  294. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  295. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  296. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  297. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  298. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  300. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  301. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  302. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  303. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  304. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  305. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  306. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  307. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  308. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  309. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  310. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  311. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  312. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  313. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  314. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  315. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  316. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  317. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  318. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  324. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  327. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  328. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  329. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  330. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  331. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  332. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  333. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  334. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  335. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  336. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  337. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  338. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  339. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  340. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  341. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  342. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  343. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  350. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  352. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  353. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  354. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  355. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  356. package/native/transform/internal/GenericTransformer.go +173 -173
  357. package/native/transform/transform.go +32 -32
  358. package/package.json +4 -4
  359. package/src/executable/TypiaGenerateWizard.ts +78 -9
  360. package/src/executable/generate/ttsc.ts +2 -3
  361. package/src/executable/setup/PluginConfigurator.ts +2 -3
  362. package/src/internal/_randomInteger.ts +5 -5
  363. package/src/internal/_validateReport.ts +1 -2
  364. package/src/transform.ts +6 -11
@@ -1,14 +1,14 @@
1
1
  package json
2
2
 
3
3
  import (
4
- "fmt"
5
-
6
- shimast "github.com/microsoft/typescript-go/shim/ast"
7
- shimchecker "github.com/microsoft/typescript-go/shim/checker"
8
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
- nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
10
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
11
- nativetransform "github.com/samchon/typia/packages/typia/native/transform/internal"
4
+ "fmt"
5
+
6
+ shimast "github.com/microsoft/typescript-go/shim/ast"
7
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
8
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
9
+ nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
10
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
11
+ nativetransform "github.com/samchon/typia/packages/typia/native/transform/internal"
12
12
  )
13
13
 
14
14
  type jsonSchemaTransformerNamespace struct{}
@@ -16,161 +16,161 @@ type jsonSchemaTransformerNamespace struct{}
16
16
  var JsonSchemaTransformer = jsonSchemaTransformerNamespace{}
17
17
 
18
18
  func (jsonSchemaTransformerNamespace) Transform(props nativetransform.ITransformProps) *shimast.Node {
19
- if props.Expression == nil || props.Expression.TypeArguments == nil || len(props.Expression.TypeArguments.Nodes) == 0 {
20
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
21
- Code: "typia.json.schema",
22
- Message: "no generic argument.",
23
- }))
24
- }
25
-
26
- top := props.Expression.TypeArguments.Nodes[0]
27
- if top == nil {
28
- return props.Expression.AsNode()
29
- }
30
-
31
- typ := props.Context.Checker.GetTypeFromTypeNode(top)
32
- if typ != nil && typ.IsTypeParameter() {
33
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
34
- Code: "typia.json.schema",
35
- Message: "non-specified generic argument.",
36
- }))
37
- }
38
-
39
- var versionNode *shimast.Node
40
- if len(props.Expression.TypeArguments.Nodes) > 1 {
41
- versionNode = props.Expression.TypeArguments.Nodes[1]
42
- }
43
- version := jsonTransformer_getParameter(jsonTransformer_getParameterProps{
44
- Checker: props.Context.Checker,
45
- Code: "typia.json.schema",
46
- Name: "Version",
47
- Is: func(str string) bool {
48
- return str == "3.0" || str == "3.1"
49
- },
50
- Default: func() string {
51
- return "3.1"
52
- },
53
- })(versionNode)
54
-
55
- analyze := func(validate bool) *schemametadata.MetadataSchema {
56
- var validator nativefactories.MetadataFactory_Validator
57
- if validate {
58
- validator = jsonTransformer_schemasValidator
59
- }
60
- result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
61
- Checker: props.Context.Checker,
62
- Transformer: props.Context.Transformer,
63
- Options: nativefactories.MetadataFactory_IOptions{
64
- Absorb: validate,
65
- Constant: true,
66
- Escape: true,
67
- Validate: validator,
68
- },
69
- Components: schemametadata.NewMetadataCollection(&schemametadata.MetadataCollection_IOptions{
70
- Replace: schemametadata.MetadataCollection_replace,
71
- }),
72
- Type: typ,
73
- })
74
- if result.Success == false {
75
- panic(nativetransform.TransformerError_from(struct {
76
- Code string
77
- Errors []nativetransform.TransformerError_MetadataFactory_IError
78
- }{
79
- Code: "typia.json.schema",
80
- Errors: jsonTransformer_errors(result.Errors),
81
- }))
82
- }
83
- return result.Data
84
- }
85
- analyze(true)
86
-
87
- return nativejsonprogrammers.JsonSchemaProgrammer.Write(nativejsonprogrammers.JsonSchemaProgrammer_IWriteProps{
88
- Context: props.Context,
89
- Version: version,
90
- Metadata: analyze(false),
91
- })
19
+ if props.Expression == nil || props.Expression.TypeArguments == nil || len(props.Expression.TypeArguments.Nodes) == 0 {
20
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
21
+ Code: "typia.json.schema",
22
+ Message: "no generic argument.",
23
+ }))
24
+ }
25
+
26
+ top := props.Expression.TypeArguments.Nodes[0]
27
+ if top == nil {
28
+ return props.Expression.AsNode()
29
+ }
30
+
31
+ typ := props.Context.Checker.GetTypeFromTypeNode(top)
32
+ if typ != nil && typ.IsTypeParameter() {
33
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
34
+ Code: "typia.json.schema",
35
+ Message: "non-specified generic argument.",
36
+ }))
37
+ }
38
+
39
+ var versionNode *shimast.Node
40
+ if len(props.Expression.TypeArguments.Nodes) > 1 {
41
+ versionNode = props.Expression.TypeArguments.Nodes[1]
42
+ }
43
+ version := jsonTransformer_getParameter(jsonTransformer_getParameterProps{
44
+ Checker: props.Context.Checker,
45
+ Code: "typia.json.schema",
46
+ Name: "Version",
47
+ Is: func(str string) bool {
48
+ return str == "3.0" || str == "3.1"
49
+ },
50
+ Default: func() string {
51
+ return "3.1"
52
+ },
53
+ })(versionNode)
54
+
55
+ analyze := func(validate bool) *schemametadata.MetadataSchema {
56
+ var validator nativefactories.MetadataFactory_Validator
57
+ if validate {
58
+ validator = jsonTransformer_schemasValidator
59
+ }
60
+ result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
61
+ Checker: props.Context.Checker,
62
+ Transformer: props.Context.Transformer,
63
+ Options: nativefactories.MetadataFactory_IOptions{
64
+ Absorb: validate,
65
+ Constant: true,
66
+ Escape: true,
67
+ Validate: validator,
68
+ },
69
+ Components: schemametadata.NewMetadataCollection(&schemametadata.MetadataCollection_IOptions{
70
+ Replace: schemametadata.MetadataCollection_replace,
71
+ }),
72
+ Type: typ,
73
+ })
74
+ if result.Success == false {
75
+ panic(nativetransform.TransformerError_from(struct {
76
+ Code string
77
+ Errors []nativetransform.TransformerError_MetadataFactory_IError
78
+ }{
79
+ Code: "typia.json.schema",
80
+ Errors: jsonTransformer_errors(result.Errors),
81
+ }))
82
+ }
83
+ return result.Data
84
+ }
85
+ analyze(true)
86
+
87
+ return nativejsonprogrammers.JsonSchemaProgrammer.Write(nativejsonprogrammers.JsonSchemaProgrammer_IWriteProps{
88
+ Context: props.Context,
89
+ Version: version,
90
+ Metadata: analyze(false),
91
+ })
92
92
  }
93
93
 
94
94
  type jsonTransformer_getParameterProps struct {
95
- Checker *shimchecker.Checker
96
- Code string
97
- Name string
98
- Is func(value string) bool
99
- Default func() string
95
+ Checker *shimchecker.Checker
96
+ Code string
97
+ Name string
98
+ Is func(value string) bool
99
+ Default func() string
100
100
  }
101
101
 
102
102
  func jsonTransformer_getParameter(props jsonTransformer_getParameterProps) func(node *shimast.Node) string {
103
- return func(node *shimast.Node) string {
104
- if node == nil {
105
- return props.Default()
106
- }
107
- typ := props.Checker.GetTypeFromTypeNode(node)
108
- if typ == nil || (typ.Flags()&shimchecker.TypeFlagsLiteral) == 0 {
109
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
110
- Code: props.Code,
111
- Message: fmt.Sprintf("generic argument \"%s\" must be constant.", props.Name),
112
- }))
113
- }
114
-
115
- value := ""
116
- if typ.Flags()&shimchecker.TypeFlagsBooleanLiteral != 0 {
117
- value = props.Checker.TypeToString(typ)
118
- } else {
119
- if str, ok := typ.AsLiteralType().Value().(string); ok {
120
- value = str
121
- }
122
- }
123
- if value == "" || props.Is(value) == false {
124
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
125
- Code: props.Code,
126
- Message: fmt.Sprintf("invalid value on generic argument \"%s\".", props.Name),
127
- }))
128
- }
129
- return value
130
- }
103
+ return func(node *shimast.Node) string {
104
+ if node == nil {
105
+ return props.Default()
106
+ }
107
+ typ := props.Checker.GetTypeFromTypeNode(node)
108
+ if typ == nil || (typ.Flags()&shimchecker.TypeFlagsLiteral) == 0 {
109
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
110
+ Code: props.Code,
111
+ Message: fmt.Sprintf("generic argument \"%s\" must be constant.", props.Name),
112
+ }))
113
+ }
114
+
115
+ value := ""
116
+ if typ.Flags()&shimchecker.TypeFlagsBooleanLiteral != 0 {
117
+ value = props.Checker.TypeToString(typ)
118
+ } else {
119
+ if str, ok := typ.AsLiteralType().Value().(string); ok {
120
+ value = str
121
+ }
122
+ }
123
+ if value == "" || props.Is(value) == false {
124
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
125
+ Code: props.Code,
126
+ Message: fmt.Sprintf("invalid value on generic argument \"%s\".", props.Name),
127
+ }))
128
+ }
129
+ return value
130
+ }
131
131
  }
132
132
 
133
133
  func jsonTransformer_schemasValidator(props struct {
134
- Metadata *schemametadata.MetadataSchema
135
- Explore nativefactories.MetadataFactory_IExplore
136
- Top *schemametadata.MetadataSchema
134
+ Metadata *schemametadata.MetadataSchema
135
+ Explore nativefactories.MetadataFactory_IExplore
136
+ Top *schemametadata.MetadataSchema
137
137
  }) []string {
138
- return nativejsonprogrammers.JsonSchemasProgrammer.Validate(struct {
139
- Metadata *schemametadata.MetadataSchema
140
- Explore nativefactories.MetadataFactory_IExplore
141
- }{
142
- Metadata: props.Metadata,
143
- Explore: props.Explore,
144
- })
138
+ return nativejsonprogrammers.JsonSchemasProgrammer.Validate(struct {
139
+ Metadata *schemametadata.MetadataSchema
140
+ Explore nativefactories.MetadataFactory_IExplore
141
+ }{
142
+ Metadata: props.Metadata,
143
+ Explore: props.Explore,
144
+ })
145
145
  }
146
146
 
147
147
  func jsonTransformer_applicationValidator(props struct {
148
- Metadata *schemametadata.MetadataSchema
149
- Explore nativefactories.MetadataFactory_IExplore
150
- Top *schemametadata.MetadataSchema
148
+ Metadata *schemametadata.MetadataSchema
149
+ Explore nativefactories.MetadataFactory_IExplore
150
+ Top *schemametadata.MetadataSchema
151
151
  }) []string {
152
- return nativejsonprogrammers.JsonApplicationProgrammer.Validate(struct {
153
- Metadata *schemametadata.MetadataSchema
154
- Explore nativefactories.MetadataFactory_IExplore
155
- }{
156
- Metadata: props.Metadata,
157
- Explore: props.Explore,
158
- })
152
+ return nativejsonprogrammers.JsonApplicationProgrammer.Validate(struct {
153
+ Metadata *schemametadata.MetadataSchema
154
+ Explore nativefactories.MetadataFactory_IExplore
155
+ }{
156
+ Metadata: props.Metadata,
157
+ Explore: props.Explore,
158
+ })
159
159
  }
160
160
 
161
161
  func jsonTransformer_errors(errors []nativefactories.MetadataFactory_IError) []nativetransform.TransformerError_MetadataFactory_IError {
162
- output := make([]nativetransform.TransformerError_MetadataFactory_IError, 0, len(errors))
163
- for _, err := range errors {
164
- output = append(output, nativetransform.TransformerError_MetadataFactory_IError{
165
- Name: err.Name,
166
- Explore: nativetransform.TransformerError_MetadataFactory_IExplore{
167
- Object: err.Explore.Object,
168
- Property: err.Explore.Property,
169
- Parameter: err.Explore.Parameter,
170
- Output: err.Explore.Output,
171
- },
172
- Messages: append([]string{}, err.Messages...),
173
- })
174
- }
175
- return output
162
+ output := make([]nativetransform.TransformerError_MetadataFactory_IError, 0, len(errors))
163
+ for _, err := range errors {
164
+ output = append(output, nativetransform.TransformerError_MetadataFactory_IError{
165
+ Name: err.Name,
166
+ Explore: nativetransform.TransformerError_MetadataFactory_IExplore{
167
+ Object: err.Explore.Object,
168
+ Property: err.Explore.Property,
169
+ Parameter: err.Explore.Parameter,
170
+ Output: err.Explore.Output,
171
+ },
172
+ Messages: append([]string{}, err.Messages...),
173
+ })
174
+ }
175
+ return output
176
176
  }
@@ -1,12 +1,12 @@
1
1
  package json
2
2
 
3
3
  import (
4
- shimast "github.com/microsoft/typescript-go/shim/ast"
5
- shimchecker "github.com/microsoft/typescript-go/shim/checker"
6
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
7
- nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
8
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
- nativetransform "github.com/samchon/typia/packages/typia/native/transform/internal"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ shimchecker "github.com/microsoft/typescript-go/shim/checker"
6
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
7
+ nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
8
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
9
+ nativetransform "github.com/samchon/typia/packages/typia/native/transform/internal"
10
10
  )
11
11
 
12
12
  type jsonSchemasTransformerNamespace struct{}
@@ -14,97 +14,97 @@ type jsonSchemasTransformerNamespace struct{}
14
14
  var JsonSchemasTransformer = jsonSchemasTransformerNamespace{}
15
15
 
16
16
  func (jsonSchemasTransformerNamespace) Transform(props nativetransform.ITransformProps) *shimast.Node {
17
- if props.Expression == nil || props.Expression.TypeArguments == nil || len(props.Expression.TypeArguments.Nodes) == 0 {
18
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
19
- Code: "typia.json.schemas",
20
- Message: "no generic argument.",
21
- }))
22
- }
17
+ if props.Expression == nil || props.Expression.TypeArguments == nil || len(props.Expression.TypeArguments.Nodes) == 0 {
18
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
19
+ Code: "typia.json.schemas",
20
+ Message: "no generic argument.",
21
+ }))
22
+ }
23
23
 
24
- top := props.Expression.TypeArguments.Nodes[0]
25
- if top == nil || top.Kind != shimast.KindTupleType {
26
- return props.Expression.AsNode()
27
- }
28
- elements := top.AsTupleTypeNode().Elements
29
- if elements == nil {
30
- return props.Expression.AsNode()
31
- }
24
+ top := props.Expression.TypeArguments.Nodes[0]
25
+ if top == nil || top.Kind != shimast.KindTupleType {
26
+ return props.Expression.AsNode()
27
+ }
28
+ elements := top.AsTupleTypeNode().Elements
29
+ if elements == nil {
30
+ return props.Expression.AsNode()
31
+ }
32
32
 
33
- types := make([]*shimchecker.Type, 0, len(elements.Nodes))
34
- for _, child := range elements.Nodes {
35
- if child == nil {
36
- return props.Expression.AsNode()
37
- }
38
- typ := props.Context.Checker.GetTypeFromTypeNode(child)
39
- if typ != nil && typ.IsTypeParameter() {
40
- panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
41
- Code: "typia.json.schemas",
42
- Message: "non-specified generic argument(s).",
43
- }))
44
- }
45
- types = append(types, typ)
46
- }
33
+ types := make([]*shimchecker.Type, 0, len(elements.Nodes))
34
+ for _, child := range elements.Nodes {
35
+ if child == nil {
36
+ return props.Expression.AsNode()
37
+ }
38
+ typ := props.Context.Checker.GetTypeFromTypeNode(child)
39
+ if typ != nil && typ.IsTypeParameter() {
40
+ panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
41
+ Code: "typia.json.schemas",
42
+ Message: "non-specified generic argument(s).",
43
+ }))
44
+ }
45
+ types = append(types, typ)
46
+ }
47
47
 
48
- var versionNode *shimast.Node
49
- if len(props.Expression.TypeArguments.Nodes) > 1 {
50
- versionNode = props.Expression.TypeArguments.Nodes[1]
51
- }
52
- version := jsonTransformer_getParameter(jsonTransformer_getParameterProps{
53
- Checker: props.Context.Checker,
54
- Code: "typia.json.schemas",
55
- Name: "Version",
56
- Is: func(str string) bool {
57
- return str == "3.0" || str == "3.1"
58
- },
59
- Default: func() string {
60
- return "3.1"
61
- },
62
- })(versionNode)
48
+ var versionNode *shimast.Node
49
+ if len(props.Expression.TypeArguments.Nodes) > 1 {
50
+ versionNode = props.Expression.TypeArguments.Nodes[1]
51
+ }
52
+ version := jsonTransformer_getParameter(jsonTransformer_getParameterProps{
53
+ Checker: props.Context.Checker,
54
+ Code: "typia.json.schemas",
55
+ Name: "Version",
56
+ Is: func(str string) bool {
57
+ return str == "3.0" || str == "3.1"
58
+ },
59
+ Default: func() string {
60
+ return "3.1"
61
+ },
62
+ })(versionNode)
63
63
 
64
- analyze := func(validate bool) []*schemametadata.MetadataSchema {
65
- metadatas := []*schemametadata.MetadataSchema{}
66
- errors := []nativefactories.MetadataFactory_IError{}
67
- var validator nativefactories.MetadataFactory_Validator
68
- if validate {
69
- validator = jsonTransformer_schemasValidator
70
- }
71
- for _, typ := range types {
72
- result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
73
- Checker: props.Context.Checker,
74
- Transformer: props.Context.Transformer,
75
- Options: nativefactories.MetadataFactory_IOptions{
76
- Absorb: validate,
77
- Constant: true,
78
- Escape: true,
79
- Validate: validator,
80
- },
81
- Components: schemametadata.NewMetadataCollection(&schemametadata.MetadataCollection_IOptions{
82
- Replace: schemametadata.MetadataCollection_replace,
83
- }),
84
- Type: typ,
85
- })
86
- if result.Success == false {
87
- errors = append(errors, result.Errors...)
88
- } else {
89
- metadatas = append(metadatas, result.Data)
90
- }
91
- }
92
- if len(errors) != 0 {
93
- panic(nativetransform.TransformerError_from(struct {
94
- Code string
95
- Errors []nativetransform.TransformerError_MetadataFactory_IError
96
- }{
97
- Code: "typia.json.schemas",
98
- Errors: jsonTransformer_errors(errors),
99
- }))
100
- }
101
- return metadatas
102
- }
103
- analyze(true)
64
+ analyze := func(validate bool) []*schemametadata.MetadataSchema {
65
+ metadatas := []*schemametadata.MetadataSchema{}
66
+ errors := []nativefactories.MetadataFactory_IError{}
67
+ var validator nativefactories.MetadataFactory_Validator
68
+ if validate {
69
+ validator = jsonTransformer_schemasValidator
70
+ }
71
+ for _, typ := range types {
72
+ result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
73
+ Checker: props.Context.Checker,
74
+ Transformer: props.Context.Transformer,
75
+ Options: nativefactories.MetadataFactory_IOptions{
76
+ Absorb: validate,
77
+ Constant: true,
78
+ Escape: true,
79
+ Validate: validator,
80
+ },
81
+ Components: schemametadata.NewMetadataCollection(&schemametadata.MetadataCollection_IOptions{
82
+ Replace: schemametadata.MetadataCollection_replace,
83
+ }),
84
+ Type: typ,
85
+ })
86
+ if result.Success == false {
87
+ errors = append(errors, result.Errors...)
88
+ } else {
89
+ metadatas = append(metadatas, result.Data)
90
+ }
91
+ }
92
+ if len(errors) != 0 {
93
+ panic(nativetransform.TransformerError_from(struct {
94
+ Code string
95
+ Errors []nativetransform.TransformerError_MetadataFactory_IError
96
+ }{
97
+ Code: "typia.json.schemas",
98
+ Errors: jsonTransformer_errors(errors),
99
+ }))
100
+ }
101
+ return metadatas
102
+ }
103
+ analyze(true)
104
104
 
105
- return nativejsonprogrammers.JsonSchemasProgrammer.Write(nativejsonprogrammers.JsonSchemasProgrammer_IWriteProps{
106
- Context: props.Context,
107
- Version: version,
108
- Metadatas: analyze(false),
109
- })
105
+ return nativejsonprogrammers.JsonSchemasProgrammer.Write(nativejsonprogrammers.JsonSchemasProgrammer_IWriteProps{
106
+ Context: props.Context,
107
+ Version: version,
108
+ Metadatas: analyze(false),
109
+ })
110
110
  }
@@ -1,10 +1,10 @@
1
1
  package json
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
- nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
- nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
+ nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
+ nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
8
8
  )
9
9
 
10
10
  type jsonStringifyTransformerNamespace struct{}
@@ -12,11 +12,11 @@ type jsonStringifyTransformerNamespace struct{}
12
12
  var JsonStringifyTransformer = jsonStringifyTransformerNamespace{}
13
13
 
14
14
  func (jsonStringifyTransformerNamespace) Transform(props nativeinternal.ITransformProps) *shimast.Node {
15
- return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
- ITransformProps: props,
17
- Method: "json.stringify",
18
- Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
- return nativejsonprogrammers.JsonStringifyProgrammer.Write(x)
20
- },
21
- })
15
+ return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
+ ITransformProps: props,
17
+ Method: "json.stringify",
18
+ Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
+ return nativejsonprogrammers.JsonStringifyProgrammer.Write(x)
20
+ },
21
+ })
22
22
  }
@@ -1,10 +1,10 @@
1
1
  package json
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
- nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
- nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
+ nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
+ nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
8
8
  )
9
9
 
10
10
  type jsonValidateParseTransformerNamespace struct{}
@@ -12,11 +12,11 @@ type jsonValidateParseTransformerNamespace struct{}
12
12
  var JsonValidateParseTransformer = jsonValidateParseTransformerNamespace{}
13
13
 
14
14
  func (jsonValidateParseTransformerNamespace) Transform(props nativeinternal.ITransformProps) *shimast.Node {
15
- return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
- ITransformProps: props,
17
- Method: "json.validateParse",
18
- Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
- return nativejsonprogrammers.JsonValidateParseProgrammer.Write(x)
20
- },
21
- })
15
+ return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
+ ITransformProps: props,
17
+ Method: "json.validateParse",
18
+ Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
+ return nativejsonprogrammers.JsonValidateParseProgrammer.Write(x)
20
+ },
21
+ })
22
22
  }
@@ -1,10 +1,10 @@
1
1
  package json
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
- nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
- nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
4
+ shimast "github.com/microsoft/typescript-go/shim/ast"
5
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
6
+ nativejsonprogrammers "github.com/samchon/typia/packages/typia/native/core/programmers/json"
7
+ nativeinternal "github.com/samchon/typia/packages/typia/native/transform/internal"
8
8
  )
9
9
 
10
10
  type jsonValidateStringifyTransformerNamespace struct{}
@@ -12,11 +12,11 @@ type jsonValidateStringifyTransformerNamespace struct{}
12
12
  var JsonValidateStringifyTransformer = jsonValidateStringifyTransformerNamespace{}
13
13
 
14
14
  func (jsonValidateStringifyTransformerNamespace) Transform(props nativeinternal.ITransformProps) *shimast.Node {
15
- return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
- ITransformProps: props,
17
- Method: "json.validateStringify",
18
- Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
- return nativejsonprogrammers.JsonValidateStringifyProgrammer.Write(x)
20
- },
21
- })
15
+ return nativeinternal.GenericTransformer.Scalar(nativeinternal.GenericTransformer_IProps{
16
+ ITransformProps: props,
17
+ Method: "json.validateStringify",
18
+ Write: func(x nativecontext.IProgrammerProps) *shimast.Node {
19
+ return nativejsonprogrammers.JsonValidateStringifyProgrammer.Write(x)
20
+ },
21
+ })
22
22
  }