num-beauty
Version:
An ultra lightweight module for formatting numbers into human-friendly strings
1 lines • 583 B
JavaScript
import{locales}from"../locales";import{cache}from"./cache.service";export function getLocaleMasks(o){const r=`masks:${o}`,e=cache.get(r);if(e)return e;const t=locales[o].masks;return cache.set(r,t,3600),t}export function getMask(o,r){const e=getLocaleMasks(o)[r];if(!e)throw new Error(`Máscara '${r}' não encontrada para o locale '${o}'`);return e}export function applyMask(o,r){if(!o||!r)throw new Error("Valor e padrão são obrigatórios");const e=String(o).replace(/\D/g,""),t=r.split("");let a="",c=0;for(const o of t){if(c>=e.length)break;"#"===o?(a+=e[c],c++):a+=o}return a}