UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

25 lines 1.53 kB
import { percentWithEdge, roundDecimal } from "../helpers/index.js"; const NumberFormatter = new Intl.NumberFormat("en", { style: "decimal" }); /** Given a number or string value and the name of a formatter function, returns a formatted value */ export const valueFormatter = (value, formatter) => { if (formatter === "value") return value; if (formatter === "percent0dig") return percentWithEdge(typeof value === "string" ? Number.parseFloat(value) : value, { digits: 0 }); if (formatter === "percent") return percentWithEdge(typeof value === "string" ? Number.parseFloat(value) : value); if (formatter === "percent1dig") return percentWithEdge(typeof value === "string" ? Number.parseFloat(value) : value, { digits: 1 }); if (formatter === "percent2dig") return percentWithEdge(typeof value === "string" ? Number.parseFloat(value) : value, { digits: 2 }); if (formatter === "number") return NumberFormatter.format(typeof value === "string" ? Number.parseFloat(value) : value); if (formatter === "number1dig") return NumberFormatter.format(roundDecimal(typeof value === "string" ? Number.parseFloat(value) : value, 1)); if (formatter === "number2dig") return NumberFormatter.format(roundDecimal(typeof value === "string" ? Number.parseFloat(value) : value, 2)); if (formatter === "integer") return NumberFormatter.format(Number.parseInt(`${value}`)); return formatter(value); }; //# sourceMappingURL=valueFormatter.js.map