@hakit/core
Version:
A collection of React hooks and helpers for Home Assistant to easily communicate with the Home Assistant WebSocket API.
3 lines (2 loc) • 1.23 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=(t,i)=>{const r=i?.display_precision;if(r!=null)return{maximumFractionDigits:r,minimumFractionDigits:r};if(Number.isInteger(Number(t?.attributes?.step))&&Number.isInteger(Number(t?.state)))return{maximumFractionDigits:0}},a=t=>m(t.attributes),m=(t,i)=>!!t.unit_of_measurement||!!t.state_class||(i||[]).includes(t.device_class||""),n=(t,i)=>{const r={maximumFractionDigits:2,...i};if(typeof t!="string")return r;if(!i||i.minimumFractionDigits===void 0&&i.maximumFractionDigits===void 0){const e=t.indexOf(".")>-1?t.split(".")[1].length:0;r.minimumFractionDigits=e,r.maximumFractionDigits=e}return r},u=(t,i=2)=>Math.round(t*10**i)/10**i,o=(t,i)=>(Number.isNaN=Number.isNaN||function r(e){return typeof e=="number"&&r(e)},!Number.isNaN(Number(t))&&t!==""?new Intl.NumberFormat("en-US",n(t,{...i,useGrouping:!1})).format(Number(t)):typeof t=="string"?t:`${u(t,i?.maximumFractionDigits).toString()}${i?.style==="currency"?` ${i.currency}`:""}`);exports.formatNumber=o;exports.getDefaultFormatOptions=n;exports.getNumberFormatOptions=s;exports.isNumericFromAttributes=m;exports.isNumericState=a;exports.round=u;
//# sourceMappingURL=number.js.map