diff options
Diffstat (limited to 'node_modules/algoliasearch/src/merge.js')
| -rw-r--r-- | node_modules/algoliasearch/src/merge.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/algoliasearch/src/merge.js b/node_modules/algoliasearch/src/merge.js new file mode 100644 index 00000000..99a32d75 --- /dev/null +++ b/node_modules/algoliasearch/src/merge.js @@ -0,0 +1,19 @@ +var foreach = require('foreach'); + +module.exports = function merge(destination/* , sources */) { + var sources = Array.prototype.slice.call(arguments); + + foreach(sources, function(source) { + for (var keyName in source) { + if (source.hasOwnProperty(keyName)) { + if (typeof destination[keyName] === 'object' && typeof source[keyName] === 'object') { + destination[keyName] = merge({}, destination[keyName], source[keyName]); + } else if (source[keyName] !== undefined) { + destination[keyName] = source[keyName]; + } + } + } + }); + + return destination; +}; |
