@visx/vendor
Version:
vendored packages for visx
20 lines (19 loc) • 652 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = piecewise;
var _value = _interopRequireDefault(require("./value.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function piecewise(interpolate, values) {
if (values === undefined) values = interpolate, interpolate = _value.default;
var i = 0,
n = values.length - 1,
v = values[0],
I = new Array(n < 0 ? 0 : n);
while (i < n) I[i] = interpolate(v, v = values[++i]);
return function (t) {
var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
return I[i](t - i);
};
}
;