UNPKG

auto-hyphen-utils

Version:

This module provides automatic formatting and hyphenation for structured inputs with a similar pattern.

2 lines (1 loc) 847 B
var c=t=>{if(!t||typeof t!="string")return!1;let n=t.trim();return n?n.length>0:!1},i=c;function e(t,n=[]){if(!t||!i(t))return"";if(!Array.isArray(n)||n.length===0||n.some(r=>typeof r!="number"||r<0))return t;let o=t.replace(/[^0-9]/g,""),{result:l}=n.reduce((r,s,f)=>{if(r.position>=o.length)return r;if(f===n.length-1)return{result:r.result+o.slice(r.position),position:o.length};{let g=o.slice(r.position,r.position+s),m=r.position+s,h=m<o.length?"-":"";return{result:r.result+g+h,position:m}}},{result:"",position:0});return l}function u(t){if(!t||!i(t))return"";let n=t.replace(/[^0-9]/g,""),o=n.length===10?[3,3,4]:[3,4,4];return e(n,o)}function p(t){if(!t||!i(t))return"";let n=t.replace(/\D/g,""),o=n.length===10?[3,2,5]:n.length===13?[3,4,2,2,2]:null;return o?e(n,o):t}var a={common:e,phoneNumber:u,tinNumber:p},q=a;export{q as default};