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,48 +1,48 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- "strconv"
5
- "strings"
4
+ "strconv"
5
+ "strings"
6
6
 
7
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
8
8
  )
9
9
 
10
10
  func json_schema_jsDocTags(schema JsonSchema, jsDocTags []nativemetadata.IJsDocTagInfo) JsonSchema {
11
- for _, tag := range jsDocTags {
12
- if strings.HasPrefix(tag.Name, "x-") == false {
13
- continue
14
- }
15
- value, ok := json_schema_jsDocTags_value(tag)
16
- if ok == false {
17
- continue
18
- }
19
- schema[tag.Name] = json_schema_jsDocTags_cast(value)
20
- }
21
- return schema
11
+ for _, tag := range jsDocTags {
12
+ if strings.HasPrefix(tag.Name, "x-") == false {
13
+ continue
14
+ }
15
+ value, ok := json_schema_jsDocTags_value(tag)
16
+ if ok == false {
17
+ continue
18
+ }
19
+ schema[tag.Name] = json_schema_jsDocTags_cast(value)
20
+ }
21
+ return schema
22
22
  }
23
23
 
24
24
  func json_schema_jsDocTags_value(tag nativemetadata.IJsDocTagInfo) (string, bool) {
25
- for _, text := range tag.Text {
26
- if text.Kind != "text" {
27
- continue
28
- }
29
- return strings.ReplaceAll(strings.TrimSpace(text.Text), "\r\n", "\n"), true
30
- }
31
- return "", false
25
+ for _, text := range tag.Text {
26
+ if text.Kind != "text" {
27
+ continue
28
+ }
29
+ return strings.ReplaceAll(strings.TrimSpace(text.Text), "\r\n", "\n"), true
30
+ }
31
+ return "", false
32
32
  }
33
33
 
34
34
  func json_schema_jsDocTags_cast(value string) any {
35
- if value == "true" {
36
- return true
37
- }
38
- if value == "false" {
39
- return false
40
- }
41
- if num, err := strconv.ParseFloat(value, 64); err == nil {
42
- return num
43
- }
44
- if value == "null" {
45
- return nil
46
- }
47
- return value
35
+ if value == "true" {
36
+ return true
37
+ }
38
+ if value == "false" {
39
+ return false
40
+ }
41
+ if num, err := strconv.ParseFloat(value, 64); err == nil {
42
+ return num
43
+ }
44
+ if value == "null" {
45
+ return nil
46
+ }
47
+ return value
48
48
  }
@@ -3,57 +3,57 @@ package iterate
3
3
  import nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
4
 
5
5
  type OpenApi_IComponents struct {
6
- Schemas map[string]JsonSchema
6
+ Schemas map[string]JsonSchema
7
7
  }
8
8
 
9
9
  type Json_schema_native_export_props struct {
10
- Components *OpenApi_IComponents
11
- Native *nativemetadata.MetadataNative
10
+ Components *OpenApi_IComponents
11
+ Native *nativemetadata.MetadataNative
12
12
  }
13
13
 
14
14
  func json_schema_native(props struct {
15
- components *OpenApi_IComponents
16
- native *nativemetadata.MetadataNative
15
+ components *OpenApi_IComponents
16
+ native *nativemetadata.MetadataNative
17
17
  }) []JsonSchema {
18
- if props.native.Name == "Blob" || props.native.Name == "File" {
19
- return json_schema_plugin(struct {
20
- schema JsonSchema
21
- tags [][]nativemetadata.IMetadataTypeTag
22
- }{
23
- schema: JsonSchema{
24
- "type": "string",
25
- "format": "binary",
26
- },
27
- tags: props.native.Tags,
28
- })
29
- }
30
- if props.components.Schemas == nil {
31
- props.components.Schemas = map[string]JsonSchema{}
32
- }
33
- if _, ok := props.components.Schemas[props.native.Name]; ok == false {
34
- props.components.Schemas[props.native.Name] = JsonSchema{
35
- "type": "object",
36
- "properties": JsonSchema{},
37
- "required": []string{},
38
- }
39
- }
40
- return json_schema_plugin(struct {
41
- schema JsonSchema
42
- tags [][]nativemetadata.IMetadataTypeTag
43
- }{
44
- schema: JsonSchema{
45
- "$ref": "#/components/schemas/" + props.native.Name,
46
- },
47
- tags: props.native.Tags,
48
- })
18
+ if props.native.Name == "Blob" || props.native.Name == "File" {
19
+ return json_schema_plugin(struct {
20
+ schema JsonSchema
21
+ tags [][]nativemetadata.IMetadataTypeTag
22
+ }{
23
+ schema: JsonSchema{
24
+ "type": "string",
25
+ "format": "binary",
26
+ },
27
+ tags: props.native.Tags,
28
+ })
29
+ }
30
+ if props.components.Schemas == nil {
31
+ props.components.Schemas = map[string]JsonSchema{}
32
+ }
33
+ if _, ok := props.components.Schemas[props.native.Name]; ok == false {
34
+ props.components.Schemas[props.native.Name] = JsonSchema{
35
+ "type": "object",
36
+ "properties": JsonSchema{},
37
+ "required": []string{},
38
+ }
39
+ }
40
+ return json_schema_plugin(struct {
41
+ schema JsonSchema
42
+ tags [][]nativemetadata.IMetadataTypeTag
43
+ }{
44
+ schema: JsonSchema{
45
+ "$ref": "#/components/schemas/" + props.native.Name,
46
+ },
47
+ tags: props.native.Tags,
48
+ })
49
49
  }
50
50
 
51
51
  func Json_schema_native_export(props Json_schema_native_export_props) []JsonSchema {
52
- return json_schema_native(struct {
53
- components *OpenApi_IComponents
54
- native *nativemetadata.MetadataNative
55
- }{
56
- components: props.Components,
57
- native: props.Native,
58
- })
52
+ return json_schema_native(struct {
53
+ components *OpenApi_IComponents
54
+ native *nativemetadata.MetadataNative
55
+ }{
56
+ components: props.Components,
57
+ native: props.Native,
58
+ })
59
59
  }
@@ -3,15 +3,15 @@ package iterate
3
3
  import nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
4
 
5
5
  func json_schema_number(atomic *nativemetadata.MetadataAtomic) []JsonSchema {
6
- return json_schema_plugin(struct {
7
- schema JsonSchema
8
- tags [][]nativemetadata.IMetadataTypeTag
9
- }{
10
- schema: JsonSchema{"type": "number"},
11
- tags: atomic.Tags,
12
- })
6
+ return json_schema_plugin(struct {
7
+ schema JsonSchema
8
+ tags [][]nativemetadata.IMetadataTypeTag
9
+ }{
10
+ schema: JsonSchema{"type": "number"},
11
+ tags: atomic.Tags,
12
+ })
13
13
  }
14
14
 
15
15
  func Json_schema_number_export(atomic *nativemetadata.MetadataAtomic) []JsonSchema {
16
- return json_schema_number(atomic)
16
+ return json_schema_number(atomic)
17
17
  }
@@ -1,179 +1,179 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
5
- nativeutils "github.com/samchon/typia/packages/typia/native/core/utils"
4
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
5
+ nativeutils "github.com/samchon/typia/packages/typia/native/core/utils"
6
6
  )
7
7
 
8
8
  func json_schema_object(props struct {
9
- components *OpenApi_IComponents
10
- object *nativemetadata.MetadataObject
9
+ components *OpenApi_IComponents
10
+ object *nativemetadata.MetadataObject
11
11
  }) []JsonSchema {
12
- return json_schema_plugin(struct {
13
- schema JsonSchema
14
- tags [][]nativemetadata.IMetadataTypeTag
15
- }{
16
- schema: json_schema_emplace_object(props),
17
- tags: props.object.Tags,
18
- })
12
+ return json_schema_plugin(struct {
13
+ schema JsonSchema
14
+ tags [][]nativemetadata.IMetadataTypeTag
15
+ }{
16
+ schema: json_schema_emplace_object(props),
17
+ tags: props.object.Tags,
18
+ })
19
19
  }
20
20
 
21
21
  func json_schema_emplace_object(props struct {
22
- components *OpenApi_IComponents
23
- object *nativemetadata.MetadataObject
22
+ components *OpenApi_IComponents
23
+ object *nativemetadata.MetadataObject
24
24
  }) JsonSchema {
25
- if props.object.Type.IsLiteral() {
26
- return json_schema_create_object_schema(props)
27
- }
28
- key := props.object.Type.Name
29
- ref := "#/components/schemas/" + key
30
- if props.components.Schemas != nil {
31
- if _, ok := props.components.Schemas[key]; ok {
32
- return JsonSchema{"$ref": ref}
33
- }
34
- }
35
- if props.components.Schemas == nil {
36
- props.components.Schemas = map[string]JsonSchema{}
37
- }
38
- lazy := JsonSchema{}
39
- props.components.Schemas[key] = lazy
40
- json_schema_assign(lazy, json_schema_create_object_schema(props))
41
- return JsonSchema{"$ref": ref}
25
+ if props.object.Type.IsLiteral() {
26
+ return json_schema_create_object_schema(props)
27
+ }
28
+ key := props.object.Type.Name
29
+ ref := "#/components/schemas/" + key
30
+ if props.components.Schemas != nil {
31
+ if _, ok := props.components.Schemas[key]; ok {
32
+ return JsonSchema{"$ref": ref}
33
+ }
34
+ }
35
+ if props.components.Schemas == nil {
36
+ props.components.Schemas = map[string]JsonSchema{}
37
+ }
38
+ lazy := JsonSchema{}
39
+ props.components.Schemas[key] = lazy
40
+ json_schema_assign(lazy, json_schema_create_object_schema(props))
41
+ return JsonSchema{"$ref": ref}
42
42
  }
43
43
 
44
44
  func json_schema_create_object_schema(props struct {
45
- components *OpenApi_IComponents
46
- object *nativemetadata.MetadataObject
45
+ components *OpenApi_IComponents
46
+ object *nativemetadata.MetadataObject
47
47
  }) JsonSchema {
48
- properties := JsonSchema{}
49
- extraMeta := json_schema_superfluous{
50
- patternProperties: map[string]json_schema_metadata_schema_pair{},
51
- }
52
- required := []string{}
48
+ properties := JsonSchema{}
49
+ extraMeta := json_schema_superfluous{
50
+ patternProperties: map[string]json_schema_metadata_schema_pair{},
51
+ }
52
+ required := []string{}
53
53
 
54
- for _, property := range props.object.Type.Properties {
55
- if len(property.Value.Functions) != 0 &&
56
- property.Value.Nullable == false &&
57
- property.Value.IsRequired() &&
58
- property.Value.Size() == 0 {
59
- continue
60
- }
61
- if json_schema_has_any_tag(property.JsDocTags, []string{"hidden", "ignore", "internal"}) {
62
- continue
63
- }
54
+ for _, property := range props.object.Type.Properties {
55
+ if len(property.Value.Functions) != 0 &&
56
+ property.Value.Nullable == false &&
57
+ property.Value.IsRequired() &&
58
+ property.Value.Size() == 0 {
59
+ continue
60
+ }
61
+ if json_schema_has_any_tag(property.JsDocTags, []string{"hidden", "ignore", "internal"}) {
62
+ continue
63
+ }
64
64
 
65
- attribute := JsonSchema{}
66
- if json_schema_has_tag(property.JsDocTags, "deprecated") {
67
- attribute["deprecated"] = true
68
- }
69
- if title := json_schema_title(struct {
70
- description *string
71
- jsDocTags []nativemetadata.IJsDocTagInfo
72
- }{description: property.Description, jsDocTags: property.JsDocTags}); title != nil {
73
- attribute["title"] = *title
74
- }
75
- if description := json_schema_description(struct {
76
- description *string
77
- jsDocTags []nativemetadata.IJsDocTagInfo
78
- }{description: property.Description, jsDocTags: property.JsDocTags}); description != nil {
79
- attribute["description"] = *description
80
- }
81
- if property.Mutability != nil && *property.Mutability == "readonly" {
82
- attribute["readOnly"] = true
83
- }
84
- value := json_schema_station(json_schema_station_props{
85
- blockNever: true,
86
- components: props.components,
87
- attribute: attribute,
88
- metadata: property.Value,
89
- })
90
- if value == nil {
91
- continue
92
- }
93
- json_schema_jsDocTags(value, property.JsDocTags)
65
+ attribute := JsonSchema{}
66
+ if json_schema_has_tag(property.JsDocTags, "deprecated") {
67
+ attribute["deprecated"] = true
68
+ }
69
+ if title := json_schema_title(struct {
70
+ description *string
71
+ jsDocTags []nativemetadata.IJsDocTagInfo
72
+ }{description: property.Description, jsDocTags: property.JsDocTags}); title != nil {
73
+ attribute["title"] = *title
74
+ }
75
+ if description := json_schema_description(struct {
76
+ description *string
77
+ jsDocTags []nativemetadata.IJsDocTagInfo
78
+ }{description: property.Description, jsDocTags: property.JsDocTags}); description != nil {
79
+ attribute["description"] = *description
80
+ }
81
+ if property.Mutability != nil && *property.Mutability == "readonly" {
82
+ attribute["readOnly"] = true
83
+ }
84
+ value := json_schema_station(json_schema_station_props{
85
+ blockNever: true,
86
+ components: props.components,
87
+ attribute: attribute,
88
+ metadata: property.Value,
89
+ })
90
+ if value == nil {
91
+ continue
92
+ }
93
+ json_schema_jsDocTags(value, property.JsDocTags)
94
94
 
95
- key := property.Key.GetSoleLiteral()
96
- if key != nil {
97
- properties[*key] = value
98
- if property.Value.IsRequired() {
99
- required = append(required, *key)
100
- }
101
- } else {
102
- pattern := metadata_to_pattern(struct {
103
- top bool
104
- metadata *nativemetadata.MetadataSchema
105
- }{top: true, metadata: property.Key})
106
- pair := json_schema_metadata_schema_pair{metadata: property.Value, schema: value}
107
- if pattern == nativeutils.PatternUtil.STRING {
108
- extraMeta.additionalProperties = &pair
109
- } else {
110
- extraMeta.patternProperties[pattern] = pair
111
- }
112
- }
113
- }
95
+ key := property.Key.GetSoleLiteral()
96
+ if key != nil {
97
+ properties[*key] = value
98
+ if property.Value.IsRequired() {
99
+ required = append(required, *key)
100
+ }
101
+ } else {
102
+ pattern := metadata_to_pattern(struct {
103
+ top bool
104
+ metadata *nativemetadata.MetadataSchema
105
+ }{top: true, metadata: property.Key})
106
+ pair := json_schema_metadata_schema_pair{metadata: property.Value, schema: value}
107
+ if pattern == nativeutils.PatternUtil.STRING {
108
+ extraMeta.additionalProperties = &pair
109
+ } else {
110
+ extraMeta.patternProperties[pattern] = pair
111
+ }
112
+ }
113
+ }
114
114
 
115
- schema := JsonSchema{
116
- "type": "object",
117
- "properties": properties,
118
- "required": required,
119
- "additionalProperties": false,
120
- }
121
- if title := json_schema_title(struct {
122
- description *string
123
- jsDocTags []nativemetadata.IJsDocTagInfo
124
- }{description: props.object.Type.Description, jsDocTags: props.object.Type.JsDocTags}); title != nil {
125
- schema["title"] = *title
126
- }
127
- if description := json_schema_description(struct {
128
- description *string
129
- jsDocTags []nativemetadata.IJsDocTagInfo
130
- }{description: props.object.Type.Description, jsDocTags: props.object.Type.JsDocTags}); description != nil {
131
- schema["description"] = *description
132
- }
133
- if additional := json_schema_join(struct {
134
- components *OpenApi_IComponents
135
- extra json_schema_superfluous
136
- }{components: props.components, extra: extraMeta}); additional != nil {
137
- schema["additionalProperties"] = additional
138
- }
139
- return json_schema_jsDocTags(schema, props.object.Type.JsDocTags)
115
+ schema := JsonSchema{
116
+ "type": "object",
117
+ "properties": properties,
118
+ "required": required,
119
+ "additionalProperties": false,
120
+ }
121
+ if title := json_schema_title(struct {
122
+ description *string
123
+ jsDocTags []nativemetadata.IJsDocTagInfo
124
+ }{description: props.object.Type.Description, jsDocTags: props.object.Type.JsDocTags}); title != nil {
125
+ schema["title"] = *title
126
+ }
127
+ if description := json_schema_description(struct {
128
+ description *string
129
+ jsDocTags []nativemetadata.IJsDocTagInfo
130
+ }{description: props.object.Type.Description, jsDocTags: props.object.Type.JsDocTags}); description != nil {
131
+ schema["description"] = *description
132
+ }
133
+ if additional := json_schema_join(struct {
134
+ components *OpenApi_IComponents
135
+ extra json_schema_superfluous
136
+ }{components: props.components, extra: extraMeta}); additional != nil {
137
+ schema["additionalProperties"] = additional
138
+ }
139
+ return json_schema_jsDocTags(schema, props.object.Type.JsDocTags)
140
140
  }
141
141
 
142
142
  func json_schema_join(props struct {
143
- components *OpenApi_IComponents
144
- extra json_schema_superfluous
143
+ components *OpenApi_IComponents
144
+ extra json_schema_superfluous
145
145
  }) JsonSchema {
146
- elements := []json_schema_metadata_schema_pair{}
147
- for _, value := range props.extra.patternProperties {
148
- elements = append(elements, value)
149
- }
150
- if props.extra.additionalProperties != nil {
151
- elements = append(elements, *props.extra.additionalProperties)
152
- }
153
- if len(elements) == 0 {
154
- return nil
155
- }
156
- if len(elements) == 1 {
157
- return elements[0].schema
158
- }
159
- metadata := elements[0].metadata
160
- for i := 1; i < len(elements); i++ {
161
- metadata = nativemetadata.MetadataSchema_merge(metadata, elements[i].metadata)
162
- }
163
- return json_schema_station(json_schema_station_props{
164
- blockNever: true,
165
- components: props.components,
166
- attribute: JsonSchema{},
167
- metadata: metadata,
168
- })
146
+ elements := []json_schema_metadata_schema_pair{}
147
+ for _, value := range props.extra.patternProperties {
148
+ elements = append(elements, value)
149
+ }
150
+ if props.extra.additionalProperties != nil {
151
+ elements = append(elements, *props.extra.additionalProperties)
152
+ }
153
+ if len(elements) == 0 {
154
+ return nil
155
+ }
156
+ if len(elements) == 1 {
157
+ return elements[0].schema
158
+ }
159
+ metadata := elements[0].metadata
160
+ for i := 1; i < len(elements); i++ {
161
+ metadata = nativemetadata.MetadataSchema_merge(metadata, elements[i].metadata)
162
+ }
163
+ return json_schema_station(json_schema_station_props{
164
+ blockNever: true,
165
+ components: props.components,
166
+ attribute: JsonSchema{},
167
+ metadata: metadata,
168
+ })
169
169
  }
170
170
 
171
171
  type json_schema_superfluous struct {
172
- additionalProperties *json_schema_metadata_schema_pair
173
- patternProperties map[string]json_schema_metadata_schema_pair
172
+ additionalProperties *json_schema_metadata_schema_pair
173
+ patternProperties map[string]json_schema_metadata_schema_pair
174
174
  }
175
175
 
176
176
  type json_schema_metadata_schema_pair struct {
177
- metadata *nativemetadata.MetadataSchema
178
- schema JsonSchema
177
+ metadata *nativemetadata.MetadataSchema
178
+ schema JsonSchema
179
179
  }
@@ -5,43 +5,43 @@ import nativemetadata "github.com/samchon/typia/packages/typia/native/core/schem
5
5
  type JsonSchema map[string]any
6
6
 
7
7
  func json_schema_plugin(props struct {
8
- schema JsonSchema
9
- tags [][]nativemetadata.IMetadataTypeTag
8
+ schema JsonSchema
9
+ tags [][]nativemetadata.IMetadataTypeTag
10
10
  }) []JsonSchema {
11
- plugins := make([][]nativemetadata.IMetadataTypeTag, 0)
12
- for _, row := range props.tags {
13
- filtered := make([]nativemetadata.IMetadataTypeTag, 0)
14
- for _, tag := range row {
15
- if tag.Schema != nil {
16
- filtered = append(filtered, tag)
17
- }
18
- }
19
- if len(filtered) != 0 {
20
- plugins = append(plugins, filtered)
21
- }
22
- }
23
- if len(plugins) == 0 {
24
- return []JsonSchema{props.schema}
25
- }
26
- output := make([]JsonSchema, 0, len(plugins))
27
- for _, row := range plugins {
28
- base := cloneJsonSchema(props.schema)
29
- for _, tag := range row {
30
- if schema, ok := tag.Schema.(map[string]any); ok {
31
- for key, value := range schema {
32
- base[key] = value
33
- }
34
- }
35
- }
36
- output = append(output, base)
37
- }
38
- return output
11
+ plugins := make([][]nativemetadata.IMetadataTypeTag, 0)
12
+ for _, row := range props.tags {
13
+ filtered := make([]nativemetadata.IMetadataTypeTag, 0)
14
+ for _, tag := range row {
15
+ if tag.Schema != nil {
16
+ filtered = append(filtered, tag)
17
+ }
18
+ }
19
+ if len(filtered) != 0 {
20
+ plugins = append(plugins, filtered)
21
+ }
22
+ }
23
+ if len(plugins) == 0 {
24
+ return []JsonSchema{props.schema}
25
+ }
26
+ output := make([]JsonSchema, 0, len(plugins))
27
+ for _, row := range plugins {
28
+ base := cloneJsonSchema(props.schema)
29
+ for _, tag := range row {
30
+ if schema, ok := tag.Schema.(map[string]any); ok {
31
+ for key, value := range schema {
32
+ base[key] = value
33
+ }
34
+ }
35
+ }
36
+ output = append(output, base)
37
+ }
38
+ return output
39
39
  }
40
40
 
41
41
  func cloneJsonSchema(input JsonSchema) JsonSchema {
42
- output := JsonSchema{}
43
- for key, value := range input {
44
- output[key] = value
45
- }
46
- return output
42
+ output := JsonSchema{}
43
+ for key, value := range input {
44
+ output[key] = value
45
+ }
46
+ return output
47
47
  }