25 lines
532 B
JavaScript
25 lines
532 B
JavaScript
|
'use strict';
|
||
|
|
||
|
module.exports = {
|
||
|
isObject: function(obj) {
|
||
|
var type = typeof obj;
|
||
|
return type === 'function' || type === 'object' && !!obj;
|
||
|
}
|
||
|
|
||
|
, extend: function(obj) {
|
||
|
if (!this.isObject(obj)) {
|
||
|
return obj;
|
||
|
}
|
||
|
var source, prop;
|
||
|
for (var i = 1, length = arguments.length; i < length; i++) {
|
||
|
source = arguments[i];
|
||
|
for (prop in source) {
|
||
|
if (Object.prototype.hasOwnProperty.call(source, prop)) {
|
||
|
obj[prop] = source[prop];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return obj;
|
||
|
}
|
||
|
};
|