rambdax
Version:
Extended version of Rambda - a lightweight, faster alternative to Ramda
19 lines (15 loc) • 422 B
JavaScript
import { _isArray } from './_internals/_isArray'
export function clone(input){
const out = _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
}