RAHHH
This commit is contained in:
18
backend/frontend/node_modules/tcomb/lib/mixin.js
generated
vendored
Normal file
18
backend/frontend/node_modules/tcomb/lib/mixin.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
var isNil = require('./isNil');
|
||||
var assert = require('./assert');
|
||||
|
||||
// safe mixin, cannot override props unless specified
|
||||
module.exports = function mixin(target, source, overwrite) {
|
||||
if (isNil(source)) { return target; }
|
||||
for (var k in source) {
|
||||
if (source.hasOwnProperty(k)) {
|
||||
if (overwrite !== true) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
assert(!target.hasOwnProperty(k) || target[k] === source[k], function () { return 'Invalid call to mixin(target, source, [overwrite]): cannot overwrite property "' + k + '" of target object'; });
|
||||
}
|
||||
}
|
||||
target[k] = source[k];
|
||||
}
|
||||
}
|
||||
return target;
|
||||
};
|
||||
Reference in New Issue
Block a user