UNPKG

@hakit/core

Version:

A collection of React hooks and helpers for Home Assistant to easily communicate with the Home Assistant WebSocket API.

40 lines (39 loc) 1.39 kB
const u = (i, t) => { const r = t?.display_precision; if (r != null) return { maximumFractionDigits: r, minimumFractionDigits: r }; if (Number.isInteger(Number(i?.attributes?.step)) && Number.isInteger(Number(i?.state))) return { maximumFractionDigits: 0 }; }, a = (i) => n(i.attributes), n = (i, t) => !!i.unit_of_measurement || !!i.state_class || (t || []).includes(i.device_class || ""), m = (i, t) => { const r = { maximumFractionDigits: 2, ...t }; if (typeof i != "string") return r; if (!t || t.minimumFractionDigits === void 0 && t.maximumFractionDigits === void 0) { const e = i.indexOf(".") > -1 ? i.split(".")[1].length : 0; r.minimumFractionDigits = e, r.maximumFractionDigits = e; } return r; }, s = (i, t = 2) => Math.round(i * 10 ** t) / 10 ** t, c = (i, t) => (Number.isNaN = Number.isNaN || function r(e) { return typeof e == "number" && r(e); }, !Number.isNaN(Number(i)) && i !== "" ? new Intl.NumberFormat( "en-US", m(i, { ...t, useGrouping: !1 }) ).format(Number(i)) : typeof i == "string" ? i : `${s(i, t?.maximumFractionDigits).toString()}${t?.style === "currency" ? ` ${t.currency}` : ""}`); export { c as formatNumber, m as getDefaultFormatOptions, u as getNumberFormatOptions, n as isNumericFromAttributes, a as isNumericState, s as round }; //# sourceMappingURL=number.js.map