typia 7.0.0-dev.20240928 → 7.0.0-dev.20240930

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 (40) hide show
  1. package/lib/factories/internal/metadata/emplace_metadata_object.js +2 -1
  2. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  3. package/lib/programmers/AssertProgrammer.js +14 -10
  4. package/lib/programmers/AssertProgrammer.js.map +1 -1
  5. package/lib/programmers/CheckerProgrammer.d.ts +5 -1
  6. package/lib/programmers/CheckerProgrammer.js +161 -135
  7. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  8. package/lib/programmers/FeatureProgrammer.d.ts +91 -28
  9. package/lib/programmers/FeatureProgrammer.js +158 -139
  10. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  11. package/lib/programmers/IsProgrammer.d.ts +5 -1
  12. package/lib/programmers/IsProgrammer.js +70 -67
  13. package/lib/programmers/IsProgrammer.js.map +1 -1
  14. package/lib/programmers/ValidateProgrammer.js +7 -3
  15. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  16. package/lib/programmers/helpers/UnionExplorer.js +31 -6
  17. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  18. package/lib/programmers/internal/feature_object_entries.js +18 -14
  19. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  20. package/lib/programmers/json/JsonStringifyProgrammer.js +101 -62
  21. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  22. package/lib/programmers/misc/MiscCloneProgrammer.js +101 -62
  23. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  24. package/lib/programmers/misc/MiscPruneProgrammer.js +97 -62
  25. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  26. package/lib/programmers/notations/NotationGeneralProgrammer.js +118 -60
  27. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/factories/internal/metadata/emplace_metadata_object.ts +2 -1
  30. package/src/programmers/AssertProgrammer.ts +14 -10
  31. package/src/programmers/CheckerProgrammer.ts +139 -134
  32. package/src/programmers/FeatureProgrammer.ts +324 -266
  33. package/src/programmers/IsProgrammer.ts +80 -77
  34. package/src/programmers/ValidateProgrammer.ts +7 -3
  35. package/src/programmers/helpers/UnionExplorer.ts +33 -12
  36. package/src/programmers/internal/feature_object_entries.ts +18 -15
  37. package/src/programmers/json/JsonStringifyProgrammer.ts +103 -76
  38. package/src/programmers/misc/MiscCloneProgrammer.ts +122 -95
  39. package/src/programmers/misc/MiscPruneProgrammer.ts +111 -90
  40. package/src/programmers/notations/NotationGeneralProgrammer.ts +138 -91
@@ -93,7 +93,11 @@ var MiscPruneProgrammer;
93
93
  .arrays()
94
94
  .filter(function (a) { return a.recursive; })
95
95
  .map(function (type, i) {
96
- return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline({
96
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
97
+ config: props.config,
98
+ type: TypeFactory_1.TypeFactory.keyword("any"),
99
+ input: typescript_1.default.factory.createIdentifier("input"),
100
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline({
97
101
  config: props.config,
98
102
  importer: props.importer,
99
103
  input: typescript_1.default.factory.createIdentifier("input"),
@@ -115,7 +119,11 @@ var MiscPruneProgrammer;
115
119
  .tuples()
116
120
  .filter(function (t) { return t.recursive; })
117
121
  .map(function (tuple, i) {
118
- return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "t").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
122
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "t").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
123
+ config: props.config,
124
+ type: TypeFactory_1.TypeFactory.keyword("any"),
125
+ input: typescript_1.default.factory.createIdentifier("input"),
126
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline({
119
127
  context: props.context,
120
128
  config: props.config,
121
129
  importer: props.importer,
@@ -245,22 +253,43 @@ var MiscPruneProgrammer;
245
253
  };
246
254
  var decode_object = function (props) {
247
255
  return FeatureProgrammer_1.FeatureProgrammer.decode_object({
248
- trace: false,
249
- path: false,
250
- prefix: PREFIX,
251
- })(props.importer)(props.input, props.object, props.explore);
256
+ config: {
257
+ trace: false,
258
+ path: false,
259
+ prefix: PREFIX,
260
+ },
261
+ importer: props.importer,
262
+ object: props.object,
263
+ input: props.input,
264
+ explore: props.explore,
265
+ });
252
266
  };
253
267
  var decode_array = function (props) {
254
268
  return props.array.type.recursive
255
- ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "a").concat(props.array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(__assign(__assign({}, props.explore), { source: "function", from: "array" }))(props.input))
269
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "a").concat(props.array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
270
+ config: props.config,
271
+ explore: __assign(__assign({}, props.explore), { source: "function", from: "array" }),
272
+ input: props.input,
273
+ }))
256
274
  : decode_array_inline(props);
257
275
  };
258
276
  var decode_array_inline = function (props) {
259
- return FeatureProgrammer_1.FeatureProgrammer.decode_array(props.config)(props.importer)(PruneJoiner_1.PruneJoiner.array)(props.input, props.array, props.explore);
277
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array({
278
+ config: props.config,
279
+ importer: props.importer,
280
+ combiner: PruneJoiner_1.PruneJoiner.array,
281
+ array: props.array,
282
+ input: props.input,
283
+ explore: props.explore,
284
+ });
260
285
  };
261
286
  var decode_tuple = function (props) {
262
287
  return props.tuple.type.recursive
263
- ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "t").concat(props.tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(__assign(__assign({}, props.explore), { source: "function" }))(props.input))
288
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "t").concat(props.tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
289
+ config: props.config,
290
+ explore: __assign(__assign({}, props.explore), { source: "function" }),
291
+ input: props.input,
292
+ }))
264
293
  : decode_tuple_inline(__assign(__assign({}, props), { tuple: props.tuple.type }));
265
294
  };
266
295
  var decode_tuple_inline = function (props) {
@@ -310,7 +339,7 @@ var MiscPruneProgrammer;
310
339
  var explore_objects = function (props) {
311
340
  if (props.metadata.objects.length === 1)
312
341
  return decode_object(__assign(__assign({}, props), { object: props.metadata.objects[0] }));
313
- return 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));
342
+ return 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));
314
343
  };
315
344
  var explore_arrays = function (props) {
316
345
  return explore_array_like_union_types(__assign(__assign({}, props), { elements: props.arrays, factory: function (next) {
@@ -363,11 +392,15 @@ var MiscPruneProgrammer;
363
392
  var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
364
393
  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 () {
365
394
  return arrow({
366
- parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")),
395
+ parameters: FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
396
+ config: props.config,
397
+ type: TypeFactory_1.TypeFactory.keyword("any"),
398
+ input: typescript_1.default.factory.createIdentifier("input"),
399
+ }),
367
400
  explore: __assign(__assign({}, arrayExplore), { postfix: "" }),
368
401
  input: typescript_1.default.factory.createIdentifier("input"),
369
402
  });
370
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(props.explore)(props.input));
403
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props));
371
404
  };
372
405
  // @todo -> must filter out recursive visit
373
406
  var filter = function (metadata) {
@@ -395,102 +428,104 @@ var MiscPruneProgrammer;
395
428
  trace: false,
396
429
  path: false,
397
430
  initializer: initializer,
398
- decoder: function () { return function (input, metadata, explore) {
431
+ decoder: function (next) {
399
432
  return decode({
400
433
  context: props.context,
401
434
  importer: props.importer,
402
435
  config: config,
403
- input: input,
404
- metadata: metadata,
405
- explore: explore,
436
+ input: next.input,
437
+ metadata: next.metadata,
438
+ explore: next.explore,
406
439
  });
407
- }; },
440
+ },
408
441
  objector: {
409
- checker: function () { return function (input, metadata, explore) {
442
+ checker: function (next) {
410
443
  return IsProgrammer_1.IsProgrammer.decode({
411
444
  context: props.context,
412
445
  importer: props.importer,
413
- input: input,
414
- metadata: metadata,
415
- explore: explore,
446
+ input: next.input,
447
+ metadata: next.metadata,
448
+ explore: next.explore,
416
449
  });
417
- }; },
418
- decoder: function () { return function (input, object, explore) {
450
+ },
451
+ decoder: function (next) {
419
452
  return decode_object({
420
453
  importer: props.importer,
421
- input: input,
422
- object: object,
423
- explore: explore,
454
+ input: next.input,
455
+ object: next.object,
456
+ explore: next.explore,
424
457
  });
425
- }; },
458
+ },
426
459
  joiner: PruneJoiner_1.PruneJoiner.object,
427
- unionizer: (0, decode_union_object_1.decode_union_object)(function (input, object, explore) {
428
- return IsProgrammer_1.IsProgrammer.decode_object({
429
- context: props.context,
430
- importer: props.importer,
431
- input: input,
432
- object: object,
433
- explore: explore,
434
- });
435
- })(function (input, object, explore) {
436
- return decode_object({
437
- importer: props.importer,
438
- input: input,
439
- object: object,
440
- explore: explore,
441
- });
442
- })(function (exp) { return exp; })(function (input, expected) {
443
- return create_throw_error({
444
- importer: props.importer,
445
- expected: expected,
446
- input: input,
447
- });
448
- }),
449
- failure: function (input, expected) {
460
+ unionizer: function (next) {
461
+ return (0, decode_union_object_1.decode_union_object)(function (input, object, explore) {
462
+ return IsProgrammer_1.IsProgrammer.decode_object({
463
+ context: props.context,
464
+ importer: props.importer,
465
+ input: input,
466
+ object: object,
467
+ explore: explore,
468
+ });
469
+ })(function (input, object, explore) {
470
+ return decode_object({
471
+ importer: props.importer,
472
+ input: input,
473
+ object: object,
474
+ explore: explore,
475
+ });
476
+ })(function (exp) { return exp; })(function (input, expected) {
477
+ return create_throw_error({
478
+ importer: props.importer,
479
+ expected: expected,
480
+ input: input,
481
+ });
482
+ })(next.input, next.objects, next.explore);
483
+ },
484
+ failure: function (next) {
450
485
  return create_throw_error({
451
486
  importer: props.importer,
452
- expected: expected,
453
- input: input,
487
+ expected: next.expected,
488
+ input: next.input,
454
489
  });
455
490
  },
456
491
  },
457
492
  generator: {
458
- arrays: function () { return function (collection) {
493
+ arrays: function (collection) {
459
494
  return write_array_functions({
460
495
  config: config,
461
496
  importer: props.importer,
462
497
  collection: collection,
463
498
  });
464
- }; },
465
- tuples: function () { return function (collection) {
499
+ },
500
+ tuples: function (collection) {
466
501
  return write_tuple_functions({
467
502
  config: config,
468
503
  context: props.context,
469
504
  importer: props.importer,
470
505
  collection: collection,
471
506
  });
472
- }; },
507
+ },
473
508
  },
474
509
  };
475
510
  return config;
476
511
  };
477
- var initializer = function (context) { return function (importer) { return function (type) {
512
+ var initializer = function (props) {
478
513
  var collection = new MetadataCollection_1.MetadataCollection();
479
514
  var result = MetadataFactory_1.MetadataFactory.analyze({
480
- checker: context.checker,
481
- transformer: context.transformer,
515
+ checker: props.context.checker,
516
+ transformer: props.context.transformer,
482
517
  options: {
483
518
  escape: false,
484
519
  constant: true,
485
520
  absorb: true,
486
521
  },
487
522
  collection: collection,
488
- type: type,
523
+ type: props.type,
489
524
  });
490
525
  if (result.success === false)
491
- throw TransformerError_1.TransformerError.from("typia.misc.".concat(importer.method))(result.errors);
526
+ throw TransformerError_1.TransformerError.from("typia.misc.".concat(props.importer.method))(result.errors);
492
527
  return [collection, result.data];
493
- }; }; };
528
+ };
494
529
  var create_throw_error = function (props) {
495
530
  return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.importer.use("throws"), [], [
496
531
  typescript_1.default.factory.createObjectLiteralExpression([
@@ -1 +1 @@
1
- {"version":3,"file":"MiscPruneProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/misc/MiscPruneProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiscPruneProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/misc/MiscPruneProgrammer.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,11 @@ var NotationGeneralProgrammer;
82
82
  .arrays()
83
83
  .filter(function (a) { return a.recursive; })
84
84
  .map(function (type, i) {
85
- return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), array: MetadataArray_1.MetadataArray.create({
85
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
86
+ config: props.config,
87
+ type: TypeFactory_1.TypeFactory.keyword("any"),
88
+ input: typescript_1.default.factory.createIdentifier("input"),
89
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), array: MetadataArray_1.MetadataArray.create({
86
90
  type: type,
87
91
  tags: [],
88
92
  }), explore: {
@@ -98,7 +102,11 @@ var NotationGeneralProgrammer;
98
102
  .tuples()
99
103
  .filter(function (t) { return t.recursive; })
100
104
  .map(function (tuple, i) {
101
- return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "t").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), tuple: tuple, explore: {
105
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "t").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
106
+ config: props.config,
107
+ type: TypeFactory_1.TypeFactory.keyword("any"),
108
+ input: typescript_1.default.factory.createIdentifier("input"),
109
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline(__assign(__assign({}, props), { input: typescript_1.default.factory.createIdentifier("input"), tuple: tuple, explore: {
102
110
  tracable: props.config.trace,
103
111
  source: "function",
104
112
  from: "array",
@@ -255,24 +263,45 @@ var NotationGeneralProgrammer;
255
263
  return typescript_1.default.factory.createAsExpression(last, TypeFactory_1.TypeFactory.keyword("any"));
256
264
  }
257
265
  };
258
- var decode_object = function (importer) {
266
+ var decode_object = function (props) {
259
267
  return FeatureProgrammer_1.FeatureProgrammer.decode_object({
260
- trace: false,
261
- path: false,
262
- prefix: PREFIX,
263
- })(importer);
268
+ config: {
269
+ trace: false,
270
+ path: false,
271
+ prefix: PREFIX,
272
+ },
273
+ importer: props.importer,
274
+ object: props.object,
275
+ input: props.input,
276
+ explore: props.explore,
277
+ });
264
278
  };
265
279
  var decode_array = function (props) {
266
280
  return props.array.type.recursive
267
- ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "a").concat(props.array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(__assign(__assign({}, props.explore), { source: "function", from: "array" }))(props.input))
281
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "a").concat(props.array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
282
+ config: props.config,
283
+ explore: __assign(__assign({}, props.explore), { source: "function", from: "array" }),
284
+ input: props.input,
285
+ }))
268
286
  : decode_array_inline(props);
269
287
  };
270
288
  var decode_array_inline = function (props) {
271
- return FeatureProgrammer_1.FeatureProgrammer.decode_array(props.config)(props.importer)(NotationJoiner_1.NotationJoiner.array)(props.input, props.array, props.explore);
289
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array({
290
+ config: props.config,
291
+ importer: props.importer,
292
+ combiner: NotationJoiner_1.NotationJoiner.array,
293
+ array: props.array,
294
+ input: props.input,
295
+ explore: props.explore,
296
+ });
272
297
  };
273
298
  var decode_tuple = function (props) {
274
299
  return props.tuple.type.recursive
275
- ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "t").concat(props.tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(__assign(__assign({}, props.explore), { source: "function" }))(props.input))
300
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "t").concat(props.tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
301
+ config: props.config,
302
+ explore: __assign(__assign({}, props.explore), { source: "function" }),
303
+ input: props.input,
304
+ }))
276
305
  : decode_tuple_inline(__assign(__assign({}, props), { tuple: props.tuple.type }));
277
306
  };
278
307
  var decode_tuple_inline = function (props) {
@@ -374,8 +403,13 @@ var NotationGeneralProgrammer;
374
403
  };
375
404
  var explore_objects = function (props) {
376
405
  if (props.metadata.objects.length === 1)
377
- return decode_object(props.importer)(props.input, props.metadata.objects[0], props.explore);
378
- return 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));
406
+ return decode_object({
407
+ importer: props.importer,
408
+ object: props.metadata.objects[0],
409
+ input: props.input,
410
+ explore: props.explore,
411
+ });
412
+ return 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));
379
413
  };
380
414
  var explore_arrays = function (props) {
381
415
  return explore_array_like_union_types(__assign(__assign({}, props), { factory: UnionExplorer_1.UnionExplorer.array({
@@ -420,8 +454,16 @@ var NotationGeneralProgrammer;
420
454
  typescript_1.default.factory.createCallExpression(arrow([])(props.explore)(props.input), undefined, []);
421
455
  var arrayExplore = __assign(__assign({}, props.explore), { source: "function", from: "array" });
422
456
  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 () {
423
- return arrow(FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")))(__assign(__assign({}, arrayExplore), { postfix: "" }))(typescript_1.default.factory.createIdentifier("input"));
424
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(props.config)(arrayExplore)(props.input));
457
+ return arrow(FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations({
458
+ config: props.config,
459
+ type: TypeFactory_1.TypeFactory.keyword("any"),
460
+ input: typescript_1.default.factory.createIdentifier("input"),
461
+ }))(__assign(__assign({}, arrayExplore), { postfix: "" }))(typescript_1.default.factory.createIdentifier("input"));
462
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray({
463
+ config: props.config,
464
+ explore: arrayExplore,
465
+ input: props.input,
466
+ }));
425
467
  };
426
468
  /* -----------------------------------------------------------
427
469
  CONFIGURATIONS
@@ -441,88 +483,104 @@ var NotationGeneralProgrammer;
441
483
  trace: false,
442
484
  path: false,
443
485
  initializer: initializer,
444
- decoder: function () { return function (input, metadata, explore) {
486
+ decoder: function (next) {
445
487
  return decode({
446
488
  context: props.context,
447
489
  config: config,
448
490
  importer: props.importer,
449
- metadata: metadata,
450
- explore: explore,
451
- input: input,
491
+ metadata: next.metadata,
492
+ explore: next.explore,
493
+ input: next.input,
452
494
  });
453
- }; },
495
+ },
454
496
  objector: {
455
- checker: function () { return function (input, metadata, explore) {
497
+ checker: function (next) {
456
498
  return IsProgrammer_1.IsProgrammer.decode({
457
499
  context: props.context,
458
500
  importer: props.importer,
459
- input: input,
460
- metadata: metadata,
461
- explore: explore,
462
- });
463
- }; },
464
- decoder: function () { return decode_object(props.importer); },
465
- joiner: NotationJoiner_1.NotationJoiner.object(props.rename),
466
- unionizer: (0, decode_union_object_1.decode_union_object)(function (input, object, explore) {
467
- return IsProgrammer_1.IsProgrammer.decode_object({
468
- context: props.context,
469
- importer: props.importer,
470
- object: object,
471
- input: input,
472
- explore: explore,
501
+ input: next.input,
502
+ metadata: next.metadata,
503
+ explore: next.explore,
473
504
  });
474
- })(decode_object(props.importer))(function (exp) { return exp; })(function (input, expected) {
475
- return create_throw_error({
505
+ },
506
+ decoder: function (next) {
507
+ return decode_object({
476
508
  importer: props.importer,
477
- expected: expected,
478
- input: input,
509
+ object: next.object,
510
+ input: next.input,
511
+ explore: next.explore,
479
512
  });
480
- }),
481
- failure: function (input, expected) {
513
+ },
514
+ joiner: NotationJoiner_1.NotationJoiner.object(props.rename),
515
+ unionizer: function (next) {
516
+ return (0, decode_union_object_1.decode_union_object)(function (input, object, explore) {
517
+ return IsProgrammer_1.IsProgrammer.decode_object({
518
+ context: props.context,
519
+ importer: props.importer,
520
+ object: object,
521
+ input: input,
522
+ explore: explore,
523
+ });
524
+ })(function (input, object, explore) {
525
+ return decode_object({
526
+ importer: props.importer,
527
+ object: object,
528
+ input: input,
529
+ explore: explore,
530
+ });
531
+ })(function (exp) { return exp; })(function (input, expected) {
532
+ return create_throw_error({
533
+ importer: props.importer,
534
+ expected: expected,
535
+ input: input,
536
+ });
537
+ })(next.input, next.objects, next.explore);
538
+ },
539
+ failure: function (next) {
482
540
  return create_throw_error({
483
541
  importer: props.importer,
484
- expected: expected,
485
- input: input,
542
+ expected: next.expected,
543
+ input: next.input,
486
544
  });
487
545
  },
488
546
  },
489
547
  generator: {
490
- arrays: function () { return function (collection) {
548
+ arrays: function (collection) {
491
549
  return write_array_functions({
492
550
  importer: props.importer,
493
551
  config: config,
494
552
  collection: collection,
495
553
  });
496
- }; },
497
- tuples: function () { return function (collection) {
554
+ },
555
+ tuples: function (collection) {
498
556
  return write_tuple_functions({
499
557
  context: props.context,
500
558
  importer: props.importer,
501
559
  config: config,
502
560
  collection: collection,
503
561
  });
504
- }; },
562
+ },
505
563
  },
506
564
  };
507
565
  return config;
508
566
  };
509
- var initializer = function (project) { return function (importer) { return function (type) {
567
+ var initializer = function (props) {
510
568
  var collection = new MetadataCollection_1.MetadataCollection();
511
569
  var result = MetadataFactory_1.MetadataFactory.analyze({
512
- checker: project.checker,
513
- transformer: project.transformer,
570
+ checker: props.context.checker,
571
+ transformer: props.context.transformer,
514
572
  options: {
515
573
  escape: false,
516
574
  constant: true,
517
575
  absorb: true,
518
576
  },
519
577
  collection: collection,
520
- type: type,
578
+ type: props.type,
521
579
  });
522
580
  if (result.success === false)
523
- throw TransformerError_1.TransformerError.from("typia.misc.".concat(importer.method))(result.errors);
581
+ throw TransformerError_1.TransformerError.from("typia.misc.".concat(props.importer.method))(result.errors);
524
582
  return [collection, result.data];
525
- }; }; };
583
+ };
526
584
  var create_throw_error = function (props) {
527
585
  return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.importer.use("throws"), [], [
528
586
  typescript_1.default.factory.createObjectLiteralExpression([
@@ -531,14 +589,14 @@ var NotationGeneralProgrammer;
531
589
  ], true),
532
590
  ]));
533
591
  };
534
- var is_instance = function (meta) {
535
- return !!meta.objects.length ||
536
- !!meta.arrays.length ||
537
- !!meta.tuples.length ||
538
- !!meta.sets.length ||
539
- !!meta.maps.length ||
540
- !!meta.natives.length ||
541
- (meta.rest !== null && is_instance(meta.rest));
592
+ var is_instance = function (metadata) {
593
+ return !!metadata.objects.length ||
594
+ !!metadata.arrays.length ||
595
+ !!metadata.tuples.length ||
596
+ !!metadata.sets.length ||
597
+ !!metadata.maps.length ||
598
+ !!metadata.natives.length ||
599
+ (metadata.rest !== null && is_instance(metadata.rest));
542
600
  };
543
601
  })(NotationGeneralProgrammer || (exports.NotationGeneralProgrammer = NotationGeneralProgrammer = {}));
544
602
  //# sourceMappingURL=NotationGeneralProgrammer.js.map