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