|                                 |  | '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);}
 |