l0bsterssg

node.js static responsive blog post generator
Log | Files | Refs | README

index.js (576B)


      1 'use strict';
      2 
      3 var isObject = require('is-extendable');
      4 
      5 module.exports = function extend(o/*, objects*/) {
      6   if (!isObject(o)) { o = {}; }
      7 
      8   var len = arguments.length;
      9   for (var i = 1; i < len; i++) {
     10     var obj = arguments[i];
     11 
     12     if (isObject(obj)) {
     13       assign(o, obj);
     14     }
     15   }
     16   return o;
     17 };
     18 
     19 function assign(a, b) {
     20   for (var key in b) {
     21     if (hasOwn(b, key)) {
     22       a[key] = b[key];
     23     }
     24   }
     25 }
     26 
     27 /**
     28  * Returns true if the given `key` is an own property of `obj`.
     29  */
     30 
     31 function hasOwn(obj, key) {
     32   return Object.prototype.hasOwnProperty.call(obj, key);
     33 }