num-beauty
Version:
An ultra lightweight module for formatting numbers into human-friendly strings
1 lines • 2.39 kB
JavaScript
import{registerLocale}from"./index.js";const localeLoaders={"pt-BR":()=>import("./pt-BR.js"),"en-US":()=>import("./en-US.js"),"es-ES":()=>import("./es-ES.js"),"de-DE":()=>import("./de-DE.js"),"fr-FR":()=>import("./fr-FR.js"),"ja-JP":()=>import("./ja-JP.js"),"zh-CN":()=>import("./zh-CN.js"),"ko-KR":()=>import("./ko-KR.js"),"hi-IN":()=>import("./hi-IN.js"),"ar-SA":()=>import("./ar-SA.js"),"ru-RU":()=>import("./ru-RU.js"),"it-IT":()=>import("./it-IT.js"),"nl-NL":()=>import("./nl-NL.js"),"pl-PL":()=>import("./pl-PL.js"),"tr-TR":()=>import("./tr-TR.js"),"sv-SE":()=>import("./sv-SE.js"),"da-DK":()=>import("./da-DK.js"),"nb-NO":()=>import("./nb-NO.js"),"fi-FI":()=>import("./fi-FI.js"),"cs-CZ":()=>import("./cs-CZ.js"),"hu-HU":()=>import("./hu-HU.js"),"ro-RO":()=>import("./ro-RO.js"),"sk-SK":()=>import("./sk-SK.js"),"bg-BG":()=>import("./bg-BG.js"),"hr-HR":()=>import("./hr-HR.js"),"el-GR":()=>import("./el-GR.js"),"uk-UA":()=>import("./uk-UA.js"),"sl-SI":()=>import("./sl-SI.js"),"lt-LT":()=>import("./lt-LT.js"),"lv-LV":()=>import("./lv-LV.js"),"et-EE":()=>import("./et-EE.js"),"sr-RS":()=>import("./sr-RS.js"),"vi-VN":()=>import("./vi-VN.js"),"th-TH":()=>import("./th-TH.js"),"id-ID":()=>import("./id-ID.js"),"ms-MY":()=>import("./ms-MY.js"),"pt-PT":()=>import("./pt-PT.js"),"ca-ES":()=>import("./ca-ES.js"),"is-IS":()=>import("./is-IS.js"),"he-IL":()=>import("./he-IL.js"),"ga-IE":()=>import("./ga-IE.js"),"en-ZA":()=>import("./en-ZA.js"),"en-NG":()=>import("./en-NG.js"),"en-AU":()=>import("./en-AU.js"),"en-NZ":()=>import("./en-NZ.js"),"mi-NZ":()=>import("./mi-NZ.js"),"ar-EG":()=>import("./ar-EG.js"),"en-KE":()=>import("./en-KE.js"),"sw-KE":()=>import("./sw-KE.js"),"pt-AO":()=>import("./pt-AO.js")},loadedLocales=new Set;export async function loadLocale(o){if(loadedLocales.has(o))return;const r=localeLoaders[o];if(!r)throw new Error(`Locale "${o}" is not supported. Available locales: ${Object.keys(localeLoaders).join(", ")}`);try{const t=await r();registerLocale(o,t.locale),loadedLocales.add(o)}catch(r){throw new Error(`Failed to load locale "${o}": ${r instanceof Error?r.message:String(r)}`)}}export function isLocaleLoaded(o){return loadedLocales.has(o)}export function getAvailableLocales(){return Object.keys(localeLoaders)}export async function preloadLocales(o){await Promise.all(o.map(o=>loadLocale(o)))}export function registerLocaleLoader(o,r){localeLoaders[o]=r}