UNPKG

@visx/vendor

Version:

vendored packages for visx

20 lines (19 loc) 652 B
"use strict"; 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); }; }