@antv/layout
Version:
graph layout algorithm
55 lines (45 loc) • 1.48 kB
JavaScript
import { __require as require_assignValue } from './_assignValue.js';
import { __require as require_baseAssignValue } from './_baseAssignValue.js';
var _copyObject;
var hasRequired_copyObject;
function require_copyObject () {
if (hasRequired_copyObject) return _copyObject;
hasRequired_copyObject = 1;
var assignValue = require_assignValue(),
baseAssignValue = require_baseAssignValue();
/**
* Copies properties of `source` to `object`.
*
* @private
* @param {Object} source The object to copy properties from.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.
* @param {Function} [customizer] The function to customize copied values.
* @returns {Object} Returns `object`.
*/
function copyObject(source, props, object, customizer) {
var isNew = !object;
object || (object = {});
var index = -1,
length = props.length;
while (++index < length) {
var key = props[index];
var newValue = customizer
? customizer(object[key], source[key], key, object, source)
: undefined;
if (newValue === undefined) {
newValue = source[key];
}
if (isNew) {
baseAssignValue(object, key, newValue);
} else {
assignValue(object, key, newValue);
}
}
return object;
}
_copyObject = copyObject;
return _copyObject;
}
export { require_copyObject as __require };
//# sourceMappingURL=_copyObject.js.map