Comparing version 2.10.1 to 2.10.2
# WebDAV-Client changelog | ||
## v2.10.2 | ||
_2020-01-25_ | ||
* **Bugfix**: | ||
* [#189](https://github.com/perry-mitchell/webdav-client/issues/189) Maximum call stack size exceeded during digest auth usage (property merging) | ||
## v2.10.1 | ||
@@ -4,0 +10,0 @@ _2019-12-17_ |
"use strict"; | ||
const mergeObjects = require("merge"); | ||
function merge(...args) { | ||
return mergeObjects.recursive(true, ...args); | ||
let output = null, | ||
items = [...args]; | ||
while (items.length > 0) { | ||
const nextItem = items.shift(); | ||
if (!output) { | ||
output = Object.assign({}, nextItem); | ||
} else { | ||
output = mergeObjects(output, nextItem); | ||
} | ||
} | ||
return output; | ||
} | ||
function mergeObjects(obj1, obj2) { | ||
const output = Object.assign({}, obj1); | ||
Object.keys(obj2).forEach(key => { | ||
if (!output.hasOwnProperty(key)) { | ||
output[key] = obj2[key]; | ||
return; | ||
} | ||
if (Array.isArray(obj2[key])) { | ||
output[key] = Array.isArray(output[key]) ? [...output[key], ...obj2[key]] : [...obj2[key]]; | ||
} else if (typeof obj2[key] === "object" && !!obj2[key]) { | ||
output[key] = typeof output[key] === "object" && !!output[key] ? mergeObjects(output[key], obj2[key]) : Object.assign({}, obj2[key]); | ||
} else { | ||
output[key] = obj2[key]; | ||
} | ||
}); | ||
return output; | ||
} | ||
module.exports = { | ||
merge | ||
}; |
{ | ||
"name": "webdav", | ||
"version": "2.10.1", | ||
"version": "2.10.2", | ||
"description": "WebDAV client for NodeJS", | ||
@@ -52,3 +52,2 @@ "main": "dist/index.js", | ||
"hot-patcher": "^0.5.0", | ||
"merge": "^1.2.1", | ||
"minimatch": "^3.0.4", | ||
@@ -55,0 +54,0 @@ "path-posix": "^1.0.0", |
Sorry, the diff of this file is too big to display
2418210
8
55
13659
4
- Removedmerge@^1.2.1
- Removedmerge@1.2.1(transitive)