54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
|
/**
|
||
|
* @generated SignedSource<<e8e5ba644b047d0654ca54a100d2f0f3>>
|
||
|
*
|
||
|
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
|
* !! This file is a check-in of a static_upstream project! !!
|
||
|
* !! !!
|
||
|
* !! You should not modify this file directly. Instead: !!
|
||
|
* !! 1) Use `fjs use-upstream` to temporarily replace this with !!
|
||
|
* !! the latest version from upstream. !!
|
||
|
* !! 2) Make your changes, test them, etc. !!
|
||
|
* !! 3) Use `fjs push-upstream` to copy your changes back to !!
|
||
|
* !! static_upstream. !!
|
||
|
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
|
*
|
||
|
* @providesModule copyProperties
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Copy properties from one or more objects (up to 5) into the first object.
|
||
|
* This is a shallow copy. It mutates the first object and also returns it.
|
||
|
*
|
||
|
* NOTE: `arguments` has a very significant performance penalty, which is why
|
||
|
* we don't support unlimited arguments.
|
||
|
*/
|
||
|
function copyProperties(obj, a, b, c, d, e, f) {
|
||
|
obj = obj || {};
|
||
|
|
||
|
if (__DEV__) {
|
||
|
if (f) {
|
||
|
throw new Error('Too many arguments passed to copyProperties');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var args = [a, b, c, d, e];
|
||
|
var ii = 0, v;
|
||
|
while (args[ii]) {
|
||
|
v = args[ii++];
|
||
|
for (var k in v) {
|
||
|
obj[k] = v[k];
|
||
|
}
|
||
|
|
||
|
// IE ignores toString in object iteration.. See:
|
||
|
// webreflection.blogspot.com/2007/07/quick-fix-internet-explorer-and.html
|
||
|
if (v.hasOwnProperty && v.hasOwnProperty('toString') &&
|
||
|
(typeof v.toString != 'undefined') && (obj.toString !== v.toString)) {
|
||
|
obj.toString = v.toString;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return obj;
|
||
|
}
|
||
|
|
||
|
module.exports = copyProperties;
|