Преглед на файлове

optimizations to the clone function

tags/v0.2.1^2
big bad waffle преди 5 години
родител
ревизия
e8210fd4d5
променени са 3 файла, в които са добавени 12 реда и са изтрити 19 реда
  1. +6
    -19
      src/server/misc/clone.js
  2. +5
    -0
      src/server/package-lock.json
  3. +1
    -0
      src/server/package.json

+ 6
- 19
src/server/misc/clone.js Целия файл

@@ -1,38 +1,25 @@
const oArray = '[object Array]';

let cloneRecursive = function (o, newO) {
let i;
if (typeof o !== 'object')
return o;
if (!o)
return o;
if (Object.prototype.toString.apply(o) === oArray) {
if (o instanceof Array) {
if (!newO)
newO = [];

let oLen = o.length;
for (i = 0; i < oLen; i++) {
if (newO[i] === undefined)
newO[i] = cloneRecursive(o[i]);
else
cloneRecursive(o[i], newO[i]);
}
for (let i = 0; i < o.length; i++)
newO[i] = cloneRecursive(o[i], newO[i]);
return newO;
}

if (!newO)
newO = {};
for (i in o) {
if (o.hasOwnProperty(i)) {
if (newO[i] === undefined)
newO[i] = cloneRecursive(o[i]);
else
newO[i] = cloneRecursive(o[i], newO[i]);
}
for (let i in o) {
if (o.hasOwnProperty(i))
newO[i] = cloneRecursive(o[i], newO[i]);
}
return newO;
};


+ 5
- 0
src/server/package-lock.json Целия файл

@@ -568,6 +568,11 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-copy": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-1.2.2.tgz",
"integrity": "sha512-qgk7WyVVFNvUzEV/RRQfI7Y6SEjHI+SfmHpkSzzoMUpd4+uXQaeGxhz52/FjnaaNGWxuWXr5l4/kRPD8GPecGA=="
},
"fast-deep-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",


+ 1
- 0
src/server/package.json Целия файл

@@ -5,6 +5,7 @@
"dependencies": {
"bcrypt-nodejs": "0.0.3",
"express": "^4.13.1",
"fast-copy": "^1.2.2",
"google-spreadsheet": "^2.0.4",
"less-middleware": "^2.0.1",
"mysql": "^2.13.0",


Зареждане…
Отказ
Запис