typia 3.4.6 → 3.4.8

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 (130) hide show
  1. package/README.md +12 -2
  2. package/lib/executable/internal/CommandParser.d.ts +3 -0
  3. package/lib/executable/internal/CommandParser.js +21 -0
  4. package/lib/executable/internal/CommandParser.js.map +1 -0
  5. package/lib/executable/internal/TypiaSetupWizard.d.ts +2 -2
  6. package/lib/executable/internal/TypiaSetupWizard.js +57 -35
  7. package/lib/executable/internal/TypiaSetupWizard.js.map +1 -1
  8. package/lib/executable/typia.js +22 -21
  9. package/lib/executable/typia.js.map +1 -1
  10. package/lib/factories/internal/iterate_metadata.js +1 -1
  11. package/lib/factories/internal/iterate_metadata.js.map +1 -1
  12. package/lib/factories/internal/iterate_metadata_tuple.d.ts +1 -1
  13. package/lib/factories/internal/iterate_metadata_tuple.js +5 -13
  14. package/lib/factories/internal/iterate_metadata_tuple.js.map +1 -1
  15. package/package.json +2 -2
  16. package/src/IValidation.ts +21 -21
  17. package/src/Primitive.ts +82 -82
  18. package/src/TypeGuardError.ts +36 -36
  19. package/src/executable/internal/CommandParser.ts +15 -0
  20. package/src/executable/internal/TypiaSetupWizard.ts +108 -87
  21. package/src/executable/typia.ts +25 -14
  22. package/src/factories/CommentFactory.ts +10 -10
  23. package/src/factories/ExpressionFactory.ts +52 -52
  24. package/src/factories/IdentifierFactory.ts +72 -72
  25. package/src/factories/LiteralFactory.ts +44 -44
  26. package/src/factories/MetadataCollection.ts +122 -122
  27. package/src/factories/MetadataFactory.ts +46 -46
  28. package/src/factories/StatementFactory.ts +60 -60
  29. package/src/factories/TemplateFactory.ts +56 -56
  30. package/src/factories/TypeFactory.ts +101 -101
  31. package/src/factories/ValueFactory.ts +12 -12
  32. package/src/factories/internal/MetadataHelper.ts +12 -12
  33. package/src/factories/internal/emplace_metadata_object.ts +140 -140
  34. package/src/factories/internal/explore_metadata.ts +91 -91
  35. package/src/factories/internal/iterate_metadata.ts +1 -2
  36. package/src/factories/internal/iterate_metadata_array.ts +29 -29
  37. package/src/factories/internal/iterate_metadata_atomic.ts +59 -59
  38. package/src/factories/internal/iterate_metadata_coalesce.ts +33 -33
  39. package/src/factories/internal/iterate_metadata_constant.ts +58 -58
  40. package/src/factories/internal/iterate_metadata_map.ts +41 -41
  41. package/src/factories/internal/iterate_metadata_object.ts +45 -45
  42. package/src/factories/internal/iterate_metadata_resolve.ts +27 -27
  43. package/src/factories/internal/iterate_metadata_set.ts +33 -33
  44. package/src/factories/internal/iterate_metadata_template.ts +38 -38
  45. package/src/factories/internal/iterate_metadata_tuple.ts +45 -51
  46. package/src/factories/internal/iterate_metadata_union.ts +59 -59
  47. package/src/functional/$every.ts +11 -11
  48. package/src/functional/$guard.ts +35 -35
  49. package/src/functional/$is_email.ts +5 -5
  50. package/src/functional/$is_ipv4.ts +5 -5
  51. package/src/functional/$is_ipv6.ts +5 -5
  52. package/src/functional/$is_url.ts +5 -5
  53. package/src/functional/$is_uuid.ts +5 -5
  54. package/src/functional/$join.ts +50 -50
  55. package/src/functional/$report.ts +15 -15
  56. package/src/functional/$rest.ts +3 -3
  57. package/src/functional/$string.ts +37 -37
  58. package/src/functional/$tail.ts +6 -6
  59. package/src/metadata/IJsDocTagInfo.ts +10 -10
  60. package/src/metadata/IMetadata.ts +25 -25
  61. package/src/metadata/IMetadataApplication.ts +7 -7
  62. package/src/metadata/IMetadataConstant.ts +16 -16
  63. package/src/metadata/IMetadataEntry.ts +6 -6
  64. package/src/metadata/IMetadataObject.ts +29 -29
  65. package/src/metadata/IMetadataProperty.ts +11 -11
  66. package/src/metadata/IMetadataTag.ts +122 -122
  67. package/src/metadata/Metadata.ts +477 -477
  68. package/src/metadata/MetadataConstant.ts +3 -3
  69. package/src/metadata/MetadataObject.ts +131 -131
  70. package/src/metadata/MetadataProperty.ts +64 -64
  71. package/src/programmers/AssertParseProgrammer.ts +45 -45
  72. package/src/programmers/AssertProgrammer.ts +444 -444
  73. package/src/programmers/AssertStringifyProgrammer.ts +45 -45
  74. package/src/programmers/CheckerProgrammer.ts +798 -798
  75. package/src/programmers/FeatureProgrammer.ts +327 -327
  76. package/src/programmers/IsParseProgrammer.ts +51 -51
  77. package/src/programmers/IsProgrammer.ts +169 -169
  78. package/src/programmers/IsStringifyProgrammer.ts +49 -49
  79. package/src/programmers/ValidateParseProgrammer.ts +49 -49
  80. package/src/programmers/ValidateProgrammer.ts +236 -236
  81. package/src/programmers/ValidateStringifyProgrammer.ts +60 -60
  82. package/src/programmers/helpers/AtomicPredicator.ts +15 -15
  83. package/src/programmers/helpers/FunctionImporeter.ts +31 -31
  84. package/src/programmers/helpers/IExpressionEntry.ts +10 -10
  85. package/src/programmers/helpers/OptionPredicator.ts +18 -18
  86. package/src/programmers/helpers/StringifyJoinder.ts +111 -111
  87. package/src/programmers/helpers/StringifyPredicator.ts +18 -18
  88. package/src/programmers/helpers/UnionExplorer.ts +437 -437
  89. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  90. package/src/programmers/internal/application_boolean.ts +17 -17
  91. package/src/programmers/internal/application_constant.ts +29 -29
  92. package/src/programmers/internal/application_default_string.ts +32 -32
  93. package/src/programmers/internal/application_native.ts +29 -29
  94. package/src/programmers/internal/application_schema.ts +221 -221
  95. package/src/programmers/internal/application_templates.ts +27 -27
  96. package/src/programmers/internal/application_tuple.ts +25 -25
  97. package/src/programmers/internal/check_array.ts +44 -44
  98. package/src/programmers/internal/check_dynamic_properties.ts +146 -146
  99. package/src/programmers/internal/check_everything.ts +25 -25
  100. package/src/programmers/internal/check_length.ts +46 -46
  101. package/src/programmers/internal/check_native.ts +9 -9
  102. package/src/programmers/internal/check_number.ts +181 -181
  103. package/src/programmers/internal/check_object.ts +42 -42
  104. package/src/programmers/internal/check_string.ts +24 -24
  105. package/src/programmers/internal/check_string_tags.ts +63 -63
  106. package/src/programmers/internal/check_template.ts +50 -50
  107. package/src/programmers/internal/decode_union_object.ts +73 -73
  108. package/src/programmers/internal/feature_object_entries.ts +49 -49
  109. package/src/programmers/internal/metadata_to_pattern.ts +31 -31
  110. package/src/programmers/internal/stringify_dynamic_properties.ts +164 -164
  111. package/src/programmers/internal/stringify_native.ts +8 -8
  112. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  113. package/src/programmers/internal/template_to_pattern.ts +15 -15
  114. package/src/schemas/IJsonApplication.ts +9 -9
  115. package/src/transform.ts +20 -20
  116. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -66
  117. package/src/transformers/FileTransformer.ts +49 -49
  118. package/src/transformers/IProject.ts +11 -11
  119. package/src/transformers/ITransformOptions.ts +4 -4
  120. package/src/transformers/NodeTransformer.ts +19 -19
  121. package/src/typings/Atomic.ts +17 -17
  122. package/src/typings/ClassProperties.ts +5 -5
  123. package/src/typings/OmitNever.ts +3 -3
  124. package/src/typings/SpecialFields.ts +3 -3
  125. package/src/typings/Writable.ts +11 -11
  126. package/src/utils/ArrayUtil.ts +49 -49
  127. package/src/utils/Escaper.ts +50 -50
  128. package/src/utils/MapUtil.ts +14 -14
  129. package/src/utils/PatternUtil.ts +30 -30
  130. package/src/utils/Singleton.ts +17 -17
package/README.md CHANGED
@@ -12,7 +12,7 @@ export function assert<T>(input: unknown | T): T; // throws TypeGuardError
12
12
  export function validate<T>(input: unknown | T): IValidation<T>; // detailed
13
13
 
14
14
  // STRICT VALIDATORS
15
- export function equals<T>(input: unknown: T): input is T;
15
+ export function equals<T>(input: unknown | T): input is T;
16
16
  export function assertEquals<T>(input: unknown | T): T;
17
17
  export function validateEquals<T>(input: unknown | T): IValidation<T>;
18
18
 
@@ -49,7 +49,15 @@ npx typia setup
49
49
 
50
50
  Just type `npx typia setup`, that's all.
51
51
 
52
- After the setup, you can compile `typia` utilized code by using `ttsc` ([`ttypescript`](https://github.com/cevek/ttypescript)) command. If you want to run your TypeScript file directly through `ts-node`, add `-C ttypescript` argument like below:
52
+ Also, you can specify package manager by `--manager` argument.
53
+
54
+ ```bash
55
+ npx typia setup --manager npm
56
+ npx typia setup --manager pnpm
57
+ npx typia setup --manager yarn
58
+ ```
59
+
60
+ After the setup, you can compile `typia` utilization code by using `ttsc` ([`ttypescript`](https://github.com/cevek/ttypescript)) command. If you want to run your TypeScript file directly through `ts-node`, add `-C ttypescript` argument like below:
53
61
 
54
62
  ```bash
55
63
  # COMPILE THROUGH TTYPESCRIPT
@@ -68,6 +76,8 @@ If you want to install and setup `typia` manually, read [Guide Documents - Setup
68
76
  - [vite](https://github.com/samchon/typia/wiki/Setup#vite)
69
77
  - [webpack](https://github.com/samchon/typia/wiki/Setup#webpack)
70
78
 
79
+ Also, the [Guide Documents - Setup](https://github.com/samchon/typia/wiki/Setup), you can learn how to use pure TypeScript compiler `tsc` instead of installing the `ttypescript` compiler with `ttsc` command.
80
+
71
81
  ### vite
72
82
  When you want to setup `typia` on your frontend project with [`vite`](https://vitejs.dev/), just configure `vite.config.ts` like below.
73
83
 
@@ -0,0 +1,3 @@
1
+ export declare namespace CommandParser {
2
+ function parse(argList: string[]): Record<string, string>;
3
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandParser = void 0;
4
+ var CommandParser;
5
+ (function (CommandParser) {
6
+ function parse(argList) {
7
+ var output = {};
8
+ argList.forEach(function (arg, i) {
9
+ if (arg.startsWith("--") === false)
10
+ return;
11
+ var key = arg.slice(2);
12
+ var value = argList[i + 1];
13
+ if (value === undefined || value.startsWith("--"))
14
+ return;
15
+ output[key] = value;
16
+ });
17
+ return output;
18
+ }
19
+ CommandParser.parse = parse;
20
+ })(CommandParser = exports.CommandParser || (exports.CommandParser = {}));
21
+ //# sourceMappingURL=CommandParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandParser.js","sourceRoot":"","sources":["../../../src/executable/internal/CommandParser.ts"],"names":[],"mappings":";;;AAAA,IAAiB,aAAa,CAc7B;AAdD,WAAiB,aAAa;IAC1B,SAAgB,KAAK,CAAC,OAAiB;QACnC,IAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK;gBAAE,OAAO;YAE3C,IAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAM,KAAK,GAAuB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO;YAE1D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAZe,mBAAK,QAYpB,CAAA;AACL,CAAC,EAdgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAc7B"}
@@ -1,4 +1,4 @@
1
1
  export declare namespace TypiaSetupWizard {
2
- function ttypescript(): Promise<void>;
3
- function tsPatch(): Promise<void>;
2
+ function ttypescript(manager: string): Promise<void>;
3
+ function tsPatch(manager: string): Promise<void>;
4
4
  }
@@ -67,17 +67,18 @@ var child_process_1 = __importDefault(require("child_process"));
67
67
  var fs_1 = __importDefault(require("fs"));
68
68
  var TypiaSetupWizard;
69
69
  (function (TypiaSetupWizard) {
70
- function ttypescript() {
70
+ var _this = this;
71
+ function ttypescript(manager) {
71
72
  return __awaiter(this, void 0, void 0, function () {
72
73
  var pack;
73
74
  return __generator(this, function (_a) {
74
75
  switch (_a.label) {
75
- case 0: return [4, prepare()];
76
+ case 0: return [4, prepare(manager)];
76
77
  case 1:
77
78
  pack = _a.sent();
78
- install(pack, "ttypescript", "--save-dev");
79
- install(pack, "ts-node", "--save-dev");
80
- return [4, configure()];
79
+ add(manager)(pack)("ttypescript", true);
80
+ add(manager)(pack)("ts-node", true);
81
+ return [4, configure(manager)];
81
82
  case 2:
82
83
  _a.sent();
83
84
  return [2];
@@ -86,16 +87,21 @@ var TypiaSetupWizard;
86
87
  });
87
88
  }
88
89
  TypiaSetupWizard.ttypescript = ttypescript;
89
- function tsPatch() {
90
+ function tsPatch(manager) {
90
91
  return __awaiter(this, void 0, void 0, function () {
91
- var pack;
92
- return __generator(this, function (_a) {
93
- switch (_a.label) {
94
- case 0: return [4, prepare()];
92
+ var _a, pack, _b, _c;
93
+ return __generator(this, function (_d) {
94
+ switch (_d.label) {
95
+ case 0:
96
+ _a = add(manager);
97
+ return [4, prepare(manager)];
95
98
  case 1:
96
- pack = _a.sent();
97
- install(pack, "ts-patch", "--save-dev");
99
+ _a.apply(void 0, [_d.sent()])("ts-patch", true);
98
100
  execute("npx ts-patch install");
101
+ _c = (_b = JSON).parse;
102
+ return [4, fs_1.default.promises.readFile("package.json", "utf8")];
103
+ case 2:
104
+ pack = _c.apply(_b, [_d.sent()]);
99
105
  if (!pack.scripts || typeof pack.scripts !== "object")
100
106
  pack.scripts = {};
101
107
  if (typeof pack.scripts.prepare === "string") {
@@ -106,20 +112,20 @@ var TypiaSetupWizard;
106
112
  else
107
113
  pack.scripts.prepare = "ts-patch install";
108
114
  return [4, fs_1.default.promises.writeFile("package.json", JSON.stringify(pack, null, 2), "utf8")];
109
- case 2:
110
- _a.sent();
111
- return [4, configure()];
112
115
  case 3:
113
- _a.sent();
116
+ _d.sent();
117
+ return [4, configure(manager)];
118
+ case 4:
119
+ _d.sent();
114
120
  return [2];
115
121
  }
116
122
  });
117
123
  });
118
124
  }
119
125
  TypiaSetupWizard.tsPatch = tsPatch;
120
- function prepare() {
126
+ function prepare(manager) {
121
127
  return __awaiter(this, void 0, void 0, function () {
122
- var pack, _a, _b;
128
+ var pack, _a, _b, wizard;
123
129
  return __generator(this, function (_c) {
124
130
  switch (_c.label) {
125
131
  case 0:
@@ -129,15 +135,16 @@ var TypiaSetupWizard;
129
135
  return [4, fs_1.default.promises.readFile("package.json", "utf8")];
130
136
  case 1:
131
137
  pack = _b.apply(_a, [_c.sent()]);
132
- install(pack, "typia", "--save");
133
- install(pack, "typescript", "--save-dev");
138
+ wizard = add(manager)(pack);
139
+ wizard("typia", false);
140
+ wizard("typescript", true);
134
141
  return [2, pack];
135
142
  }
136
143
  });
137
144
  });
138
145
  }
139
- function configure() {
140
- return __awaiter(this, void 0, void 0, function () {
146
+ var configure = function (manager) {
147
+ return function (pack) { return __awaiter(_this, void 0, void 0, function () {
141
148
  var temporary, halter, Comment, config, _a, _b, options, plugins, strict, oldbie;
142
149
  return __generator(this, function (_c) {
143
150
  var _d;
@@ -150,10 +157,10 @@ var TypiaSetupWizard;
150
157
  }
151
158
  temporary = !fs_1.default.existsSync("node_modules/comment-json");
152
159
  if (temporary === true)
153
- child_process_1.default.execSync("npm install --save-dev comment-json");
160
+ add(manager)(pack)("comment-json", true);
154
161
  halter = halt(function () {
155
162
  if (temporary === true)
156
- child_process_1.default.execSync("npm uninstall --save-dev comment-json");
163
+ remove(manager)("comment-json", true);
157
164
  });
158
165
  return [4, (_d = process.cwd() + "/node_modules/comment-json", Promise.resolve().then(function () { return __importStar(require(_d)); }))];
159
166
  case 1:
@@ -191,21 +198,36 @@ var TypiaSetupWizard;
191
198
  _c.label = 5;
192
199
  case 5:
193
200
  if (temporary === true)
194
- child_process_1.default.execSync("npm uninstall --save-dev comment-json");
201
+ remove(manager)("comment-json", false);
195
202
  return [2];
196
203
  }
197
204
  });
198
- });
199
- }
205
+ }); };
206
+ };
200
207
  })(TypiaSetupWizard = exports.TypiaSetupWizard || (exports.TypiaSetupWizard = {}));
201
- function install(pack, modulo, mode) {
202
- var exists = (mode === "--save"
203
- ? !!pack.dependencies && !!pack.dependencies[modulo]
204
- : !!pack.devDependencies && !!pack.devDependencies[modulo]) &&
205
- fs_1.default.existsSync("node_modules/" + modulo);
206
- if (exists === false)
207
- execute("npm install ".concat(mode, " ").concat(modulo));
208
- }
208
+ var add = function (manager) {
209
+ return function (pack) {
210
+ return function (modulo, devOnly) {
211
+ var exists = (devOnly === false
212
+ ? !!pack.dependencies && !!pack.dependencies[modulo]
213
+ : !!pack.devDependencies && !!pack.devDependencies[modulo]) &&
214
+ fs_1.default.existsSync("node_modules/" + modulo);
215
+ var middle = manager === "yarn"
216
+ ? "add".concat(devOnly ? " -D" : "")
217
+ : "install ".concat(devOnly ? "--save-dev" : "--save");
218
+ if (exists === false)
219
+ execute("".concat(manager, " ").concat(middle, " ").concat(modulo));
220
+ };
221
+ };
222
+ };
223
+ var remove = function (manager) {
224
+ return function (modulo, devOnly) {
225
+ var middle = manager === "yarn"
226
+ ? "remove".concat(devOnly ? " -D" : "")
227
+ : "uninstall ".concat(devOnly ? "--save-dev" : "--save");
228
+ execute("".concat(manager, " ").concat(middle, " ").concat(modulo));
229
+ };
230
+ };
209
231
  var halt = function (closer) {
210
232
  return function (desc) {
211
233
  closer();
@@ -1 +1 @@
1
- {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
@@ -37,35 +37,37 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  }
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
+ var CommandParser_1 = require("./internal/CommandParser");
40
41
  var TypiaSetupWizard_1 = require("./internal/TypiaSetupWizard");
41
- var USAGE = "Usage: npx typia setup (transformer?: \"ttypescript\" | \"ts-patch\")\n\n - npx typia setup\n - npx typia setup ttypescript\n - npx typia setup ts-patch";
42
+ var USAGE = "Wrong command has been detected. Use like below:\n\n npx typia setup \\\n --compiler (ttypescript|ts-patch) \\\n --manager (npm|pnpm|yarn)\n\n - npx typia setup\n - npx typia setup --compiler ttypescript\n - npx typia setup --compiler ts-patch\n - npx typia setup --manager pnpm";
42
43
  function halt(desc) {
43
44
  console.error(desc);
44
45
  process.exit(-1);
45
46
  }
46
47
  function setup() {
47
- var _a;
48
+ var _a, _b;
48
49
  return __awaiter(this, void 0, void 0, function () {
49
- var compiler;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
50
+ var options, manager, compiler;
51
+ return __generator(this, function (_c) {
52
+ switch (_c.label) {
52
53
  case 0:
53
- compiler = (_a = process.argv[3]) !== null && _a !== void 0 ? _a : "ttypescript";
54
- if (!(compiler !== "ttypescript" && compiler !== "ts-patch")) return [3, 1];
55
- halt("typia supports only two transformers: ttypescript and ts-patch" +
56
- "\n\n" +
57
- USAGE);
54
+ options = CommandParser_1.CommandParser.parse(process.argv.slice(3));
55
+ manager = (_a = options.manager) !== null && _a !== void 0 ? _a : "npm";
56
+ compiler = (_b = options.compiler) !== null && _b !== void 0 ? _b : "ttypescript";
57
+ if (!((compiler !== "ttypescript" && compiler !== "ts-patch") ||
58
+ (manager !== "npm" && manager !== "pnpm" && manager !== "yarn"))) return [3, 1];
59
+ halt(USAGE);
58
60
  return [3, 5];
59
61
  case 1:
60
62
  if (!(compiler === "ttypescript")) return [3, 3];
61
- return [4, TypiaSetupWizard_1.TypiaSetupWizard.ttypescript()];
63
+ return [4, TypiaSetupWizard_1.TypiaSetupWizard.ttypescript(manager)];
62
64
  case 2:
63
- _b.sent();
65
+ _c.sent();
64
66
  return [3, 5];
65
- case 3: return [4, TypiaSetupWizard_1.TypiaSetupWizard.tsPatch()];
67
+ case 3: return [4, TypiaSetupWizard_1.TypiaSetupWizard.tsPatch(manager)];
66
68
  case 4:
67
- _b.sent();
68
- _b.label = 5;
69
+ _c.sent();
70
+ _c.label = 5;
69
71
  case 5: return [2];
70
72
  }
71
73
  });
@@ -78,14 +80,13 @@ function main() {
78
80
  switch (_a.label) {
79
81
  case 0:
80
82
  type = process.argv[2];
81
- if (!(type === undefined)) return [3, 1];
82
- halt(USAGE);
83
- return [3, 3];
84
- case 1:
85
- if (!(type === "setup")) return [3, 3];
83
+ if (!(type === "setup")) return [3, 2];
86
84
  return [4, setup()];
87
- case 2:
85
+ case 1:
88
86
  _a.sent();
87
+ return [3, 3];
88
+ case 2:
89
+ halt(USAGE);
89
90
  _a.label = 3;
90
91
  case 3: return [2];
91
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAA+D;AAE/D,IAAM,KAAK,GAAG,6JAIe,CAAC;AAE9B,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAe,KAAK;;;;;;;oBACV,QAAQ,GAAW,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAI,aAAa,CAAC;yBACtD,CAAA,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAA,EAArD,cAAqD;oBACrD,IAAI,CACA,gEAAgE;wBAC5D,MAAM;wBACN,KAAK,CACZ,CAAC;;;yBACG,CAAA,QAAQ,KAAK,aAAa,CAAA,EAA1B,cAA0B;oBAAE,WAAM,mCAAgB,CAAC,WAAW,EAAE,EAAA;;oBAApC,SAAoC,CAAC;;wBACrE,WAAM,mCAAgB,CAAC,OAAO,EAAE,EAAA;;oBAAhC,SAAgC,CAAC;;;;;;CACzC;AAED,SAAe,IAAI;;;;;;oBACT,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7C,CAAA,IAAI,KAAK,SAAS,CAAA,EAAlB,cAAkB;oBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;;;yBAC3B,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,cAAgB;oBAAE,WAAM,KAAK,EAAE,EAAA;;oBAAb,SAAa,CAAC;;;;;;CAC5C;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,UAAC,GAAG;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAyD;AACzD,gEAA+D;AAE/D,IAAM,KAAK,GAAG,mSASqB,CAAC;AAEpC,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAe,KAAK;;;;;;;oBACV,OAAO,GAA2B,6BAAa,CAAC,KAAK,CACvD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACxB,CAAC;oBACI,OAAO,GAAW,MAAA,OAAO,CAAC,OAAO,mCAAI,KAAK,CAAC;oBAC3C,QAAQ,GAAW,MAAA,OAAO,CAAC,QAAQ,mCAAI,aAAa,CAAC;yBAGvD,CAAA,CAAC,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAC;wBACvD,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,CAAA,EAD/D,cAC+D;oBAE/D,IAAI,CAAC,KAAK,CAAC,CAAC;;;yBACP,CAAA,QAAQ,KAAK,aAAa,CAAA,EAA1B,cAA0B;oBAC/B,WAAM,mCAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAA;;oBAA3C,SAA2C,CAAC;;wBAC3C,WAAM,mCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;oBAAvC,SAAuC,CAAC;;;;;;CAChD;AAED,SAAe,IAAI;;;;;;oBACT,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7C,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,cAAgB;oBAAE,WAAM,KAAK,EAAE,EAAA;;oBAAb,SAAa,CAAC;;;oBAC/B,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;CACpB;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,UAAC,GAAG;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
@@ -32,7 +32,7 @@ var iterate_metadata = function (checker) {
32
32
  (0, iterate_metadata_constant_1.iterate_metadata_constant)(checker)(options)(meta, type) ||
33
33
  (0, iterate_metadata_template_1.iterate_metadata_template)(checker)(options)(collection)(meta, type) ||
34
34
  (0, iterate_metadata_atomic_1.iterate_metadata_atomic)(meta, type) ||
35
- (0, iterate_metadata_tuple_1.iterate_metadata_tuple)(checker)(options)(collection)(meta, type, node) ||
35
+ (0, iterate_metadata_tuple_1.iterate_metadata_tuple)(checker)(options)(collection)(meta, type) ||
36
36
  (0, iterate_metadata_array_1.iterate_metadata_array)(checker)(options)(collection)(meta, type) ||
37
37
  (0, iterate_metadata_native_1.iterate_metadata_native)(checker)(meta, type) ||
38
38
  (0, iterate_metadata_map_1.iterate_metadata_map)(checker)(options)(collection)(meta, type) ||
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,uEAAsE;AACtE,+DAA8D;AAC9D,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,uFAAgF,IAAI,CAAC,OAAO,EAAE,MAAG,CACpG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS,EAAE;oBAEpB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,CAAC;oBAC3C,OAAO;iBACV;gBAGD,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC5C,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QAvDD,CAuDC;IAxDD,CAwDC;AAzDD,CAyDC,CAAC;AA3DO,QAAA,gBAAgB,oBA2DvB"}
1
+ {"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,uEAAsE;AACtE,+DAA8D;AAC9D,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,uFAAgF,IAAI,CAAC,OAAO,EAAE,MAAG,CACpG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS,EAAE;oBAEpB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,CAAC;oBAC3C,OAAO;iBACV;gBAGD,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAoB,CACvB;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC5C,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QAtDD,CAsDC;IAvDD,CAuDC;AAxDD,CAwDC,CAAC;AA1DO,QAAA,gBAAgB,oBA0DvB"}
@@ -2,4 +2,4 @@ import ts from "typescript";
2
2
  import { Metadata } from "../../metadata/Metadata";
3
3
  import { MetadataCollection } from "../MetadataCollection";
4
4
  import { MetadataFactory } from "../MetadataFactory";
5
- export declare const iterate_metadata_tuple: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type, node: ts.TypeNode) => boolean;
5
+ export declare const iterate_metadata_tuple: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.TupleType) => boolean;
@@ -12,25 +12,17 @@ var explore_metadata_1 = require("./explore_metadata");
12
12
  var iterate_metadata_tuple = function (checker) {
13
13
  return function (options) {
14
14
  return function (collection) {
15
- return function (meta, type, node) {
16
- var _a, _b;
15
+ return function (meta, type) {
16
+ var _a, _b, _c;
17
17
  if (!checker.isTupleType(type))
18
18
  return false;
19
- while (typescript_1.default.isTypeReferenceNode(node)) {
20
- var declarations = (_b = (_a = node.typeName) === null || _a === void 0 ? void 0 : _a.symbol) === null || _b === void 0 ? void 0 : _b.declarations;
21
- if (!(declarations === null || declarations === void 0 ? void 0 : declarations.length))
22
- break;
23
- var alias = declarations[0];
24
- if (!alias || !typescript_1.default.isTypeAliasDeclaration(alias))
25
- break;
26
- node = alias.type;
27
- }
28
- var elements = typescript_1.default.isTupleTypeNode(node) ? node.elements : undefined;
19
+ var elementFlags = (_c = (_a = type.elementFlags) !== null && _a !== void 0 ? _a : (_b = type.target) === null || _b === void 0 ? void 0 : _b.elementFlags) !== null && _c !== void 0 ? _c : [];
29
20
  var children = checker
30
21
  .getTypeArguments(type)
31
22
  .map(function (elem, i) {
32
23
  var child = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(elem, false);
33
- if (elements === undefined || !typescript_1.default.isRestTypeNode(elements[i]))
24
+ var flag = elementFlags[i];
25
+ if (flag !== typescript_1.default.ElementFlags.Rest)
34
26
  return child;
35
27
  var wrapper = Metadata_1.Metadata.initialize();
36
28
  (0, Writable_1.Writable)(wrapper).rest = child;
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_tuple.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_tuple.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oDAAmD;AAEnD,mDAAkD;AAElD,mDAAkD;AAIlD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,IAAiB;;gBAC7C,IAAI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAEtD,OAAO,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;oBACjC,IAAM,YAAY,GAAiC,MAAA,MAC/C,IAAI,CAAC,QACR,0CAAE,MAAM,0CAAE,YAAY,CAAC;oBACxB,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA;wBAAE,MAAM;oBAEjC,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;wBAAE,MAAM;oBACvD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;iBACrB;gBAED,IAAM,QAAQ,GAAG,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtE,IAAM,QAAQ,GAAe,OAAO;qBAC/B,gBAAgB,CAAC,IAAwB,CAAC;qBAC1C,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;oBACT,IAAM,KAAK,GAAa,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACtD,UAAU,CACb,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACf,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,oBAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;wBAC1D,OAAO,KAAK,CAAC;oBAEjB,IAAM,OAAO,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;oBAChD,IAAA,mBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;oBAC/B,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACP,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QA9BD,CA8BC;IA/BD,CA+BC;AAhCD,CAgCC,CAAC;AAlCO,QAAA,sBAAsB,0BAkC7B;AAEN,SAAS,gBAAgB,CAAC,KAAiB;IACvC,OAAO,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"iterate_metadata_tuple.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_tuple.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oDAAmD;AAEnD,mDAAkD;AAElD,mDAAkD;AAIlD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAkB;;gBAC/B,IAAI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAEtD,IAAM,YAAY,GACd,MAAA,MAAA,IAAI,CAAC,YAAY,mCACjB,MAAC,IAAI,CAAC,MAAuB,0CAAE,YAAY,mCAC3C,EAAE,CAAC;gBAEP,IAAM,QAAQ,GAAe,OAAO;qBAC/B,gBAAgB,CAAC,IAAwB,CAAC;qBAC1C,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;oBACT,IAAM,KAAK,GAAa,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACtD,UAAU,CACb,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAEf,IAAM,IAAI,GAAgC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,IAAI,KAAK,oBAAE,CAAC,YAAY,CAAC,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAEhD,IAAM,OAAO,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;oBAChD,IAAA,mBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;oBAC/B,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACP,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QAxBD,CAwBC;IAzBD,CAyBC;AA1BD,CA0BC,CAAC;AA5BO,QAAA,sBAAsB,0BA4B7B;AAEN,SAAS,gBAAgB,CAAC,KAAiB;IACvC,OAAO,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.4.6",
3
+ "version": "3.4.8",
4
4
  "description": "Runtime type checkers and 5x faster JSON.stringify() function",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "build": "rimraf lib && ttsc --removeComments --declaration false && ttsc --emitDeclarationOnly",
13
13
  "build:test": "rimraf bin && ttsc -p tsconfig.test.json",
14
14
  "build:test:prettier": "npm run build:test && prettier --write ./bin/**/*.js",
15
- "dev": "npm run build -- --watch",
15
+ "dev": "rimraf lib && ttsc --watch",
16
16
  "dev:test": "rimraf bin && ttsc -p tsconfig.test.json --watch",
17
17
  "eslint": "eslint ./**/*.ts",
18
18
  "eslint:fix": "eslint ./**/*.ts --fix",
@@ -1,21 +1,21 @@
1
- export type IValidation<T = unknown> =
2
- | IValidation.ISuccess<T>
3
- | IValidation.IFailure;
4
- export namespace IValidation {
5
- export interface ISuccess<T = unknown> {
6
- success: true;
7
- data: T;
8
- errors: [];
9
- }
10
-
11
- export interface IFailure {
12
- success: false;
13
- errors: IError[];
14
- }
15
-
16
- export interface IError {
17
- path: string;
18
- expected: string;
19
- value: any;
20
- }
21
- }
1
+ export type IValidation<T = unknown> =
2
+ | IValidation.ISuccess<T>
3
+ | IValidation.IFailure;
4
+ export namespace IValidation {
5
+ export interface ISuccess<T = unknown> {
6
+ success: true;
7
+ data: T;
8
+ errors: [];
9
+ }
10
+
11
+ export interface IFailure {
12
+ success: false;
13
+ errors: IError[];
14
+ }
15
+
16
+ export interface IError {
17
+ path: string;
18
+ expected: string;
19
+ value: any;
20
+ }
21
+ }