From dc3888553bdda4ee30e6440992459916cec8d911 Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Thu, 21 Jul 2016 19:25:55 -0400 Subject: Need pull --- node_modules/mongodb/lib/utils.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'node_modules/mongodb/lib/utils.js') 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; -- cgit v1.2.3