2025-04-02 06:50:39 -04:00

49 lines
841 B
JavaScript

'use strict';
/*
Deep-clone an object.
*/
function clone(obj) {
if (obj instanceof Object) {
var clonedObj = obj instanceof Array ? [] : {};
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
clonedObj[i] = clone(obj[i]);
}
}
return clonedObj;
}
return obj;
}
/*
https://github.com/jonschlinkert/is-plain-object
*/
function isPlainObject(obj) {
return !!obj && typeof obj === 'object' && obj.constructor === Object;
}
/*
Shallow-merge two objects.
*/
function shallowMerge(target, source) {
if (target instanceof Object && source instanceof Object) {
for (var i in source) {
if (source.hasOwnProperty(i)) {
target[i] = source[i];
}
}
}
return target;
}
module.exports = {
clone: clone,
isPlainObject: isPlainObject,
shallowMerge: shallowMerge,
};