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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/lib/executable/generate/ttsc.js.map +1 -1
  2. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  3. package/lib/internal/_randomInteger.js.map +1 -1
  4. package/lib/internal/_validateReport.js.map +1 -1
  5. package/lib/transform.js.map +1 -1
  6. package/native/adapter/adapter.go +128 -128
  7. package/native/adapter/cleanup.go +155 -155
  8. package/native/adapter/imports.go +80 -80
  9. package/native/adapter/visit.go +142 -142
  10. package/native/cmd/ttsc-typia/build.go +223 -223
  11. package/native/cmd/ttsc-typia/main.go +57 -57
  12. package/native/cmd/ttsc-typia/transform.go +393 -385
  13. package/native/cmd/ttsc-typia/transform_test.go +40 -0
  14. package/native/core/context/IProgrammerProps.go +7 -7
  15. package/native/core/context/ITransformOptions.go +5 -5
  16. package/native/core/context/ITypiaContext.go +13 -13
  17. package/native/core/context/TransformerError.go +81 -81
  18. package/native/core/factories/CommentFactory.go +9 -9
  19. package/native/core/factories/ExpressionFactory.go +254 -254
  20. package/native/core/factories/FormatCheatSheet.go +23 -23
  21. package/native/core/factories/IdentifierFactory.go +130 -130
  22. package/native/core/factories/JsonMetadataFactory.go +129 -129
  23. package/native/core/factories/LiteralFactory.go +192 -192
  24. package/native/core/factories/MetadataCommentTagFactory.go +379 -379
  25. package/native/core/factories/MetadataFactory.go +462 -462
  26. package/native/core/factories/MetadataTypeTagFactory.go +498 -498
  27. package/native/core/factories/MetadataTypeTagSchemaFactory.go +102 -102
  28. package/native/core/factories/NumericRangeFactory.go +84 -84
  29. package/native/core/factories/ProtobufFactory.go +933 -933
  30. package/native/core/factories/StatementFactory.go +72 -72
  31. package/native/core/factories/TemplateFactory.go +57 -57
  32. package/native/core/factories/TypeFactory.go +125 -125
  33. package/native/core/factories/ValueFactory.go +12 -12
  34. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +35 -35
  35. package/native/core/factories/internal/metadata/MetadataHelper.go +176 -176
  36. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +69 -69
  37. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +27 -27
  38. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +33 -33
  39. package/native/core/factories/internal/metadata/emplace_metadata_object.go +209 -209
  40. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +50 -50
  41. package/native/core/factories/internal/metadata/explore_metadata.go +29 -29
  42. package/native/core/factories/internal/metadata/iterate_metadata.go +46 -46
  43. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +25 -25
  44. package/native/core/factories/internal/metadata/iterate_metadata_array.go +65 -65
  45. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +49 -49
  46. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +22 -22
  47. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +228 -228
  48. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +12 -12
  49. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +71 -71
  50. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +48 -48
  51. package/native/core/factories/internal/metadata/iterate_metadata_function.go +82 -82
  52. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +319 -319
  53. package/native/core/factories/internal/metadata/iterate_metadata_map.go +51 -51
  54. package/native/core/factories/internal/metadata/iterate_metadata_native.go +85 -85
  55. package/native/core/factories/internal/metadata/iterate_metadata_object.go +27 -27
  56. package/native/core/factories/internal/metadata/iterate_metadata_set.go +37 -37
  57. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +137 -137
  58. package/native/core/factories/internal/metadata/iterate_metadata_template.go +33 -33
  59. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +16 -16
  60. package/native/core/factories/internal/metadata/iterate_metadata_union.go +18 -18
  61. package/native/core/programmers/AssertProgrammer.go +389 -389
  62. package/native/core/programmers/ImportProgrammer.go +196 -196
  63. package/native/core/programmers/IsProgrammer.go +293 -293
  64. package/native/core/programmers/RandomProgrammer.go +1094 -1094
  65. package/native/core/programmers/ValidateProgrammer.go +369 -369
  66. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +133 -133
  67. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +104 -104
  68. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +100 -100
  69. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +79 -79
  70. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +159 -159
  71. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +99 -99
  72. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +138 -138
  73. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +222 -222
  74. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +116 -116
  75. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +36 -36
  76. package/native/core/programmers/helpers/AtomicPredicator.go +35 -35
  77. package/native/core/programmers/helpers/CloneJoiner.go +217 -217
  78. package/native/core/programmers/helpers/FunctionProgrammer.go +79 -79
  79. package/native/core/programmers/helpers/HttpMetadataUtil.go +17 -17
  80. package/native/core/programmers/helpers/ICheckEntry.go +5 -5
  81. package/native/core/programmers/helpers/IExpressionEntry.go +6 -6
  82. package/native/core/programmers/helpers/NotationJoiner.go +159 -159
  83. package/native/core/programmers/helpers/OptionPredicator.go +4 -4
  84. package/native/core/programmers/helpers/ProtobufUtil.go +231 -231
  85. package/native/core/programmers/helpers/ProtobufWire.go +6 -6
  86. package/native/core/programmers/helpers/PruneJoiner.go +227 -227
  87. package/native/core/programmers/helpers/RandomJoiner.go +155 -155
  88. package/native/core/programmers/helpers/StringifyJoinder.go +331 -331
  89. package/native/core/programmers/helpers/StringifyPredicator.go +10 -10
  90. package/native/core/programmers/helpers/UnionExplorer.go +835 -835
  91. package/native/core/programmers/helpers/UnionPredicator.go +78 -78
  92. package/native/core/programmers/helpers/disable_function_programmer_declare.go +6 -6
  93. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +93 -93
  94. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +42 -42
  95. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +51 -51
  96. package/native/core/programmers/http/HttpFormDataProgrammer.go +351 -351
  97. package/native/core/programmers/http/HttpHeadersProgrammer.go +370 -370
  98. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +109 -109
  99. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +36 -36
  100. package/native/core/programmers/http/HttpIsQueryProgrammer.go +45 -45
  101. package/native/core/programmers/http/HttpParameterProgrammer.go +158 -158
  102. package/native/core/programmers/http/HttpQueryProgrammer.go +422 -422
  103. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +87 -87
  104. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +39 -39
  105. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +48 -48
  106. package/native/core/programmers/internal/CheckerProgrammer.go +1490 -1490
  107. package/native/core/programmers/internal/FeatureProgrammer.go +589 -589
  108. package/native/core/programmers/iterate/check_array_length.go +46 -46
  109. package/native/core/programmers/iterate/check_bigint.go +52 -52
  110. package/native/core/programmers/iterate/check_dynamic_key.go +220 -220
  111. package/native/core/programmers/iterate/check_dynamic_properties.go +245 -245
  112. package/native/core/programmers/iterate/check_everything.go +21 -21
  113. package/native/core/programmers/iterate/check_native.go +25 -25
  114. package/native/core/programmers/iterate/check_number.go +135 -135
  115. package/native/core/programmers/iterate/check_object.go +66 -66
  116. package/native/core/programmers/iterate/check_string.go +52 -52
  117. package/native/core/programmers/iterate/check_template.go +57 -57
  118. package/native/core/programmers/iterate/check_union_array_like.go +372 -372
  119. package/native/core/programmers/iterate/decode_union_object.go +118 -118
  120. package/native/core/programmers/iterate/feature_object_entries.go +134 -134
  121. package/native/core/programmers/iterate/json_schema_alias.go +52 -52
  122. package/native/core/programmers/iterate/json_schema_array.go +52 -52
  123. package/native/core/programmers/iterate/json_schema_bigint.go +8 -8
  124. package/native/core/programmers/iterate/json_schema_boolean.go +8 -8
  125. package/native/core/programmers/iterate/json_schema_constant.go +38 -38
  126. package/native/core/programmers/iterate/json_schema_description.go +12 -12
  127. package/native/core/programmers/iterate/json_schema_discriminator.go +47 -47
  128. package/native/core/programmers/iterate/json_schema_escaped.go +58 -58
  129. package/native/core/programmers/iterate/json_schema_jsDocTags.go +34 -34
  130. package/native/core/programmers/iterate/json_schema_native.go +43 -43
  131. package/native/core/programmers/iterate/json_schema_number.go +8 -8
  132. package/native/core/programmers/iterate/json_schema_object.go +149 -149
  133. package/native/core/programmers/iterate/json_schema_plugin.go +35 -35
  134. package/native/core/programmers/iterate/json_schema_station.go +211 -211
  135. package/native/core/programmers/iterate/json_schema_string.go +8 -8
  136. package/native/core/programmers/iterate/json_schema_template.go +53 -53
  137. package/native/core/programmers/iterate/json_schema_title.go +16 -16
  138. package/native/core/programmers/iterate/json_schema_tuple.go +34 -34
  139. package/native/core/programmers/iterate/metadata_to_pattern.go +53 -53
  140. package/native/core/programmers/iterate/postfix_of_tuple.go +5 -5
  141. package/native/core/programmers/iterate/prune_object_properties.go +85 -85
  142. package/native/core/programmers/iterate/stringify_dynamic_properties.go +193 -193
  143. package/native/core/programmers/iterate/stringify_native.go +1 -1
  144. package/native/core/programmers/iterate/stringify_regular_properties.go +84 -84
  145. package/native/core/programmers/iterate/template_to_pattern.go +20 -20
  146. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +13 -13
  147. package/native/core/programmers/json/JsonApplicationProgrammer.go +323 -323
  148. package/native/core/programmers/json/JsonAssertParseProgrammer.go +100 -100
  149. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +88 -88
  150. package/native/core/programmers/json/JsonIsParseProgrammer.go +130 -130
  151. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +92 -92
  152. package/native/core/programmers/json/JsonSchemaProgrammer.go +65 -65
  153. package/native/core/programmers/json/JsonSchemasProgrammer.go +116 -116
  154. package/native/core/programmers/json/JsonStringifyProgrammer.go +1245 -1245
  155. package/native/core/programmers/json/JsonValidateParseProgrammer.go +89 -89
  156. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +106 -106
  157. package/native/core/programmers/llm/LlmApplicationProgrammer.go +445 -445
  158. package/native/core/programmers/llm/LlmCoerceProgrammer.go +79 -79
  159. package/native/core/programmers/llm/LlmControllerProgrammer.go +35 -35
  160. package/native/core/programmers/llm/LlmMetadataFactory.go +74 -74
  161. package/native/core/programmers/llm/LlmParametersProgrammer.go +104 -104
  162. package/native/core/programmers/llm/LlmParseProgrammer.go +88 -88
  163. package/native/core/programmers/llm/LlmSchemaProgrammer.go +702 -702
  164. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +123 -123
  165. package/native/core/programmers/misc/MiscAssertCloneProgrammer.go +82 -82
  166. package/native/core/programmers/misc/MiscAssertPruneProgrammer.go +97 -97
  167. package/native/core/programmers/misc/MiscCloneProgrammer.go +1056 -1056
  168. package/native/core/programmers/misc/MiscIsCloneProgrammer.go +94 -94
  169. package/native/core/programmers/misc/MiscIsPruneProgrammer.go +86 -86
  170. package/native/core/programmers/misc/MiscLiteralsProgrammer.go +99 -99
  171. package/native/core/programmers/misc/MiscPruneProgrammer.go +700 -700
  172. package/native/core/programmers/misc/MiscValidateCloneProgrammer.go +103 -103
  173. package/native/core/programmers/misc/MiscValidatePruneProgrammer.go +94 -94
  174. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +85 -85
  175. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1188 -1188
  176. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +90 -90
  177. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +109 -109
  178. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +99 -99
  179. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +114 -114
  180. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +697 -697
  181. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1039 -1039
  182. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +99 -99
  183. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +93 -93
  184. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +228 -228
  185. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +88 -88
  186. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +120 -120
  187. package/native/core/schemas/metadata/IMetadataDictionary.go +4 -4
  188. package/native/core/schemas/metadata/MetadataAlias.go +15 -15
  189. package/native/core/schemas/metadata/MetadataAliasType.go +36 -36
  190. package/native/core/schemas/metadata/MetadataApplication.go +25 -25
  191. package/native/core/schemas/metadata/MetadataArray.go +15 -15
  192. package/native/core/schemas/metadata/MetadataArrayType.go +31 -31
  193. package/native/core/schemas/metadata/MetadataAtomic.go +45 -45
  194. package/native/core/schemas/metadata/MetadataCollection.go +380 -380
  195. package/native/core/schemas/metadata/MetadataComponents.go +95 -95
  196. package/native/core/schemas/metadata/MetadataConstant.go +31 -31
  197. package/native/core/schemas/metadata/MetadataConstantValue.go +63 -63
  198. package/native/core/schemas/metadata/MetadataEscaped.go +17 -17
  199. package/native/core/schemas/metadata/MetadataFunction.go +30 -30
  200. package/native/core/schemas/metadata/MetadataMap.go +21 -21
  201. package/native/core/schemas/metadata/MetadataNative.go +48 -48
  202. package/native/core/schemas/metadata/MetadataObject.go +15 -15
  203. package/native/core/schemas/metadata/MetadataObjectType.go +116 -116
  204. package/native/core/schemas/metadata/MetadataParameter.go +28 -28
  205. package/native/core/schemas/metadata/MetadataProperty.go +32 -32
  206. package/native/core/schemas/metadata/MetadataSchema.go +766 -766
  207. package/native/core/schemas/metadata/MetadataSet.go +17 -17
  208. package/native/core/schemas/metadata/MetadataTemplate.go +43 -43
  209. package/native/core/schemas/metadata/MetadataTuple.go +10 -10
  210. package/native/core/schemas/metadata/MetadataTupleType.go +38 -38
  211. package/native/core/schemas/protobuf/IProtobufProperty.go +2 -2
  212. package/native/core/schemas/protobuf/IProtobufPropertyType.go +18 -18
  213. package/native/core/schemas/protobuf/IProtobufSchema.go +17 -17
  214. package/native/core/typings/Writable.go +1 -1
  215. package/native/core/utils/PatternUtil.go +38 -38
  216. package/native/core/utils/ProtobufNameEncoder.go +28 -28
  217. package/native/shim/printer/go.mod +1 -1
  218. package/native/shim/printer/shim.go +213 -213
  219. package/native/third_party/ttsc/driver/host.go +9 -9
  220. package/native/third_party/ttsc/driver/program.go +344 -281
  221. package/native/third_party/ttsc/driver/rewrite.go +247 -221
  222. package/native/third_party/ttsc/go.mod +5 -3
  223. package/native/third_party/ttsc/go.sum +2 -2
  224. package/native/third_party/ttsc/shim/ast/go.mod +1 -1
  225. package/native/third_party/ttsc/shim/ast/lint.go +174 -171
  226. package/native/third_party/ttsc/shim/ast/shim.go +86 -85
  227. package/native/third_party/ttsc/shim/bundled/go.mod +1 -1
  228. package/native/third_party/ttsc/shim/bundled/shim.go +5 -1
  229. package/native/third_party/ttsc/shim/checker/go.mod +1 -1
  230. package/native/third_party/ttsc/shim/checker/shim.go +79 -79
  231. package/native/third_party/ttsc/shim/compiler/go.mod +1 -1
  232. package/native/third_party/ttsc/shim/compiler/shim.go +16 -1
  233. package/native/third_party/ttsc/shim/core/go.mod +1 -1
  234. package/native/third_party/ttsc/shim/core/shim.go +13 -10
  235. package/native/third_party/ttsc/shim/diagnosticwriter/go.mod +1 -1
  236. package/native/third_party/ttsc/shim/diagnosticwriter/lint.go +79 -79
  237. package/native/third_party/ttsc/shim/diagnosticwriter/shim.go +19 -19
  238. package/native/third_party/ttsc/shim/parser/go.mod +1 -1
  239. package/native/third_party/ttsc/shim/parser/shim.go +7 -1
  240. package/native/third_party/ttsc/shim/scanner/go.mod +1 -1
  241. package/native/third_party/ttsc/shim/scanner/shim.go +39 -1
  242. package/native/third_party/ttsc/shim/tsoptions/go.mod +1 -1
  243. package/native/third_party/ttsc/shim/tsoptions/shim.go +51 -1
  244. package/native/third_party/ttsc/shim/tspath/go.mod +1 -1
  245. package/native/third_party/ttsc/shim/tspath/shim.go +72 -1
  246. package/native/third_party/ttsc/shim/vfs/cachedvfs/go.mod +1 -1
  247. package/native/third_party/ttsc/shim/vfs/cachedvfs/shim.go +1 -1
  248. package/native/third_party/ttsc/shim/vfs/go.mod +1 -1
  249. package/native/third_party/ttsc/shim/vfs/osvfs/go.mod +1 -1
  250. package/native/third_party/ttsc/shim/vfs/osvfs/shim.go +1 -1
  251. package/native/third_party/ttsc/shim/vfs/shim.go +4 -1
  252. package/native/transform/CallExpressionTransformer.go +556 -556
  253. package/native/transform/FileTransformer.go +123 -123
  254. package/native/transform/ImportTransformer.go +224 -224
  255. package/native/transform/NodeTransformer.go +11 -11
  256. package/native/transform/TypiaGenerator.go +136 -136
  257. package/native/transform/features/AssertTransformer.go +28 -28
  258. package/native/transform/features/CreateAssertTransformer.go +28 -28
  259. package/native/transform/features/CreateIsTransformer.go +24 -24
  260. package/native/transform/features/CreateRandomTransformer.go +35 -35
  261. package/native/transform/features/CreateValidateTransformer.go +24 -24
  262. package/native/transform/features/IsTransformer.go +24 -24
  263. package/native/transform/features/RandomTransformer.go +37 -37
  264. package/native/transform/features/ValidateTransformer.go +24 -24
  265. package/native/transform/features/functional/FunctionalGenericTransformer.go +48 -48
  266. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +11 -11
  267. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +11 -11
  268. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +17 -17
  269. package/native/transform/features/http/CreateHttpFormDataTransformer.go +11 -11
  270. package/native/transform/features/http/CreateHttpHeadersTransformer.go +11 -11
  271. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +11 -11
  272. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +11 -11
  273. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +17 -17
  274. package/native/transform/features/http/CreateHttpParameterTransformer.go +11 -11
  275. package/native/transform/features/http/CreateHttpQueryTransformer.go +17 -17
  276. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +11 -11
  277. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +11 -11
  278. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +17 -17
  279. package/native/transform/features/http/HttpAssertFormDataTransformer.go +11 -11
  280. package/native/transform/features/http/HttpAssertHeadersTransformer.go +11 -11
  281. package/native/transform/features/http/HttpAssertQueryTransformer.go +17 -17
  282. package/native/transform/features/http/HttpFormDataTransformer.go +11 -11
  283. package/native/transform/features/http/HttpHeadersTransformer.go +11 -11
  284. package/native/transform/features/http/HttpIsFormDataTransformer.go +11 -11
  285. package/native/transform/features/http/HttpIsHeadersTransformer.go +11 -11
  286. package/native/transform/features/http/HttpIsQueryTransformer.go +17 -17
  287. package/native/transform/features/http/HttpParameterTransformer.go +11 -11
  288. package/native/transform/features/http/HttpQueryTransformer.go +17 -17
  289. package/native/transform/features/http/HttpValidateFormDataTransformer.go +11 -11
  290. package/native/transform/features/http/HttpValidateHeadersTransformer.go +11 -11
  291. package/native/transform/features/http/HttpValidateQueryTransformer.go +17 -17
  292. package/native/transform/features/json/JsonApplicationTransformer.go +61 -61
  293. package/native/transform/features/json/JsonAssertParseTransformer.go +11 -11
  294. package/native/transform/features/json/JsonAssertStringifyTransformer.go +11 -11
  295. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +11 -11
  296. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +11 -11
  297. package/native/transform/features/json/JsonCreateIsParseTransformer.go +11 -11
  298. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +11 -11
  299. package/native/transform/features/json/JsonCreateStringifyTransformer.go +11 -11
  300. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +11 -11
  301. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +11 -11
  302. package/native/transform/features/json/JsonIsParseTransformer.go +11 -11
  303. package/native/transform/features/json/JsonIsStringifyTransformer.go +11 -11
  304. package/native/transform/features/json/JsonSchemaTransformer.go +148 -148
  305. package/native/transform/features/json/JsonSchemasTransformer.go +94 -94
  306. package/native/transform/features/json/JsonStringifyTransformer.go +11 -11
  307. package/native/transform/features/json/JsonValidateParseTransformer.go +11 -11
  308. package/native/transform/features/json/JsonValidateStringifyTransformer.go +11 -11
  309. package/native/transform/features/llm/LlmApplicationTransformer.go +43 -43
  310. package/native/transform/features/llm/LlmCoerceTransformer.go +50 -50
  311. package/native/transform/features/llm/LlmControllerTransformer.go +48 -48
  312. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +43 -43
  313. package/native/transform/features/llm/LlmCreateParseTransformer.go +43 -43
  314. package/native/transform/features/llm/LlmParametersTransformer.go +38 -38
  315. package/native/transform/features/llm/LlmParseTransformer.go +50 -50
  316. package/native/transform/features/llm/LlmSchemaTransformer.go +129 -129
  317. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +44 -44
  318. package/native/transform/features/misc/MiscAssertCloneTransformer.go +11 -11
  319. package/native/transform/features/misc/MiscAssertPruneTransformer.go +11 -11
  320. package/native/transform/features/misc/MiscCloneTransformer.go +11 -11
  321. package/native/transform/features/misc/MiscCreateAssertCloneTransformer.go +11 -11
  322. package/native/transform/features/misc/MiscCreateAssertPruneTransformer.go +11 -11
  323. package/native/transform/features/misc/MiscCreateCloneTransformer.go +11 -11
  324. package/native/transform/features/misc/MiscCreateIsCloneTransformer.go +11 -11
  325. package/native/transform/features/misc/MiscCreateIsPruneTransformer.go +11 -11
  326. package/native/transform/features/misc/MiscCreatePruneTransformer.go +11 -11
  327. package/native/transform/features/misc/MiscCreateValidateCloneTransformer.go +11 -11
  328. package/native/transform/features/misc/MiscCreateValidatePruneTransformer.go +11 -11
  329. package/native/transform/features/misc/MiscIsCloneTransformer.go +11 -11
  330. package/native/transform/features/misc/MiscIsPruneTransformer.go +11 -11
  331. package/native/transform/features/misc/MiscLiteralsTransformer.go +21 -21
  332. package/native/transform/features/misc/MiscPruneTransformer.go +11 -11
  333. package/native/transform/features/misc/MiscValidateCloneTransformer.go +11 -11
  334. package/native/transform/features/misc/MiscValidatePruneTransformer.go +11 -11
  335. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +16 -16
  336. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +16 -16
  337. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +16 -16
  338. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +16 -16
  339. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +16 -16
  340. package/native/transform/features/notations/NotationGeneralTransformer.go +21 -21
  341. package/native/transform/features/notations/NotationIsGeneralTransformer.go +16 -16
  342. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +16 -16
  343. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +11 -11
  344. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +11 -11
  345. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +11 -11
  346. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +11 -11
  347. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +11 -11
  348. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +11 -11
  349. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +11 -11
  350. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +11 -11
  351. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +11 -11
  352. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +11 -11
  353. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +11 -11
  354. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +11 -11
  355. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +11 -11
  356. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +11 -11
  357. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +20 -20
  358. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +11 -11
  359. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +11 -11
  360. package/native/transform/features/reflect/ReflectMetadataTransformer.go +59 -59
  361. package/native/transform/features/reflect/ReflectNameTransformer.go +78 -78
  362. package/native/transform/features/reflect/ReflectSchemaTransformer.go +121 -121
  363. package/native/transform/features/reflect/ReflectSchemasTransformer.go +55 -55
  364. package/native/transform/internal/GenericTransformer.go +173 -173
  365. package/native/transform/transform.go +32 -32
  366. package/package.json +5 -5
  367. package/src/executable/generate/ttsc.ts +2 -3
  368. package/src/executable/setup/PluginConfigurator.ts +2 -3
  369. package/src/internal/_randomInteger.ts +5 -5
  370. package/src/internal/_validateReport.ts +1 -2
  371. package/src/transform.ts +1 -1
@@ -1,251 +1,251 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
5
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
5
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
8
  type json_schema_station_props struct {
9
- blockNever bool
10
- components *OpenApi_IComponents
11
- attribute JsonSchema
12
- metadata *nativemetadata.MetadataSchema
9
+ blockNever bool
10
+ components *OpenApi_IComponents
11
+ attribute JsonSchema
12
+ metadata *nativemetadata.MetadataSchema
13
13
  }
14
14
 
15
15
  type Json_schema_station_props struct {
16
- BlockNever bool
17
- Components *OpenApi_IComponents
18
- Attribute JsonSchema
19
- Metadata *nativemetadata.MetadataSchema
16
+ BlockNever bool
17
+ Components *OpenApi_IComponents
18
+ Attribute JsonSchema
19
+ Metadata *nativemetadata.MetadataSchema
20
20
  }
21
21
 
22
22
  func Json_schema_station(props Json_schema_station_props) JsonSchema {
23
- return json_schema_station(json_schema_station_props{
24
- blockNever: props.BlockNever,
25
- components: props.Components,
26
- attribute: props.Attribute,
27
- metadata: props.Metadata,
28
- })
23
+ return json_schema_station(json_schema_station_props{
24
+ blockNever: props.BlockNever,
25
+ components: props.Components,
26
+ attribute: props.Attribute,
27
+ metadata: props.Metadata,
28
+ })
29
29
  }
30
30
 
31
31
  func json_schema_station(props json_schema_station_props) JsonSchema {
32
- if props.metadata.Any {
33
- output := cloneJsonSchema(props.attribute)
34
- if _, ok := output["type"]; ok == false {
35
- output["type"] = nil
36
- }
37
- return output
38
- }
32
+ if props.metadata.Any {
33
+ output := cloneJsonSchema(props.attribute)
34
+ if _, ok := output["type"]; ok == false {
35
+ output["type"] = nil
36
+ }
37
+ return output
38
+ }
39
39
 
40
- union := []JsonSchema{}
41
- insert := func(schema JsonSchema) {
42
- if schema != nil {
43
- union = append(union, schema)
44
- }
45
- }
40
+ union := []JsonSchema{}
41
+ insert := func(schema JsonSchema) {
42
+ if schema != nil {
43
+ union = append(union, schema)
44
+ }
45
+ }
46
46
 
47
- if props.metadata.Nullable {
48
- insert(JsonSchema{"type": "null"})
49
- }
50
- if props.metadata.Escaped != nil {
51
- for _, schema := range json_schema_escaped(struct {
52
- components *OpenApi_IComponents
53
- escaped *nativemetadata.MetadataEscaped
54
- }{components: props.components, escaped: props.metadata.Escaped}) {
55
- insert(schema)
56
- }
57
- }
58
- if len(props.metadata.Templates) != 0 && nativehelpers.AtomicPredicator.Template(props.metadata) {
59
- for _, schema := range json_schema_templates(props.metadata) {
60
- insert(schema)
61
- }
62
- }
63
- for _, constant := range props.metadata.Constants {
64
- if nativehelpers.AtomicPredicator.Constant(struct {
65
- Metadata *nativemetadata.MetadataSchema
66
- Name string
67
- }{Metadata: props.metadata, Name: constant.Type}) == false {
68
- continue
69
- }
70
- for _, schema := range json_schema_constant(constant) {
71
- insert(schema)
72
- }
73
- }
74
- for _, atomic := range props.metadata.Atomics {
75
- if atomic.Type == "boolean" {
76
- for _, schema := range json_schema_boolean(atomic) {
77
- insert(schema)
78
- }
79
- } else if atomic.Type == "bigint" {
80
- for _, schema := range json_schema_bigint(atomic) {
81
- insert(schema)
82
- }
83
- } else if atomic.Type == "number" {
84
- for _, schema := range json_schema_number(atomic) {
85
- insert(schema)
86
- }
87
- } else if atomic.Type == "string" {
88
- for _, schema := range json_schema_string(atomic) {
89
- insert(schema)
90
- }
91
- }
92
- }
93
- for _, array := range props.metadata.Arrays {
94
- for _, schema := range json_schema_array(struct {
95
- components *OpenApi_IComponents
96
- array *nativemetadata.MetadataArray
97
- }{components: props.components, array: array}) {
98
- insert(schema)
99
- }
100
- }
101
- for _, tuple := range props.metadata.Tuples {
102
- insert(json_schema_tuple(struct {
103
- components *OpenApi_IComponents
104
- tuple *nativemetadata.MetadataTuple
105
- }{components: props.components, tuple: tuple}))
106
- }
107
- for _, native := range props.metadata.Natives {
108
- if nativehelpers.AtomicPredicator.Native(native.Name) {
109
- typ := lowerAscii(native.Name)
110
- if json_schema_station_has_atomic(props.metadata, typ) {
111
- continue
112
- }
113
- atomic := nativemetadata.MetadataAtomic_create(nativemetadata.MetadataAtomic{Type: typ, Tags: [][]nativemetadata.IMetadataTypeTag{}})
114
- if typ == "boolean" {
115
- for _, schema := range json_schema_boolean(atomic) {
116
- insert(schema)
117
- }
118
- } else if typ == "bigint" {
119
- for _, schema := range json_schema_bigint(atomic) {
120
- insert(schema)
121
- }
122
- } else if typ == "number" {
123
- for _, schema := range json_schema_number(atomic) {
124
- insert(schema)
125
- }
126
- } else if typ == "string" {
127
- for _, schema := range json_schema_string(atomic) {
128
- insert(schema)
129
- }
130
- }
131
- } else {
132
- for _, schema := range json_schema_native(struct {
133
- components *OpenApi_IComponents
134
- native *nativemetadata.MetadataNative
135
- }{components: props.components, native: native}) {
136
- insert(schema)
137
- }
138
- }
139
- }
140
- if len(props.metadata.Sets) != 0 {
141
- for _, schema := range json_schema_native(struct {
142
- components *OpenApi_IComponents
143
- native *nativemetadata.MetadataNative
144
- }{components: props.components, native: nativemetadata.MetadataNative_create(nativemetadata.MetadataNative{Name: "Set", Tags: [][]nativemetadata.IMetadataTypeTag{}})}) {
145
- insert(schema)
146
- }
147
- }
148
- if len(props.metadata.Maps) != 0 {
149
- for _, schema := range json_schema_native(struct {
150
- components *OpenApi_IComponents
151
- native *nativemetadata.MetadataNative
152
- }{components: props.components, native: nativemetadata.MetadataNative_create(nativemetadata.MetadataNative{Name: "Map", Tags: [][]nativemetadata.IMetadataTypeTag{}})}) {
153
- insert(schema)
154
- }
155
- }
156
- for _, object := range props.metadata.Objects {
157
- for _, schema := range json_schema_object(struct {
158
- components *OpenApi_IComponents
159
- object *nativemetadata.MetadataObject
160
- }{components: props.components, object: object}) {
161
- insert(schema)
162
- }
163
- }
164
- for _, alias := range props.metadata.Aliases {
165
- for _, schema := range json_schema_alias(struct {
166
- blockNever bool
167
- components *OpenApi_IComponents
168
- alias *nativemetadata.MetadataAlias
169
- }{blockNever: props.blockNever, components: props.components, alias: alias}) {
170
- insert(schema)
171
- }
172
- }
47
+ if props.metadata.Nullable {
48
+ insert(JsonSchema{"type": "null"})
49
+ }
50
+ if props.metadata.Escaped != nil {
51
+ for _, schema := range json_schema_escaped(struct {
52
+ components *OpenApi_IComponents
53
+ escaped *nativemetadata.MetadataEscaped
54
+ }{components: props.components, escaped: props.metadata.Escaped}) {
55
+ insert(schema)
56
+ }
57
+ }
58
+ if len(props.metadata.Templates) != 0 && nativehelpers.AtomicPredicator.Template(props.metadata) {
59
+ for _, schema := range json_schema_templates(props.metadata) {
60
+ insert(schema)
61
+ }
62
+ }
63
+ for _, constant := range props.metadata.Constants {
64
+ if nativehelpers.AtomicPredicator.Constant(struct {
65
+ Metadata *nativemetadata.MetadataSchema
66
+ Name string
67
+ }{Metadata: props.metadata, Name: constant.Type}) == false {
68
+ continue
69
+ }
70
+ for _, schema := range json_schema_constant(constant) {
71
+ insert(schema)
72
+ }
73
+ }
74
+ for _, atomic := range props.metadata.Atomics {
75
+ if atomic.Type == "boolean" {
76
+ for _, schema := range json_schema_boolean(atomic) {
77
+ insert(schema)
78
+ }
79
+ } else if atomic.Type == "bigint" {
80
+ for _, schema := range json_schema_bigint(atomic) {
81
+ insert(schema)
82
+ }
83
+ } else if atomic.Type == "number" {
84
+ for _, schema := range json_schema_number(atomic) {
85
+ insert(schema)
86
+ }
87
+ } else if atomic.Type == "string" {
88
+ for _, schema := range json_schema_string(atomic) {
89
+ insert(schema)
90
+ }
91
+ }
92
+ }
93
+ for _, array := range props.metadata.Arrays {
94
+ for _, schema := range json_schema_array(struct {
95
+ components *OpenApi_IComponents
96
+ array *nativemetadata.MetadataArray
97
+ }{components: props.components, array: array}) {
98
+ insert(schema)
99
+ }
100
+ }
101
+ for _, tuple := range props.metadata.Tuples {
102
+ insert(json_schema_tuple(struct {
103
+ components *OpenApi_IComponents
104
+ tuple *nativemetadata.MetadataTuple
105
+ }{components: props.components, tuple: tuple}))
106
+ }
107
+ for _, native := range props.metadata.Natives {
108
+ if nativehelpers.AtomicPredicator.Native(native.Name) {
109
+ typ := lowerAscii(native.Name)
110
+ if json_schema_station_has_atomic(props.metadata, typ) {
111
+ continue
112
+ }
113
+ atomic := nativemetadata.MetadataAtomic_create(nativemetadata.MetadataAtomic{Type: typ, Tags: [][]nativemetadata.IMetadataTypeTag{}})
114
+ if typ == "boolean" {
115
+ for _, schema := range json_schema_boolean(atomic) {
116
+ insert(schema)
117
+ }
118
+ } else if typ == "bigint" {
119
+ for _, schema := range json_schema_bigint(atomic) {
120
+ insert(schema)
121
+ }
122
+ } else if typ == "number" {
123
+ for _, schema := range json_schema_number(atomic) {
124
+ insert(schema)
125
+ }
126
+ } else if typ == "string" {
127
+ for _, schema := range json_schema_string(atomic) {
128
+ insert(schema)
129
+ }
130
+ }
131
+ } else {
132
+ for _, schema := range json_schema_native(struct {
133
+ components *OpenApi_IComponents
134
+ native *nativemetadata.MetadataNative
135
+ }{components: props.components, native: native}) {
136
+ insert(schema)
137
+ }
138
+ }
139
+ }
140
+ if len(props.metadata.Sets) != 0 {
141
+ for _, schema := range json_schema_native(struct {
142
+ components *OpenApi_IComponents
143
+ native *nativemetadata.MetadataNative
144
+ }{components: props.components, native: nativemetadata.MetadataNative_create(nativemetadata.MetadataNative{Name: "Set", Tags: [][]nativemetadata.IMetadataTypeTag{}})}) {
145
+ insert(schema)
146
+ }
147
+ }
148
+ if len(props.metadata.Maps) != 0 {
149
+ for _, schema := range json_schema_native(struct {
150
+ components *OpenApi_IComponents
151
+ native *nativemetadata.MetadataNative
152
+ }{components: props.components, native: nativemetadata.MetadataNative_create(nativemetadata.MetadataNative{Name: "Map", Tags: [][]nativemetadata.IMetadataTypeTag{}})}) {
153
+ insert(schema)
154
+ }
155
+ }
156
+ for _, object := range props.metadata.Objects {
157
+ for _, schema := range json_schema_object(struct {
158
+ components *OpenApi_IComponents
159
+ object *nativemetadata.MetadataObject
160
+ }{components: props.components, object: object}) {
161
+ insert(schema)
162
+ }
163
+ }
164
+ for _, alias := range props.metadata.Aliases {
165
+ for _, schema := range json_schema_alias(struct {
166
+ blockNever bool
167
+ components *OpenApi_IComponents
168
+ alias *nativemetadata.MetadataAlias
169
+ }{blockNever: props.blockNever, components: props.components, alias: alias}) {
170
+ insert(schema)
171
+ }
172
+ }
173
173
 
174
- if len(union) == 0 && props.blockNever {
175
- return nil
176
- }
177
- var schema JsonSchema
178
- if len(union) == 0 {
179
- schema = JsonSchema{"type": nil}
180
- } else if len(union) == 1 {
181
- schema = union[0]
182
- } else {
183
- schema = JsonSchema{"oneOf": union}
184
- if discriminator := json_schema_discriminator(props.metadata); discriminator != nil {
185
- schema["discriminator"] = discriminator
186
- }
187
- }
188
- return json_schema_station_mergeAttribute(schema, props.attribute)
174
+ if len(union) == 0 && props.blockNever {
175
+ return nil
176
+ }
177
+ var schema JsonSchema
178
+ if len(union) == 0 {
179
+ schema = JsonSchema{"type": nil}
180
+ } else if len(union) == 1 {
181
+ schema = union[0]
182
+ } else {
183
+ schema = JsonSchema{"oneOf": union}
184
+ if discriminator := json_schema_discriminator(props.metadata); discriminator != nil {
185
+ schema["discriminator"] = discriminator
186
+ }
187
+ }
188
+ return json_schema_station_mergeAttribute(schema, props.attribute)
189
189
  }
190
190
 
191
191
  func json_schema_station_has_atomic(metadata *nativemetadata.MetadataSchema, typ string) bool {
192
- for _, atomic := range metadata.Atomics {
193
- if atomic.Type == typ {
194
- return true
195
- }
196
- }
197
- return false
192
+ for _, atomic := range metadata.Atomics {
193
+ if atomic.Type == typ {
194
+ return true
195
+ }
196
+ }
197
+ return false
198
198
  }
199
199
 
200
200
  func json_schema_station_mergeAttribute(schema JsonSchema, attribute JsonSchema) JsonSchema {
201
- output := cloneJsonSchema(schema)
202
- for key, value := range attribute {
203
- output[key] = value
204
- }
205
- for _, key := range []string{"title", "description", "deprecated"} {
206
- if _, ok := attribute[key]; ok == false {
207
- if value, ok := schema[key]; ok {
208
- output[key] = value
209
- }
210
- }
211
- }
212
- return output
201
+ output := cloneJsonSchema(schema)
202
+ for key, value := range attribute {
203
+ output[key] = value
204
+ }
205
+ for _, key := range []string{"title", "description", "deprecated"} {
206
+ if _, ok := attribute[key]; ok == false {
207
+ if value, ok := schema[key]; ok {
208
+ output[key] = value
209
+ }
210
+ }
211
+ }
212
+ return output
213
213
  }
214
214
 
215
215
  func json_schema_assign(target JsonSchema, source JsonSchema) {
216
- for key, value := range source {
217
- target[key] = value
218
- }
216
+ for key, value := range source {
217
+ target[key] = value
218
+ }
219
219
  }
220
220
 
221
221
  func json_schema_is_string(schema JsonSchema) bool {
222
- return schema["type"] == "string"
222
+ return schema["type"] == "string"
223
223
  }
224
224
 
225
225
  func json_schema_has_tag(tags []nativemetadata.IJsDocTagInfo, name string) bool {
226
- for _, tag := range tags {
227
- if tag.Name == name {
228
- return true
229
- }
230
- }
231
- return false
226
+ for _, tag := range tags {
227
+ if tag.Name == name {
228
+ return true
229
+ }
230
+ }
231
+ return false
232
232
  }
233
233
 
234
234
  func json_schema_has_any_tag(tags []nativemetadata.IJsDocTagInfo, names []string) bool {
235
- for _, name := range names {
236
- if json_schema_has_tag(tags, name) {
237
- return true
238
- }
239
- }
240
- return false
235
+ for _, name := range names {
236
+ if json_schema_has_tag(tags, name) {
237
+ return true
238
+ }
239
+ }
240
+ return false
241
241
  }
242
242
 
243
243
  func lowerAscii(str string) string {
244
- bytes := []byte(str)
245
- for i, ch := range bytes {
246
- if 'A' <= ch && ch <= 'Z' {
247
- bytes[i] = ch + ('a' - 'A')
248
- }
249
- }
250
- return string(bytes)
244
+ bytes := []byte(str)
245
+ for i, ch := range bytes {
246
+ if 'A' <= ch && ch <= 'Z' {
247
+ bytes[i] = ch + ('a' - 'A')
248
+ }
249
+ }
250
+ return string(bytes)
251
251
  }
@@ -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_string(atomic *nativemetadata.MetadataAtomic) []JsonSchema {
6
- return json_schema_plugin(struct {
7
- schema JsonSchema
8
- tags [][]nativemetadata.IMetadataTypeTag
9
- }{
10
- schema: JsonSchema{"type": "string"},
11
- tags: atomic.Tags,
12
- })
6
+ return json_schema_plugin(struct {
7
+ schema JsonSchema
8
+ tags [][]nativemetadata.IMetadataTypeTag
9
+ }{
10
+ schema: JsonSchema{"type": "string"},
11
+ tags: atomic.Tags,
12
+ })
13
13
  }
14
14
 
15
15
  func Json_schema_string_export(atomic *nativemetadata.MetadataAtomic) []JsonSchema {
16
- return json_schema_string(atomic)
16
+ return json_schema_string(atomic)
17
17
  }
@@ -3,61 +3,61 @@ package iterate
3
3
  import nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
4
 
5
5
  func json_schema_templates(metadata *nativemetadata.MetadataSchema) []JsonSchema {
6
- pureTemplates := []*nativemetadata.MetadataTemplate{}
7
- taggedTemplates := []*nativemetadata.MetadataTemplate{}
8
- for _, tpl := range metadata.Templates {
9
- if json_schema_template_isPure(tpl.Tags) {
10
- pureTemplates = append(pureTemplates, tpl)
11
- } else {
12
- taggedTemplates = append(taggedTemplates, tpl)
13
- }
14
- }
6
+ pureTemplates := []*nativemetadata.MetadataTemplate{}
7
+ taggedTemplates := []*nativemetadata.MetadataTemplate{}
8
+ for _, tpl := range metadata.Templates {
9
+ if json_schema_template_isPure(tpl.Tags) {
10
+ pureTemplates = append(pureTemplates, tpl)
11
+ } else {
12
+ taggedTemplates = append(taggedTemplates, tpl)
13
+ }
14
+ }
15
15
 
16
- output := []JsonSchema{}
17
- if len(pureTemplates) != 0 {
18
- meta := nativemetadata.MetadataSchema_initialize()
19
- meta.Templates = pureTemplates
20
- output = append(output, JsonSchema{
21
- "type": "string",
22
- "pattern": metadata_to_pattern(struct {
23
- top bool
24
- metadata *nativemetadata.MetadataSchema
25
- }{
26
- top: true,
27
- metadata: meta,
28
- }),
29
- })
30
- }
31
- for _, tpl := range taggedTemplates {
32
- meta := nativemetadata.MetadataSchema_initialize()
33
- meta.Templates = []*nativemetadata.MetadataTemplate{tpl}
34
- output = append(output, json_schema_plugin(struct {
35
- schema JsonSchema
36
- tags [][]nativemetadata.IMetadataTypeTag
37
- }{
38
- schema: JsonSchema{
39
- "type": "string",
40
- "pattern": metadata_to_pattern(struct {
41
- top bool
42
- metadata *nativemetadata.MetadataSchema
43
- }{
44
- top: false,
45
- metadata: meta,
46
- }),
47
- },
48
- tags: tpl.Tags,
49
- })...)
50
- }
51
- return output
16
+ output := []JsonSchema{}
17
+ if len(pureTemplates) != 0 {
18
+ meta := nativemetadata.MetadataSchema_initialize()
19
+ meta.Templates = pureTemplates
20
+ output = append(output, JsonSchema{
21
+ "type": "string",
22
+ "pattern": metadata_to_pattern(struct {
23
+ top bool
24
+ metadata *nativemetadata.MetadataSchema
25
+ }{
26
+ top: true,
27
+ metadata: meta,
28
+ }),
29
+ })
30
+ }
31
+ for _, tpl := range taggedTemplates {
32
+ meta := nativemetadata.MetadataSchema_initialize()
33
+ meta.Templates = []*nativemetadata.MetadataTemplate{tpl}
34
+ output = append(output, json_schema_plugin(struct {
35
+ schema JsonSchema
36
+ tags [][]nativemetadata.IMetadataTypeTag
37
+ }{
38
+ schema: JsonSchema{
39
+ "type": "string",
40
+ "pattern": metadata_to_pattern(struct {
41
+ top bool
42
+ metadata *nativemetadata.MetadataSchema
43
+ }{
44
+ top: false,
45
+ metadata: meta,
46
+ }),
47
+ },
48
+ tags: tpl.Tags,
49
+ })...)
50
+ }
51
+ return output
52
52
  }
53
53
 
54
54
  func json_schema_template_isPure(matrix [][]nativemetadata.IMetadataTypeTag) bool {
55
- for _, tags := range matrix {
56
- for _, tag := range tags {
57
- if tag.Schema != nil {
58
- return false
59
- }
60
- }
61
- }
62
- return true
55
+ for _, tags := range matrix {
56
+ for _, tag := range tags {
57
+ if tag.Schema != nil {
58
+ return false
59
+ }
60
+ }
61
+ }
62
+ return true
63
63
  }
@@ -1,25 +1,25 @@
1
1
  package iterate
2
2
 
3
3
  import (
4
- "strings"
4
+ "strings"
5
5
 
6
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
7
  )
8
8
 
9
9
  func json_schema_title(schema struct {
10
- description *string
11
- jsDocTags []nativemetadata.IJsDocTagInfo
10
+ description *string
11
+ jsDocTags []nativemetadata.IJsDocTagInfo
12
12
  }) *string {
13
- for _, tag := range schema.jsDocTags {
14
- if tag.Name != "title" || len(tag.Text) == 0 {
15
- continue
16
- }
17
- parts := make([]string, 0, len(tag.Text))
18
- for _, part := range tag.Text {
19
- parts = append(parts, strings.ReplaceAll(part.Text, "\r\n", "\n"))
20
- }
21
- output := strings.Join(parts, "")
22
- return &output
23
- }
24
- return nil
13
+ for _, tag := range schema.jsDocTags {
14
+ if tag.Name != "title" || len(tag.Text) == 0 {
15
+ continue
16
+ }
17
+ parts := make([]string, 0, len(tag.Text))
18
+ for _, part := range tag.Text {
19
+ parts = append(parts, strings.ReplaceAll(part.Text, "\r\n", "\n"))
20
+ }
21
+ output := strings.Join(parts, "")
22
+ return &output
23
+ }
24
+ return nil
25
25
  }