typia 6.5.0 → 6.5.1

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.
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.$any = void 0;
4
4
  var _clone_1 = require("./$clone");
5
- var $any = function (val) {
6
- return val !== undefined ? (0, _clone_1.$clone)(val) : undefined;
7
- };
5
+ var $any = function (val) { return (0, _clone_1.$clone)(val); };
8
6
  exports.$any = $any;
9
7
  //# sourceMappingURL=$any.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"$any.js","sourceRoot":"","sources":["../../src/functional/$any.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAE3B,IAAM,IAAI,GAAG,UAAC,GAAQ;IAC3B,OAAA,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;AAA3C,CAA2C,CAAC;AADjC,QAAA,IAAI,QAC6B"}
1
+ {"version":3,"file":"$any.js","sourceRoot":"","sources":["../../src/functional/$any.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAE3B,IAAM,IAAI,GAAG,UAAC,GAAQ,IAAU,OAAA,IAAA,eAAM,EAAC,GAAG,CAAC,EAAX,CAAW,CAAC;AAAtC,QAAA,IAAI,QAAkC"}
@@ -1,2 +1,2 @@
1
- import { Primitive } from "../Primitive";
2
- export declare const $clone: <T>(value: T) => Primitive<T>;
1
+ import { Resolved } from "../Resolved";
2
+ export declare const $clone: <T>(value: T) => Resolved<T>;
@@ -1,8 +1,100 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
2
27
  Object.defineProperty(exports, "__esModule", { value: true });
3
28
  exports.$clone = void 0;
4
29
  var $clone = function (value) {
5
- return JSON.parse(JSON.stringify(value));
30
+ return $cloneMain(value);
6
31
  };
7
32
  exports.$clone = $clone;
33
+ var $cloneMain = function (value) {
34
+ if (value === undefined)
35
+ return undefined;
36
+ else if (typeof value === "object")
37
+ if (value === null)
38
+ return null;
39
+ else if (Array.isArray(value))
40
+ return value.map($cloneMain);
41
+ else if (value instanceof Date)
42
+ return new Date(value);
43
+ else if (value instanceof Uint8Array)
44
+ return new Uint8Array(value);
45
+ else if (value instanceof Uint8ClampedArray)
46
+ return new Uint8ClampedArray(value);
47
+ else if (value instanceof Uint16Array)
48
+ return new Uint16Array(value);
49
+ else if (value instanceof Uint32Array)
50
+ return new Uint32Array(value);
51
+ else if (value instanceof BigUint64Array)
52
+ return new BigUint64Array(value);
53
+ else if (value instanceof Int8Array)
54
+ return new Int8Array(value);
55
+ else if (value instanceof Int16Array)
56
+ return new Int16Array(value);
57
+ else if (value instanceof Int32Array)
58
+ return new Int32Array(value);
59
+ else if (value instanceof BigInt64Array)
60
+ return new BigInt64Array(value);
61
+ else if (value instanceof Float32Array)
62
+ return new Float32Array(value);
63
+ else if (value instanceof Float64Array)
64
+ return new Float64Array(value);
65
+ else if (value instanceof ArrayBuffer)
66
+ return value.slice(0);
67
+ else if (value instanceof SharedArrayBuffer)
68
+ return value.slice(0);
69
+ else if (value instanceof DataView)
70
+ return new DataView(value.buffer.slice(0));
71
+ else if (value instanceof Blob)
72
+ return new Blob([value], { type: value.type });
73
+ else if (value instanceof File)
74
+ return new File([value], value.name, { type: value.type });
75
+ else if (value instanceof Set)
76
+ return new Set(__spreadArray([], __read(value), false).map($cloneMain));
77
+ else if (value instanceof Map)
78
+ return new Map(__spreadArray([], __read(value), false).map(function (_a) {
79
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
80
+ return [$cloneMain(k), $cloneMain(v)];
81
+ }));
82
+ else if (value instanceof WeakSet || value instanceof WeakMap)
83
+ throw new Error("WeakSet and WeakMap are not supported");
84
+ else if (value.valueOf() !== value)
85
+ return $cloneMain(value.valueOf());
86
+ else
87
+ return Object.fromEntries(Object.entries(value)
88
+ .map(function (_a) {
89
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
90
+ return [k, $cloneMain(v)];
91
+ })
92
+ .filter(function (_a) {
93
+ var _b = __read(_a, 2), v = _b[1];
94
+ return v !== undefined;
95
+ }));
96
+ else if (typeof value === "function")
97
+ return undefined;
98
+ return value;
99
+ };
8
100
  //# sourceMappingURL=$clone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"$clone.js","sourceRoot":"","sources":["../../src/functional/$clone.ts"],"names":[],"mappings":";;;AAEO,IAAM,MAAM,GAAG,UAAI,KAAQ;IAChC,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAAjC,CAAiC,CAAC;AADvB,QAAA,MAAM,UACiB"}
1
+ {"version":3,"file":"$clone.js","sourceRoot":"","sources":["../../src/functional/$clone.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { $clone } from './_clone.mjs';
2
2
 
3
- const $any = (val) => val !== undefined ? $clone(val) : undefined;
3
+ const $any = (val) => $clone(val);
4
4
 
5
5
  export { $any };
6
6
  //# sourceMappingURL=_any.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"_any.mjs","sources":["../../src/functional/$any.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAEa,IAAI,GAAG,CAAC,GAAQ,KAC3B,GAAG,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG;;;;"}
1
+ {"version":3,"file":"_any.mjs","sources":["../../src/functional/$any.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,IAAI,GAAG,CAAC,GAAQ,KAAU,MAAM,CAAC,GAAG;;;;"}
@@ -1,4 +1,62 @@
1
- const $clone = (value) => JSON.parse(JSON.stringify(value));
1
+ const $clone = (value) => $cloneMain(value);
2
+ const $cloneMain = (value) => {
3
+ if (value === undefined)
4
+ return undefined;
5
+ else if (typeof value === "object")
6
+ if (value === null)
7
+ return null;
8
+ else if (Array.isArray(value))
9
+ return value.map($cloneMain);
10
+ else if (value instanceof Date)
11
+ return new Date(value);
12
+ else if (value instanceof Uint8Array)
13
+ return new Uint8Array(value);
14
+ else if (value instanceof Uint8ClampedArray)
15
+ return new Uint8ClampedArray(value);
16
+ else if (value instanceof Uint16Array)
17
+ return new Uint16Array(value);
18
+ else if (value instanceof Uint32Array)
19
+ return new Uint32Array(value);
20
+ else if (value instanceof BigUint64Array)
21
+ return new BigUint64Array(value);
22
+ else if (value instanceof Int8Array)
23
+ return new Int8Array(value);
24
+ else if (value instanceof Int16Array)
25
+ return new Int16Array(value);
26
+ else if (value instanceof Int32Array)
27
+ return new Int32Array(value);
28
+ else if (value instanceof BigInt64Array)
29
+ return new BigInt64Array(value);
30
+ else if (value instanceof Float32Array)
31
+ return new Float32Array(value);
32
+ else if (value instanceof Float64Array)
33
+ return new Float64Array(value);
34
+ else if (value instanceof ArrayBuffer)
35
+ return value.slice(0);
36
+ else if (value instanceof SharedArrayBuffer)
37
+ return value.slice(0);
38
+ else if (value instanceof DataView)
39
+ return new DataView(value.buffer.slice(0));
40
+ else if (value instanceof Blob)
41
+ return new Blob([value], { type: value.type });
42
+ else if (value instanceof File)
43
+ return new File([value], value.name, { type: value.type });
44
+ else if (value instanceof Set)
45
+ return new Set([...value].map($cloneMain));
46
+ else if (value instanceof Map)
47
+ return new Map([...value].map(([k, v]) => [$cloneMain(k), $cloneMain(v)]));
48
+ else if (value instanceof WeakSet || value instanceof WeakMap)
49
+ throw new Error("WeakSet and WeakMap are not supported");
50
+ else if (value.valueOf() !== value)
51
+ return $cloneMain(value.valueOf());
52
+ else
53
+ return Object.fromEntries(Object.entries(value)
54
+ .map(([k, v]) => [k, $cloneMain(v)])
55
+ .filter(([, v]) => v !== undefined));
56
+ else if (typeof value === "function")
57
+ return undefined;
58
+ return value;
59
+ };
2
60
 
3
61
  export { $clone };
4
62
  //# sourceMappingURL=_clone.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"_clone.mjs","sources":["../../src/functional/$clone.ts"],"sourcesContent":[null],"names":[],"mappings":"MAEa,MAAM,GAAG,CAAI,KAAQ,KAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;"}
1
+ {"version":3,"file":"_clone.mjs","sources":["../../src/functional/$clone.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "6.5.0",
3
+ "version": "6.5.1",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,4 +1,3 @@
1
1
  import { $clone } from "./$clone";
2
2
 
3
- export const $any = (val: any): any =>
4
- val !== undefined ? $clone(val) : undefined;
3
+ export const $any = (val: any): any => $clone(val);
@@ -1,4 +1,48 @@
1
- import { Primitive } from "../Primitive";
1
+ import { Resolved } from "../Resolved";
2
2
 
3
- export const $clone = <T>(value: T): Primitive<T> =>
4
- JSON.parse(JSON.stringify(value));
3
+ export const $clone = <T>(value: T): Resolved<T> =>
4
+ $cloneMain(value) as Resolved<T>;
5
+
6
+ const $cloneMain = (value: any): any => {
7
+ if (value === undefined) return undefined;
8
+ else if (typeof value === "object")
9
+ if (value === null) return null;
10
+ else if (Array.isArray(value)) return value.map($cloneMain);
11
+ else if (value instanceof Date) return new Date(value);
12
+ else if (value instanceof Uint8Array) return new Uint8Array(value);
13
+ else if (value instanceof Uint8ClampedArray)
14
+ return new Uint8ClampedArray(value);
15
+ else if (value instanceof Uint16Array) return new Uint16Array(value);
16
+ else if (value instanceof Uint32Array) return new Uint32Array(value);
17
+ else if (value instanceof BigUint64Array) return new BigUint64Array(value);
18
+ else if (value instanceof Int8Array) return new Int8Array(value);
19
+ else if (value instanceof Int16Array) return new Int16Array(value);
20
+ else if (value instanceof Int32Array) return new Int32Array(value);
21
+ else if (value instanceof BigInt64Array) return new BigInt64Array(value);
22
+ else if (value instanceof Float32Array) return new Float32Array(value);
23
+ else if (value instanceof Float64Array) return new Float64Array(value);
24
+ else if (value instanceof ArrayBuffer) return value.slice(0);
25
+ else if (value instanceof SharedArrayBuffer) return value.slice(0);
26
+ else if (value instanceof DataView)
27
+ return new DataView(value.buffer.slice(0));
28
+ else if (value instanceof Blob)
29
+ return new Blob([value], { type: value.type });
30
+ else if (value instanceof File)
31
+ return new File([value], value.name, { type: value.type });
32
+ else if (value instanceof Set) return new Set([...value].map($cloneMain));
33
+ else if (value instanceof Map)
34
+ return new Map(
35
+ [...value].map(([k, v]) => [$cloneMain(k), $cloneMain(v)]),
36
+ );
37
+ else if (value instanceof WeakSet || value instanceof WeakMap)
38
+ throw new Error("WeakSet and WeakMap are not supported");
39
+ else if (value.valueOf() !== value) return $cloneMain(value.valueOf());
40
+ else
41
+ return Object.fromEntries(
42
+ Object.entries(value)
43
+ .map(([k, v]) => [k, $cloneMain(v)])
44
+ .filter(([, v]) => v !== undefined),
45
+ );
46
+ else if (typeof value === "function") return undefined;
47
+ return value;
48
+ };