@nestia/sdk 12.0.0-dev.20260601.1 → 12.0.0-dev.20260619.1

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 (259) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +93 -93
  3. package/assets/bundle/api/HttpError.ts +1 -1
  4. package/assets/bundle/api/IConnection.ts +1 -1
  5. package/assets/bundle/api/Primitive.ts +1 -1
  6. package/assets/bundle/api/Resolved.ts +1 -1
  7. package/assets/bundle/api/index.ts +4 -4
  8. package/assets/bundle/api/module.ts +6 -6
  9. package/assets/bundle/distribute/README.md +37 -37
  10. package/assets/bundle/distribute/package.json +28 -28
  11. package/assets/bundle/distribute/tsconfig.json +109 -109
  12. package/assets/bundle/e2e/index.ts +42 -42
  13. package/assets/config/nestia.config.ts +97 -97
  14. package/lib/NestiaSdkApplication.js +29 -7
  15. package/lib/NestiaSdkApplication.js.map +1 -1
  16. package/lib/NestiaSwaggerComposer.js +21 -13
  17. package/lib/NestiaSwaggerComposer.js.map +1 -1
  18. package/lib/analyses/AccessorAnalyzer.d.ts +4 -1
  19. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  20. package/lib/analyses/ConfigAnalyzer.js +1 -1
  21. package/lib/analyses/PathAnalyzer.d.ts +18 -3
  22. package/lib/analyses/PathAnalyzer.js +32 -0
  23. package/lib/analyses/PathAnalyzer.js.map +1 -1
  24. package/lib/analyses/ReflectControllerAnalyzer.js +3 -2
  25. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  26. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +1 -1
  27. package/lib/analyses/ReflectHttpOperationAnalyzer.js +1 -1
  28. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  29. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +1 -1
  30. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +53 -20
  31. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  32. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +14 -0
  33. package/lib/analyses/ReflectMcpOperationAnalyzer.js +79 -0
  34. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -0
  35. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +9 -0
  36. package/lib/analyses/TypedMcpRouteAnalyzer.js +31 -0
  37. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -0
  38. package/lib/executable/internal/NestiaConfigLoader.js +5 -1
  39. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  40. package/lib/executable/internal/NestiaSdkCommand.js +30 -14
  41. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  42. package/lib/executable/internal/NestiaSdkWatcher.d.ts +10 -0
  43. package/lib/executable/internal/NestiaSdkWatcher.js +322 -0
  44. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -0
  45. package/lib/executable/sdk.js +12 -12
  46. package/lib/executable/sdk.js.map +1 -1
  47. package/lib/factories/ExpressionFactory.d.ts +9 -0
  48. package/lib/factories/ExpressionFactory.js +16 -0
  49. package/lib/factories/ExpressionFactory.js.map +1 -0
  50. package/lib/factories/IdentifierFactory.d.ts +22 -0
  51. package/lib/factories/IdentifierFactory.js +50 -0
  52. package/lib/factories/IdentifierFactory.js.map +1 -0
  53. package/lib/factories/LiteralFactory.d.ts +9 -0
  54. package/lib/factories/LiteralFactory.js +48 -0
  55. package/lib/factories/LiteralFactory.js.map +1 -0
  56. package/lib/factories/StatementFactory.d.ts +14 -0
  57. package/lib/factories/StatementFactory.js +20 -0
  58. package/lib/factories/StatementFactory.js.map +1 -0
  59. package/lib/factories/TypeFactory.d.ts +24 -0
  60. package/lib/factories/TypeFactory.js +27 -0
  61. package/lib/factories/TypeFactory.js.map +1 -0
  62. package/lib/generates/CloneGenerator.js +6 -4
  63. package/lib/generates/CloneGenerator.js.map +1 -1
  64. package/lib/generates/SdkGenerator.js +50 -1
  65. package/lib/generates/SdkGenerator.js.map +1 -1
  66. package/lib/generates/SwaggerGenerator.js +18 -2
  67. package/lib/generates/SwaggerGenerator.js.map +1 -1
  68. package/lib/generates/internal/E2eFileProgrammer.js +32 -29
  69. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  70. package/lib/generates/internal/FilePrinter.d.ts +2 -2
  71. package/lib/generates/internal/FilePrinter.js +14 -25
  72. package/lib/generates/internal/FilePrinter.js.map +1 -1
  73. package/lib/generates/internal/ImportDictionary.d.ts +2 -1
  74. package/lib/generates/internal/ImportDictionary.js +16 -10
  75. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  76. package/lib/generates/internal/SdkAliasCollection.d.ts +12 -10
  77. package/lib/generates/internal/SdkAliasCollection.js +29 -22
  78. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  79. package/lib/generates/internal/SdkDistributionComposer.d.ts +1 -0
  80. package/lib/generates/internal/SdkDistributionComposer.js +3 -0
  81. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  82. package/lib/generates/internal/SdkFileProgrammer.js +6 -3
  83. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  84. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
  85. package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
  86. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  87. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +1 -1
  88. package/lib/generates/internal/SdkHttpCloneReferencer.js +42 -9
  89. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  90. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
  91. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +47 -51
  92. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  93. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
  94. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +63 -61
  95. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  96. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
  97. package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
  98. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  99. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
  100. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
  101. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +52 -47
  102. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  103. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +15 -0
  104. package/lib/generates/internal/SdkMcpRouteProgrammer.js +149 -0
  105. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -0
  106. package/lib/generates/internal/SdkRouteDirectory.d.ts +2 -1
  107. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  108. package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
  109. package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
  110. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  111. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
  112. package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
  113. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  114. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +6 -0
  115. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +283 -0
  116. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -0
  117. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
  118. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
  119. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  120. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
  121. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
  122. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  123. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
  124. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +37 -41
  125. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  126. package/lib/generates/internal/SwaggerOperationParameterComposer.js +10 -2
  127. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  128. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
  129. package/lib/generates/internal/SwaggerOperationResponseComposer.js +6 -1
  130. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  131. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +9 -0
  132. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +174 -0
  133. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +1 -0
  134. package/lib/structures/INestiaSdkInput.d.ts +9 -2
  135. package/lib/structures/IReflectController.d.ts +2 -1
  136. package/lib/structures/IReflectHttpOperationSuccess.d.ts +4 -2
  137. package/lib/structures/IReflectMcpOperation.d.ts +35 -0
  138. package/lib/structures/IReflectMcpOperation.js +3 -0
  139. package/lib/structures/IReflectMcpOperation.js.map +1 -0
  140. package/lib/structures/IReflectMcpOperationParameter.d.ts +19 -0
  141. package/lib/structures/IReflectMcpOperationParameter.js +3 -0
  142. package/lib/structures/IReflectMcpOperationParameter.js.map +1 -0
  143. package/lib/structures/ITypedApplication.d.ts +2 -1
  144. package/lib/structures/ITypedHttpRouteSuccess.d.ts +3 -1
  145. package/lib/structures/ITypedMcpRoute.d.ts +31 -0
  146. package/lib/structures/ITypedMcpRoute.js +3 -0
  147. package/lib/structures/ITypedMcpRoute.js.map +1 -0
  148. package/lib/transform.d.ts +5 -9
  149. package/lib/transform.js +8 -31
  150. package/lib/transform.js.map +1 -1
  151. package/lib/utils/HttpResponseContentTypeUtil.d.ts +5 -0
  152. package/lib/utils/HttpResponseContentTypeUtil.js +22 -0
  153. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -0
  154. package/native/go.mod +52 -52
  155. package/native/go.sum +84 -54
  156. package/native/sdk/register.go +322 -165
  157. package/native/sdk/sdk.go +17 -17
  158. package/native/sdk/sdk_metadata_json.go +327 -327
  159. package/native/sdk/sdk_transform.go +1879 -1549
  160. package/package.json +13 -11
  161. package/src/INestiaConfig.ts +267 -267
  162. package/src/NestiaSdkApplication.ts +39 -8
  163. package/src/NestiaSwaggerComposer.ts +153 -142
  164. package/src/analyses/AccessorAnalyzer.ts +64 -67
  165. package/src/analyses/ConfigAnalyzer.ts +330 -330
  166. package/src/analyses/ImportAnalyzer.ts +92 -92
  167. package/src/analyses/PathAnalyzer.ts +130 -69
  168. package/src/analyses/ReflectControllerAnalyzer.ts +112 -105
  169. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  170. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +90 -90
  171. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +350 -350
  172. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +163 -130
  173. package/src/analyses/ReflectMcpOperationAnalyzer.ts +124 -0
  174. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  175. package/src/analyses/SecurityAnalyzer.ts +25 -25
  176. package/src/analyses/TypedMcpRouteAnalyzer.ts +34 -0
  177. package/src/decorators/OperationMetadata.ts +29 -29
  178. package/src/executable/internal/CommandParser.ts +15 -15
  179. package/src/executable/internal/NestiaConfigLoader.ts +451 -446
  180. package/src/executable/internal/NestiaSdkCommand.ts +124 -106
  181. package/src/executable/internal/NestiaSdkWatcher.ts +342 -0
  182. package/src/executable/sdk.ts +90 -88
  183. package/src/factories/ExpressionFactory.ts +23 -0
  184. package/src/factories/IdentifierFactory.ts +84 -0
  185. package/src/factories/LiteralFactory.ts +54 -0
  186. package/src/factories/StatementFactory.ts +56 -0
  187. package/src/factories/TypeFactory.ts +27 -0
  188. package/src/generates/CloneGenerator.ts +74 -66
  189. package/src/generates/E2eGenerator.ts +32 -32
  190. package/src/generates/SdkGenerator.ts +176 -118
  191. package/src/generates/SwaggerGenerator.ts +342 -310
  192. package/src/generates/internal/E2eFileProgrammer.ts +246 -233
  193. package/src/generates/internal/FilePrinter.ts +57 -65
  194. package/src/generates/internal/ImportDictionary.ts +207 -204
  195. package/src/generates/internal/SdkAliasCollection.ts +280 -261
  196. package/src/generates/internal/SdkDistributionComposer.ts +123 -116
  197. package/src/generates/internal/SdkFileProgrammer.ts +113 -112
  198. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -126
  199. package/src/generates/internal/SdkHttpCloneReferencer.ts +131 -77
  200. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +290 -301
  201. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +507 -510
  202. package/src/generates/internal/SdkHttpParameterProgrammer.ts +163 -165
  203. package/src/generates/internal/SdkHttpRouteProgrammer.ts +109 -109
  204. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +322 -314
  205. package/src/generates/internal/SdkImportWizard.ts +62 -62
  206. package/src/generates/internal/SdkMcpRouteProgrammer.ts +447 -0
  207. package/src/generates/internal/SdkRouteDirectory.ts +21 -18
  208. package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
  209. package/src/generates/internal/SdkTypeTagProgrammer.ts +110 -114
  210. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +319 -0
  211. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +383 -389
  212. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +91 -89
  213. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +304 -323
  214. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  215. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  216. package/src/generates/internal/SwaggerOperationParameterComposer.ts +175 -162
  217. package/src/generates/internal/SwaggerOperationResponseComposer.ts +115 -110
  218. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +262 -0
  219. package/src/index.ts +4 -4
  220. package/src/internal/legacy.ts +492 -492
  221. package/src/module.ts +4 -4
  222. package/src/structures/INestiaProject.ts +10 -10
  223. package/src/structures/INestiaSdkInput.ts +27 -20
  224. package/src/structures/IOperationMetadata.ts +41 -41
  225. package/src/structures/IReflectController.ts +18 -15
  226. package/src/structures/IReflectHttpOperation.ts +26 -26
  227. package/src/structures/IReflectHttpOperationException.ts +18 -18
  228. package/src/structures/IReflectHttpOperationParameter.ts +79 -79
  229. package/src/structures/IReflectHttpOperationSuccess.ts +18 -21
  230. package/src/structures/IReflectImport.ts +6 -6
  231. package/src/structures/IReflectMcpOperation.ts +38 -0
  232. package/src/structures/IReflectMcpOperationParameter.ts +27 -0
  233. package/src/structures/IReflectOperationError.ts +26 -26
  234. package/src/structures/IReflectType.ts +4 -4
  235. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  236. package/src/structures/ITypedApplication.ts +12 -11
  237. package/src/structures/ITypedHttpRoute.ts +41 -41
  238. package/src/structures/ITypedHttpRouteException.ts +15 -15
  239. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  240. package/src/structures/ITypedHttpRouteSuccess.ts +18 -22
  241. package/src/structures/ITypedMcpRoute.ts +33 -0
  242. package/src/structures/ITypedWebSocketRoute.ts +24 -24
  243. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  244. package/src/transform.ts +28 -59
  245. package/src/typings/get-function-location.d.ts +7 -7
  246. package/src/utils/ArrayUtil.ts +26 -26
  247. package/src/utils/EmittedJavaScriptPatcher.ts +88 -88
  248. package/src/utils/FileRetriever.ts +22 -22
  249. package/src/utils/HttpResponseContentTypeUtil.ts +30 -0
  250. package/src/utils/MapUtil.ts +14 -14
  251. package/src/utils/PathUtil.ts +10 -10
  252. package/src/utils/SourceFinder.ts +63 -63
  253. package/src/utils/StringUtil.ts +17 -17
  254. package/src/utils/TsConfigReader.ts +108 -108
  255. package/src/utils/TtscExecutor.ts +68 -68
  256. package/src/utils/VersioningStrategy.ts +28 -28
  257. package/src/validators/HttpHeadersValidator.ts +11 -11
  258. package/src/validators/HttpQueryValidator.ts +11 -11
  259. package/src/validators/TextPlainValidator.ts +17 -17
@@ -1,327 +1,327 @@
1
- package sdk
2
-
3
- import schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
-
5
- func nestiaSDKMetadataComponentsLiteral(
6
- components schemametadata.IMetadataComponents,
7
- ) map[string]any {
8
- return map[string]any{
9
- "objects": nestiaSDKMetadataObjectTypes(components.Objects),
10
- "aliases": nestiaSDKMetadataAliasTypes(components.Aliases),
11
- "arrays": nestiaSDKMetadataArrayTypes(components.Arrays),
12
- "tuples": nestiaSDKMetadataTupleTypes(components.Tuples),
13
- }
14
- }
15
-
16
- func nestiaSDKMetadataSchemaLiteral(meta *schemametadata.IMetadataSchema) any {
17
- if meta == nil {
18
- return nestiaSDKLiteralNull
19
- }
20
- return map[string]any{
21
- "any": meta.Any,
22
- "required": meta.Required,
23
- "optional": meta.Optional,
24
- "nullable": meta.Nullable,
25
- "functions": nestiaSDKMetadataFunctions(meta.Functions),
26
- "atomics": nestiaSDKMetadataAtomics(meta.Atomics),
27
- "constants": nestiaSDKMetadataConstants(meta.Constants),
28
- "templates": nestiaSDKMetadataTemplates(meta.Templates),
29
- "escaped": nestiaSDKMetadataEscaped(meta.Escaped),
30
- "rest": nestiaSDKMetadataSchemaLiteral(meta.Rest),
31
- "arrays": nestiaSDKMetadataReferences(meta.Arrays),
32
- "tuples": nestiaSDKMetadataReferences(meta.Tuples),
33
- "objects": nestiaSDKMetadataReferences(meta.Objects),
34
- "aliases": nestiaSDKMetadataReferences(meta.Aliases),
35
- "natives": nestiaSDKMetadataReferences(meta.Natives),
36
- "sets": nestiaSDKMetadataSets(meta.Sets),
37
- "maps": nestiaSDKMetadataMaps(meta.Maps),
38
- }
39
- }
40
-
41
- func nestiaSDKMetadataFunctions(
42
- input []*schemametadata.IMetadataSchema_IFunction,
43
- ) []any {
44
- output := []any{}
45
- for _, fn := range input {
46
- if fn == nil {
47
- continue
48
- }
49
- output = append(output, map[string]any{
50
- "parameters": nestiaSDKMetadataParameters(fn.Parameters),
51
- "output": nestiaSDKMetadataSchemaLiteral(fn.Output),
52
- "async": fn.Async,
53
- })
54
- }
55
- return output
56
- }
57
-
58
- func nestiaSDKMetadataParameters(
59
- input []*schemametadata.IMetadataSchema_IParameter,
60
- ) []any {
61
- output := []any{}
62
- for _, param := range input {
63
- if param == nil {
64
- continue
65
- }
66
- output = append(output, map[string]any{
67
- "name": param.Name,
68
- "type": nestiaSDKMetadataSchemaLiteral(param.Type),
69
- "description": nestiaSDKOptionalString(param.Description),
70
- "jsDocTags": nestiaSDKJSDocTags(param.JsDocTags),
71
- })
72
- }
73
- return output
74
- }
75
-
76
- func nestiaSDKMetadataAtomics(
77
- input []schemametadata.IMetadataSchema_IAtomic,
78
- ) []any {
79
- output := []any{}
80
- for _, atomic := range input {
81
- output = append(output, map[string]any{
82
- "type": atomic.Type,
83
- "tags": nestiaSDKMetadataTagMatrix(atomic.Tags),
84
- })
85
- }
86
- return output
87
- }
88
-
89
- func nestiaSDKMetadataConstants(
90
- input []schemametadata.IMetadataSchema_IConstant,
91
- ) []any {
92
- output := []any{}
93
- for _, constant := range input {
94
- values := []any{}
95
- for _, value := range constant.Values {
96
- values = append(values, map[string]any{
97
- "value": value.Value,
98
- "tags": nestiaSDKMetadataTagMatrix(value.Tags),
99
- "description": nestiaSDKOptionalString(value.Description),
100
- "jsDocTags": nestiaSDKJSDocTags(value.JsDocTags),
101
- })
102
- }
103
- output = append(output, map[string]any{
104
- "type": constant.Type,
105
- "values": values,
106
- })
107
- }
108
- return output
109
- }
110
-
111
- func nestiaSDKMetadataTemplates(
112
- input []schemametadata.IMetadataSchema_ITemplate,
113
- ) []any {
114
- output := []any{}
115
- for _, template := range input {
116
- row := []any{}
117
- for _, child := range template.Row {
118
- row = append(row, nestiaSDKMetadataSchemaLiteral(child))
119
- }
120
- output = append(output, map[string]any{
121
- "row": row,
122
- "tags": nestiaSDKMetadataTagMatrix(template.Tags),
123
- })
124
- }
125
- return output
126
- }
127
-
128
- func nestiaSDKMetadataEscaped(
129
- input *schemametadata.IMetadataSchema_IEscaped,
130
- ) any {
131
- if input == nil {
132
- return nestiaSDKLiteralNull
133
- }
134
- return map[string]any{
135
- "original": nestiaSDKMetadataSchemaLiteral(input.Original),
136
- "returns": nestiaSDKMetadataSchemaLiteral(input.Returns),
137
- }
138
- }
139
-
140
- func nestiaSDKMetadataReferences(
141
- input []schemametadata.IMetadataSchema_IReference,
142
- ) []any {
143
- output := []any{}
144
- for _, ref := range input {
145
- output = append(output, map[string]any{
146
- "name": ref.Name,
147
- "tags": nestiaSDKMetadataTagMatrix(ref.Tags),
148
- })
149
- }
150
- return output
151
- }
152
-
153
- func nestiaSDKMetadataSets(input []schemametadata.IMetadataSchema_ISet) []any {
154
- output := []any{}
155
- for _, set := range input {
156
- output = append(output, map[string]any{
157
- "value": nestiaSDKMetadataSchemaLiteral(set.Value),
158
- "tags": nestiaSDKMetadataTagMatrix(set.Tags),
159
- })
160
- }
161
- return output
162
- }
163
-
164
- func nestiaSDKMetadataMaps(input []schemametadata.IMetadataSchema_IMap) []any {
165
- output := []any{}
166
- for _, entry := range input {
167
- output = append(output, map[string]any{
168
- "key": nestiaSDKMetadataSchemaLiteral(entry.Key),
169
- "value": nestiaSDKMetadataSchemaLiteral(entry.Value),
170
- "tags": nestiaSDKMetadataTagMatrix(entry.Tags),
171
- })
172
- }
173
- return output
174
- }
175
-
176
- func nestiaSDKMetadataObjectTypes(
177
- input []schemametadata.IMetadataSchema_IObjectType,
178
- ) []any {
179
- output := []any{}
180
- for _, object := range input {
181
- properties := []any{}
182
- for _, property := range object.Properties {
183
- if property == nil {
184
- continue
185
- }
186
- properties = append(properties, map[string]any{
187
- "key": nestiaSDKMetadataSchemaLiteral(property.Key),
188
- "value": nestiaSDKMetadataSchemaLiteral(property.Value),
189
- "description": nestiaSDKOptionalString(property.Description),
190
- "jsDocTags": nestiaSDKJSDocTags(property.JsDocTags),
191
- "mutability": nestiaSDKOptionalString(property.Mutability),
192
- })
193
- }
194
- output = append(output, map[string]any{
195
- "name": object.Name,
196
- "properties": properties,
197
- "description": nestiaSDKOptionalString(object.Description),
198
- "jsDocTags": nestiaSDKJSDocTags(object.JsDocTags),
199
- "index": object.Index,
200
- "recursive": object.Recursive,
201
- "nullables": nestiaSDKBoolArray(object.Nullables),
202
- })
203
- }
204
- return output
205
- }
206
-
207
- func nestiaSDKMetadataAliasTypes(
208
- input []schemametadata.IMetadataSchema_IAliasType,
209
- ) []any {
210
- output := []any{}
211
- for _, alias := range input {
212
- output = append(output, map[string]any{
213
- "name": alias.Name,
214
- "value": nestiaSDKMetadataSchemaLiteral(alias.Value),
215
- "description": nestiaSDKOptionalString(alias.Description),
216
- "jsDocTags": nestiaSDKJSDocTags(alias.JsDocTags),
217
- "recursive": alias.Recursive,
218
- "nullables": nestiaSDKBoolArray(alias.Nullables),
219
- })
220
- }
221
- return output
222
- }
223
-
224
- func nestiaSDKMetadataArrayTypes(
225
- input []schemametadata.IMetadataSchema_IArrayType,
226
- ) []any {
227
- output := []any{}
228
- for _, array := range input {
229
- output = append(output, map[string]any{
230
- "name": array.Name,
231
- "value": nestiaSDKMetadataSchemaLiteral(array.Value),
232
- "nullables": nestiaSDKBoolArray(array.Nullables),
233
- "recursive": array.Recursive,
234
- "index": nestiaSDKOptionalInt(array.Index),
235
- })
236
- }
237
- return output
238
- }
239
-
240
- func nestiaSDKMetadataTupleTypes(
241
- input []schemametadata.IMetadataSchema_ITupleType,
242
- ) []any {
243
- output := []any{}
244
- for _, tuple := range input {
245
- elements := []any{}
246
- for _, elem := range tuple.Elements {
247
- elements = append(elements, nestiaSDKMetadataSchemaLiteral(elem))
248
- }
249
- output = append(output, map[string]any{
250
- "name": tuple.Name,
251
- "elements": elements,
252
- "index": nestiaSDKOptionalInt(tuple.Index),
253
- "recursive": tuple.Recursive,
254
- "nullables": nestiaSDKBoolArray(tuple.Nullables),
255
- })
256
- }
257
- return output
258
- }
259
-
260
- func nestiaSDKMetadataTagMatrix(
261
- input [][]schemametadata.IMetadataTypeTag,
262
- ) []any {
263
- output := []any{}
264
- for _, row := range input {
265
- items := []any{}
266
- for _, tag := range row {
267
- items = append(items, nestiaSDKMetadataTypeTag(tag))
268
- }
269
- output = append(output, items)
270
- }
271
- return output
272
- }
273
-
274
- func nestiaSDKMetadataTypeTag(tag schemametadata.IMetadataTypeTag) map[string]any {
275
- output := map[string]any{
276
- "target": tag.Target,
277
- "name": tag.Name,
278
- "kind": tag.Kind,
279
- "exclusive": tag.Exclusive,
280
- "value": tag.Value,
281
- "schema": tag.Schema,
282
- }
283
- if tag.Validate != "" {
284
- output["validate"] = tag.Validate
285
- }
286
- return output
287
- }
288
-
289
- func nestiaSDKJSDocTags(input []schemametadata.IJsDocTagInfo) []any {
290
- output := []any{}
291
- for _, tag := range input {
292
- text := []any{}
293
- for _, item := range tag.Text {
294
- text = append(text, map[string]any{
295
- "text": item.Text,
296
- "kind": item.Kind,
297
- })
298
- }
299
- output = append(output, map[string]any{
300
- "name": tag.Name,
301
- "text": text,
302
- })
303
- }
304
- return output
305
- }
306
-
307
- func nestiaSDKBoolArray(input []bool) []any {
308
- output := []any{}
309
- for _, value := range input {
310
- output = append(output, value)
311
- }
312
- return output
313
- }
314
-
315
- func nestiaSDKOptionalString(input *string) any {
316
- if input == nil {
317
- return nestiaSDKLiteralNull
318
- }
319
- return *input
320
- }
321
-
322
- func nestiaSDKOptionalInt(input *int) any {
323
- if input == nil {
324
- return nestiaSDKLiteralNull
325
- }
326
- return *input
327
- }
1
+ package sdk
2
+
3
+ import schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+
5
+ func nestiaSDKMetadataComponentsLiteral(
6
+ components schemametadata.IMetadataComponents,
7
+ ) map[string]any {
8
+ return map[string]any{
9
+ "objects": nestiaSDKMetadataObjectTypes(components.Objects),
10
+ "aliases": nestiaSDKMetadataAliasTypes(components.Aliases),
11
+ "arrays": nestiaSDKMetadataArrayTypes(components.Arrays),
12
+ "tuples": nestiaSDKMetadataTupleTypes(components.Tuples),
13
+ }
14
+ }
15
+
16
+ func nestiaSDKMetadataSchemaLiteral(meta *schemametadata.IMetadataSchema) any {
17
+ if meta == nil {
18
+ return nestiaSDKLiteralNull
19
+ }
20
+ return map[string]any{
21
+ "any": meta.Any,
22
+ "required": meta.Required,
23
+ "optional": meta.Optional,
24
+ "nullable": meta.Nullable,
25
+ "functions": nestiaSDKMetadataFunctions(meta.Functions),
26
+ "atomics": nestiaSDKMetadataAtomics(meta.Atomics),
27
+ "constants": nestiaSDKMetadataConstants(meta.Constants),
28
+ "templates": nestiaSDKMetadataTemplates(meta.Templates),
29
+ "escaped": nestiaSDKMetadataEscaped(meta.Escaped),
30
+ "rest": nestiaSDKMetadataSchemaLiteral(meta.Rest),
31
+ "arrays": nestiaSDKMetadataReferences(meta.Arrays),
32
+ "tuples": nestiaSDKMetadataReferences(meta.Tuples),
33
+ "objects": nestiaSDKMetadataReferences(meta.Objects),
34
+ "aliases": nestiaSDKMetadataReferences(meta.Aliases),
35
+ "natives": nestiaSDKMetadataReferences(meta.Natives),
36
+ "sets": nestiaSDKMetadataSets(meta.Sets),
37
+ "maps": nestiaSDKMetadataMaps(meta.Maps),
38
+ }
39
+ }
40
+
41
+ func nestiaSDKMetadataFunctions(
42
+ input []*schemametadata.IMetadataSchema_IFunction,
43
+ ) []any {
44
+ output := []any{}
45
+ for _, fn := range input {
46
+ if fn == nil {
47
+ continue
48
+ }
49
+ output = append(output, map[string]any{
50
+ "parameters": nestiaSDKMetadataParameters(fn.Parameters),
51
+ "output": nestiaSDKMetadataSchemaLiteral(fn.Output),
52
+ "async": fn.Async,
53
+ })
54
+ }
55
+ return output
56
+ }
57
+
58
+ func nestiaSDKMetadataParameters(
59
+ input []*schemametadata.IMetadataSchema_IParameter,
60
+ ) []any {
61
+ output := []any{}
62
+ for _, param := range input {
63
+ if param == nil {
64
+ continue
65
+ }
66
+ output = append(output, map[string]any{
67
+ "name": param.Name,
68
+ "type": nestiaSDKMetadataSchemaLiteral(param.Type),
69
+ "description": nestiaSDKOptionalString(param.Description),
70
+ "jsDocTags": nestiaSDKJSDocTags(param.JsDocTags),
71
+ })
72
+ }
73
+ return output
74
+ }
75
+
76
+ func nestiaSDKMetadataAtomics(
77
+ input []schemametadata.IMetadataSchema_IAtomic,
78
+ ) []any {
79
+ output := []any{}
80
+ for _, atomic := range input {
81
+ output = append(output, map[string]any{
82
+ "type": atomic.Type,
83
+ "tags": nestiaSDKMetadataTagMatrix(atomic.Tags),
84
+ })
85
+ }
86
+ return output
87
+ }
88
+
89
+ func nestiaSDKMetadataConstants(
90
+ input []schemametadata.IMetadataSchema_IConstant,
91
+ ) []any {
92
+ output := []any{}
93
+ for _, constant := range input {
94
+ values := []any{}
95
+ for _, value := range constant.Values {
96
+ values = append(values, map[string]any{
97
+ "value": value.Value,
98
+ "tags": nestiaSDKMetadataTagMatrix(value.Tags),
99
+ "description": nestiaSDKOptionalString(value.Description),
100
+ "jsDocTags": nestiaSDKJSDocTags(value.JsDocTags),
101
+ })
102
+ }
103
+ output = append(output, map[string]any{
104
+ "type": constant.Type,
105
+ "values": values,
106
+ })
107
+ }
108
+ return output
109
+ }
110
+
111
+ func nestiaSDKMetadataTemplates(
112
+ input []schemametadata.IMetadataSchema_ITemplate,
113
+ ) []any {
114
+ output := []any{}
115
+ for _, template := range input {
116
+ row := []any{}
117
+ for _, child := range template.Row {
118
+ row = append(row, nestiaSDKMetadataSchemaLiteral(child))
119
+ }
120
+ output = append(output, map[string]any{
121
+ "row": row,
122
+ "tags": nestiaSDKMetadataTagMatrix(template.Tags),
123
+ })
124
+ }
125
+ return output
126
+ }
127
+
128
+ func nestiaSDKMetadataEscaped(
129
+ input *schemametadata.IMetadataSchema_IEscaped,
130
+ ) any {
131
+ if input == nil {
132
+ return nestiaSDKLiteralNull
133
+ }
134
+ return map[string]any{
135
+ "original": nestiaSDKMetadataSchemaLiteral(input.Original),
136
+ "returns": nestiaSDKMetadataSchemaLiteral(input.Returns),
137
+ }
138
+ }
139
+
140
+ func nestiaSDKMetadataReferences(
141
+ input []schemametadata.IMetadataSchema_IReference,
142
+ ) []any {
143
+ output := []any{}
144
+ for _, ref := range input {
145
+ output = append(output, map[string]any{
146
+ "name": ref.Name,
147
+ "tags": nestiaSDKMetadataTagMatrix(ref.Tags),
148
+ })
149
+ }
150
+ return output
151
+ }
152
+
153
+ func nestiaSDKMetadataSets(input []schemametadata.IMetadataSchema_ISet) []any {
154
+ output := []any{}
155
+ for _, set := range input {
156
+ output = append(output, map[string]any{
157
+ "value": nestiaSDKMetadataSchemaLiteral(set.Value),
158
+ "tags": nestiaSDKMetadataTagMatrix(set.Tags),
159
+ })
160
+ }
161
+ return output
162
+ }
163
+
164
+ func nestiaSDKMetadataMaps(input []schemametadata.IMetadataSchema_IMap) []any {
165
+ output := []any{}
166
+ for _, entry := range input {
167
+ output = append(output, map[string]any{
168
+ "key": nestiaSDKMetadataSchemaLiteral(entry.Key),
169
+ "value": nestiaSDKMetadataSchemaLiteral(entry.Value),
170
+ "tags": nestiaSDKMetadataTagMatrix(entry.Tags),
171
+ })
172
+ }
173
+ return output
174
+ }
175
+
176
+ func nestiaSDKMetadataObjectTypes(
177
+ input []schemametadata.IMetadataSchema_IObjectType,
178
+ ) []any {
179
+ output := []any{}
180
+ for _, object := range input {
181
+ properties := []any{}
182
+ for _, property := range object.Properties {
183
+ if property == nil {
184
+ continue
185
+ }
186
+ properties = append(properties, map[string]any{
187
+ "key": nestiaSDKMetadataSchemaLiteral(property.Key),
188
+ "value": nestiaSDKMetadataSchemaLiteral(property.Value),
189
+ "description": nestiaSDKOptionalString(property.Description),
190
+ "jsDocTags": nestiaSDKJSDocTags(property.JsDocTags),
191
+ "mutability": nestiaSDKOptionalString(property.Mutability),
192
+ })
193
+ }
194
+ output = append(output, map[string]any{
195
+ "name": object.Name,
196
+ "properties": properties,
197
+ "description": nestiaSDKOptionalString(object.Description),
198
+ "jsDocTags": nestiaSDKJSDocTags(object.JsDocTags),
199
+ "index": object.Index,
200
+ "recursive": object.Recursive,
201
+ "nullables": nestiaSDKBoolArray(object.Nullables),
202
+ })
203
+ }
204
+ return output
205
+ }
206
+
207
+ func nestiaSDKMetadataAliasTypes(
208
+ input []schemametadata.IMetadataSchema_IAliasType,
209
+ ) []any {
210
+ output := []any{}
211
+ for _, alias := range input {
212
+ output = append(output, map[string]any{
213
+ "name": alias.Name,
214
+ "value": nestiaSDKMetadataSchemaLiteral(alias.Value),
215
+ "description": nestiaSDKOptionalString(alias.Description),
216
+ "jsDocTags": nestiaSDKJSDocTags(alias.JsDocTags),
217
+ "recursive": alias.Recursive,
218
+ "nullables": nestiaSDKBoolArray(alias.Nullables),
219
+ })
220
+ }
221
+ return output
222
+ }
223
+
224
+ func nestiaSDKMetadataArrayTypes(
225
+ input []schemametadata.IMetadataSchema_IArrayType,
226
+ ) []any {
227
+ output := []any{}
228
+ for _, array := range input {
229
+ output = append(output, map[string]any{
230
+ "name": array.Name,
231
+ "value": nestiaSDKMetadataSchemaLiteral(array.Value),
232
+ "nullables": nestiaSDKBoolArray(array.Nullables),
233
+ "recursive": array.Recursive,
234
+ "index": nestiaSDKOptionalInt(array.Index),
235
+ })
236
+ }
237
+ return output
238
+ }
239
+
240
+ func nestiaSDKMetadataTupleTypes(
241
+ input []schemametadata.IMetadataSchema_ITupleType,
242
+ ) []any {
243
+ output := []any{}
244
+ for _, tuple := range input {
245
+ elements := []any{}
246
+ for _, elem := range tuple.Elements {
247
+ elements = append(elements, nestiaSDKMetadataSchemaLiteral(elem))
248
+ }
249
+ output = append(output, map[string]any{
250
+ "name": tuple.Name,
251
+ "elements": elements,
252
+ "index": nestiaSDKOptionalInt(tuple.Index),
253
+ "recursive": tuple.Recursive,
254
+ "nullables": nestiaSDKBoolArray(tuple.Nullables),
255
+ })
256
+ }
257
+ return output
258
+ }
259
+
260
+ func nestiaSDKMetadataTagMatrix(
261
+ input [][]schemametadata.IMetadataTypeTag,
262
+ ) []any {
263
+ output := []any{}
264
+ for _, row := range input {
265
+ items := []any{}
266
+ for _, tag := range row {
267
+ items = append(items, nestiaSDKMetadataTypeTag(tag))
268
+ }
269
+ output = append(output, items)
270
+ }
271
+ return output
272
+ }
273
+
274
+ func nestiaSDKMetadataTypeTag(tag schemametadata.IMetadataTypeTag) map[string]any {
275
+ output := map[string]any{
276
+ "target": tag.Target,
277
+ "name": tag.Name,
278
+ "kind": tag.Kind,
279
+ "exclusive": tag.Exclusive,
280
+ "value": tag.Value,
281
+ "schema": tag.Schema,
282
+ }
283
+ if tag.Validate != "" {
284
+ output["validate"] = tag.Validate
285
+ }
286
+ return output
287
+ }
288
+
289
+ func nestiaSDKJSDocTags(input []schemametadata.IJsDocTagInfo) []any {
290
+ output := []any{}
291
+ for _, tag := range input {
292
+ text := []any{}
293
+ for _, item := range tag.Text {
294
+ text = append(text, map[string]any{
295
+ "text": item.Text,
296
+ "kind": item.Kind,
297
+ })
298
+ }
299
+ output = append(output, map[string]any{
300
+ "name": tag.Name,
301
+ "text": text,
302
+ })
303
+ }
304
+ return output
305
+ }
306
+
307
+ func nestiaSDKBoolArray(input []bool) []any {
308
+ output := []any{}
309
+ for _, value := range input {
310
+ output = append(output, value)
311
+ }
312
+ return output
313
+ }
314
+
315
+ func nestiaSDKOptionalString(input *string) any {
316
+ if input == nil {
317
+ return nestiaSDKLiteralNull
318
+ }
319
+ return *input
320
+ }
321
+
322
+ func nestiaSDKOptionalInt(input *int) any {
323
+ if input == nil {
324
+ return nestiaSDKLiteralNull
325
+ }
326
+ return *input
327
+ }