@visx/vendor
Version:
vendored packages for visx
37 lines (36 loc) • 1.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = tickFormat;
var _index = require("../../../vendor-cjs/d3-array/src/index.js");
var _index2 = require("../../../vendor-cjs/d3-format/src/index.js");
function tickFormat(start, stop, count, specifier) {
var step = (0, _index.tickStep)(start, stop, count),
precision;
specifier = (0, _index2.formatSpecifier)(specifier == null ? ",f" : specifier);
switch (specifier.type) {
case "s":
{
var value = Math.max(Math.abs(start), Math.abs(stop));
if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionPrefix)(step, value))) specifier.precision = precision;
return (0, _index2.formatPrefix)(specifier, value);
}
case "":
case "e":
case "g":
case "p":
case "r":
{
if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionRound)(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
break;
}
case "f":
case "%":
{
if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionFixed)(step))) specifier.precision = precision - (specifier.type === "%") * 2;
break;
}
}
return (0, _index2.format)(specifier);
}
;