strict-limit.js 1.1 KB

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var util_1 = require("@antv/util");
  4. /**
  5. * 按照给定的 minLimit/maxLimit/tickCount 均匀计算出刻度 ticks
  6. *
  7. * @param cfg Scale 配置项
  8. * @return ticks
  9. */
  10. function strictLimit(cfg, defaultMin, defaultMax) {
  11. var _a;
  12. var minLimit = cfg.minLimit, maxLimit = cfg.maxLimit, min = cfg.min, max = cfg.max, _b = cfg.tickCount, tickCount = _b === void 0 ? 5 : _b;
  13. var tickMin = util_1.isNil(minLimit) ? (util_1.isNil(defaultMin) ? min : defaultMin) : minLimit;
  14. var tickMax = util_1.isNil(maxLimit) ? (util_1.isNil(defaultMax) ? max : defaultMax) : maxLimit;
  15. if (tickMin > tickMax) {
  16. _a = [tickMin, tickMax], tickMax = _a[0], tickMin = _a[1];
  17. }
  18. if (tickCount <= 2) {
  19. return [tickMin, tickMax];
  20. }
  21. var step = (tickMax - tickMin) / (tickCount - 1);
  22. var ticks = [];
  23. for (var i = 0; i < tickCount; i++) {
  24. ticks.push(tickMin + step * i);
  25. }
  26. return ticks;
  27. }
  28. exports.default = strictLimit;
  29. //# sourceMappingURL=strict-limit.js.map