UNPKG

d3-jsnext

Version:
20 lines (17 loc) 648 B
var d3$rebind; // Copies a variable number of methods from source to target. d3$rebind = function(target, source) { var i = 1, n = arguments.length, method; while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); return target; }; // Method is assumed to be a standard D3 getter-setter: // If passed with no arguments, gets the value. // If passed with arguments, sets the value and returns the target. function d3_rebind(target, source, method) { return function() { var value = method.apply(source, arguments); return value === source ? target : value; }; } export { d3$rebind, d3_rebind };