@hapi/hoek
Advanced tools
Comparing version 7.0.0 to 7.1.0
@@ -72,3 +72,3 @@ /** | ||
*/ | ||
readonly shallow?: string[] | string[][]; | ||
readonly shallow?: string[] | string[][] | boolean; | ||
} | ||
@@ -75,0 +75,0 @@ } |
@@ -36,11 +36,19 @@ 'use strict'; | ||
let clone = exports.clone; | ||
let seen = _seen; | ||
if (options.shallow) { | ||
return internals.cloneWithShallow(obj, options); | ||
if (options.shallow !== true) { | ||
return internals.cloneWithShallow(obj, options); | ||
} | ||
clone = (value) => value; | ||
} | ||
else { | ||
seen = seen || new Map(); | ||
const seen = _seen || new Map(); | ||
const lookup = seen.get(obj); | ||
if (lookup) { | ||
return lookup; | ||
const lookup = seen.get(obj); | ||
if (lookup) { | ||
return lookup; | ||
} | ||
} | ||
@@ -92,7 +100,9 @@ | ||
seen.set(obj, newObj); // Set seen, since obj could recurse | ||
if (seen) { | ||
seen.set(obj, newObj); // Set seen, since obj could recurse | ||
} | ||
if (baseProto === Types.set) { | ||
for (const value of obj) { | ||
newObj.add(exports.clone(value, options, seen)); | ||
newObj.add(clone(value, options, seen)); | ||
} | ||
@@ -102,3 +112,3 @@ } | ||
for (const [key, value] of obj) { | ||
newObj.set(key, exports.clone(value, options, seen)); | ||
newObj.set(key, clone(value, options, seen)); | ||
} | ||
@@ -119,4 +129,3 @@ } | ||
if (descriptor && | ||
(descriptor.get || | ||
descriptor.set)) { | ||
(descriptor.get || descriptor.set)) { | ||
@@ -130,3 +139,3 @@ Object.defineProperty(newObj, key, descriptor); | ||
configurable: true, | ||
value: exports.clone(obj[key], options, seen) | ||
value: clone(obj[key], options, seen) | ||
}); | ||
@@ -133,0 +142,0 @@ } |
{ | ||
"name": "@hapi/hoek", | ||
"description": "General purpose node utilities", | ||
"version": "7.0.0", | ||
"version": "7.1.0", | ||
"repository": "git://github.com/hapijs/hoek", | ||
@@ -6,0 +6,0 @@ "main": "lib/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43264
1148