typia 13.0.0-dev.20260511 → 13.0.0-dev.20260514

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