| 123456789101112131415161718192021222324252627282930313233 | 'use strict';var isObject = require('is-extendable');module.exports = function extend(o/*, objects*/) {  if (!isObject(o)) { o = {}; }  var len = arguments.length;  for (var i = 1; i < len; i++) {    var obj = arguments[i];    if (isObject(obj)) {      assign(o, obj);    }  }  return o;};function assign(a, b) {  for (var key in b) {    if (hasOwn(b, key)) {      a[key] = b[key];    }  }}/** * Returns true if the given `key` is an own property of `obj`. */function hasOwn(obj, key) {  return Object.prototype.hasOwnProperty.call(obj, key);}
 |