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,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
  }