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,9 +1,9 @@
1
1
  package factories
2
2
 
3
3
  import (
4
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
5
- nativemetadata "github.com/samchon/typia/packages/typia/native/core/factories/internal/metadata"
6
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
5
+ nativemetadata "github.com/samchon/typia/packages/typia/native/core/factories/internal/metadata"
6
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
7
7
  )
8
8
 
9
9
  type metadataFactoryNamespace struct{}
@@ -11,30 +11,30 @@ type metadataFactoryNamespace struct{}
11
11
  var MetadataFactory = metadataFactoryNamespace{}
12
12
 
13
13
  func init() {
14
- nativemetadata.MetadataTypeTagAnalyzer = func(props struct {
15
- Errors *[]nativemetadata.MetadataFactory_IError
16
- Type string
17
- Objects []*schemametadata.MetadataObjectType
18
- Explore nativemetadata.MetadataFactory_IExplore
19
- }) []schemametadata.IMetadataTypeTag {
20
- return MetadataTypeTagFactory.Analyze(struct {
21
- Errors *[]MetadataFactory_IError
22
- Type string
23
- Objects []*schemametadata.MetadataObjectType
24
- Explore MetadataFactory_IExplore
25
- }{
26
- Errors: props.Errors,
27
- Type: props.Type,
28
- Objects: props.Objects,
29
- Explore: props.Explore,
30
- })
31
- }
14
+ nativemetadata.MetadataTypeTagAnalyzer = func(props struct {
15
+ Errors *[]nativemetadata.MetadataFactory_IError
16
+ Type string
17
+ Objects []*schemametadata.MetadataObjectType
18
+ Explore nativemetadata.MetadataFactory_IExplore
19
+ }) []schemametadata.IMetadataTypeTag {
20
+ return MetadataTypeTagFactory.Analyze(struct {
21
+ Errors *[]MetadataFactory_IError
22
+ Type string
23
+ Objects []*schemametadata.MetadataObjectType
24
+ Explore MetadataFactory_IExplore
25
+ }{
26
+ Errors: props.Errors,
27
+ Type: props.Type,
28
+ Objects: props.Objects,
29
+ Explore: props.Explore,
30
+ })
31
+ }
32
32
  }
33
33
 
34
34
  type MetadataFactory_Validator = func(props struct {
35
- Metadata *schemametadata.MetadataSchema
36
- Explore MetadataFactory_IExplore
37
- Top *schemametadata.MetadataSchema
35
+ Metadata *schemametadata.MetadataSchema
36
+ Explore MetadataFactory_IExplore
37
+ Top *schemametadata.MetadataSchema
38
38
  }) []string
39
39
 
40
40
  type MetadataFactory_IOptions = nativemetadata.MetadataFactory_IOptions
@@ -42,488 +42,488 @@ type MetadataFactory_IExplore = nativemetadata.MetadataFactory_IExplore
42
42
  type MetadataFactory_IError = nativemetadata.MetadataFactory_IError
43
43
 
44
44
  type MetadataFactory_IProps struct {
45
- Checker *nativechecker.Checker
46
- Transformer any
47
- Options MetadataFactory_IOptions
48
- Components *schemametadata.MetadataCollection
49
- Type *nativechecker.Type
45
+ Checker *nativechecker.Checker
46
+ Transformer any
47
+ Options MetadataFactory_IOptions
48
+ Components *schemametadata.MetadataCollection
49
+ Type *nativechecker.Type
50
50
  }
51
51
 
52
52
  type MetadataFactory_ValidationPipe struct {
53
- Success bool
54
- Data *schemametadata.MetadataSchema
55
- Errors []MetadataFactory_IError
53
+ Success bool
54
+ Data *schemametadata.MetadataSchema
55
+ Errors []MetadataFactory_IError
56
56
  }
57
57
 
58
58
  func (metadataFactoryNamespace) Analyze(props MetadataFactory_IProps) MetadataFactory_ValidationPipe {
59
- errors := []MetadataFactory_IError{}
60
- metadata := nativemetadata.Explore_metadata(nativemetadata.Explore_metadata_IProps{
61
- Options: props.Options,
62
- Checker: props.Checker,
63
- Components: props.Components,
64
- Errors: &errors,
65
- Type: props.Type,
66
- Explore: MetadataFactory_IExplore{
67
- Top: true,
68
- Object: nil,
69
- Property: nil,
70
- Parameter: nil,
71
- Nested: nil,
72
- Aliased: false,
73
- Escaped: false,
74
- Output: false,
75
- },
76
- Intersected: false,
77
- })
78
- nativemetadata.Iterate_metadata_collection(struct {
79
- Errors *[]MetadataFactory_IError
80
- Collection *schemametadata.MetadataCollection
81
- }{
82
- Errors: &errors,
83
- Collection: props.Components,
84
- })
85
- nativemetadata.Iterate_metadata_sort(struct {
86
- Collection *schemametadata.MetadataCollection
87
- Metadata *schemametadata.MetadataSchema
88
- }{
89
- Collection: props.Components,
90
- Metadata: metadata,
91
- })
59
+ errors := []MetadataFactory_IError{}
60
+ metadata := nativemetadata.Explore_metadata(nativemetadata.Explore_metadata_IProps{
61
+ Options: props.Options,
62
+ Checker: props.Checker,
63
+ Components: props.Components,
64
+ Errors: &errors,
65
+ Type: props.Type,
66
+ Explore: MetadataFactory_IExplore{
67
+ Top: true,
68
+ Object: nil,
69
+ Property: nil,
70
+ Parameter: nil,
71
+ Nested: nil,
72
+ Aliased: false,
73
+ Escaped: false,
74
+ Output: false,
75
+ },
76
+ Intersected: false,
77
+ })
78
+ nativemetadata.Iterate_metadata_collection(struct {
79
+ Errors *[]MetadataFactory_IError
80
+ Collection *schemametadata.MetadataCollection
81
+ }{
82
+ Errors: &errors,
83
+ Collection: props.Components,
84
+ })
85
+ nativemetadata.Iterate_metadata_sort(struct {
86
+ Collection *schemametadata.MetadataCollection
87
+ Metadata *schemametadata.MetadataSchema
88
+ }{
89
+ Collection: props.Components,
90
+ Metadata: metadata,
91
+ })
92
92
 
93
- if props.Options.Validate != nil {
94
- errors = append(errors, MetadataFactory.Validate(struct {
95
- Transformer any
96
- Options MetadataFactory_IOptions
97
- Functor MetadataFactory_Validator
98
- Metadata *schemametadata.MetadataSchema
99
- }{
100
- Transformer: props.Transformer,
101
- Options: props.Options,
102
- Functor: props.Options.Validate,
103
- Metadata: metadata,
104
- })...)
105
- }
106
- if len(errors) != 0 {
107
- return MetadataFactory_ValidationPipe{
108
- Success: false,
109
- Errors: errors,
110
- }
111
- }
112
- return MetadataFactory_ValidationPipe{
113
- Success: true,
114
- Data: metadata,
115
- }
93
+ if props.Options.Validate != nil {
94
+ errors = append(errors, MetadataFactory.Validate(struct {
95
+ Transformer any
96
+ Options MetadataFactory_IOptions
97
+ Functor MetadataFactory_Validator
98
+ Metadata *schemametadata.MetadataSchema
99
+ }{
100
+ Transformer: props.Transformer,
101
+ Options: props.Options,
102
+ Functor: props.Options.Validate,
103
+ Metadata: metadata,
104
+ })...)
105
+ }
106
+ if len(errors) != 0 {
107
+ return MetadataFactory_ValidationPipe{
108
+ Success: false,
109
+ Errors: errors,
110
+ }
111
+ }
112
+ return MetadataFactory_ValidationPipe{
113
+ Success: true,
114
+ Data: metadata,
115
+ }
116
116
  }
117
117
 
118
118
  func (metadataFactoryNamespace) SoleLiteral(value string) *schemametadata.MetadataSchema {
119
- meta := schemametadata.MetadataSchema_initialize()
120
- meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
121
- Values: []*schemametadata.MetadataConstantValue{
122
- schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{
123
- Value: value,
124
- Tags: [][]schemametadata.IMetadataTypeTag{},
125
- }),
126
- },
127
- Type: "string",
128
- }))
129
- return meta
119
+ meta := schemametadata.MetadataSchema_initialize()
120
+ meta.Constants = append(meta.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
121
+ Values: []*schemametadata.MetadataConstantValue{
122
+ schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{
123
+ Value: value,
124
+ Tags: [][]schemametadata.IMetadataTypeTag{},
125
+ }),
126
+ },
127
+ Type: "string",
128
+ }))
129
+ return meta
130
130
  }
131
131
 
132
132
  func (metadataFactoryNamespace) Validate(props struct {
133
- Transformer any
134
- Options MetadataFactory_IOptions
135
- Functor MetadataFactory_Validator
136
- Metadata *schemametadata.MetadataSchema
133
+ Transformer any
134
+ Options MetadataFactory_IOptions
135
+ Functor MetadataFactory_Validator
136
+ Metadata *schemametadata.MetadataSchema
137
137
  }) []MetadataFactory_IError {
138
- visitor := &metadataFactory_IValidationVisitor{
139
- Functor: props.Functor,
140
- Errors: []MetadataFactory_IError{},
141
- Objects: map[*schemametadata.MetadataObjectType]bool{},
142
- Arrays: map[*schemametadata.MetadataArrayType]bool{},
143
- Tuples: map[*schemametadata.MetadataTupleType]bool{},
144
- Aliases: map[*schemametadata.MetadataAliasType]bool{},
145
- Functions: map[*schemametadata.MetadataFunction]bool{},
146
- }
147
- MetadataFactory.validateMeta(struct {
148
- Options MetadataFactory_IOptions
149
- Visitor *metadataFactory_IValidationVisitor
150
- Metadata *schemametadata.MetadataSchema
151
- Top *schemametadata.MetadataSchema
152
- Explore MetadataFactory_IExplore
153
- }{
154
- Options: props.Options,
155
- Visitor: visitor,
156
- Metadata: props.Metadata,
157
- Top: props.Metadata,
158
- Explore: MetadataFactory_IExplore{
159
- Object: nil,
160
- Property: nil,
161
- Parameter: nil,
162
- Nested: nil,
163
- Top: true,
164
- Aliased: false,
165
- Escaped: false,
166
- Output: false,
167
- },
168
- })
169
- return visitor.Errors
138
+ visitor := &metadataFactory_IValidationVisitor{
139
+ Functor: props.Functor,
140
+ Errors: []MetadataFactory_IError{},
141
+ Objects: map[*schemametadata.MetadataObjectType]bool{},
142
+ Arrays: map[*schemametadata.MetadataArrayType]bool{},
143
+ Tuples: map[*schemametadata.MetadataTupleType]bool{},
144
+ Aliases: map[*schemametadata.MetadataAliasType]bool{},
145
+ Functions: map[*schemametadata.MetadataFunction]bool{},
146
+ }
147
+ MetadataFactory.validateMeta(struct {
148
+ Options MetadataFactory_IOptions
149
+ Visitor *metadataFactory_IValidationVisitor
150
+ Metadata *schemametadata.MetadataSchema
151
+ Top *schemametadata.MetadataSchema
152
+ Explore MetadataFactory_IExplore
153
+ }{
154
+ Options: props.Options,
155
+ Visitor: visitor,
156
+ Metadata: props.Metadata,
157
+ Top: props.Metadata,
158
+ Explore: MetadataFactory_IExplore{
159
+ Object: nil,
160
+ Property: nil,
161
+ Parameter: nil,
162
+ Nested: nil,
163
+ Top: true,
164
+ Aliased: false,
165
+ Escaped: false,
166
+ Output: false,
167
+ },
168
+ })
169
+ return visitor.Errors
170
170
  }
171
171
 
172
172
  func (metadataFactoryNamespace) validateMeta(props struct {
173
- Options MetadataFactory_IOptions
174
- Visitor *metadataFactory_IValidationVisitor
175
- Metadata *schemametadata.MetadataSchema
176
- Top *schemametadata.MetadataSchema
177
- Explore MetadataFactory_IExplore
173
+ Options MetadataFactory_IOptions
174
+ Visitor *metadataFactory_IValidationVisitor
175
+ Metadata *schemametadata.MetadataSchema
176
+ Top *schemametadata.MetadataSchema
177
+ Explore MetadataFactory_IExplore
178
178
  }) {
179
- result := []string{}
180
- if props.Visitor.Functor != nil {
181
- result = append(result, props.Visitor.Functor(struct {
182
- Metadata *schemametadata.MetadataSchema
183
- Explore MetadataFactory_IExplore
184
- Top *schemametadata.MetadataSchema
185
- }{
186
- Metadata: props.Metadata,
187
- Explore: props.Explore,
188
- Top: props.Top,
189
- })...)
190
- }
191
- if len(result) != 0 {
192
- props.Visitor.Errors = append(props.Visitor.Errors, MetadataFactory_IError{
193
- Name: props.Metadata.GetName(),
194
- Explore: props.Explore,
195
- Messages: metadataFactory_unique(result),
196
- })
197
- }
179
+ result := []string{}
180
+ if props.Visitor.Functor != nil {
181
+ result = append(result, props.Visitor.Functor(struct {
182
+ Metadata *schemametadata.MetadataSchema
183
+ Explore MetadataFactory_IExplore
184
+ Top *schemametadata.MetadataSchema
185
+ }{
186
+ Metadata: props.Metadata,
187
+ Explore: props.Explore,
188
+ Top: props.Top,
189
+ })...)
190
+ }
191
+ if len(result) != 0 {
192
+ props.Visitor.Errors = append(props.Visitor.Errors, MetadataFactory_IError{
193
+ Name: props.Metadata.GetName(),
194
+ Explore: props.Explore,
195
+ Messages: metadataFactory_unique(result),
196
+ })
197
+ }
198
198
 
199
- for _, alias := range props.Metadata.Aliases {
200
- MetadataFactory.validateAlias(struct {
201
- Options MetadataFactory_IOptions
202
- Visitor *metadataFactory_IValidationVisitor
203
- Alias *schemametadata.MetadataAliasType
204
- Explore MetadataFactory_IExplore
205
- Top *schemametadata.MetadataSchema
206
- }{
207
- Options: props.Options,
208
- Visitor: props.Visitor,
209
- Alias: alias.Type,
210
- Explore: props.Explore,
211
- Top: props.Top,
212
- })
213
- }
214
- for _, array := range props.Metadata.Arrays {
215
- MetadataFactory.validateArray(struct {
216
- Options MetadataFactory_IOptions
217
- Visitor *metadataFactory_IValidationVisitor
218
- Array *schemametadata.MetadataArrayType
219
- Explore MetadataFactory_IExplore
220
- Top *schemametadata.MetadataSchema
221
- }{
222
- Options: props.Options,
223
- Visitor: props.Visitor,
224
- Array: array.Type,
225
- Explore: props.Explore,
226
- Top: props.Top,
227
- })
228
- }
229
- for _, tuple := range props.Metadata.Tuples {
230
- MetadataFactory.validateTuple(struct {
231
- Options MetadataFactory_IOptions
232
- Visitor *metadataFactory_IValidationVisitor
233
- Tuple *schemametadata.MetadataTupleType
234
- Explore MetadataFactory_IExplore
235
- Top *schemametadata.MetadataSchema
236
- }{
237
- Options: props.Options,
238
- Visitor: props.Visitor,
239
- Tuple: tuple.Type,
240
- Explore: props.Explore,
241
- Top: props.Top,
242
- })
243
- }
244
- for _, object := range props.Metadata.Objects {
245
- MetadataFactory.validateObject(struct {
246
- Options MetadataFactory_IOptions
247
- Visitor *metadataFactory_IValidationVisitor
248
- Object *schemametadata.MetadataObjectType
249
- Top *schemametadata.MetadataSchema
250
- }{
251
- Options: props.Options,
252
- Visitor: props.Visitor,
253
- Object: object.Type,
254
- Top: props.Top,
255
- })
256
- }
257
- for _, function := range props.Metadata.Functions {
258
- MetadataFactory.validateFunction(struct {
259
- Options MetadataFactory_IOptions
260
- Visitor *metadataFactory_IValidationVisitor
261
- Function *schemametadata.MetadataFunction
262
- Explore MetadataFactory_IExplore
263
- Top *schemametadata.MetadataSchema
264
- }{
265
- Options: props.Options,
266
- Visitor: props.Visitor,
267
- Function: function,
268
- Explore: props.Explore,
269
- Top: props.Top,
270
- })
271
- }
272
- for _, set := range props.Metadata.Sets {
273
- MetadataFactory.validateMeta(struct {
274
- Options MetadataFactory_IOptions
275
- Visitor *metadataFactory_IValidationVisitor
276
- Metadata *schemametadata.MetadataSchema
277
- Top *schemametadata.MetadataSchema
278
- Explore MetadataFactory_IExplore
279
- }{
280
- Options: props.Options,
281
- Visitor: props.Visitor,
282
- Metadata: set.Value,
283
- Top: props.Top,
284
- Explore: props.Explore,
285
- })
286
- }
287
- for _, m := range props.Metadata.Maps {
288
- MetadataFactory.validateMeta(struct {
289
- Options MetadataFactory_IOptions
290
- Visitor *metadataFactory_IValidationVisitor
291
- Metadata *schemametadata.MetadataSchema
292
- Top *schemametadata.MetadataSchema
293
- Explore MetadataFactory_IExplore
294
- }{Options: props.Options, Visitor: props.Visitor, Metadata: m.Key, Top: props.Top, Explore: props.Explore})
295
- MetadataFactory.validateMeta(struct {
296
- Options MetadataFactory_IOptions
297
- Visitor *metadataFactory_IValidationVisitor
298
- Metadata *schemametadata.MetadataSchema
299
- Top *schemametadata.MetadataSchema
300
- Explore MetadataFactory_IExplore
301
- }{Options: props.Options, Visitor: props.Visitor, Metadata: m.Value, Top: props.Top, Explore: props.Explore})
302
- }
303
- if props.Options.Escape == true && props.Metadata.Escaped != nil {
304
- explore := props.Explore
305
- explore.Escaped = true
306
- MetadataFactory.validateMeta(struct {
307
- Options MetadataFactory_IOptions
308
- Visitor *metadataFactory_IValidationVisitor
309
- Metadata *schemametadata.MetadataSchema
310
- Top *schemametadata.MetadataSchema
311
- Explore MetadataFactory_IExplore
312
- }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Metadata.Escaped.Returns, Top: props.Top, Explore: explore})
313
- }
199
+ for _, alias := range props.Metadata.Aliases {
200
+ MetadataFactory.validateAlias(struct {
201
+ Options MetadataFactory_IOptions
202
+ Visitor *metadataFactory_IValidationVisitor
203
+ Alias *schemametadata.MetadataAliasType
204
+ Explore MetadataFactory_IExplore
205
+ Top *schemametadata.MetadataSchema
206
+ }{
207
+ Options: props.Options,
208
+ Visitor: props.Visitor,
209
+ Alias: alias.Type,
210
+ Explore: props.Explore,
211
+ Top: props.Top,
212
+ })
213
+ }
214
+ for _, array := range props.Metadata.Arrays {
215
+ MetadataFactory.validateArray(struct {
216
+ Options MetadataFactory_IOptions
217
+ Visitor *metadataFactory_IValidationVisitor
218
+ Array *schemametadata.MetadataArrayType
219
+ Explore MetadataFactory_IExplore
220
+ Top *schemametadata.MetadataSchema
221
+ }{
222
+ Options: props.Options,
223
+ Visitor: props.Visitor,
224
+ Array: array.Type,
225
+ Explore: props.Explore,
226
+ Top: props.Top,
227
+ })
228
+ }
229
+ for _, tuple := range props.Metadata.Tuples {
230
+ MetadataFactory.validateTuple(struct {
231
+ Options MetadataFactory_IOptions
232
+ Visitor *metadataFactory_IValidationVisitor
233
+ Tuple *schemametadata.MetadataTupleType
234
+ Explore MetadataFactory_IExplore
235
+ Top *schemametadata.MetadataSchema
236
+ }{
237
+ Options: props.Options,
238
+ Visitor: props.Visitor,
239
+ Tuple: tuple.Type,
240
+ Explore: props.Explore,
241
+ Top: props.Top,
242
+ })
243
+ }
244
+ for _, object := range props.Metadata.Objects {
245
+ MetadataFactory.validateObject(struct {
246
+ Options MetadataFactory_IOptions
247
+ Visitor *metadataFactory_IValidationVisitor
248
+ Object *schemametadata.MetadataObjectType
249
+ Top *schemametadata.MetadataSchema
250
+ }{
251
+ Options: props.Options,
252
+ Visitor: props.Visitor,
253
+ Object: object.Type,
254
+ Top: props.Top,
255
+ })
256
+ }
257
+ for _, function := range props.Metadata.Functions {
258
+ MetadataFactory.validateFunction(struct {
259
+ Options MetadataFactory_IOptions
260
+ Visitor *metadataFactory_IValidationVisitor
261
+ Function *schemametadata.MetadataFunction
262
+ Explore MetadataFactory_IExplore
263
+ Top *schemametadata.MetadataSchema
264
+ }{
265
+ Options: props.Options,
266
+ Visitor: props.Visitor,
267
+ Function: function,
268
+ Explore: props.Explore,
269
+ Top: props.Top,
270
+ })
271
+ }
272
+ for _, set := range props.Metadata.Sets {
273
+ MetadataFactory.validateMeta(struct {
274
+ Options MetadataFactory_IOptions
275
+ Visitor *metadataFactory_IValidationVisitor
276
+ Metadata *schemametadata.MetadataSchema
277
+ Top *schemametadata.MetadataSchema
278
+ Explore MetadataFactory_IExplore
279
+ }{
280
+ Options: props.Options,
281
+ Visitor: props.Visitor,
282
+ Metadata: set.Value,
283
+ Top: props.Top,
284
+ Explore: props.Explore,
285
+ })
286
+ }
287
+ for _, m := range props.Metadata.Maps {
288
+ MetadataFactory.validateMeta(struct {
289
+ Options MetadataFactory_IOptions
290
+ Visitor *metadataFactory_IValidationVisitor
291
+ Metadata *schemametadata.MetadataSchema
292
+ Top *schemametadata.MetadataSchema
293
+ Explore MetadataFactory_IExplore
294
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: m.Key, Top: props.Top, Explore: props.Explore})
295
+ MetadataFactory.validateMeta(struct {
296
+ Options MetadataFactory_IOptions
297
+ Visitor *metadataFactory_IValidationVisitor
298
+ Metadata *schemametadata.MetadataSchema
299
+ Top *schemametadata.MetadataSchema
300
+ Explore MetadataFactory_IExplore
301
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: m.Value, Top: props.Top, Explore: props.Explore})
302
+ }
303
+ if props.Options.Escape == true && props.Metadata.Escaped != nil {
304
+ explore := props.Explore
305
+ explore.Escaped = true
306
+ MetadataFactory.validateMeta(struct {
307
+ Options MetadataFactory_IOptions
308
+ Visitor *metadataFactory_IValidationVisitor
309
+ Metadata *schemametadata.MetadataSchema
310
+ Top *schemametadata.MetadataSchema
311
+ Explore MetadataFactory_IExplore
312
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Metadata.Escaped.Returns, Top: props.Top, Explore: explore})
313
+ }
314
314
  }
315
315
 
316
316
  func (metadataFactoryNamespace) validateAlias(props struct {
317
- Options MetadataFactory_IOptions
318
- Visitor *metadataFactory_IValidationVisitor
319
- Alias *schemametadata.MetadataAliasType
320
- Explore MetadataFactory_IExplore
321
- Top *schemametadata.MetadataSchema
317
+ Options MetadataFactory_IOptions
318
+ Visitor *metadataFactory_IValidationVisitor
319
+ Alias *schemametadata.MetadataAliasType
320
+ Explore MetadataFactory_IExplore
321
+ Top *schemametadata.MetadataSchema
322
322
  }) {
323
- if props.Visitor.Aliases[props.Alias] {
324
- return
325
- }
326
- props.Visitor.Aliases[props.Alias] = true
327
- explore := props.Explore
328
- explore.Nested = props.Alias
329
- explore.Aliased = true
330
- MetadataFactory.validateMeta(struct {
331
- Options MetadataFactory_IOptions
332
- Visitor *metadataFactory_IValidationVisitor
333
- Metadata *schemametadata.MetadataSchema
334
- Top *schemametadata.MetadataSchema
335
- Explore MetadataFactory_IExplore
336
- }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Alias.Value, Top: props.Top, Explore: explore})
323
+ if props.Visitor.Aliases[props.Alias] {
324
+ return
325
+ }
326
+ props.Visitor.Aliases[props.Alias] = true
327
+ explore := props.Explore
328
+ explore.Nested = props.Alias
329
+ explore.Aliased = true
330
+ MetadataFactory.validateMeta(struct {
331
+ Options MetadataFactory_IOptions
332
+ Visitor *metadataFactory_IValidationVisitor
333
+ Metadata *schemametadata.MetadataSchema
334
+ Top *schemametadata.MetadataSchema
335
+ Explore MetadataFactory_IExplore
336
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Alias.Value, Top: props.Top, Explore: explore})
337
337
  }
338
338
 
339
339
  func (metadataFactoryNamespace) validateArray(props struct {
340
- Options MetadataFactory_IOptions
341
- Visitor *metadataFactory_IValidationVisitor
342
- Array *schemametadata.MetadataArrayType
343
- Explore MetadataFactory_IExplore
344
- Top *schemametadata.MetadataSchema
340
+ Options MetadataFactory_IOptions
341
+ Visitor *metadataFactory_IValidationVisitor
342
+ Array *schemametadata.MetadataArrayType
343
+ Explore MetadataFactory_IExplore
344
+ Top *schemametadata.MetadataSchema
345
345
  }) {
346
- if props.Visitor.Arrays[props.Array] {
347
- return
348
- }
349
- props.Visitor.Arrays[props.Array] = true
350
- explore := props.Explore
351
- explore.Nested = props.Array
352
- explore.Top = false
353
- MetadataFactory.validateMeta(struct {
354
- Options MetadataFactory_IOptions
355
- Visitor *metadataFactory_IValidationVisitor
356
- Metadata *schemametadata.MetadataSchema
357
- Top *schemametadata.MetadataSchema
358
- Explore MetadataFactory_IExplore
359
- }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Array.Value, Top: props.Top, Explore: explore})
346
+ if props.Visitor.Arrays[props.Array] {
347
+ return
348
+ }
349
+ props.Visitor.Arrays[props.Array] = true
350
+ explore := props.Explore
351
+ explore.Nested = props.Array
352
+ explore.Top = false
353
+ MetadataFactory.validateMeta(struct {
354
+ Options MetadataFactory_IOptions
355
+ Visitor *metadataFactory_IValidationVisitor
356
+ Metadata *schemametadata.MetadataSchema
357
+ Top *schemametadata.MetadataSchema
358
+ Explore MetadataFactory_IExplore
359
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Array.Value, Top: props.Top, Explore: explore})
360
360
  }
361
361
 
362
362
  func (metadataFactoryNamespace) validateTuple(props struct {
363
- Options MetadataFactory_IOptions
364
- Visitor *metadataFactory_IValidationVisitor
365
- Tuple *schemametadata.MetadataTupleType
366
- Explore MetadataFactory_IExplore
367
- Top *schemametadata.MetadataSchema
363
+ Options MetadataFactory_IOptions
364
+ Visitor *metadataFactory_IValidationVisitor
365
+ Tuple *schemametadata.MetadataTupleType
366
+ Explore MetadataFactory_IExplore
367
+ Top *schemametadata.MetadataSchema
368
368
  }) {
369
- if props.Visitor.Tuples[props.Tuple] {
370
- return
371
- }
372
- props.Visitor.Tuples[props.Tuple] = true
373
- for _, elem := range props.Tuple.Elements {
374
- explore := props.Explore
375
- explore.Nested = props.Tuple
376
- explore.Top = false
377
- MetadataFactory.validateMeta(struct {
378
- Options MetadataFactory_IOptions
379
- Visitor *metadataFactory_IValidationVisitor
380
- Metadata *schemametadata.MetadataSchema
381
- Top *schemametadata.MetadataSchema
382
- Explore MetadataFactory_IExplore
383
- }{Options: props.Options, Visitor: props.Visitor, Metadata: elem, Top: props.Top, Explore: explore})
384
- }
369
+ if props.Visitor.Tuples[props.Tuple] {
370
+ return
371
+ }
372
+ props.Visitor.Tuples[props.Tuple] = true
373
+ for _, elem := range props.Tuple.Elements {
374
+ explore := props.Explore
375
+ explore.Nested = props.Tuple
376
+ explore.Top = false
377
+ MetadataFactory.validateMeta(struct {
378
+ Options MetadataFactory_IOptions
379
+ Visitor *metadataFactory_IValidationVisitor
380
+ Metadata *schemametadata.MetadataSchema
381
+ Top *schemametadata.MetadataSchema
382
+ Explore MetadataFactory_IExplore
383
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: elem, Top: props.Top, Explore: explore})
384
+ }
385
385
  }
386
386
 
387
387
  func (metadataFactoryNamespace) validateObject(props struct {
388
- Options MetadataFactory_IOptions
389
- Visitor *metadataFactory_IValidationVisitor
390
- Object *schemametadata.MetadataObjectType
391
- Top *schemametadata.MetadataSchema
388
+ Options MetadataFactory_IOptions
389
+ Visitor *metadataFactory_IValidationVisitor
390
+ Object *schemametadata.MetadataObjectType
391
+ Top *schemametadata.MetadataSchema
392
392
  }) {
393
- if props.Visitor.Objects[props.Object] {
394
- return
395
- }
396
- props.Visitor.Objects[props.Object] = true
397
- if props.Options.Validate != nil {
398
- explore := MetadataFactory_IExplore{
399
- Object: props.Object,
400
- Top: false,
401
- Property: nil,
402
- Parameter: nil,
403
- Nested: nil,
404
- Aliased: false,
405
- Escaped: false,
406
- Output: false,
407
- }
408
- metadata := schemametadata.MetadataSchema_create(schemametadata.MetadataSchema{
409
- Any: false,
410
- Nullable: false,
411
- Required: true,
412
- Optional: false,
413
- Constants: []*schemametadata.MetadataConstant{},
414
- Atomics: []*schemametadata.MetadataAtomic{},
415
- Templates: []*schemametadata.MetadataTemplate{},
416
- Arrays: []*schemametadata.MetadataArray{},
417
- Tuples: []*schemametadata.MetadataTuple{},
418
- Objects: []*schemametadata.MetadataObject{
419
- schemametadata.MetadataObject_create(schemametadata.MetadataObject{Type: props.Object, Tags: [][]schemametadata.IMetadataTypeTag{}}),
420
- },
421
- Aliases: []*schemametadata.MetadataAlias{},
422
- Functions: []*schemametadata.MetadataFunction{},
423
- Rest: nil,
424
- Natives: []*schemametadata.MetadataNative{},
425
- Sets: []*schemametadata.MetadataSet{},
426
- Maps: []*schemametadata.MetadataMap{},
427
- })
428
- errors := props.Options.Validate(struct {
429
- Metadata *schemametadata.MetadataSchema
430
- Explore MetadataFactory_IExplore
431
- Top *schemametadata.MetadataSchema
432
- }{Metadata: metadata, Top: props.Top, Explore: explore})
433
- if len(errors) != 0 {
434
- props.Visitor.Errors = append(props.Visitor.Errors, MetadataFactory_IError{
435
- Name: props.Object.Name,
436
- Explore: explore,
437
- Messages: metadataFactory_unique(errors),
438
- })
439
- }
440
- }
393
+ if props.Visitor.Objects[props.Object] {
394
+ return
395
+ }
396
+ props.Visitor.Objects[props.Object] = true
397
+ if props.Options.Validate != nil {
398
+ explore := MetadataFactory_IExplore{
399
+ Object: props.Object,
400
+ Top: false,
401
+ Property: nil,
402
+ Parameter: nil,
403
+ Nested: nil,
404
+ Aliased: false,
405
+ Escaped: false,
406
+ Output: false,
407
+ }
408
+ metadata := schemametadata.MetadataSchema_create(schemametadata.MetadataSchema{
409
+ Any: false,
410
+ Nullable: false,
411
+ Required: true,
412
+ Optional: false,
413
+ Constants: []*schemametadata.MetadataConstant{},
414
+ Atomics: []*schemametadata.MetadataAtomic{},
415
+ Templates: []*schemametadata.MetadataTemplate{},
416
+ Arrays: []*schemametadata.MetadataArray{},
417
+ Tuples: []*schemametadata.MetadataTuple{},
418
+ Objects: []*schemametadata.MetadataObject{
419
+ schemametadata.MetadataObject_create(schemametadata.MetadataObject{Type: props.Object, Tags: [][]schemametadata.IMetadataTypeTag{}}),
420
+ },
421
+ Aliases: []*schemametadata.MetadataAlias{},
422
+ Functions: []*schemametadata.MetadataFunction{},
423
+ Rest: nil,
424
+ Natives: []*schemametadata.MetadataNative{},
425
+ Sets: []*schemametadata.MetadataSet{},
426
+ Maps: []*schemametadata.MetadataMap{},
427
+ })
428
+ errors := props.Options.Validate(struct {
429
+ Metadata *schemametadata.MetadataSchema
430
+ Explore MetadataFactory_IExplore
431
+ Top *schemametadata.MetadataSchema
432
+ }{Metadata: metadata, Top: props.Top, Explore: explore})
433
+ if len(errors) != 0 {
434
+ props.Visitor.Errors = append(props.Visitor.Errors, MetadataFactory_IError{
435
+ Name: props.Object.Name,
436
+ Explore: explore,
437
+ Messages: metadataFactory_unique(errors),
438
+ })
439
+ }
440
+ }
441
441
 
442
- for _, property := range props.Object.Properties {
443
- var key any = struct{}{}
444
- if sole := property.Key.GetSoleLiteral(); sole != nil {
445
- key = *sole
446
- }
447
- explore := MetadataFactory_IExplore{
448
- Object: props.Object,
449
- Property: key,
450
- Parameter: nil,
451
- Nested: nil,
452
- Top: false,
453
- Aliased: false,
454
- Escaped: false,
455
- Output: false,
456
- }
457
- MetadataFactory.validateMeta(struct {
458
- Options MetadataFactory_IOptions
459
- Visitor *metadataFactory_IValidationVisitor
460
- Metadata *schemametadata.MetadataSchema
461
- Top *schemametadata.MetadataSchema
462
- Explore MetadataFactory_IExplore
463
- }{Options: props.Options, Visitor: props.Visitor, Metadata: property.Value, Top: props.Top, Explore: explore})
464
- }
442
+ for _, property := range props.Object.Properties {
443
+ var key any = struct{}{}
444
+ if sole := property.Key.GetSoleLiteral(); sole != nil {
445
+ key = *sole
446
+ }
447
+ explore := MetadataFactory_IExplore{
448
+ Object: props.Object,
449
+ Property: key,
450
+ Parameter: nil,
451
+ Nested: nil,
452
+ Top: false,
453
+ Aliased: false,
454
+ Escaped: false,
455
+ Output: false,
456
+ }
457
+ MetadataFactory.validateMeta(struct {
458
+ Options MetadataFactory_IOptions
459
+ Visitor *metadataFactory_IValidationVisitor
460
+ Metadata *schemametadata.MetadataSchema
461
+ Top *schemametadata.MetadataSchema
462
+ Explore MetadataFactory_IExplore
463
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: property.Value, Top: props.Top, Explore: explore})
464
+ }
465
465
  }
466
466
 
467
467
  func (metadataFactoryNamespace) validateFunction(props struct {
468
- Options MetadataFactory_IOptions
469
- Visitor *metadataFactory_IValidationVisitor
470
- Function *schemametadata.MetadataFunction
471
- Explore MetadataFactory_IExplore
472
- Top *schemametadata.MetadataSchema
468
+ Options MetadataFactory_IOptions
469
+ Visitor *metadataFactory_IValidationVisitor
470
+ Function *schemametadata.MetadataFunction
471
+ Explore MetadataFactory_IExplore
472
+ Top *schemametadata.MetadataSchema
473
473
  }) {
474
- if props.Visitor.Functions[props.Function] {
475
- return
476
- }
477
- props.Visitor.Functions[props.Function] = true
478
- for _, param := range props.Function.Parameters {
479
- explore := props.Explore
480
- explore.Parameter = param.Name
481
- explore.Nested = nil
482
- explore.Top = false
483
- explore.Output = false
484
- MetadataFactory.validateMeta(struct {
485
- Options MetadataFactory_IOptions
486
- Visitor *metadataFactory_IValidationVisitor
487
- Metadata *schemametadata.MetadataSchema
488
- Top *schemametadata.MetadataSchema
489
- Explore MetadataFactory_IExplore
490
- }{Options: props.Options, Visitor: props.Visitor, Metadata: param.Type, Top: props.Top, Explore: explore})
491
- }
492
- if props.Function.Output != nil {
493
- explore := props.Explore
494
- explore.Parameter = nil
495
- explore.Nested = nil
496
- explore.Top = false
497
- explore.Output = true
498
- MetadataFactory.validateMeta(struct {
499
- Options MetadataFactory_IOptions
500
- Visitor *metadataFactory_IValidationVisitor
501
- Metadata *schemametadata.MetadataSchema
502
- Top *schemametadata.MetadataSchema
503
- Explore MetadataFactory_IExplore
504
- }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Function.Output, Top: props.Top, Explore: explore})
505
- }
474
+ if props.Visitor.Functions[props.Function] {
475
+ return
476
+ }
477
+ props.Visitor.Functions[props.Function] = true
478
+ for _, param := range props.Function.Parameters {
479
+ explore := props.Explore
480
+ explore.Parameter = param.Name
481
+ explore.Nested = nil
482
+ explore.Top = false
483
+ explore.Output = false
484
+ MetadataFactory.validateMeta(struct {
485
+ Options MetadataFactory_IOptions
486
+ Visitor *metadataFactory_IValidationVisitor
487
+ Metadata *schemametadata.MetadataSchema
488
+ Top *schemametadata.MetadataSchema
489
+ Explore MetadataFactory_IExplore
490
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: param.Type, Top: props.Top, Explore: explore})
491
+ }
492
+ if props.Function.Output != nil {
493
+ explore := props.Explore
494
+ explore.Parameter = nil
495
+ explore.Nested = nil
496
+ explore.Top = false
497
+ explore.Output = true
498
+ MetadataFactory.validateMeta(struct {
499
+ Options MetadataFactory_IOptions
500
+ Visitor *metadataFactory_IValidationVisitor
501
+ Metadata *schemametadata.MetadataSchema
502
+ Top *schemametadata.MetadataSchema
503
+ Explore MetadataFactory_IExplore
504
+ }{Options: props.Options, Visitor: props.Visitor, Metadata: props.Function.Output, Top: props.Top, Explore: explore})
505
+ }
506
506
  }
507
507
 
508
508
  type metadataFactory_IValidationVisitor struct {
509
- Functor MetadataFactory_Validator
510
- Errors []MetadataFactory_IError
511
- Objects map[*schemametadata.MetadataObjectType]bool
512
- Arrays map[*schemametadata.MetadataArrayType]bool
513
- Tuples map[*schemametadata.MetadataTupleType]bool
514
- Aliases map[*schemametadata.MetadataAliasType]bool
515
- Functions map[*schemametadata.MetadataFunction]bool
509
+ Functor MetadataFactory_Validator
510
+ Errors []MetadataFactory_IError
511
+ Objects map[*schemametadata.MetadataObjectType]bool
512
+ Arrays map[*schemametadata.MetadataArrayType]bool
513
+ Tuples map[*schemametadata.MetadataTupleType]bool
514
+ Aliases map[*schemametadata.MetadataAliasType]bool
515
+ Functions map[*schemametadata.MetadataFunction]bool
516
516
  }
517
517
 
518
518
  func metadataFactory_unique(input []string) []string {
519
- visited := map[string]bool{}
520
- output := []string{}
521
- for _, str := range input {
522
- if visited[str] {
523
- continue
524
- }
525
- visited[str] = true
526
- output = append(output, str)
527
- }
528
- return output
519
+ visited := map[string]bool{}
520
+ output := []string{}
521
+ for _, str := range input {
522
+ if visited[str] {
523
+ continue
524
+ }
525
+ visited[str] = true
526
+ output = append(output, str)
527
+ }
528
+ return output
529
529
  }