typia 7.0.0-dev.20240916 → 7.0.0-dev.20240918

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 (170) hide show
  1. package/lib/factories/JsonMetadataFactory.d.ts +7 -1
  2. package/lib/factories/JsonMetadataFactory.js +17 -15
  3. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  4. package/lib/factories/MetadataFactory.d.ts +14 -2
  5. package/lib/factories/MetadataFactory.js +287 -324
  6. package/lib/factories/MetadataFactory.js.map +1 -1
  7. package/lib/factories/ProtobufFactory.d.ts +8 -1
  8. package/lib/factories/ProtobufFactory.js +22 -17
  9. package/lib/factories/ProtobufFactory.js.map +1 -1
  10. package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +13 -0
  11. package/lib/factories/internal/metadata/IMetadataIteratorProps.js +3 -0
  12. package/lib/factories/internal/metadata/IMetadataIteratorProps.js.map +1 -0
  13. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -4
  14. package/lib/factories/internal/metadata/emplace_metadata_alias.js +10 -18
  15. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  16. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +6 -3
  17. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +10 -18
  18. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  19. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +2 -4
  20. package/lib/factories/internal/metadata/emplace_metadata_object.js +171 -158
  21. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  22. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -3
  23. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +26 -34
  24. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  25. package/lib/factories/internal/metadata/explore_metadata.d.ts +6 -3
  26. package/lib/factories/internal/metadata/explore_metadata.js +24 -21
  27. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata.d.ts +2 -5
  29. package/lib/factories/internal/metadata/iterate_metadata.js +27 -36
  30. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  31. package/lib/factories/internal/metadata/iterate_metadata_alias.d.ts +2 -5
  32. package/lib/factories/internal/metadata/iterate_metadata_alias.js +11 -19
  33. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  34. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +2 -5
  35. package/lib/factories/internal/metadata/iterate_metadata_array.js +59 -56
  36. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_atomic.d.ts +4 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +3 -3
  39. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  40. package/lib/factories/internal/metadata/iterate_metadata_coalesce.d.ts +4 -1
  41. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +5 -5
  42. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  43. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +4 -1
  44. package/lib/factories/internal/metadata/iterate_metadata_collection.js +119 -121
  45. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +4 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +7 -7
  48. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_constant.d.ts +2 -4
  50. package/lib/factories/internal/metadata/iterate_metadata_constant.js +39 -43
  51. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_escape.d.ts +2 -5
  53. package/lib/factories/internal/metadata/iterate_metadata_escape.js +15 -23
  54. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_function.d.ts +2 -5
  56. package/lib/factories/internal/metadata/iterate_metadata_function.js +43 -51
  57. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  58. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.ts +2 -5
  59. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +142 -152
  60. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  61. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +2 -5
  62. package/lib/factories/internal/metadata/iterate_metadata_map.js +15 -23
  63. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  64. package/lib/factories/internal/metadata/iterate_metadata_native.d.ts +2 -3
  65. package/lib/factories/internal/metadata/iterate_metadata_native.js +42 -36
  66. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  67. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +2 -5
  68. package/lib/factories/internal/metadata/iterate_metadata_object.js +12 -20
  69. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +2 -5
  71. package/lib/factories/internal/metadata/iterate_metadata_set.js +11 -19
  72. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  73. package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +4 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_sort.js +112 -95
  75. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +2 -5
  77. package/lib/factories/internal/metadata/iterate_metadata_template.js +17 -25
  78. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +2 -4
  80. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +9 -17
  81. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +2 -5
  83. package/lib/factories/internal/metadata/iterate_metadata_union.js +7 -15
  84. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  85. package/lib/programmers/CheckerProgrammer.js +11 -5
  86. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  87. package/lib/programmers/RandomProgrammer.js +18 -12
  88. package/lib/programmers/RandomProgrammer.js.map +1 -1
  89. package/lib/programmers/http/HttpFormDataProgrammer.js +12 -6
  90. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  91. package/lib/programmers/http/HttpHeadersProgrammer.js +12 -6
  92. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  93. package/lib/programmers/http/HttpParameterProgrammer.js +12 -6
  94. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  95. package/lib/programmers/http/HttpQueryProgrammer.js +14 -6
  96. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  97. package/lib/programmers/json/JsonStringifyProgrammer.js +6 -1
  98. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  99. package/lib/programmers/misc/MiscCloneProgrammer.js +18 -12
  100. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  101. package/lib/programmers/misc/MiscLiteralsProgrammer.js +21 -15
  102. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  103. package/lib/programmers/misc/MiscPruneProgrammer.js +11 -5
  104. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  105. package/lib/programmers/notations/NotationGeneralProgrammer.js +11 -5
  106. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  107. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +7 -1
  108. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  109. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +7 -1
  110. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  111. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +7 -1
  112. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  113. package/lib/transformers/features/json/JsonApplicationTransformer.js +12 -6
  114. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  115. package/lib/transformers/features/llm/LlmApplicationTransformer.js +13 -7
  116. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  117. package/lib/transformers/features/llm/LlmSchemaTransformer.js +12 -6
  118. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  119. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +12 -6
  120. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  121. package/lib/transformers/features/reflect/ReflectNameTransformer.js +11 -5
  122. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  123. package/package.json +1 -1
  124. package/src/factories/JsonMetadataFactory.ts +21 -14
  125. package/src/factories/MetadataFactory.ts +269 -184
  126. package/src/factories/ProtobufFactory.ts +23 -16
  127. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +16 -0
  128. package/src/factories/internal/metadata/emplace_metadata_alias.ts +22 -31
  129. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +26 -29
  130. package/src/factories/internal/metadata/emplace_metadata_object.ts +163 -144
  131. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +39 -40
  132. package/src/factories/internal/metadata/explore_metadata.ts +22 -20
  133. package/src/factories/internal/metadata/iterate_metadata.ts +31 -80
  134. package/src/factories/internal/metadata/iterate_metadata_alias.ts +18 -24
  135. package/src/factories/internal/metadata/iterate_metadata_array.ts +51 -51
  136. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +6 -6
  137. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +8 -8
  138. package/src/factories/internal/metadata/iterate_metadata_collection.ts +128 -114
  139. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +24 -22
  140. package/src/factories/internal/metadata/iterate_metadata_constant.ts +63 -63
  141. package/src/factories/internal/metadata/iterate_metadata_escape.ts +35 -40
  142. package/src/factories/internal/metadata/iterate_metadata_function.ts +70 -74
  143. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +182 -182
  144. package/src/factories/internal/metadata/iterate_metadata_map.ts +37 -36
  145. package/src/factories/internal/metadata/iterate_metadata_native.ts +56 -43
  146. package/src/factories/internal/metadata/iterate_metadata_object.ts +18 -24
  147. package/src/factories/internal/metadata/iterate_metadata_set.ts +24 -30
  148. package/src/factories/internal/metadata/iterate_metadata_sort.ts +71 -62
  149. package/src/factories/internal/metadata/iterate_metadata_template.ts +29 -31
  150. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +16 -27
  151. package/src/factories/internal/metadata/iterate_metadata_union.ts +16 -24
  152. package/src/programmers/CheckerProgrammer.ts +11 -8
  153. package/src/programmers/RandomProgrammer.ts +18 -15
  154. package/src/programmers/http/HttpFormDataProgrammer.ts +12 -9
  155. package/src/programmers/http/HttpHeadersProgrammer.ts +12 -9
  156. package/src/programmers/http/HttpParameterProgrammer.ts +12 -9
  157. package/src/programmers/http/HttpQueryProgrammer.ts +13 -9
  158. package/src/programmers/json/JsonStringifyProgrammer.ts +6 -4
  159. package/src/programmers/misc/MiscCloneProgrammer.ts +18 -15
  160. package/src/programmers/misc/MiscLiteralsProgrammer.ts +20 -17
  161. package/src/programmers/misc/MiscPruneProgrammer.ts +11 -8
  162. package/src/programmers/notations/NotationGeneralProgrammer.ts +11 -8
  163. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +7 -4
  164. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +7 -4
  165. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +7 -4
  166. package/src/transformers/features/json/JsonApplicationTransformer.ts +12 -9
  167. package/src/transformers/features/llm/LlmApplicationTransformer.ts +13 -10
  168. package/src/transformers/features/llm/LlmSchemaTransformer.ts +12 -9
  169. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +12 -9
  170. package/src/transformers/features/reflect/ReflectNameTransformer.ts +11 -8
@@ -60,37 +60,42 @@ var iterate_metadata_sort_1 = require("./internal/metadata/iterate_metadata_sort
60
60
  var ExpressionFactory_1 = require("./ExpressionFactory");
61
61
  var MetadataFactory;
62
62
  (function (MetadataFactory) {
63
- MetadataFactory.analyze = function (checker, context) {
64
- return function (options) {
65
- return function (collection) {
66
- return function (type) {
67
- var errors = [];
68
- var meta = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(errors)(type, {
69
- top: true,
70
- object: null,
71
- property: null,
72
- parameter: null,
73
- nested: null,
74
- aliased: false,
75
- escaped: false,
76
- output: false,
77
- });
78
- (0, iterate_metadata_collection_1.iterate_metadata_collection)(errors)(collection);
79
- (0, iterate_metadata_sort_1.iterate_metadata_sort)(collection)(meta);
80
- if (options.validate)
81
- errors.push.apply(errors, __spreadArray([], __read(MetadataFactory.validate(context)(options)(options.validate)(meta)), false));
82
- return errors.length
83
- ? {
84
- success: false,
85
- errors: errors,
86
- }
87
- : {
88
- success: true,
89
- data: meta,
90
- };
91
- };
63
+ MetadataFactory.analyze = function (props) {
64
+ var errors = [];
65
+ var metadata = (0, explore_metadata_1.explore_metadata)(__assign(__assign({}, props), { errors: errors, explore: {
66
+ top: true,
67
+ object: null,
68
+ property: null,
69
+ parameter: null,
70
+ nested: null,
71
+ aliased: false,
72
+ escaped: false,
73
+ output: false,
74
+ } }));
75
+ (0, iterate_metadata_collection_1.iterate_metadata_collection)({
76
+ errors: errors,
77
+ collection: props.collection,
78
+ });
79
+ (0, iterate_metadata_sort_1.iterate_metadata_sort)({
80
+ collection: props.collection,
81
+ metadata: metadata,
82
+ });
83
+ if (props.options.validate)
84
+ errors.push.apply(errors, __spreadArray([], __read(MetadataFactory.validate({
85
+ transformer: props.transformer,
86
+ options: props.options,
87
+ functor: props.options.validate,
88
+ metadata: metadata,
89
+ })), false));
90
+ return errors.length
91
+ ? {
92
+ success: false,
93
+ errors: errors,
94
+ }
95
+ : {
96
+ success: true,
97
+ data: metadata,
92
98
  };
93
- };
94
99
  };
95
100
  /**
96
101
  * @internal
@@ -108,319 +113,277 @@ var MetadataFactory;
108
113
  }));
109
114
  return meta;
110
115
  };
111
- MetadataFactory.validate = function (context) {
112
- return function (options) {
113
- return function (functor) {
114
- return function (meta) {
115
- var visitor = {
116
- functor: functor,
117
- errors: [],
118
- objects: new Set(),
119
- arrays: new Set(),
120
- tuples: new Set(),
121
- aliases: new Set(),
122
- functions: new Set(),
123
- };
124
- validateMeta(context)(options)(visitor)(meta, {
125
- object: null,
126
- property: null,
127
- parameter: null,
128
- nested: null,
129
- top: true,
130
- aliased: false,
131
- escaped: false,
132
- output: false,
133
- });
134
- return visitor.errors;
135
- };
136
- };
116
+ MetadataFactory.validate = function (props) {
117
+ var visitor = {
118
+ functor: props.functor,
119
+ errors: [],
120
+ objects: new Set(),
121
+ arrays: new Set(),
122
+ tuples: new Set(),
123
+ aliases: new Set(),
124
+ functions: new Set(),
137
125
  };
126
+ validateMeta(__assign(__assign({}, props), { visitor: visitor, explore: {
127
+ object: null,
128
+ property: null,
129
+ parameter: null,
130
+ nested: null,
131
+ top: true,
132
+ aliased: false,
133
+ escaped: false,
134
+ output: false,
135
+ } }));
136
+ return visitor.errors;
138
137
  };
139
- var validateMeta = function (context) {
140
- return function (options) {
141
- return function (visitor) {
142
- return function (meta, explore) {
143
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j, e_10, _k;
144
- var result = [];
145
- if (context !== undefined)
146
- try {
147
- for (var _l = __values(meta.atomics), _m = _l.next(); !_m.done; _m = _l.next()) {
148
- var atomic = _m.value;
149
- try {
150
- for (var _o = (e_2 = void 0, __values(atomic.tags)), _p = _o.next(); !_p.done; _p = _o.next()) {
151
- var row = _p.value;
152
- try {
153
- for (var _q = (e_3 = void 0, __values(row.filter(function (t) { return t.validate !== undefined && t.predicate === undefined; }))), _r = _q.next(); !_r.done; _r = _q.next()) {
154
- var tag = _r.value;
155
- try {
156
- tag.predicate = ExpressionFactory_1.ExpressionFactory.transpile(context)(tag.validate);
157
- }
158
- catch (_s) {
159
- result.push("Unable to transpile type tag script: ".concat(JSON.stringify(tag.validate)));
160
- tag.predicate = function () { return typescript_1.default.factory.createTrue(); };
161
- }
162
- }
163
- }
164
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
165
- finally {
166
- try {
167
- if (_r && !_r.done && (_c = _q.return)) _c.call(_q);
168
- }
169
- finally { if (e_3) throw e_3.error; }
170
- }
171
- }
172
- }
173
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
174
- finally {
138
+ var validateMeta = function (props) {
139
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j, e_10, _k;
140
+ var result = [];
141
+ if (props.transformer !== undefined)
142
+ try {
143
+ for (var _l = __values(props.metadata.atomics), _m = _l.next(); !_m.done; _m = _l.next()) {
144
+ var atomic = _m.value;
145
+ try {
146
+ for (var _o = (e_2 = void 0, __values(atomic.tags)), _p = _o.next(); !_p.done; _p = _o.next()) {
147
+ var row = _p.value;
148
+ try {
149
+ for (var _q = (e_3 = void 0, __values(row.filter(function (t) { return t.validate !== undefined && t.predicate === undefined; }))), _r = _q.next(); !_r.done; _r = _q.next()) {
150
+ var tag = _r.value;
175
151
  try {
176
- if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
152
+ tag.predicate = ExpressionFactory_1.ExpressionFactory.transpile(props.transformer)(tag.validate);
153
+ }
154
+ catch (_s) {
155
+ result.push("Unable to transpile type tag script: ".concat(JSON.stringify(tag.validate)));
156
+ tag.predicate = function () { return typescript_1.default.factory.createTrue(); };
177
157
  }
178
- finally { if (e_2) throw e_2.error; }
179
158
  }
180
159
  }
181
- }
182
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
183
- finally {
184
- try {
185
- if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
160
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
161
+ finally {
162
+ try {
163
+ if (_r && !_r.done && (_c = _q.return)) _c.call(_q);
164
+ }
165
+ finally { if (e_3) throw e_3.error; }
186
166
  }
187
- finally { if (e_1) throw e_1.error; }
188
- }
189
- result.push.apply(result, __spreadArray([], __read(visitor.functor(meta, explore)), false));
190
- if (result.length)
191
- visitor.errors.push({
192
- name: meta.getName(),
193
- explore: __assign({}, explore),
194
- messages: __spreadArray([], __read(new Set(result)), false),
195
- });
196
- try {
197
- for (var _t = __values(meta.aliases), _u = _t.next(); !_u.done; _u = _t.next()) {
198
- var alias = _u.value;
199
- validateAlias(context)(options)(visitor)(alias, explore);
200
167
  }
201
168
  }
202
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
169
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
203
170
  finally {
204
171
  try {
205
- if (_u && !_u.done && (_d = _t.return)) _d.call(_t);
172
+ if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
206
173
  }
207
- finally { if (e_4) throw e_4.error; }
174
+ finally { if (e_2) throw e_2.error; }
208
175
  }
209
- try {
210
- for (var _v = __values(meta.arrays), _w = _v.next(); !_w.done; _w = _v.next()) {
211
- var array = _w.value;
212
- validateArray(context)(options)(visitor)(array.type, explore);
213
- }
214
- }
215
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
216
- finally {
217
- try {
218
- if (_w && !_w.done && (_e = _v.return)) _e.call(_v);
219
- }
220
- finally { if (e_5) throw e_5.error; }
221
- }
222
- try {
223
- for (var _x = __values(meta.tuples), _y = _x.next(); !_y.done; _y = _x.next()) {
224
- var tuple = _y.value;
225
- validateTuple(context)(options)(visitor)(tuple.type, explore);
226
- }
227
- }
228
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
229
- finally {
230
- try {
231
- if (_y && !_y.done && (_f = _x.return)) _f.call(_x);
232
- }
233
- finally { if (e_6) throw e_6.error; }
234
- }
235
- try {
236
- for (var _z = __values(meta.objects), _0 = _z.next(); !_0.done; _0 = _z.next()) {
237
- var obj = _0.value;
238
- validateObject(context)(options)(visitor)(obj);
239
- }
240
- }
241
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
242
- finally {
243
- try {
244
- if (_0 && !_0.done && (_g = _z.return)) _g.call(_z);
245
- }
246
- finally { if (e_7) throw e_7.error; }
247
- }
248
- try {
249
- for (var _1 = __values(meta.functions), _2 = _1.next(); !_2.done; _2 = _1.next()) {
250
- var func = _2.value;
251
- validateFunction(context)(options)(visitor)(func, explore);
252
- }
253
- }
254
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
255
- finally {
256
- try {
257
- if (_2 && !_2.done && (_h = _1.return)) _h.call(_1);
258
- }
259
- finally { if (e_8) throw e_8.error; }
260
- }
261
- try {
262
- for (var _3 = __values(meta.sets), _4 = _3.next(); !_4.done; _4 = _3.next()) {
263
- var set = _4.value;
264
- validateMeta(context)(options)(visitor)(set, explore);
265
- }
266
- }
267
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
268
- finally {
269
- try {
270
- if (_4 && !_4.done && (_j = _3.return)) _j.call(_3);
271
- }
272
- finally { if (e_9) throw e_9.error; }
273
- }
274
- try {
275
- for (var _5 = __values(meta.maps), _6 = _5.next(); !_6.done; _6 = _5.next()) {
276
- var map = _6.value;
277
- validateMeta(context)(options)(visitor)(map.key, explore);
278
- validateMeta(context)(options)(visitor)(map.value, explore);
279
- }
280
- }
281
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
282
- finally {
283
- try {
284
- if (_6 && !_6.done && (_k = _5.return)) _k.call(_5);
285
- }
286
- finally { if (e_10) throw e_10.error; }
287
- }
288
- if (options.escape === true && meta.escaped !== null)
289
- validateMeta(context)(options)(visitor)(meta.escaped.returns, __assign(__assign({}, explore), { escaped: true }));
290
- };
291
- };
292
- };
176
+ }
177
+ }
178
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
179
+ finally {
180
+ try {
181
+ if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
182
+ }
183
+ finally { if (e_1) throw e_1.error; }
184
+ }
185
+ result.push.apply(result, __spreadArray([], __read(props.visitor.functor(props.metadata, props.explore)), false));
186
+ if (result.length)
187
+ props.visitor.errors.push({
188
+ name: props.metadata.getName(),
189
+ explore: __assign({}, props.explore),
190
+ messages: __spreadArray([], __read(new Set(result)), false),
191
+ });
192
+ try {
193
+ for (var _t = __values(props.metadata.aliases), _u = _t.next(); !_u.done; _u = _t.next()) {
194
+ var alias = _u.value;
195
+ validateAlias(__assign(__assign({}, props), { alias: alias }));
196
+ }
197
+ }
198
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
199
+ finally {
200
+ try {
201
+ if (_u && !_u.done && (_d = _t.return)) _d.call(_t);
202
+ }
203
+ finally { if (e_4) throw e_4.error; }
204
+ }
205
+ try {
206
+ for (var _v = __values(props.metadata.arrays), _w = _v.next(); !_w.done; _w = _v.next()) {
207
+ var array = _w.value;
208
+ validateArray(__assign(__assign({}, props), { array: array.type }));
209
+ }
210
+ }
211
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
212
+ finally {
213
+ try {
214
+ if (_w && !_w.done && (_e = _v.return)) _e.call(_v);
215
+ }
216
+ finally { if (e_5) throw e_5.error; }
217
+ }
218
+ try {
219
+ for (var _x = __values(props.metadata.tuples), _y = _x.next(); !_y.done; _y = _x.next()) {
220
+ var tuple = _y.value;
221
+ validateTuple(__assign(__assign({}, props), { tuple: tuple.type }));
222
+ }
223
+ }
224
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
225
+ finally {
226
+ try {
227
+ if (_y && !_y.done && (_f = _x.return)) _f.call(_x);
228
+ }
229
+ finally { if (e_6) throw e_6.error; }
230
+ }
231
+ try {
232
+ for (var _z = __values(props.metadata.objects), _0 = _z.next(); !_0.done; _0 = _z.next()) {
233
+ var object = _0.value;
234
+ validateObject(__assign(__assign({}, props), { object: object }));
235
+ }
236
+ }
237
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
238
+ finally {
239
+ try {
240
+ if (_0 && !_0.done && (_g = _z.return)) _g.call(_z);
241
+ }
242
+ finally { if (e_7) throw e_7.error; }
243
+ }
244
+ try {
245
+ for (var _1 = __values(props.metadata.functions), _2 = _1.next(); !_2.done; _2 = _1.next()) {
246
+ var func = _2.value;
247
+ validateFunction(__assign(__assign({}, props), { function: func }));
248
+ }
249
+ }
250
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
251
+ finally {
252
+ try {
253
+ if (_2 && !_2.done && (_h = _1.return)) _h.call(_1);
254
+ }
255
+ finally { if (e_8) throw e_8.error; }
256
+ }
257
+ try {
258
+ for (var _3 = __values(props.metadata.sets), _4 = _3.next(); !_4.done; _4 = _3.next()) {
259
+ var set = _4.value;
260
+ validateMeta(__assign(__assign({}, props), { metadata: set }));
261
+ }
262
+ }
263
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
264
+ finally {
265
+ try {
266
+ if (_4 && !_4.done && (_j = _3.return)) _j.call(_3);
267
+ }
268
+ finally { if (e_9) throw e_9.error; }
269
+ }
270
+ try {
271
+ for (var _5 = __values(props.metadata.maps), _6 = _5.next(); !_6.done; _6 = _5.next()) {
272
+ var map = _6.value;
273
+ validateMeta(__assign(__assign({}, props), { metadata: map.key }));
274
+ validateMeta(__assign(__assign({}, props), { metadata: map.value }));
275
+ }
276
+ }
277
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
278
+ finally {
279
+ try {
280
+ if (_6 && !_6.done && (_k = _5.return)) _k.call(_5);
281
+ }
282
+ finally { if (e_10) throw e_10.error; }
283
+ }
284
+ if (props.options.escape === true && props.metadata.escaped !== null)
285
+ validateMeta(__assign(__assign({}, props), { metadata: props.metadata.escaped.returns, explore: __assign(__assign({}, props.explore), { escaped: true }) }));
293
286
  };
294
- var validateAlias = function (context) {
295
- return function (options) {
296
- return function (visitor) {
297
- return function (alias, explore) {
298
- if (visitor.aliases.has(alias))
299
- return;
300
- visitor.aliases.add(alias);
301
- validateMeta(context)(options)(visitor)(alias.value, __assign(__assign({}, explore), { nested: alias, aliased: true }));
302
- };
303
- };
304
- };
287
+ var validateAlias = function (props) {
288
+ if (props.visitor.aliases.has(props.alias))
289
+ return;
290
+ props.visitor.aliases.add(props.alias);
291
+ validateMeta(__assign(__assign({}, props), { metadata: props.alias.value, explore: __assign(__assign({}, props.explore), { nested: props.alias, aliased: true }) }));
305
292
  };
306
- var validateArray = function (context) {
307
- return function (options) {
308
- return function (visitor) {
309
- return function (array, explore) {
310
- if (visitor.arrays.has(array))
311
- return;
312
- visitor.arrays.add(array);
313
- validateMeta(context)(options)(visitor)(array.value, __assign(__assign({}, explore), { nested: array, top: false }));
314
- };
315
- };
316
- };
293
+ var validateArray = function (props) {
294
+ if (props.visitor.arrays.has(props.array))
295
+ return;
296
+ props.visitor.arrays.add(props.array);
297
+ validateMeta(__assign(__assign({}, props), { metadata: props.array.value, explore: __assign(__assign({}, props.explore), { nested: props.array, top: false }) }));
317
298
  };
318
- var validateTuple = function (context) {
319
- return function (options) {
320
- return function (visitor) {
321
- return function (tuple, explore) {
322
- var e_11, _a;
323
- if (visitor.tuples.has(tuple))
324
- return;
325
- visitor.tuples.add(tuple);
326
- try {
327
- for (var _b = __values(tuple.elements), _c = _b.next(); !_c.done; _c = _b.next()) {
328
- var elem = _c.value;
329
- validateMeta(context)(options)(visitor)(elem, __assign(__assign({}, explore), { nested: tuple, top: false }));
330
- }
331
- }
332
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
333
- finally {
334
- try {
335
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
336
- }
337
- finally { if (e_11) throw e_11.error; }
338
- }
339
- };
340
- };
341
- };
299
+ var validateTuple = function (props) {
300
+ var e_11, _a;
301
+ if (props.visitor.tuples.has(props.tuple))
302
+ return;
303
+ props.visitor.tuples.add(props.tuple);
304
+ try {
305
+ for (var _b = __values(props.tuple.elements), _c = _b.next(); !_c.done; _c = _b.next()) {
306
+ var elem = _c.value;
307
+ validateMeta(__assign(__assign({}, props), { metadata: elem, explore: __assign(__assign({}, props.explore), { nested: props.tuple, top: false }) }));
308
+ }
309
+ }
310
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
311
+ finally {
312
+ try {
313
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
314
+ }
315
+ finally { if (e_11) throw e_11.error; }
316
+ }
342
317
  };
343
- var validateObject = function (context) {
344
- return function (options) {
345
- return function (visitor) {
346
- return function (object) {
347
- var e_12, _a;
348
- if (visitor.objects.has(object))
349
- return;
350
- visitor.objects.add(object);
351
- if (options.validate) {
352
- var explore = {
353
- object: object,
354
- top: false,
355
- property: null,
356
- parameter: null,
357
- nested: null,
358
- aliased: false,
359
- escaped: false,
360
- output: false,
361
- };
362
- var errors = options.validate(Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { objects: [object] })), explore);
363
- if (errors.length)
364
- visitor.errors.push({
365
- name: object.name,
366
- explore: explore,
367
- messages: __spreadArray([], __read(new Set(errors)), false),
368
- });
369
- }
370
- try {
371
- for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
372
- var property = _c.value;
373
- validateMeta(context)(options)(visitor)(property.value, {
374
- object: object,
375
- property: property.key.isSoleLiteral()
376
- ? property.key.getSoleLiteral()
377
- : {},
378
- parameter: null,
379
- nested: null,
380
- top: false,
381
- aliased: false,
382
- escaped: false,
383
- output: false,
384
- });
385
- }
386
- }
387
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
388
- finally {
389
- try {
390
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
391
- }
392
- finally { if (e_12) throw e_12.error; }
393
- }
394
- };
318
+ var validateObject = function (props) {
319
+ var e_12, _a;
320
+ if (props.visitor.objects.has(props.object))
321
+ return;
322
+ props.visitor.objects.add(props.object);
323
+ if (props.options.validate) {
324
+ var explore = {
325
+ object: props.object,
326
+ top: false,
327
+ property: null,
328
+ parameter: null,
329
+ nested: null,
330
+ aliased: false,
331
+ escaped: false,
332
+ output: false,
395
333
  };
396
- };
334
+ var errors = props.options.validate(Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { objects: [props.object] })), explore);
335
+ if (errors.length)
336
+ props.visitor.errors.push({
337
+ name: props.object.name,
338
+ explore: explore,
339
+ messages: __spreadArray([], __read(new Set(errors)), false),
340
+ });
341
+ }
342
+ try {
343
+ for (var _b = __values(props.object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
344
+ var property = _c.value;
345
+ validateMeta(__assign(__assign({}, props), { metadata: property.value, explore: {
346
+ object: props.object,
347
+ property: property.key.isSoleLiteral()
348
+ ? property.key.getSoleLiteral()
349
+ : {},
350
+ parameter: null,
351
+ nested: null,
352
+ top: false,
353
+ aliased: false,
354
+ escaped: false,
355
+ output: false,
356
+ } }));
357
+ }
358
+ }
359
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
360
+ finally {
361
+ try {
362
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
363
+ }
364
+ finally { if (e_12) throw e_12.error; }
365
+ }
397
366
  };
398
- var validateFunction = function (context) {
399
- return function (options) {
400
- return function (visitor) {
401
- return function (func, explore) {
402
- var e_13, _a;
403
- if (visitor.functions.has(func))
404
- return;
405
- visitor.functions.add(func);
406
- try {
407
- for (var _b = __values(func.parameters), _c = _b.next(); !_c.done; _c = _b.next()) {
408
- var param = _c.value;
409
- validateMeta(context)(options)(visitor)(param.type, __assign(__assign({}, explore), { parameter: param.name, nested: null, top: false, output: false }));
410
- }
411
- }
412
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
413
- finally {
414
- try {
415
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
416
- }
417
- finally { if (e_13) throw e_13.error; }
418
- }
419
- if (func.output)
420
- validateMeta(context)(options)(visitor)(func.output, __assign(__assign({}, explore), { parameter: null, nested: null, top: false, output: true }));
421
- };
422
- };
423
- };
367
+ var validateFunction = function (props) {
368
+ var e_13, _a;
369
+ if (props.visitor.functions.has(props.function))
370
+ return;
371
+ props.visitor.functions.add(props.function);
372
+ try {
373
+ for (var _b = __values(props.function.parameters), _c = _b.next(); !_c.done; _c = _b.next()) {
374
+ var param = _c.value;
375
+ validateMeta(__assign(__assign({}, props), { metadata: param.type, explore: __assign(__assign({}, props.explore), { parameter: param.name, nested: null, top: false, output: false }) }));
376
+ }
377
+ }
378
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
379
+ finally {
380
+ try {
381
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
382
+ }
383
+ finally { if (e_13) throw e_13.error; }
384
+ }
385
+ if (props.function.output)
386
+ validateMeta(__assign(__assign({}, props), { metadata: props.function.output, explore: __assign(__assign({}, props.explore), { parameter: null, nested: null, top: false, output: true }) }));
424
387
  };
425
388
  })(MetadataFactory || (exports.MetadataFactory = MetadataFactory = {}));
426
389
  //# sourceMappingURL=MetadataFactory.js.map