typia 7.0.0-dev.20240923 → 7.0.0-dev.20240928

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 (57) hide show
  1. package/lib/index.mjs +1 -0
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/programmers/AssertProgrammer.d.ts +1 -1
  4. package/lib/programmers/AssertProgrammer.js +169 -127
  5. package/lib/programmers/AssertProgrammer.js.map +1 -1
  6. package/lib/programmers/CheckerProgrammer.d.ts +70 -15
  7. package/lib/programmers/CheckerProgrammer.js +998 -638
  8. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  9. package/lib/programmers/FeatureProgrammer.d.ts +7 -3
  10. package/lib/programmers/FeatureProgrammer.js +17 -17
  11. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  12. package/lib/programmers/IsProgrammer.d.ts +25 -4
  13. package/lib/programmers/IsProgrammer.js +54 -39
  14. package/lib/programmers/IsProgrammer.js.map +1 -1
  15. package/lib/programmers/ValidateProgrammer.js +110 -97
  16. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  17. package/lib/programmers/helpers/UnionExplorer.d.ts +1 -1
  18. package/lib/programmers/json/JsonStringifyProgrammer.js +71 -38
  19. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  20. package/lib/programmers/llm/LlmApplicationProgrammer.js +16 -2
  21. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  22. package/lib/programmers/misc/MiscCloneProgrammer.js +504 -406
  23. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  24. package/lib/programmers/misc/MiscLiteralsProgrammer.js +3 -3
  25. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  26. package/lib/programmers/misc/MiscPruneProgrammer.js +365 -301
  27. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  28. package/lib/programmers/notations/NotationGeneralProgrammer.js +62 -15
  29. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  30. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +17 -3
  31. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  32. package/lib/tags/Example.d.ts +14 -0
  33. package/lib/tags/Example.js +3 -0
  34. package/lib/tags/Example.js.map +1 -0
  35. package/lib/tags/Examples.d.ts +10 -0
  36. package/lib/tags/Examples.js +3 -0
  37. package/lib/tags/Examples.js.map +1 -0
  38. package/lib/tags/index.d.ts +2 -0
  39. package/lib/tags/index.js +2 -0
  40. package/lib/tags/index.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/programmers/AssertProgrammer.ts +185 -143
  43. package/src/programmers/CheckerProgrammer.ts +1380 -998
  44. package/src/programmers/FeatureProgrammer.ts +40 -34
  45. package/src/programmers/IsProgrammer.ts +94 -66
  46. package/src/programmers/ValidateProgrammer.ts +149 -137
  47. package/src/programmers/helpers/UnionExplorer.ts +1 -1
  48. package/src/programmers/json/JsonStringifyProgrammer.ts +60 -38
  49. package/src/programmers/llm/LlmApplicationProgrammer.ts +51 -32
  50. package/src/programmers/misc/MiscCloneProgrammer.ts +775 -600
  51. package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -4
  52. package/src/programmers/misc/MiscPruneProgrammer.ts +532 -415
  53. package/src/programmers/notations/NotationGeneralProgrammer.ts +64 -26
  54. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +16 -9
  55. package/src/tags/Example.ts +17 -0
  56. package/src/tags/Examples.ts +16 -0
  57. package/src/tags/index.ts +20 -18
@@ -63,19 +63,24 @@ var ValidateProgrammer;
63
63
  trace: true,
64
64
  numeric: OptionPredicator_1.OptionPredicator.numeric(props.context.options),
65
65
  equals: props.config.equals,
66
- atomist: function (explore) { return function (entry) { return function (input) {
67
- return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
66
+ atomist: function (next) {
67
+ return __spreadArray(__spreadArray([], __read((next.entry.expression ? [next.entry.expression] : [])), false), __read((next.entry.conditions.length === 0
68
68
  ? []
69
- : entry.conditions.length === 1
70
- ? entry.conditions[0].map(function (cond) {
71
- return typescript_1.default.factory.createLogicalOr(cond.expression, create_report_call(explore.from === "top"
72
- ? typescript_1.default.factory.createTrue()
73
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
74
- ? "_path + ".concat(explore.postfix)
75
- : "_path"), cond.expected, input));
69
+ : next.entry.conditions.length === 1
70
+ ? next.entry.conditions[0].map(function (cond) {
71
+ return typescript_1.default.factory.createLogicalOr(cond.expression, create_report_call({
72
+ exceptionable: next.explore.from === "top"
73
+ ? typescript_1.default.factory.createTrue()
74
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
75
+ path: typescript_1.default.factory.createIdentifier(next.explore.postfix
76
+ ? "_path + ".concat(next.explore.postfix)
77
+ : "_path"),
78
+ expected: cond.expected,
79
+ input: next.input,
80
+ }));
76
81
  })
77
82
  : [
78
- typescript_1.default.factory.createLogicalOr(entry.conditions
83
+ typescript_1.default.factory.createLogicalOr(next.entry.conditions
79
84
  .map(function (set) {
80
85
  return set
81
86
  .map(function (s) { return s.expression; })
@@ -83,15 +88,20 @@ var ValidateProgrammer;
83
88
  return typescript_1.default.factory.createLogicalAnd(a, b);
84
89
  });
85
90
  })
86
- .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), create_report_call(explore.from === "top"
87
- ? typescript_1.default.factory.createTrue()
88
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
89
- ? "_path + ".concat(explore.postfix)
90
- : "_path"), entry.expected, input)),
91
+ .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), create_report_call({
92
+ exceptionable: next.explore.from === "top"
93
+ ? typescript_1.default.factory.createTrue()
94
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
95
+ path: typescript_1.default.factory.createIdentifier(next.explore.postfix
96
+ ? "_path + ".concat(next.explore.postfix)
97
+ : "_path"),
98
+ expected: next.entry.expected,
99
+ input: next.input,
100
+ })),
91
101
  ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
92
- }; }; },
93
- combiner: combine(props.config.equals)(props.context)(props.importer),
94
- joiner: joiner(props.config.equals)(props.context)(props.importer),
102
+ },
103
+ combiner: combine(props),
104
+ joiner: joiner(props),
95
105
  success: typescript_1.default.factory.createTrue(),
96
106
  } }));
97
107
  var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any"))], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<".concat((_a = props.name) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.getFullName(props.context.checker)(props.type), ">")), undefined, typescript_1.default.factory.createBlock([
@@ -141,78 +151,82 @@ var ValidateProgrammer;
141
151
  });
142
152
  };
143
153
  })(ValidateProgrammer || (exports.ValidateProgrammer = ValidateProgrammer = {}));
144
- var combine = function (equals) {
145
- return function (project) {
146
- return function (importer) {
147
- return function (explore) {
148
- if (explore.tracable === false)
149
- return IsProgrammer_1.IsProgrammer.configure({
150
- object: validate_object(equals)(project)(importer),
151
- numeric: true,
152
- })(project)(importer).combiner(explore);
153
- var path = explore.postfix
154
- ? "_path + ".concat(explore.postfix)
155
- : "_path";
156
- return function (logic) { return function (input, binaries, expected) {
157
- return logic === "and"
158
- ? binaries
159
- .map(function (binary) {
160
- return binary.combined
161
- ? binary.expression
162
- : typescript_1.default.factory.createLogicalOr(binary.expression, create_report_call(explore.source === "top"
163
- ? typescript_1.default.factory.createTrue()
164
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
165
- })
166
- .reduce(typescript_1.default.factory.createLogicalAnd)
167
- : typescript_1.default.factory.createLogicalOr(binaries
168
- .map(function (binary) { return binary.expression; })
169
- .reduce(typescript_1.default.factory.createLogicalOr), create_report_call(explore.source === "top"
154
+ var combine = function (props) {
155
+ return function (next) {
156
+ if (next.explore.tracable === false)
157
+ return IsProgrammer_1.IsProgrammer.configure({
158
+ object: validate_object(props),
159
+ numeric: true,
160
+ })(props.context)(props.importer).combiner(next);
161
+ var path = next.explore.postfix
162
+ ? "_path + ".concat(next.explore.postfix)
163
+ : "_path";
164
+ return next.logic === "and"
165
+ ? next.binaries
166
+ .map(function (binary) {
167
+ return binary.combined
168
+ ? binary.expression
169
+ : typescript_1.default.factory.createLogicalOr(binary.expression, create_report_call({
170
+ exceptionable: next.explore.source === "top"
170
171
  ? typescript_1.default.factory.createTrue()
171
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
172
- }; };
173
- };
174
- };
175
- };
176
- };
177
- var validate_object = function (equals) {
178
- return function (project) {
179
- return function (importer) {
180
- return (0, check_object_1.check_object)({
181
- equals: equals,
182
- undefined: true,
183
- assert: false,
184
- reduce: typescript_1.default.factory.createLogicalAnd,
185
- positive: typescript_1.default.factory.createTrue(),
186
- superfluous: function (value) {
187
- return create_report_call()(typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("_path"), typescript_1.default.factory.createCallExpression(importer.use("join"), undefined, [
188
- typescript_1.default.factory.createIdentifier("key"),
189
- ])), "undefined", value);
190
- },
191
- halt: function (expr) {
192
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("_exceptionable")), expr);
193
- },
194
- })(project)(importer);
195
- };
196
- };
197
- };
198
- var joiner = function (equals) {
199
- return function (project) {
200
- return function (importer) { return ({
201
- object: validate_object(equals)(project)(importer),
202
- array: function (props) {
203
- return (0, check_everything_1.check_everything)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("map"), undefined, [props.arrow]));
204
- },
205
- failure: function (value, expected, explore) {
206
- return create_report_call((explore === null || explore === void 0 ? void 0 : explore.from) === "top"
172
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
173
+ path: typescript_1.default.factory.createIdentifier(path),
174
+ expected: next.expected,
175
+ input: next.input,
176
+ }));
177
+ })
178
+ .reduce(typescript_1.default.factory.createLogicalAnd)
179
+ : typescript_1.default.factory.createLogicalOr(next.binaries
180
+ .map(function (binary) { return binary.expression; })
181
+ .reduce(typescript_1.default.factory.createLogicalOr), create_report_call({
182
+ exceptionable: next.explore.source === "top"
207
183
  ? typescript_1.default.factory.createTrue()
208
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier((explore === null || explore === void 0 ? void 0 : explore.postfix) ? "_path + ".concat(explore.postfix) : "_path"), expected, value);
209
- },
210
- tuple: function (binaries) {
211
- return (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(binaries, true));
212
- },
213
- }); };
184
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
185
+ path: typescript_1.default.factory.createIdentifier(path),
186
+ expected: next.expected,
187
+ input: next.input,
188
+ }));
214
189
  };
215
190
  };
191
+ var validate_object = function (props) {
192
+ return (0, check_object_1.check_object)({
193
+ equals: props.config.equals,
194
+ undefined: true,
195
+ assert: false,
196
+ reduce: typescript_1.default.factory.createLogicalAnd,
197
+ positive: typescript_1.default.factory.createTrue(),
198
+ superfluous: function (input) {
199
+ return create_report_call({
200
+ path: typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("_path"), typescript_1.default.factory.createCallExpression(props.importer.use("join"), undefined, [typescript_1.default.factory.createIdentifier("key")])),
201
+ expected: "undefined",
202
+ input: input,
203
+ });
204
+ },
205
+ halt: function (expr) {
206
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("_exceptionable")), expr);
207
+ },
208
+ })(props.context)(props.importer);
209
+ };
210
+ var joiner = function (props) { return ({
211
+ object: validate_object(props),
212
+ array: function (props) {
213
+ return (0, check_everything_1.check_everything)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("map"), undefined, [props.arrow]));
214
+ },
215
+ failure: function (next) {
216
+ var _a, _b;
217
+ return create_report_call({
218
+ exceptionable: ((_a = next.explore) === null || _a === void 0 ? void 0 : _a.from) === "top"
219
+ ? typescript_1.default.factory.createTrue()
220
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
221
+ path: typescript_1.default.factory.createIdentifier(((_b = next.explore) === null || _b === void 0 ? void 0 : _b.postfix) ? "_path + ".concat(next.explore.postfix) : "_path"),
222
+ expected: next.expected,
223
+ input: next.input,
224
+ });
225
+ },
226
+ tuple: function (binaries) {
227
+ return (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(binaries, true));
228
+ },
229
+ }); };
216
230
  var create_output = function () {
217
231
  return typescript_1.default.factory.createObjectLiteralExpression([
218
232
  typescript_1.default.factory.createShorthandPropertyAssignment("success"),
@@ -220,16 +234,15 @@ var create_output = function () {
220
234
  typescript_1.default.factory.createPropertyAssignment("data", typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createIdentifier("success"), undefined, typescript_1.default.factory.createIdentifier("input"), undefined, typescript_1.default.factory.createIdentifier("undefined"))),
221
235
  ], true);
222
236
  };
223
- var create_report_call = function (exceptionable) {
224
- return function (path, expected, value) {
225
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("$report"), undefined, [
226
- exceptionable !== null && exceptionable !== void 0 ? exceptionable : typescript_1.default.factory.createIdentifier("_exceptionable"),
227
- typescript_1.default.factory.createObjectLiteralExpression([
228
- typescript_1.default.factory.createPropertyAssignment("path", path),
229
- typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
230
- typescript_1.default.factory.createPropertyAssignment("value", value),
231
- ], true),
232
- ]);
233
- };
237
+ var create_report_call = function (props) {
238
+ var _a;
239
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("$report"), undefined, [
240
+ (_a = props.exceptionable) !== null && _a !== void 0 ? _a : typescript_1.default.factory.createIdentifier("_exceptionable"),
241
+ typescript_1.default.factory.createObjectLiteralExpression([
242
+ typescript_1.default.factory.createPropertyAssignment("path", props.path),
243
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(props.expected)),
244
+ typescript_1.default.factory.createPropertyAssignment("value", props.input),
245
+ ], true),
246
+ ]);
234
247
  };
235
248
  //# sourceMappingURL=ValidateProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare namespace UnionExplorer {
21
21
  }
22
22
  const array_or_tuple: (props: array_or_tuple.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: (MetadataArray | MetadataTuple)[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction;
23
23
  namespace array_or_tuple {
24
- type IProps = check_union_array_like.IProps<MetadataArray | MetadataTuple, Metadata>;
24
+ type IProps = check_union_array_like.IProps<MetadataArray | MetadataTuple, Metadata | MetadataTuple>;
25
25
  }
26
26
  const set: (props: set.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: Metadata[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction;
27
27
  namespace set {
@@ -82,7 +82,11 @@ var JsonStringifyProgrammer;
82
82
  var config = configure(props);
83
83
  if (props.validated === false)
84
84
  config.addition = function (collection) {
85
- return IsProgrammer_1.IsProgrammer.write_function_statements(props.context)(props.importer)(collection);
85
+ return IsProgrammer_1.IsProgrammer.write_function_statements({
86
+ context: props.context,
87
+ importer: props.importer,
88
+ collection: collection,
89
+ });
86
90
  };
87
91
  var composed = FeatureProgrammer_1.FeatureProgrammer.compose(__assign(__assign({}, props), { config: config }));
88
92
  return {
@@ -188,7 +192,12 @@ var JsonStringifyProgrammer;
188
192
  is: props.metadata.escaped.original.size() === 1 &&
189
193
  props.metadata.escaped.original.natives[0] === "Date"
190
194
  ? function () { return (0, check_native_1.check_native)("Date")(props.input); }
191
- : function () { return IsProgrammer_1.IsProgrammer.decode_to_json(false)(props.input); },
195
+ : function () {
196
+ return IsProgrammer_1.IsProgrammer.decode_to_json({
197
+ checkNull: false,
198
+ input: props.input,
199
+ });
200
+ },
192
201
  value: function () {
193
202
  return decode_to_json(__assign(__assign({}, props), { metadata: props.metadata.escaped.returns }));
194
203
  },
@@ -207,7 +216,7 @@ var JsonStringifyProgrammer;
207
216
  unions.push({
208
217
  type: "template literal",
209
218
  is: function () {
210
- return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer)(props.input, partial_1, props.explore);
219
+ return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: partial_1 }));
211
220
  },
212
221
  value: function () {
213
222
  return decode_atomic(__assign(__assign({}, props), { type: "string" }));
@@ -224,14 +233,14 @@ var JsonStringifyProgrammer;
224
233
  unions.push({
225
234
  type: "atomic",
226
235
  is: function () {
227
- return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer)(props.input, (function () {
228
- var partial = Metadata_1.Metadata.initialize();
229
- partial.atomics.push(MetadataAtomic_1.MetadataAtomic.create({
230
- type: constant.type,
231
- tags: [],
232
- }));
233
- return partial;
234
- })(), props.explore);
236
+ return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: (function () {
237
+ var partial = Metadata_1.Metadata.initialize();
238
+ partial.atomics.push(MetadataAtomic_1.MetadataAtomic.create({
239
+ type: constant.type,
240
+ tags: [],
241
+ }));
242
+ return partial;
243
+ })() }));
235
244
  },
236
245
  value: function () {
237
246
  return decode_atomic(__assign(__assign({}, props), { type: constant.type }));
@@ -241,14 +250,14 @@ var JsonStringifyProgrammer;
241
250
  unions.push({
242
251
  type: "const string",
243
252
  is: function () {
244
- return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer)(props.input, (function () {
245
- var partial = Metadata_1.Metadata.initialize();
246
- partial.atomics.push(MetadataAtomic_1.MetadataAtomic.create({
247
- type: "string",
248
- tags: [],
249
- }));
250
- return partial;
251
- })(), props.explore);
253
+ return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: (function () {
254
+ var partial = Metadata_1.Metadata.initialize();
255
+ partial.atomics.push(MetadataAtomic_1.MetadataAtomic.create({
256
+ type: "string",
257
+ tags: [],
258
+ }));
259
+ return partial;
260
+ })() }));
252
261
  },
253
262
  value: function () {
254
263
  return decode_constant_string(__assign(__assign({}, props), { values: __spreadArray([], __read(constant.values.map(function (v) { return v.value; })), false) }));
@@ -277,11 +286,11 @@ var JsonStringifyProgrammer;
277
286
  unions.push({
278
287
  type: "atomic",
279
288
  is: function () {
280
- return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer)(props.input, (function () {
281
- var partial = Metadata_1.Metadata.initialize();
282
- partial.atomics.push(a);
283
- return partial;
284
- })(), props.explore);
289
+ return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: (function () {
290
+ var partial = Metadata_1.Metadata.initialize();
291
+ partial.atomics.push(a);
292
+ return partial;
293
+ })() }));
285
294
  },
286
295
  value: function () {
287
296
  return decode_atomic(__assign(__assign({}, props), { type: a.type }));
@@ -306,11 +315,11 @@ var JsonStringifyProgrammer;
306
315
  unions.push({
307
316
  type: "tuple",
308
317
  is: function () {
309
- return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer)(props.input, (function () {
310
- var partial = Metadata_1.Metadata.initialize();
311
- partial.tuples.push(tuple);
312
- return partial;
313
- })(), props.explore);
318
+ return IsProgrammer_1.IsProgrammer.decode(__assign(__assign({}, props), { metadata: (function () {
319
+ var partial = Metadata_1.Metadata.initialize();
320
+ partial.tuples.push(tuple);
321
+ return partial;
322
+ })() }));
314
323
  },
315
324
  value: function () {
316
325
  return decode_tuple(__assign(__assign({}, props), { tuple: tuple }));
@@ -342,7 +351,7 @@ var JsonStringifyProgrammer;
342
351
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.stringify"), undefined, [props.input]);
343
352
  }
344
353
  : function () {
345
- return explore_arrays(__assign(__assign({}, props), { elements: props.metadata.arrays, explore: __assign(__assign({}, props.explore), { from: "array" }) }));
354
+ return explore_arrays(__assign(__assign({}, props), { arrays: props.metadata.arrays, explore: __assign(__assign({}, props.explore), { from: "array" }) }));
346
355
  };
347
356
  unions.push({
348
357
  type: "array",
@@ -519,9 +528,17 @@ var JsonStringifyProgrammer;
519
528
  : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(PREFIX, "u").concat(props.metadata.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(props.explore)(props.input));
520
529
  };
521
530
  var explore_arrays = function (props) {
522
- return explore_array_like_union_types(__assign(__assign({}, props), { factory: function (next) {
531
+ return explore_array_like_union_types(__assign(__assign({}, props), { elements: props.arrays, factory: function (next) {
523
532
  return UnionExplorer_1.UnionExplorer.array({
524
- checker: IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer),
533
+ checker: function (input, metadata, explore) {
534
+ return IsProgrammer_1.IsProgrammer.decode({
535
+ context: props.context,
536
+ importer: props.importer,
537
+ metadata: metadata,
538
+ input: input,
539
+ explore: explore,
540
+ });
541
+ },
525
542
  decoder: function (input, array, explore) {
526
543
  return decode_array({
527
544
  config: props.config,
@@ -558,14 +575,14 @@ var JsonStringifyProgrammer;
558
575
  explore: props.explore,
559
576
  input: props.input,
560
577
  }), undefined, []);
561
- var explore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
578
+ var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
562
579
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.emplaceUnion(props.config.prefix, props.elements.map(function (e) { return e.type.name; }).join(" | "), function () {
563
580
  return arrow({
564
581
  parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")),
565
- explore: __assign(__assign({}, explore), { postfix: "" }),
582
+ explore: __assign(__assign({}, arrayExplore), { postfix: "" }),
566
583
  input: typescript_1.default.factory.createIdentifier("input"),
567
584
  });
568
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(explore)(props.input));
585
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(arrayExplore)(props.input));
569
586
  };
570
587
  /* -----------------------------------------------------------
571
588
  RETURN SCRIPTS
@@ -612,16 +629,24 @@ var JsonStringifyProgrammer;
612
629
  initializer: initializer,
613
630
  decoder: function () { return function (input, metadata, explore) {
614
631
  return decode({
615
- config: config,
616
632
  context: props.context,
617
633
  importer: props.importer,
634
+ config: config,
618
635
  input: input,
619
636
  metadata: metadata,
620
637
  explore: explore,
621
638
  });
622
639
  }; },
623
640
  objector: {
624
- checker: function () { return IsProgrammer_1.IsProgrammer.decode(props.context)(props.importer); },
641
+ checker: function () { return function (input, metadata, explore) {
642
+ return IsProgrammer_1.IsProgrammer.decode({
643
+ context: props.context,
644
+ importer: props.importer,
645
+ metadata: metadata,
646
+ input: input,
647
+ explore: explore,
648
+ });
649
+ }; },
625
650
  decoder: function () { return function (input, object, explore) {
626
651
  return decode_object({
627
652
  importer: props.importer,
@@ -633,7 +658,15 @@ var JsonStringifyProgrammer;
633
658
  joiner: function (next) {
634
659
  return StringifyJoinder_1.StringifyJoiner.object(__assign(__assign({}, next), { importer: props.importer }));
635
660
  },
636
- unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(props.context)(props.importer))(function (input, object, explore) {
661
+ unionizer: (0, decode_union_object_1.decode_union_object)(function (input, object, explore) {
662
+ return IsProgrammer_1.IsProgrammer.decode_object({
663
+ context: props.context,
664
+ importer: props.importer,
665
+ input: input,
666
+ object: object,
667
+ explore: explore,
668
+ });
669
+ })(function (input, object, explore) {
637
670
  return decode_object({
638
671
  importer: props.importer,
639
672
  input: input,