typia 3.5.0-dev.20230211 → 3.5.0-dev.20230212

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 (49) hide show
  1. package/README.md +7 -0
  2. package/lib/module.d.ts +178 -4
  3. package/lib/module.js +53 -2
  4. package/lib/module.js.map +1 -1
  5. package/lib/programmers/AssertPruneProgrammer.d.ts +5 -0
  6. package/lib/programmers/AssertPruneProgrammer.js +37 -0
  7. package/lib/programmers/AssertPruneProgrammer.js.map +1 -0
  8. package/lib/programmers/IsPruneProgrammer.d.ts +5 -0
  9. package/lib/programmers/IsPruneProgrammer.js +37 -0
  10. package/lib/programmers/IsPruneProgrammer.js.map +1 -0
  11. package/lib/programmers/PruneProgrammer.js +2 -2
  12. package/lib/programmers/PruneProgrammer.js.map +1 -1
  13. package/lib/programmers/ValidatePruneProgrammer.d.ts +5 -0
  14. package/lib/programmers/ValidatePruneProgrammer.js +37 -0
  15. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -0
  16. package/lib/programmers/internal/feature_object_entries.d.ts +1 -1
  17. package/lib/transformers/CallExpressionTransformer.js +12 -0
  18. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  19. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.d.ts +5 -0
  20. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js +23 -0
  21. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js.map +1 -0
  22. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.d.ts +5 -0
  23. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +17 -0
  24. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -0
  25. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.d.ts +5 -0
  26. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +17 -0
  27. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -0
  28. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.d.ts +5 -0
  29. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +17 -0
  30. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -0
  31. package/lib/transformers/features/miscellaneous/IsPruneTransformer.d.ts +5 -0
  32. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js +23 -0
  33. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js.map +1 -0
  34. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.d.ts +5 -0
  35. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js +23 -0
  36. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js.map +1 -0
  37. package/package.json +1 -1
  38. package/src/module.ts +278 -5
  39. package/src/programmers/AssertPruneProgrammer.ts +59 -0
  40. package/src/programmers/IsPruneProgrammer.ts +63 -0
  41. package/src/programmers/PruneProgrammer.ts +5 -2
  42. package/src/programmers/ValidatePruneProgrammer.ts +73 -0
  43. package/src/transformers/CallExpressionTransformer.ts +12 -0
  44. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +38 -0
  45. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +32 -0
  46. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +32 -0
  47. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +32 -0
  48. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +38 -0
  49. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +38 -0
package/README.md CHANGED
@@ -22,6 +22,13 @@ export function assertParse<T>(input: string): T; // type safe parser
22
22
  export function assertStringify<T>(input: T): string; // safe and faster
23
23
  // +) isParse, validateParse
24
24
  // +) stringify, isStringify, validateStringify
25
+
26
+ // MISC
27
+ export function random<T>(): T;
28
+ export function clone<T>(input: T): Primitive<T>;
29
+ export function prune<T extends object>(input: T): void;
30
+ // +) isClone, assertClone, validateClone
31
+ // +) isPrune, assertPrune, validatePrune
25
32
  ```
26
33
 
27
34
  `typia` is a transformer library of TypeScript, supporting below features:
package/lib/module.d.ts CHANGED
@@ -489,8 +489,8 @@ export declare function validateParse<T>(input: string): IValidation<T>;
489
489
  * than the native `JSON.stringify()` function. The 5x faster principle is because
490
490
  * it writes an optimized JSON conversion plan, only for the type `T`.
491
491
  *
492
- * For reference, this `typia.stringify()` does not validate the input value type. It
493
- * just believes that the input value is following the type `T`. Therefore, if you
492
+ * For reference, this `typia.stringify()` does not validate the input value type.
493
+ * It just believes that the input value is following the type `T`. Therefore, if you
494
494
  * can't ensure the input value type, it would be better to call one of below functions
495
495
  * instead.
496
496
  *
@@ -577,7 +577,7 @@ export declare function isStringify<T>(input: T): string | null;
577
577
  * `typia.isStringify()` is a combination function of {@link is} and
578
578
  * {@link stringify}. Therefore, it converts an input value to JSON
579
579
  * (JavaScript Object Notation) string, with type checking.
580
- *
580
+ *f
581
581
  * In such reason, when `input` value is not matched with the type `T`, it returns
582
582
  * `null` value. Otherwise, there's no problem on the `input` value, JSON string would
583
583
  * be returned.
@@ -646,12 +646,129 @@ export declare function validateStringify<T>(input: unknown): IValidation<string
646
646
  * objects. Note that, as every superfluous properties would be deleted, you never can
647
647
  * read those superfluous properties after calling this `prune()` function.
648
648
  *
649
+ * For reference, this `typia.prune()` function does not validate the input value type.
650
+ * It just believes that the input value is following the type `T`. Therefore, if you
651
+ * can't ensure the input value type, it would better to call one of below functions
652
+ * instead.
653
+ *
654
+ * - {@link assertPrune}
655
+ * - {@link isPrune}
656
+ * - {@link validatePrune}
657
+ *
649
658
  * @template T Type of the input value
650
- * @param input target instance to prune
659
+ * @param input Target instance to prune
651
660
  *
652
661
  * @author Jeongho Nam - https://github.com/samchon
653
662
  */
654
663
  export declare function prune<T extends object>(input: T): void;
664
+ /**
665
+ * Prune, erase superfluous properties, with type assertion.
666
+ *
667
+ * `typia.assertPrune()` is a combination function of {@link assert} and {@link prune}.
668
+ * Therefore, it removes every superfluous properties from the `input` object including
669
+ * nested objects, with type assertion.
670
+ *
671
+ * In such reason, when `input` value is not matched with the type `T`, it throws an
672
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
673
+ * every superfluous properties would be removed, including nested objects.
674
+ *
675
+ * @template T Type of the input value
676
+ * @param input Target instance to assert and prune
677
+ *
678
+ * @author Jeongho Nam - https://github.com/samchon
679
+ */
680
+ export declare function assertPrune<T>(input: T): T;
681
+ /**
682
+ * Prune, erase superfluous properties, with type assertion.
683
+ *
684
+ * `typia.assertPrune()` is a combination function of {@link assert} and {@link prune}.
685
+ * Therefore, it removes every superfluous properties from the `input` object including
686
+ * nested objects, with type assertion.
687
+ *
688
+ * In such reason, when `input` value is not matched with the type `T`, it throws an
689
+ * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
690
+ * every superfluous properties would be removed, including nested objects.
691
+ *
692
+ * @template T Type of the input value
693
+ * @param input Target instance to assert and prune
694
+ *
695
+ * @author Jeongho Nam - https://github.com/samchon
696
+ */
697
+ export declare function assertPrune<T>(input: unknown): T;
698
+ /**
699
+ * Prune, erase superfluous properties, with type checking.
700
+ *
701
+ * `typia.assertPrune()` is a combination function of {@link is} and {@link prune}.
702
+ * Therefore, it removes every superfluous properties from the `input` object including
703
+ * nested objects, with type checking.
704
+ *
705
+ * In such reason, when `input` value is not matched with the type `T`, it returns
706
+ * `false` value. Otherwise, there's no problem on the `input` value, it returns
707
+ * `true` after removing every superfluous properties, including nested objects.
708
+ *
709
+ * @template T Type of the input value
710
+ * @param input Target instance to check and prune
711
+ * @returns Whether the parametric value is following the type `T` or not
712
+ *
713
+ * @author Jeongho Nam - https://github.com/samchon
714
+ */
715
+ export declare function isPrune<T>(input: T): input is T;
716
+ /**
717
+ * Prune, erase superfluous properties, with type checking.
718
+ *
719
+ * `typia.assertPrune()` is a combination function of {@link is} and {@link prune}.
720
+ * Therefore, it removes every superfluous properties from the `input` object including
721
+ * nested objects, with type checking.
722
+ *
723
+ * In such reason, when `input` value is not matched with the type `T`, it returns
724
+ * `false` value. Otherwise, there's no problem on the `input` value, it returns
725
+ * `true` after removing every superfluous properties, including nested objects.
726
+ *
727
+ * @template T Type of the input value
728
+ * @param input Target instance to check and prune
729
+ * @returns Whether the parametric value is following the type `T` or not
730
+ *
731
+ * @author Jeongho Nam - https://github.com/samchon
732
+ */
733
+ export declare function isPrune<T>(input: unknown): input is T;
734
+ /**
735
+ * Prune, erase superfluous properties, with type validation.
736
+ *
737
+ * `typia.validatePrune()` is a combination function of {@link validate} and {@link prune}.
738
+ * Therefore, it removes every superfluous properties from the `input` object including
739
+ * nested objects, with type validation.
740
+ *
741
+ * In such reason, when `input` value is not matched with the type `T`, it returns
742
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
743
+ * no problem on the `input` value, it returns {@link IValidation.ISucess} value after
744
+ * removing every superfluous properties, including nested objects.
745
+ *
746
+ * @template T Type of the input value
747
+ * @param input Target instance to validate and prune
748
+ * @returns Validation result
749
+ *
750
+ * @author Jeongho Nam - https://github.com/samchon
751
+ */
752
+ export declare function validatePrune<T>(input: T): IValidation<T>;
753
+ /**
754
+ * Prune, erase superfluous properties, with type validation.
755
+ *
756
+ * `typia.validatePrune()` is a combination function of {@link validate} and {@link prune}.
757
+ * Therefore, it removes every superfluous properties from the `input` object including
758
+ * nested objects, with type validation.
759
+ *
760
+ * In such reason, when `input` value is not matched with the type `T`, it returns
761
+ * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's
762
+ * no problem on the `input` value, it returns {@link IValidation.ISucess} value after
763
+ * removing every superfluous properties, including nested objects.
764
+ *
765
+ * @template T Type of the input value
766
+ * @param input Target instance to validate and prune
767
+ * @returns Validation result
768
+ *
769
+ * @author Jeongho Nam - https://github.com/samchon
770
+ */
771
+ export declare function validatePrune<T>(input: unknown): IValidation<T>;
655
772
  /**
656
773
  * Creates a reusable {@link assert} function.
657
774
  *
@@ -943,3 +1060,60 @@ export declare function createPrune(): never;
943
1060
  * @author Jeongho Nam - https://github.com/samchon
944
1061
  */
945
1062
  export declare function createPrune<T extends object>(): (input: T) => void;
1063
+ /**
1064
+ * Creates a reusable {@link isPrune} function.
1065
+ *
1066
+ * @danger You have to specify the generic argument `T`
1067
+ * @return Nothing until specifying the generic argument `T`
1068
+ * @throws compile error
1069
+ *
1070
+ * @author Jeongho Nam - https://github.com/samchon
1071
+ */
1072
+ export declare function createAssertPrune(): never;
1073
+ /**
1074
+ * Creates a resuable {@link isPrune} function.
1075
+ *
1076
+ * @template T Type of the input value
1077
+ * @returns A reusable `isPrune` function
1078
+ *
1079
+ * @author Jeongho Nam - https://github.com/samchon
1080
+ */
1081
+ export declare function createAssertPrune<T extends object>(): (input: T) => T;
1082
+ /**
1083
+ * Creates a reusable {@link isPrune} function.
1084
+ *
1085
+ * @danger You have to specify the generic argument `T`
1086
+ * @return Nothing until specifying the generic argument `T`
1087
+ * @throws compile error
1088
+ *
1089
+ * @author Jeongho Nam - https://github.com/samchon
1090
+ */
1091
+ export declare function createIsPrune(): never;
1092
+ /**
1093
+ * Creates a resuable {@link isPrune} function.
1094
+ *
1095
+ * @template T Type of the input value
1096
+ * @returns A reusable `isPrune` function
1097
+ *
1098
+ * @author Jeongho Nam - https://github.com/samchon
1099
+ */
1100
+ export declare function createIsPrune<T extends object>(): (input: T) => input is T;
1101
+ /**
1102
+ * Creates a reusable {@link validatePrune} function.
1103
+ *
1104
+ * @danger You have to specify the generic argument `T`
1105
+ * @return Nothing until specifying the generic argument `T`
1106
+ * @throws compile error
1107
+ *
1108
+ * @author Jeongho Nam - https://github.com/samchon
1109
+ */
1110
+ export declare function createValidatePrune(): never;
1111
+ /**
1112
+ * Creates a resuable {@link validatePrune} function.
1113
+ *
1114
+ * @template T Type of the input value
1115
+ * @returns A reusable `validatePrune` function
1116
+ *
1117
+ * @author Jeongho Nam - https://github.com/samchon
1118
+ */
1119
+ export declare function createValidatePrune<T extends object>(): (input: T) => IValidation<T>;
package/lib/module.js CHANGED
@@ -25,7 +25,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.createPrune = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.prune = exports.metadata = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
28
+ exports.createValidatePrune = exports.createIsPrune = exports.createAssertPrune = exports.createPrune = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validatePrune = exports.isPrune = exports.assertPrune = exports.prune = exports.metadata = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
29
29
  var _every_1 = require("./functional/$every");
30
30
  var _guard_1 = require("./functional/$guard");
31
31
  var _is_between_1 = require("./functional/$is_between");
@@ -294,12 +294,48 @@ exports.prune = prune;
294
294
  prune.is_ipv4 = _is_ipv4_1.$is_ipv4;
295
295
  prune.is_ipv6 = _is_ipv6_1.$is_ipv6;
296
296
  prune.is_between = _is_between_1.$is_between;
297
- prune.rest = _rest_1.$rest;
298
297
  function throws(props) {
299
298
  throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "typia.prune" }));
300
299
  }
301
300
  prune.throws = throws;
302
301
  })(prune = exports.prune || (exports.prune = {}));
302
+ function assertPrune() {
303
+ halt("assertPrune");
304
+ }
305
+ exports.assertPrune = assertPrune;
306
+ (function (assertPrune) {
307
+ assertPrune.is_uuid = _is_uuid_1.$is_uuid;
308
+ assertPrune.is_email = _is_email_1.$is_email;
309
+ assertPrune.is_url = _is_url_1.$is_url;
310
+ assertPrune.is_ipv4 = _is_ipv4_1.$is_ipv4;
311
+ assertPrune.is_ipv6 = _is_ipv6_1.$is_ipv6;
312
+ assertPrune.is_between = _is_between_1.$is_between;
313
+ assertPrune.join = _join_1.$join;
314
+ assertPrune.every = _every_1.$every;
315
+ assertPrune.guard = (0, _guard_1.$guard)("typia.assertPrune");
316
+ })(assertPrune = exports.assertPrune || (exports.assertPrune = {}));
317
+ function isPrune() {
318
+ halt("isPrune");
319
+ }
320
+ exports.isPrune = isPrune;
321
+ (function (isPrune) {
322
+ isPrune.is_uuid = _is_uuid_1.$is_uuid;
323
+ isPrune.is_email = _is_email_1.$is_email;
324
+ isPrune.is_url = _is_url_1.$is_url;
325
+ isPrune.is_ipv4 = _is_ipv4_1.$is_ipv4;
326
+ isPrune.is_ipv6 = _is_ipv6_1.$is_ipv6;
327
+ isPrune.is_between = _is_between_1.$is_between;
328
+ function throws(props) {
329
+ throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "typia.prune" }));
330
+ }
331
+ isPrune.throws = throws;
332
+ })(isPrune = exports.isPrune || (exports.isPrune = {}));
333
+ function validatePrune() {
334
+ halt("validatePrune");
335
+ }
336
+ exports.validatePrune = validatePrune;
337
+ Object.assign(validatePrune, prune);
338
+ Object.assign(validatePrune, validate);
303
339
  function createAssert() {
304
340
  halt("createAssert");
305
341
  }
@@ -375,6 +411,21 @@ function createPrune() {
375
411
  }
376
412
  exports.createPrune = createPrune;
377
413
  Object.assign(createPrune, prune);
414
+ function createAssertPrune() {
415
+ halt("createAssertPrune");
416
+ }
417
+ exports.createAssertPrune = createAssertPrune;
418
+ Object.assign(createAssertPrune, assertPrune);
419
+ function createIsPrune() {
420
+ halt("createIsPrune");
421
+ }
422
+ exports.createIsPrune = createIsPrune;
423
+ Object.assign(createIsPrune, isPrune);
424
+ function createValidatePrune() {
425
+ halt("createValidatePrune");
426
+ }
427
+ exports.createValidatePrune = createValidatePrune;
428
+ Object.assign(createValidatePrune, validatePrune);
378
429
  function halt(name) {
379
430
  throw new Error("Error on typia.".concat(name, "(): no transform has been configured. Configure the \"tsconfig.json\" file following the [README.md#setup](https://github.com/samchon/typia#setup)"));
380
431
  }
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace AssertPruneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AssertPruneProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var AssertProgrammer_1 = require("./AssertProgrammer");
22
+ var PruneProgrammer_1 = require("./PruneProgrammer");
23
+ var AssertPruneProgrammer;
24
+ (function (AssertPruneProgrammer) {
25
+ AssertPruneProgrammer.generate = function (project, modulo) {
26
+ return function (type) {
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.generate(project, modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
31
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("input")),
33
+ ]));
34
+ };
35
+ };
36
+ })(AssertPruneProgrammer = exports.AssertPruneProgrammer || (exports.AssertPruneProgrammer = {}));
37
+ //# sourceMappingURL=AssertPruneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,uDAAsD;AACtD,qDAAoD;AAEpD,IAAiB,qBAAqB,CAgDrC;AAhDD,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CACnD;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACvC;aACJ,CAAC,CACL;QA3CD,CA2CC;IA5CL,CA4CK,CAAC;AACd,CAAC,EAhDgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAgDrC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace IsPruneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.IsPruneProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var IsProgrammer_1 = require("./IsProgrammer");
22
+ var PruneProgrammer_1 = require("./PruneProgrammer");
23
+ var IsPruneProgrammer;
24
+ (function (IsPruneProgrammer) {
25
+ IsPruneProgrammer.generate = function (project, modulo) {
26
+ return function (type) {
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(project, modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createPrefixUnaryExpression(typescript_1.default.SyntaxKind.ExclamationToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createFalse())),
31
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createTrue()),
33
+ ]));
34
+ };
35
+ };
36
+ })(IsPruneProgrammer = exports.IsPruneProgrammer || (exports.IsPruneProgrammer = {}));
37
+ //# sourceMappingURL=IsPruneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,+CAA8C;AAC9C,qDAAoD;AAEpD,IAAiB,iBAAiB,CAoDjC;AApDD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAC/C;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,CACL;QA/CD,CA+CC;IAhDL,CAgDK,CAAC;AACd,CAAC,EApDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoDjC"}
@@ -165,13 +165,13 @@ var PruneProgrammer;
165
165
  return explore_objects(input, meta, __assign(__assign({}, explore), { from: "object" }));
166
166
  },
167
167
  });
168
- var value = function (v) {
168
+ var converter = function (v) {
169
169
  return typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
170
170
  ? v
171
171
  : typescript_1.default.factory.createExpressionStatement(v);
172
172
  };
173
173
  var statements = unions.map(function (u) {
174
- return typescript_1.default.factory.createIfStatement(u.is(), value(u.value()));
174
+ return typescript_1.default.factory.createIfStatement(u.is(), converter(u.value()));
175
175
  });
176
176
  return typescript_1.default.factory.createBlock(statements, true);
177
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace ValidatePruneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ValidatePruneProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var PruneProgrammer_1 = require("./PruneProgrammer");
22
+ var ValidateProgrammer_1 = require("./ValidateProgrammer");
23
+ var ValidatePruneProgrammer;
24
+ (function (ValidatePruneProgrammer) {
25
+ ValidatePruneProgrammer.generate = function (project, modulo) {
26
+ return function (type) {
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
31
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier("output.success"), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
33
+ ]));
34
+ };
35
+ };
36
+ })(ValidatePruneProgrammer = exports.ValidatePruneProgrammer || (exports.ValidatePruneProgrammer = {}));
37
+ //# sourceMappingURL=ValidatePruneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidatePruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidatePruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,qDAAoD;AACpD,2DAA0D;AAE1D,IAAiB,uBAAuB,CA8DvC;AA9DD,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QAzDD,CAyDC;IA1DL,CA0DK,CAAC;AACd,CAAC,EA9DgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA8DvC"}
@@ -1,7 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import { MetadataObject } from "../../metadata/MetadataObject";
3
3
  import { FeatureProgrammer } from "../FeatureProgrammer";
4
- export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "trace" | "decoder">) => (obj: MetadataObject) => (input: ts.Expression) => {
4
+ export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "decoder" | "trace">) => (obj: MetadataObject) => (input: ts.Expression) => {
5
5
  input: ts.Identifier | ts.ElementAccessExpression | ts.PropertyAccessExpression;
6
6
  key: import("../../metadata/Metadata").Metadata;
7
7
  meta: import("../../metadata/Metadata").Metadata;
@@ -6,9 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CallExpressionTransformer = void 0;
7
7
  var path_1 = __importDefault(require("path"));
8
8
  var ApplicationTransformer_1 = require("./features/miscellaneous/ApplicationTransformer");
9
+ var AssertPruneTransformer_1 = require("./features/miscellaneous/AssertPruneTransformer");
10
+ var CreateAssertPruneTransformer_1 = require("./features/miscellaneous/CreateAssertPruneTransformer");
11
+ var CreateIsPruneTransformer_1 = require("./features/miscellaneous/CreateIsPruneTransformer");
9
12
  var CreatePruneTransformer_1 = require("./features/miscellaneous/CreatePruneTransformer");
13
+ var CreateValidatePruneTransformer_1 = require("./features/miscellaneous/CreateValidatePruneTransformer");
14
+ var IsPruneTransformer_1 = require("./features/miscellaneous/IsPruneTransformer");
10
15
  var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
11
16
  var PruneTransformer_1 = require("./features/miscellaneous/PruneTransformer");
17
+ var ValidatePruneTransformer_1 = require("./features/miscellaneous/ValidatePruneTransformer");
12
18
  var AssertParseTransformer_1 = require("./features/parsers/AssertParseTransformer");
13
19
  var CreateAssertParseTransformer_1 = require("./features/parsers/CreateAssertParseTransformer");
14
20
  var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransformer");
@@ -67,6 +73,9 @@ var FUNCTORS = {
67
73
  application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
68
74
  metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
69
75
  prune: function () { return PruneTransformer_1.PruneTransformer.transform; },
76
+ assertPrune: function () { return AssertPruneTransformer_1.AssertPruneTransformer.transform; },
77
+ isPrune: function () { return IsPruneTransformer_1.IsPruneTransformer.transform; },
78
+ validatePrune: function () { return ValidatePruneTransformer_1.ValidatePruneTransformer.transform; },
70
79
  createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
71
80
  createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
72
81
  createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
@@ -82,5 +91,8 @@ var FUNCTORS = {
82
91
  createIsStringify: function () { return CreateIsStringifyTransformer_1.CreateIsStringifyTransformer.transform; },
83
92
  createValidateStringify: function () { return CreateValidateStringifyProgrammer_1.CreateValidateStringifyTransformer.transform; },
84
93
  createPrune: function () { return CreatePruneTransformer_1.CreatePruneTransformer.transform; },
94
+ createAssertPrune: function () { return CreateAssertPruneTransformer_1.CreateAssertPruneTransformer.transform; },
95
+ createIsPrune: function () { return CreateIsPruneTransformer_1.CreateIsPruneTransformer.transform; },
96
+ createValidatePrune: function () { return CreateValidatePruneTransformer_1.CreateValidatePruneTransformer.transform; },
85
97
  };
86
98
  //# sourceMappingURL=CallExpressionTransformer.js.map