@antv/f2
Version:
Charts for mobile visualization.
20 lines (19 loc) • 642 B
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = piecewise;
var _value = _interopRequireDefault(require("./value.js"));
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);
};
}
;