aboutsummaryrefslogtreecommitdiff
path: root/node_modules/mongodb/lib/utils.js
diff options
context:
space:
mode:
authornanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-21 23:25:55 +0000
committernanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-21 23:25:55 +0000
commitdc3888553bdda4ee30e6440992459916cec8d911 (patch)
tree3103577d8ca32f798e88468da305e26ff260bf5b /node_modules/mongodb/lib/utils.js
parent39ef1b6fd37bb9b725676d3a98f13e3450798200 (diff)
Need pull
Diffstat (limited to 'node_modules/mongodb/lib/utils.js')
-rw-r--r--node_modules/mongodb/lib/utils.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/mongodb/lib/utils.js b/node_modules/mongodb/lib/utils.js
index 0b649b8..066269d 100644
--- a/node_modules/mongodb/lib/utils.js
+++ b/node_modules/mongodb/lib/utils.js
@@ -269,6 +269,31 @@ var filterOptions = function(options, names) {
return filterOptions;
}
+// Object.assign method or polyfille
+var assign = Object.assign ? Object.assign : function assign(target, firstSource) {
+ if (target === undefined || target === null) {
+ throw new TypeError('Cannot convert first argument to object');
+ }
+
+ var to = Object(target);
+ for (var i = 1; i < arguments.length; i++) {
+ var nextSource = arguments[i];
+ if (nextSource === undefined || nextSource === null) {
+ continue;
+ }
+
+ var keysArray = Object.keys(Object(nextSource));
+ for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
+ var nextKey = keysArray[nextIndex];
+ var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
+ if (desc !== undefined && desc.enumerable) {
+ to[nextKey] = nextSource[nextKey];
+ }
+ }
+ }
+ return to;
+}
+
exports.filterOptions = filterOptions;
exports.mergeOptions = mergeOptions;
exports.translateOptions = translateOptions;
@@ -284,3 +309,4 @@ exports.decorateCommand = decorateCommand;
exports.isObject = isObject;
exports.debugOptions = debugOptions;
exports.MAX_JS_INT = 0x20000000000000;
+exports.assign = assign;