vueless 0.0.290 → 0.0.291
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.
- package/package.json +1 -1
- package/service.helper/index.js +19 -25
- package/web-types.json +1 -1
package/package.json
CHANGED
package/service.helper/index.js
CHANGED
|
@@ -6,40 +6,34 @@
|
|
|
6
6
|
@returns {Object}
|
|
7
7
|
*/
|
|
8
8
|
export function cloneDeep(entity, cache = new WeakMap()) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (
|
|
13
|
-
!new RegExp(referenceTypes.join("|")).test(entityType) ||
|
|
14
|
-
entity instanceof WeakMap ||
|
|
15
|
-
entity instanceof WeakSet
|
|
16
|
-
) {
|
|
9
|
+
// primitives
|
|
10
|
+
if (Object(entity) !== entity) {
|
|
17
11
|
return entity;
|
|
18
12
|
}
|
|
19
13
|
|
|
14
|
+
// cyclic reference
|
|
20
15
|
if (cache.has(entity)) {
|
|
21
16
|
return cache.get(entity);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
cache.set(entity, c);
|
|
19
|
+
const result =
|
|
20
|
+
entity instanceof Set
|
|
21
|
+
? new Set(entity)
|
|
22
|
+
: entity instanceof Map
|
|
23
|
+
? new Map(Array.from(entity, ([key, val]) => [key, cloneDeep(val, cache)]))
|
|
24
|
+
: entity instanceof Date
|
|
25
|
+
? new Date(entity)
|
|
26
|
+
: entity instanceof RegExp
|
|
27
|
+
? new RegExp(entity.source, entity.flags)
|
|
28
|
+
: entity.constructor
|
|
29
|
+
? new entity.constructor()
|
|
30
|
+
: Object.create(null);
|
|
31
|
+
|
|
32
|
+
cache.set(entity, result);
|
|
39
33
|
|
|
40
34
|
return Object.assign(
|
|
41
|
-
|
|
42
|
-
...Object.keys(entity).map((
|
|
35
|
+
result,
|
|
36
|
+
...Object.keys(entity).map((key) => ({ [key]: cloneDeep(entity[key], cache) })),
|
|
43
37
|
);
|
|
44
38
|
}
|
|
45
39
|
|