UNPKG

number-suffix

Version:

Turns a number to a fixed string with a metric or abbreviation suffix

2 lines (1 loc) 2.87 kB
"use strict";var x=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var I=(e,t)=>{for(var r in t)x(e,r,{get:t[r],enumerable:!0})},T=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of M(t))!w.call(e,i)&&i!==r&&x(e,i,{get:()=>t[i],enumerable:!(o=R(t,i))||o.enumerable});return e};var L=e=>T(x({},"__esModule",{value:!0}),e);var G={};I(G,{addStyle:()=>b,default:()=>z,format:()=>y,getDivider:()=>l,getStyle:()=>h,styles:()=>n,toFixed:()=>p});module.exports=L(G);var a={metric:["k","M","G","T","P","E"],abbreviation:["K","M","B","T","q","Q"]},c={thousand:1e3,million:1e6,billion:1e9,trillion:1e12,quadrillion:1e15,quintillion:1e18},f=["thousand","million","billion","trillion","quadrillion","quintillion"],d={};var D=class{constructor(t){this.symbols=t,this.symbolsMap=f.reduce((r,o,i)=>(r[o]=t[i]||a.metric[i],r),{})}getSymbol(t){return this.symbolsMap[t]}},u=D;var g=class{constructor(){this.styles={metric:new u(a.metric),abbreviation:new u(a.abbreviation)},this.default="metric"}add(t,r){return this.styles[t]=new u(r),this}get(t){return this.styles[t]}getSymbol(t,r=this.default){return this.get(r).getSymbol(t)}setDefault(t){return this.default=t,this}getDefault(){return this.default}};g.Style=u;var m=g;var n=new m,b=(e,t)=>{n.add(e,t)},h=e=>n.get(e);var N=e=>Math.trunc(Math.log10(Math.abs(e))+1),S=N;var q=e=>{let t=S(e)-1;return t<3?c.thousand:t>12?c.trillion:Math.pow(10,~~(t/3)*3)},U=q;var E=e=>c[e],O=E;var A=e=>typeof e=="string"?O(e.toLowerCase()):U(e),l=A;var _=(e,t=0)=>{let r=Math.pow(10,t),i=(Math.floor(Number(e)*r)/r).toFixed(t);return i.includes(".")?i.replace(/\.?0+$/,""):i},p=_;var $=e=>{let t=S(U(e))-1;return f[t/3-1]},v=$;var k=e=>{let t=String(e),[r,o]=t.split("."),i=r.replace(/\B(?=(\d{3})+(?!\d))/g,",");return o?`${i}.${o}`:i},F=k;var B=(e,t=d)=>{let r=e/l(t.measurement?t.measurement:e),o=F(p(r,t.precision||0)),i=t.collection instanceof m?t.collection:n,P=t.measurement?i.getSymbol(t.measurement):i.getSymbol(v(e),t.style);return o+P},y=B;var s=class{constructor(t={}){this.styleCollection=new m,this.precision=t.precision||0,this.measurement=t.measurement,t.style&&this.styleCollection.setDefault(t.style)}format(t,r){let o={style:this.styleCollection.getDefault(),precision:this.precision,measurement:this.measurement,collection:this.styleCollection,...r};return y(t,o)}addStyle(...t){return this.styleCollection.add(...t),this}setDefaultStyle(t){return this.styleCollection.setDefault(t),this}setOptions(t){let{precision:r,measurement:o,style:i}=t||d;this.precision=r||this.precision||0,this.measurement=o||this.measurement,i&&this.styleCollection.setDefault(i)}};s.addStyle=b,s.getStyle=h,s.getDivider=l,s.format=y,s.styles=n,s.toFixed=p;var C=s;var z=C;0&&(module.exports={addStyle,format,getDivider,getStyle,styles,toFixed});