Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80709 views
1
module.exports = function (obj) {
2
if (!obj || typeof obj !== 'object') return obj;
3
4
var copy;
5
6
if (isArray(obj)) {
7
var len = obj.length;
8
copy = Array(len);
9
for (var i = 0; i < len; i++) {
10
copy[i] = obj[i];
11
}
12
}
13
else {
14
var keys = objectKeys(obj);
15
copy = {};
16
17
for (var i = 0, l = keys.length; i < l; i++) {
18
var key = keys[i];
19
copy[key] = obj[key];
20
}
21
}
22
return copy;
23
};
24
25
var objectKeys = Object.keys || function (obj) {
26
var keys = [];
27
for (var key in obj) {
28
if ({}.hasOwnProperty.call(obj, key)) keys.push(key);
29
}
30
return keys;
31
};
32
33
var isArray = Array.isArray || function (xs) {
34
return {}.toString.call(xs) === '[object Array]';
35
};
36
37