rambda
Version:
Lightweight faster alternative to Ramda
17 lines (14 loc) • 377 B
JavaScript
export function clone(input){
const out = Array.isArray(input) ? Array(input.length) : {}
if (input && input.getTime) return new Date(input.getTime())
for (const key in input){
const v = input[ key ]
out[ key ] =
typeof v === 'object' && v !== null ?
v.getTime ?
new Date(v.getTime()) :
clone(v) :
v
}
return out
}