UNPKG

@antv/f2

Version:

Charts for mobile visualization.

73 lines (72 loc) 2.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _tslib = require("tslib"); var _src = require("../deps/f2-scale/src"); var _util = require("@antv/util"); var _src2 = require("../deps/d3-interpolate/src"); var _base = _interopRequireDefault(require("./base")); // 只处理 number 和 color var interpolate = function interpolate(a, b) { if ((0, _util.isNumber)(b)) { return (0, _src2.interpolateNumber)(a, b); } return (0, _src2.interpolateRgb)(a, b); }; var Linear = /** @class */function (_super) { (0, _tslib.__extends)(Linear, _super); function Linear(options) { var _this = _super.call(this, options) || this; _this._updateInterpolate(); return _this; } Linear.prototype.createScale = function (scaleConfig) { return new _src.Linear(scaleConfig); }; Linear.prototype._updateInterpolate = function () { var _a = this.range, min = _a[0], max = _a[1]; this.interpolate = interpolate(min, max); }; Linear.prototype.update = function (options) { _super.prototype.update.call(this, options); this._updateInterpolate(); }; Linear.prototype._mapping = function (value) { var _a = this, scale = _a.scale, interpolate = _a.interpolate; if ((0, _util.isArray)(value)) { return value.map(function (v) { return interpolate(scale.scale(v)); }); } return interpolate(scale.scale(value)); }; Linear.prototype.normalize = function (value) { var scale = this.scale; if ((0, _util.isArray)(value)) { return value.map(function (v) { return scale.scale(v); }); } return scale.scale(value); }; Linear.prototype.convert = function (value) { var range = this.range; var min = range[0], max = range[1]; if ((0, _util.isArray)(value)) { return value.map(function (v) { return min + (max - min) * v; }); } return min + (max - min) * value; }; return Linear; }(_base.default); var _default = exports.default = Linear;