@webority/mobile-core 0.128.0 → 0.129.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +2 -0
  2. package/lib/commonjs/formatters/currency.js +1 -1
  3. package/lib/commonjs/formatters/house.js +1 -1
  4. package/lib/commonjs/index.js +1 -1
  5. package/lib/commonjs/india/aadhaar.js +1 -0
  6. package/lib/commonjs/india/financialYear.js +1 -0
  7. package/lib/commonjs/india/gstStates.g.js +1 -0
  8. package/lib/commonjs/india/gstin.js +1 -0
  9. package/lib/commonjs/india/ifsc.js +1 -0
  10. package/lib/commonjs/india/index.js +1 -0
  11. package/lib/commonjs/india/indiaTime.js +1 -0
  12. package/lib/commonjs/india/indianMobile.js +1 -0
  13. package/lib/commonjs/india/nicDivisions.g.js +1 -0
  14. package/lib/commonjs/india/paise.js +1 -0
  15. package/lib/commonjs/india/pan.js +1 -0
  16. package/lib/commonjs/india/pincode.js +1 -0
  17. package/lib/commonjs/india/text.js +1 -0
  18. package/lib/commonjs/india/vectors.g.json +660 -0
  19. package/lib/commonjs/validators/index.js +1 -1
  20. package/lib/module/formatters/currency.js +1 -1
  21. package/lib/module/formatters/house.js +1 -1
  22. package/lib/module/index.js +1 -1
  23. package/lib/module/india/aadhaar.js +1 -0
  24. package/lib/module/india/financialYear.js +1 -0
  25. package/lib/module/india/gstStates.g.js +1 -0
  26. package/lib/module/india/gstin.js +1 -0
  27. package/lib/module/india/ifsc.js +1 -0
  28. package/lib/module/india/index.js +1 -0
  29. package/lib/module/india/indiaTime.js +1 -0
  30. package/lib/module/india/indianMobile.js +1 -0
  31. package/lib/module/india/nicDivisions.g.js +1 -0
  32. package/lib/module/india/paise.js +1 -0
  33. package/lib/module/india/pan.js +1 -0
  34. package/lib/module/india/pincode.js +1 -0
  35. package/lib/module/india/text.js +1 -0
  36. package/lib/module/india/vectors.g.json +660 -0
  37. package/lib/module/validators/index.js +1 -1
  38. package/lib/typescript/commonjs/formatters/currency.d.ts +5 -5
  39. package/lib/typescript/commonjs/formatters/house.d.ts +38 -3
  40. package/lib/typescript/commonjs/index.d.ts +1 -1
  41. package/lib/typescript/commonjs/india/aadhaar.d.ts +6 -0
  42. package/lib/typescript/commonjs/india/financialYear.d.ts +14 -0
  43. package/lib/typescript/commonjs/india/gstStates.g.d.ts +13 -0
  44. package/lib/typescript/commonjs/india/gstin.d.ts +11 -0
  45. package/lib/typescript/commonjs/india/ifsc.d.ts +3 -0
  46. package/lib/typescript/commonjs/india/index.d.ts +14 -0
  47. package/lib/typescript/commonjs/india/indiaTime.d.ts +7 -0
  48. package/lib/typescript/commonjs/india/indianMobile.d.ts +4 -0
  49. package/lib/typescript/commonjs/india/nicDivisions.g.d.ts +8 -0
  50. package/lib/typescript/commonjs/india/paise.d.ts +13 -0
  51. package/lib/typescript/commonjs/india/pan.d.ts +4 -0
  52. package/lib/typescript/commonjs/india/pincode.d.ts +3 -0
  53. package/lib/typescript/commonjs/india/text.d.ts +9 -0
  54. package/lib/typescript/commonjs/validators/index.d.ts +1 -17
  55. package/lib/typescript/module/formatters/currency.d.ts +5 -5
  56. package/lib/typescript/module/formatters/house.d.ts +38 -3
  57. package/lib/typescript/module/index.d.ts +1 -1
  58. package/lib/typescript/module/india/aadhaar.d.ts +6 -0
  59. package/lib/typescript/module/india/financialYear.d.ts +14 -0
  60. package/lib/typescript/module/india/gstStates.g.d.ts +13 -0
  61. package/lib/typescript/module/india/gstin.d.ts +11 -0
  62. package/lib/typescript/module/india/ifsc.d.ts +3 -0
  63. package/lib/typescript/module/india/index.d.ts +14 -0
  64. package/lib/typescript/module/india/indiaTime.d.ts +7 -0
  65. package/lib/typescript/module/india/indianMobile.d.ts +4 -0
  66. package/lib/typescript/module/india/nicDivisions.g.d.ts +8 -0
  67. package/lib/typescript/module/india/paise.d.ts +13 -0
  68. package/lib/typescript/module/india/pan.d.ts +4 -0
  69. package/lib/typescript/module/india/pincode.d.ts +3 -0
  70. package/lib/typescript/module/india/text.d.ts +9 -0
  71. package/lib/typescript/module/validators/index.d.ts +1 -17
  72. package/package.json +31 -1
@@ -1 +1 @@
1
- "use strict";import{Logger}from"../logger/index.js";import{configuredLocale,getFormatterConfig,groupingForLocale,numberSeparators,styledNumber}from"./formatConfig.js";import{dateTimeFormat,numberFormat,relativeTimeFormat}from"./intlCache.js";const MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],IST_OFFSET_MINUTES=330,IST_NAMES=["IST","Asia/Kolkata","Asia/Calcutta"],DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,pad2=t=>t<10?`0${t}`:`${t}`,emptyOf=t=>t??getFormatterConfig().empty,toInstant=t=>{if(null==t||""===t)return null;const e=t instanceof Date?t:new Date("string"==typeof t?t.trim():t);return Number.isNaN(e.getTime())?null:e},isDateOnly=t=>"string"==typeof t&&DATE_ONLY.test(t.trim()),gmtLabel=t=>{if(0===t)return"GMT";const e=t>0?"+":"-",n=Math.abs(t),r=n%60;return`GMT${e}${Math.floor(n/60)}${0===r?"":`:${pad2(r)}`}`},shifted=(t,e,n)=>{const r=new Date(t.getTime()+6e4*e);return{year:r.getUTCFullYear(),month:r.getUTCMonth(),day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),label:n}},inIanaZone=(t,e)=>{const n=dateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1}).formatToParts(t),read=t=>Number.parseInt(n.find(e=>e.type===t)?.value??"",10),r=read("year"),o=read("month")-1,i=read("day"),a=read("hour")%24,m=read("minute"),l=Date.UTC(r,o,i,a,m),u=Math.round((l-6e4*Math.floor(t.getTime()/6e4))/6e4);return{year:r,month:o,day:i,hour:a,minute:m,label:gmtLabel(u)}},wallClock=(t,e)=>IST_NAMES.includes(e)?shifted(t,330,"IST"):"UTC"===e?shifted(t,0,"UTC"):"viewer"===e?{year:t.getFullYear(),month:t.getMonth(),day:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),label:gmtLabel(-t.getTimezoneOffset())}:inIanaZone(t,e),hourCycleOf=t=>t.hourCycle??12,dayMonthYear=t=>`${pad2(t.day)}-${MONTHS[t.month]}-${t.year}`,numericDate=(t,e)=>{const n=pad2(t.day),r=pad2(t.month+1),o=String(t.year).padStart(4,"0");return"DayMonthYear"===e?`${n}/${r}/${o}`:"MonthDayYear"===e?`${r}/${n}/${o}`:`${o}-${r}-${n}`},clockTime=(t,e)=>24===e?`${pad2(t.hour)}:${pad2(t.minute)}`:`${t.hour%12||12}:${pad2(t.minute)} ${t.hour<12?"AM":"PM"}`,labelled=(t,e)=>e??!IST_NAMES.includes(t),withLabel=(t,e,n,r)=>labelled(n,r)?`${t} ${e.label}`:t,intlZone=t=>{if("viewer"!==t)return IST_NAMES.includes(t)?"Asia/Kolkata":t},localeDayMonthYear=(t,e,n)=>{const r=dateTimeFormat(e,{day:"2-digit",month:"short",year:"numeric",timeZone:n}).formatToParts(t),part=t=>r.find(e=>e.type===t)?.value??"";return`${part("day")}-${part("month").replace(".","")}-${part("year")}`},dateText=(t,e)=>{const n=getFormatterConfig().dateOrder??"DayMonthNameYear";if("DayMonthNameYear"!==n)return numericDate(wallClock(t,e),n);const r=configuredLocale();return r?localeDayMonthYear(t,r,intlZone(e)):dayMonthYear(wallClock(t,e))},localeClock=(t,e,n,r)=>dateTimeFormat(e,{hour:"2-digit",minute:"2-digit",timeZone:intlZone(n),timeZoneName:labelled(n,r.zoneLabel)?"short":void 0,hourCycle:void 0===r.hourCycle?void 0:24===r.hourCycle?"h23":"h12"}).format(t);export const formatDate=(t,e={})=>{const n=toInstant(t);return n?dateText(n,isDateOnly(t)?"UTC":e.zone??getFormatterConfig().zone):emptyOf(e.empty)};export const formatTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const r=e.zone??getFormatterConfig().zone,o=configuredLocale();if(o)return localeClock(n,o,r,e);const i=wallClock(n,r);return withLabel(clockTime(i,hourCycleOf(e)),i,r,e.zoneLabel)};export const formatDateTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const r=e.zone??getFormatterConfig().zone,o=configuredLocale();if(o)return`${dateText(n,r)}, ${localeClock(n,o,r,e)}`;const i=wallClock(n,r);return withLabel(`${dateText(n,r)}, ${clockTime(i,hourCycleOf(e))}`,i,r,e.zoneLabel)};const SECOND=1e3,MINUTE=6e4,HOUR=36e5,DAY=24*HOUR,WEEK=7*DAY,MONTH=30*DAY,YEAR=365*DAY,INTL_UNITS=[["year",YEAR],["month",MONTH],["day",DAY],["hour",HOUR],["minute",6e4]];export const formatRelative=(t,e={})=>{const n=toInstant(t),r=toInstant(e.now??Date.now());if(!n||!r)return emptyOf(e.empty);const o=n.getTime()-r.getTime(),i=Math.abs(o),a=Intl.RelativeTimeFormat,m=configuredLocale();if((null!==m||!0===e.intl)&&"function"==typeof a){const t=relativeTimeFormat(a,m??getFormatterConfig().locale),[e,n]=INTL_UNITS.find(([,t])=>i>=t)??["second",1e3];return t.format(Math.round(o/n),e)}if(i<6e4)return"just now";const[l,u]=i<HOUR?["minute",6e4]:i<DAY?["hour",HOUR]:i<WEEK?["day",DAY]:i<MONTH?["week",WEEK]:i<YEAR?["month",MONTH]:["year",YEAR],c=Math.floor(i/u),s=`${c} ${l}${1===c?"":"s"}`;return o<0?`${s} ago`:`in ${s}`};const toNumber=t=>{if(null==t)return null;if("string"==typeof t&&""===t.trim())return null;const e="number"==typeof t?t:Number(t);return Number.isFinite(e)?e:null},clampDigits=t=>Math.min(20,Math.max(0,Math.trunc(t))),shiftDecimal=(t,e)=>/e/i.test(String(t))?t*10**e:Number(`${t}e${e}`),houseSeparators=()=>numberSeparators()??{decimal:".",group:","},groupInteger=(t,e,n)=>{if("none"===e||t.length<=3)return t;if("international"===e)return t.replace(/\B(?=(\d{3})+(?!\d))/g,n);return`${t.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,n)}${n}${t.slice(-3)}`},hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat,plainDigits=(t,e)=>{if(hasIntlNumber())return numberFormat("en-US",{useGrouping:!1,minimumFractionDigits:0,maximumFractionDigits:e}).format(t);const n=Math.min(e,15);return shiftDecimal(Math.round(shiftDecimal(t,n)),-n).toFixed(n)},decimalText=(t,e,n,r)=>{const o=Math.max(clampDigits(n),clampDigits(e)),i=clampDigits(e),a=plainDigits(Math.abs(t),o),[m="0",l=""]=a.split(".");let u=l.padEnd(i,"0");for(;u.length>i&&u.endsWith("0");)u=u.slice(0,-1);const c=houseSeparators(),s=groupInteger(m,r,c.group)+(u?`${c.decimal}${u}`:"");return t<0&&/[1-9]/.test(a)?`-${s}`:s},HOUSE_NUMBER_KEYS=new Set(["grouping","minimumFractionDigits","maximumFractionDigits","locale","empty","scale"]),intlNumberOptions=t=>{if(!Object.entries(t).some(([t,e])=>void 0!==e&&!HOUSE_NUMBER_KEYS.has(t)))return null;const{grouping:e,locale:n,empty:r,scale:o,...i}=t;return"none"===e&&void 0===i.useGrouping?{...i,useGrouping:!1}:i},localeOf=t=>t.locale??getFormatterConfig().locale,intlTextLocale=t=>{const e=configuredLocale();return null===e||"indian"===t.grouping||"international"===t.grouping?null:t.locale??e},fractionDigits=(t,e)=>{const n=clampDigits(t);return{minimumFractionDigits:n,maximumFractionDigits:Math.max(n,clampDigits(e))}},groupingOption=t=>"none"===t?{useGrouping:!1}:{};export const formatNumber=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=intlNumberOptions(e);if(r)return styledNumber(numberFormat(localeOf(e),r),n);const o=intlTextLocale(e);return o?styledNumber(numberFormat(o,{...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??3),...groupingOption(e.grouping)}),n):decimalText(n,e.minimumFractionDigits??0,e.maximumFractionDigits??3,e.grouping??groupingForLocale(localeOf(e)))};export const formatPercent=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=intlNumberOptions(e);if(r){const t="percent"===e.scale?shiftDecimal(n,-2):n;return styledNumber(numberFormat(localeOf(e),{style:"percent",...r}),t)}const o=intlTextLocale(e);if(o){const t="percent"===e.scale?shiftDecimal(n,-2):n;return styledNumber(numberFormat(o,{style:"percent",...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0),...groupingOption(e.grouping)}),t)}const i="percent"===e.scale?n:shiftDecimal(n,2);return`${decimalText(i,e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0,e.grouping??groupingForLocale(localeOf(e)))}%`};const SYMBOLS={INR:"₹",USD:"$",EUR:"€",GBP:"£"},MINOR_DIGITS={JPY:0,KRW:0,VND:0,BHD:3,JOD:3,KWD:3,OMR:3,TND:3};export const formatMinor=(t,e={})=>{e.currency||Logger.warn("[@webority/mobile-core] formatMinor called without options.currency: it prints INR for now and throws from 0.17.0. Pass an ISO 4217 code.");const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=(e.currency||"INR").toUpperCase(),o=MINOR_DIGITS[r]??2,i=Math.round(Math.abs(n)),a=String(i).padStart(o+1,"0"),m=a.slice(0,a.length-o);let l=a.slice(a.length-o);e.dropZeroDecimals&&/^0*$/.test(l)&&(l="");const u=intlTextLocale({grouping:e.grouping});if(u)try{const t=Number(`${n<0&&0!==i?"-":""}${m}.${a.slice(a.length-o)||"0"}`);return styledNumber(numberFormat(u,{...!1===e.symbol?{}:{style:"currency",currency:r},...fractionDigits(l?o:0,o),...groupingOption(e.grouping)}),t)}catch{}const c=e.grouping??("INR"===r?"indian":"international"),s=houseSeparators(),g=groupInteger(m,c,s.group)+(l?`${s.decimal}${l}`:""),p=n<0&&0!==i?"-":"";if(!1===e.symbol)return`${p}${g}`;const f=SYMBOLS[r];return f?`${p}${f}${g}`:`${p}${r} ${g}`};
1
+ "use strict";import{configuredLocale,getFormatterConfig,groupingForLocale,numberSeparators,styledNumber}from"./formatConfig.js";import{dateTimeFormat,numberFormat,relativeTimeFormat}from"./intlCache.js";const MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],IST_OFFSET_MINUTES=330,IST_NAMES=["IST","Asia/Kolkata","Asia/Calcutta"],DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,pad2=t=>t<10?`0${t}`:`${t}`,emptyOf=t=>t??getFormatterConfig().empty,toInstant=t=>{if(null==t||""===t)return null;const e=t instanceof Date?t:new Date("string"==typeof t?t.trim():t);return Number.isNaN(e.getTime())?null:e},isDateOnly=t=>"string"==typeof t&&DATE_ONLY.test(t.trim()),gmtLabel=t=>{if(0===t)return"GMT";const e=t>0?"+":"-",n=Math.abs(t),r=n%60;return`GMT${e}${Math.floor(n/60)}${0===r?"":`:${pad2(r)}`}`},shifted=(t,e,n)=>{const r=new Date(t.getTime()+6e4*e);return{year:r.getUTCFullYear(),month:r.getUTCMonth(),day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),label:n}},inIanaZone=(t,e)=>{const n=dateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1}).formatToParts(t),read=t=>Number.parseInt(n.find(e=>e.type===t)?.value??"",10),r=read("year"),o=read("month")-1,i=read("day"),a=read("hour")%24,m=read("minute"),l=Date.UTC(r,o,i,a,m),u=Math.round((l-6e4*Math.floor(t.getTime()/6e4))/6e4);return{year:r,month:o,day:i,hour:a,minute:m,label:gmtLabel(u)}},wallClock=(t,e)=>IST_NAMES.includes(e)?shifted(t,330,"IST"):"UTC"===e?shifted(t,0,"UTC"):"viewer"===e?{year:t.getFullYear(),month:t.getMonth(),day:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),label:gmtLabel(-t.getTimezoneOffset())}:inIanaZone(t,e),hourCycleOf=t=>t.hourCycle??12,dayMonthYear=t=>`${pad2(t.day)}-${MONTHS[t.month]}-${t.year}`,numericDate=(t,e)=>{const n=pad2(t.day),r=pad2(t.month+1),o=String(t.year).padStart(4,"0");return"DayMonthYear"===e?`${n}/${r}/${o}`:"MonthDayYear"===e?`${r}/${n}/${o}`:`${o}-${r}-${n}`},clockTime=(t,e)=>24===e?`${pad2(t.hour)}:${pad2(t.minute)}`:`${t.hour%12||12}:${pad2(t.minute)} ${t.hour<12?"AM":"PM"}`,labelled=(t,e)=>e??!IST_NAMES.includes(t),withLabel=(t,e,n,r)=>labelled(n,r)?`${t} ${e.label}`:t,intlZone=t=>{if("viewer"!==t)return IST_NAMES.includes(t)?"Asia/Kolkata":t},localeDayMonthYear=(t,e,n)=>{const r=dateTimeFormat(e,{day:"2-digit",month:"short",year:"numeric",timeZone:n}).formatToParts(t),part=t=>r.find(e=>e.type===t)?.value??"";return`${part("day")}-${part("month").replace(".","")}-${part("year")}`},dateText=(t,e)=>{const n=getFormatterConfig().dateOrder??"DayMonthNameYear";if("DayMonthNameYear"!==n)return numericDate(wallClock(t,e),n);const r=configuredLocale();return r?localeDayMonthYear(t,r,intlZone(e)):dayMonthYear(wallClock(t,e))},localeClock=(t,e,n,r)=>dateTimeFormat(e,{hour:"2-digit",minute:"2-digit",timeZone:intlZone(n),timeZoneName:labelled(n,r.zoneLabel)?"short":void 0,hourCycle:void 0===r.hourCycle?void 0:24===r.hourCycle?"h23":"h12"}).format(t);export const formatDate=(t,e={})=>{const n=toInstant(t);return n?dateText(n,isDateOnly(t)?"UTC":e.zone??getFormatterConfig().zone):emptyOf(e.empty)};export const formatTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const r=e.zone??getFormatterConfig().zone,o=configuredLocale();if(o)return localeClock(n,o,r,e);const i=wallClock(n,r);return withLabel(clockTime(i,hourCycleOf(e)),i,r,e.zoneLabel)};export const formatDateTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const r=e.zone??getFormatterConfig().zone,o=configuredLocale();if(o)return`${dateText(n,r)}, ${localeClock(n,o,r,e)}`;const i=wallClock(n,r);return withLabel(`${dateText(n,r)}, ${clockTime(i,hourCycleOf(e))}`,i,r,e.zoneLabel)};const SECOND=1e3,MINUTE=6e4,HOUR=36e5,DAY=24*HOUR,WEEK=7*DAY,MONTH=30*DAY,YEAR=365*DAY,INTL_UNITS=[["year",YEAR],["month",MONTH],["day",DAY],["hour",HOUR],["minute",6e4]];export const formatRelative=(t,e={})=>{const n=toInstant(t),r=toInstant(e.now??Date.now());if(!n||!r)return emptyOf(e.empty);const o=n.getTime()-r.getTime(),i=Math.abs(o),a=Intl.RelativeTimeFormat,m=configuredLocale();if((null!==m||!0===e.intl)&&"function"==typeof a){const t=relativeTimeFormat(a,m??getFormatterConfig().locale),[e,n]=INTL_UNITS.find(([,t])=>i>=t)??["second",1e3];return t.format(Math.round(o/n),e)}if(i<6e4)return"just now";const[l,u]=i<HOUR?["minute",6e4]:i<DAY?["hour",HOUR]:i<WEEK?["day",DAY]:i<MONTH?["week",WEEK]:i<YEAR?["month",MONTH]:["year",YEAR],c=Math.floor(i/u),s=`${c} ${l}${1===c?"":"s"}`;return o<0?`${s} ago`:`in ${s}`};const toNumber=t=>{if(null==t)return null;if("string"==typeof t&&""===t.trim())return null;const e="number"==typeof t?t:Number(t);return Number.isFinite(e)?e:null},clampDigits=t=>Math.min(20,Math.max(0,Math.trunc(t))),shiftDecimal=(t,e)=>/e/i.test(String(t))?t*10**e:Number(`${t}e${e}`),houseSeparators=()=>numberSeparators()??{decimal:".",group:","},groupInteger=(t,e,n)=>{if("none"===e||t.length<=3)return t;if("international"===e)return t.replace(/\B(?=(\d{3})+(?!\d))/g,n);return`${t.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,n)}${n}${t.slice(-3)}`},hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat,plainDigits=(t,e)=>{if(hasIntlNumber())return numberFormat("en-US",{useGrouping:!1,minimumFractionDigits:0,maximumFractionDigits:e}).format(t);const n=Math.min(e,15);return shiftDecimal(Math.round(shiftDecimal(t,n)),-n).toFixed(n)},decimalText=(t,e,n,r)=>{const o=Math.max(clampDigits(n),clampDigits(e)),i=clampDigits(e),a=plainDigits(Math.abs(t),o),[m="0",l=""]=a.split(".");let u=l.padEnd(i,"0");for(;u.length>i&&u.endsWith("0");)u=u.slice(0,-1);const c=houseSeparators(),s=groupInteger(m,r,c.group)+(u?`${c.decimal}${u}`:"");return t<0&&/[1-9]/.test(a)?`-${s}`:s},HOUSE_NUMBER_KEYS=new Set(["grouping","minimumFractionDigits","maximumFractionDigits","locale","empty","scale"]),intlNumberOptions=t=>{if(!Object.entries(t).some(([t,e])=>void 0!==e&&!HOUSE_NUMBER_KEYS.has(t)))return null;const{grouping:e,locale:n,empty:r,scale:o,...i}=t;return"none"===e&&void 0===i.useGrouping?{...i,useGrouping:!1}:i},localeOf=t=>t.locale??getFormatterConfig().locale,intlTextLocale=t=>{const e=configuredLocale();return null===e||"indian"===t.grouping||"international"===t.grouping?null:t.locale??e},fractionDigits=(t,e)=>{const n=clampDigits(t);return{minimumFractionDigits:n,maximumFractionDigits:Math.max(n,clampDigits(e))}},groupingOption=t=>"none"===t?{useGrouping:!1}:{};export const formatNumber=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=intlNumberOptions(e);if(r)return styledNumber(numberFormat(localeOf(e),r),n);const o=intlTextLocale(e);return o?styledNumber(numberFormat(o,{...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??3),...groupingOption(e.grouping)}),n):decimalText(n,e.minimumFractionDigits??0,e.maximumFractionDigits??3,e.grouping??groupingForLocale(localeOf(e)))};export const formatPercent=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=intlNumberOptions(e);if(r){const t="percent"===e.scale?shiftDecimal(n,-2):n;return styledNumber(numberFormat(localeOf(e),{style:"percent",...r}),t)}const o=intlTextLocale(e);if(o){const t="percent"===e.scale?shiftDecimal(n,-2):n;return styledNumber(numberFormat(o,{style:"percent",...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0),...groupingOption(e.grouping)}),t)}const i="percent"===e.scale?n:shiftDecimal(n,2);return`${decimalText(i,e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0,e.grouping??groupingForLocale(localeOf(e)))}%`};const SYMBOLS={INR:"₹",USD:"$",EUR:"€",GBP:"£"},MINOR_DIGITS={JPY:0,KRW:0,VND:0,BHD:3,JOD:3,KWD:3,OMR:3,TND:3};export const formatMinor=(t,e)=>{if(!e?.currency)throw new TypeError('formatMinor needs options.currency, an ISO 4217 code such as "INR".');const n=toNumber(t);if(null===n)return emptyOf(e.empty);const r=e.currency.toUpperCase(),o=MINOR_DIGITS[r]??2,i=Math.round(Math.abs(n)),a=String(i).padStart(o+1,"0"),m=a.slice(0,a.length-o);let l=a.slice(a.length-o);e.dropZeroDecimals&&/^0*$/.test(l)&&(l="");const u=intlTextLocale({grouping:e.grouping});if(u)try{const t=Number(`${n<0&&0!==i?"-":""}${m}.${a.slice(a.length-o)||"0"}`);return styledNumber(numberFormat(u,{...!1===e.symbol?{}:{style:"currency",currency:r},...fractionDigits(l?o:0,o),...groupingOption(e.grouping)}),t)}catch{}const c=e.grouping??("INR"===r?"indian":"international"),s=houseSeparators(),g=groupInteger(m,c,s.group)+(l?`${s.decimal}${l}`:""),p=n<0&&0!==i?"-":"";if(!1===e.symbol)return`${p}${g}`;const f=SYMBOLS[r];return f?`${p}${f}${g}`:`${p}${r} ${g}`};
@@ -1 +1 @@
1
- "use strict";export{ACCOUNT_ID_HEADER,CLIENT_BUILD_HEADER,CLIENT_KIND,CLIENT_KIND_HEADER,getClientBuild}from"./api/clientHeaders.js";export{buildCurl,logCurl}from"./api/curl.js";export{newIdempotencyKey}from"./api/idempotencyKey.js";export{addMinAppVersionListener,getMinAppVersion,MIN_APP_VERSION_HEADER}from"./api/minAppVersion.js";export{default as publicClient}from"./api/publicClient.js";export{applyRequestDefaults,newTraceparent,TRACEPARENT_HEADER}from"./api/requestDefaults.js";export{attachRetry,IDEMPOTENCY_KEY_HEADER,isNeverSentError,isRetryableFailure,isRetryableStatus,resendWhenUnanswered,retryAfterMs}from"./api/retry.js";export{refreshAccessToken}from"./api/tokenRefresh.js";export{default as userClient,injectStore,injectUserAuth,RequestOfflineError,resetRefreshState,SESSION_EXPIRED_CODE,SESSION_REVOKED_CODE}from"./api/userClient.js";export{isWorkspaceChangedError,WORKSPACE_CHANGED_CODE,WorkspaceChangedError}from"./api/workspace.js";export{ACCESS_TOKEN_KEY,addSessionEndedListener,clearSession,getSessionUser,getToken,LEGACY_REFRESH_TOKEN_LIFETIME_MS,REFRESH_TOKEN_KEY,removeSessionUser,removeToken,SESSION_USER_KEY,setKeychainImplementation,setLegacyTokenKeys,storeSessionUser,storeToken}from"./auth/authStore.js";export{decodeJWT,getJWTExpiry,isJWTExpired}from"./auth/jwt.js";export{getConfig,getConfigValue,resetConfig,setConfig}from"./config/index.js";export{ENVIRONMENT_APP_ID_SUFFIX,installedAppId}from"./config/appIdentity.js";export{DeepLink,parseDeepLink,useDeepLink}from"./deepLink/index.js";export{apiErrorMessage,CONTRACT_ERROR_CODE,extractApiError,isApiError,isNoResponse,NETWORK_CODE,OFFLINE_CODE,OFFLINE_MESSAGE,REQUEST_CANCELED_CODE,SERVER_FAILURE_MESSAGE,TIMEOUT_CODE,TIMEOUT_MESSAGE,toFieldPath,UNEXPECTED_MESSAGE,UNREACHABLE_MESSAGE}from"./errors/index.js";export{AsYouType,addDays,clampNationalNumber,configureFormatters,countryFlagEmoji,detectPhoneCountry,diffMs,formatCompactNumber,formatCurrency,formatDate,formatDateDDMMMYYYY,formatDateISO,formatDatePattern,formatDateTime,formatMinor,formatNumber,formatPercent,formatPhone,formatPhoneAsTyped,formatRelative,formatRelativeTime,formatTime,formatTime12h,formatTimeInWindowsZone,formatTimeInZone,getCountries,getCountryCallingCode,getFormatterConfig,getInitials,getPhoneCountries,groupingForLocale,isDateAfter,isDateBefore,isSameDay,isSupportedCountry,isValidNationalNumber,isValidPhoneNumber,maxNationalNumberLength,normalizePhone,parsePhoneNumber,parsePhoneNumberFromString,splitPhoneNumber,startOfDay,validatePhoneNumberLength}from"./formatters/index.js";export{initWebority}from"./initSDK.js";export{initUserAuth}from"./initUserAuth.js";export{configureLogger,getDeviceContext,Logger,setDeviceContext}from"./logger/index.js";export{crashlyticsRemoteLogger}from"./logger/crashlytics.js";export{addNetworkStatusListener,getNetworkStatus,setNetworkStatusImplementation,useNetworkStatus}from"./network/index.js";export{PUSH_STATUS}from"./push/status.js";export{isStorageAvailable,Storage,setStorageImplementation}from"./storage/index.js";export{encodeBase64}from"./utils/base64.js";export{isAadhaar,isAlphanumeric,isBetween,isEmail,isGstin,isHexColor,isIfsc,isIndianMobile,isIndianPincode,isInteger,isNonEmpty,isNumeric,isPan,isPhone,isStrongPassword,isUrl,maxLength,minLength}from"./validators/index.js";export{isBuildBelowMinimum,parseBuildNumber,setDeviceInfoImplementation,useVersionCheck,VersionCheck}from"./versionCheck/index.js";
1
+ "use strict";export{ACCOUNT_ID_HEADER,CLIENT_BUILD_HEADER,CLIENT_KIND,CLIENT_KIND_HEADER,getClientBuild}from"./api/clientHeaders.js";export{buildCurl,logCurl}from"./api/curl.js";export{newIdempotencyKey}from"./api/idempotencyKey.js";export{addMinAppVersionListener,getMinAppVersion,MIN_APP_VERSION_HEADER}from"./api/minAppVersion.js";export{default as publicClient}from"./api/publicClient.js";export{applyRequestDefaults,newTraceparent,TRACEPARENT_HEADER}from"./api/requestDefaults.js";export{attachRetry,IDEMPOTENCY_KEY_HEADER,isNeverSentError,isRetryableFailure,isRetryableStatus,resendWhenUnanswered,retryAfterMs}from"./api/retry.js";export{refreshAccessToken}from"./api/tokenRefresh.js";export{default as userClient,injectStore,injectUserAuth,RequestOfflineError,resetRefreshState,SESSION_EXPIRED_CODE,SESSION_REVOKED_CODE}from"./api/userClient.js";export{isWorkspaceChangedError,WORKSPACE_CHANGED_CODE,WorkspaceChangedError}from"./api/workspace.js";export{ACCESS_TOKEN_KEY,addSessionEndedListener,clearSession,getSessionUser,getToken,LEGACY_REFRESH_TOKEN_LIFETIME_MS,REFRESH_TOKEN_KEY,removeSessionUser,removeToken,SESSION_USER_KEY,setKeychainImplementation,setLegacyTokenKeys,storeSessionUser,storeToken}from"./auth/authStore.js";export{decodeJWT,getJWTExpiry,isJWTExpired}from"./auth/jwt.js";export{getConfig,getConfigValue,resetConfig,setConfig}from"./config/index.js";export{ENVIRONMENT_APP_ID_SUFFIX,installedAppId}from"./config/appIdentity.js";export{DeepLink,parseDeepLink,useDeepLink}from"./deepLink/index.js";export{apiErrorMessage,CONTRACT_ERROR_CODE,extractApiError,isApiError,isNoResponse,NETWORK_CODE,OFFLINE_CODE,OFFLINE_MESSAGE,REQUEST_CANCELED_CODE,SERVER_FAILURE_MESSAGE,TIMEOUT_CODE,TIMEOUT_MESSAGE,toFieldPath,UNEXPECTED_MESSAGE,UNREACHABLE_MESSAGE}from"./errors/index.js";export{AsYouType,addDays,clampNationalNumber,configureFormatters,countryFlagEmoji,detectPhoneCountry,diffMs,formatCompactNumber,formatCurrency,formatDate,formatDateDDMMMYYYY,formatDateISO,formatDatePattern,formatDateTime,formatMinor,formatNumber,formatPercent,formatPhone,formatPhoneAsTyped,formatRelative,formatRelativeTime,formatTime,formatTime12h,formatTimeInWindowsZone,formatTimeInZone,getCountries,getCountryCallingCode,getFormatterConfig,getInitials,getPhoneCountries,groupingForLocale,isDateAfter,isDateBefore,isSameDay,isSupportedCountry,isValidNationalNumber,isValidPhoneNumber,maxNationalNumberLength,normalizePhone,parsePhoneNumber,parsePhoneNumberFromString,splitPhoneNumber,startOfDay,validatePhoneNumberLength}from"./formatters/index.js";export{initWebority}from"./initSDK.js";export{initUserAuth}from"./initUserAuth.js";export{configureLogger,getDeviceContext,Logger,setDeviceContext}from"./logger/index.js";export{crashlyticsRemoteLogger}from"./logger/crashlytics.js";export{addNetworkStatusListener,getNetworkStatus,setNetworkStatusImplementation,useNetworkStatus}from"./network/index.js";export{PUSH_STATUS}from"./push/status.js";export{isStorageAvailable,Storage,setStorageImplementation}from"./storage/index.js";export{encodeBase64}from"./utils/base64.js";export{isAlphanumeric,isBetween,isEmail,isHexColor,isInteger,isNonEmpty,isNumeric,isPhone,isStrongPassword,isUrl,maxLength,minLength}from"./validators/index.js";export{isBuildBelowMinimum,parseBuildNumber,setDeviceInfoImplementation,useVersionCheck,VersionCheck}from"./versionCheck/index.js";
@@ -0,0 +1 @@
1
+ "use strict";import{withoutSpaces}from"./text.js";const RE_AADHAAR=/^[2-9][0-9]{11}$/,VERHOEFF_D=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],VERHOEFF_P=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],isVerhoeffValid=a=>{let t=0;for(let r=0;r<a.length;r+=1){const l=Number(a.charAt(a.length-1-r));t=VERHOEFF_D[t][VERHOEFF_P[r%8][l]]}return 0===t};export const normalizeAadhaar=a=>{const t=withoutSpaces(a);return null===t?null:t.replace(/-/g,"").trim()};const validAadhaar=a=>{const t=normalizeAadhaar(a);return null!==t&&RE_AADHAAR.test(t)&&isVerhoeffValid(t)?t:null};export const isAadhaar=a=>null!==validAadhaar(a);export const maskAadhaar=a=>{const t=validAadhaar(a);return null===t?null:`XXXX XXXX ${t.slice(-4)}`};export const aadhaarLastFour=a=>{const t=validAadhaar(a);return null===t?null:t.slice(-4)};
@@ -0,0 +1 @@
1
+ "use strict";import{istDateOf}from"./indiaTime.js";const MAX_START_YEAR=9998,twoDigits=t=>String(t%100).padStart(2,"0"),fourDigits=t=>String(t).padStart(4,"0");export const financialYearLabel=t=>`${t}-${twoDigits(t+1)}`;const withStartYear=t=>{const r=financialYearLabel(t);return{startYear:t,label:r,displayLabel:`FY ${r}`,assessmentYearLabel:financialYearLabel(t+1),startDate:`${fourDigits(t)}-04-01`,endDate:`${fourDigits(t+1)}-03-31`}};export const financialYearOf=t=>{const[r,e]=istDateOf(t).split("-").map(Number);return withStartYear(e>=4?r:r-1)};export const currentFinancialYear=(t=new Date)=>financialYearOf(t);export const parseFinancialYear=t=>{if("string"!=typeof t)return null;let r=t.trim();/^fy/i.test(r)&&(r=r.slice(2).trimStart());const e=r.indexOf("-"),a=(e<0?r:r.slice(0,e)).trimEnd();if(!/^\d{4}$/.test(a))return null;const n=Number(a);if(n<1||n>9998)return null;if(e<0)return withStartYear(n);const i=r.slice(e+1).trimStart(),s=n+1;return i===twoDigits(s)||i===String(s)?withStartYear(n):null};export const recentFinancialYears=(t,r=new Date)=>{if(!Number.isInteger(t)||t<1)throw new RangeError(`A count of recent financial years must be a whole number of at least 1, got ${t}.`);const e=currentFinancialYear(r).startYear;return Array.from({length:t},(t,r)=>withStartYear(e-r))};
@@ -0,0 +1 @@
1
+ "use strict";export const GST_STATES=[{code:"01",name:"Jammu and Kashmir",status:"Current",aliases:["J&K","Jammu & Kashmir"]},{code:"02",name:"Himachal Pradesh",status:"Current",aliases:[]},{code:"03",name:"Punjab",status:"Current",aliases:[]},{code:"04",name:"Chandigarh",status:"Current",aliases:[]},{code:"05",name:"Uttarakhand",status:"Current",aliases:["Uttaranchal"]},{code:"06",name:"Haryana",status:"Current",aliases:[]},{code:"07",name:"Delhi",status:"Current",aliases:["New Delhi","NCT of Delhi"]},{code:"08",name:"Rajasthan",status:"Current",aliases:[]},{code:"09",name:"Uttar Pradesh",status:"Current",aliases:[]},{code:"10",name:"Bihar",status:"Current",aliases:[]},{code:"11",name:"Sikkim",status:"Current",aliases:[]},{code:"12",name:"Arunachal Pradesh",status:"Current",aliases:[]},{code:"13",name:"Nagaland",status:"Current",aliases:[]},{code:"14",name:"Manipur",status:"Current",aliases:[]},{code:"15",name:"Mizoram",status:"Current",aliases:[]},{code:"16",name:"Tripura",status:"Current",aliases:[]},{code:"17",name:"Meghalaya",status:"Current",aliases:[]},{code:"18",name:"Assam",status:"Current",aliases:[]},{code:"19",name:"West Bengal",status:"Current",aliases:[]},{code:"20",name:"Jharkhand",status:"Current",aliases:[]},{code:"21",name:"Odisha",status:"Current",aliases:["Orissa"]},{code:"22",name:"Chhattisgarh",status:"Current",aliases:[]},{code:"23",name:"Madhya Pradesh",status:"Current",aliases:[]},{code:"24",name:"Gujarat",status:"Current",aliases:[]},{code:"25",name:"Daman and Diu (before 2020)",status:"Retired",replacedByCode:"26",aliases:[]},{code:"26",name:"Dadra and Nagar Haveli and Daman and Diu",status:"Current",aliases:["Dadra and Nagar Haveli","Daman and Diu","Dadra & Nagar Haveli"]},{code:"27",name:"Maharashtra",status:"Current",aliases:[]},{code:"28",name:"Andhra Pradesh (before 2014)",status:"Retired",replacedByCode:"37",aliases:[]},{code:"29",name:"Karnataka",status:"Current",aliases:[]},{code:"30",name:"Goa",status:"Current",aliases:[]},{code:"31",name:"Lakshadweep",status:"Current",aliases:[]},{code:"32",name:"Kerala",status:"Current",aliases:[]},{code:"33",name:"Tamil Nadu",status:"Current",aliases:[]},{code:"34",name:"Puducherry",status:"Current",aliases:["Pondicherry"]},{code:"35",name:"Andaman and Nicobar Islands",status:"Current",aliases:[]},{code:"36",name:"Telangana",status:"Current",aliases:[]},{code:"37",name:"Andhra Pradesh",status:"Current",aliases:[]},{code:"38",name:"Ladakh",status:"Current",aliases:[]},{code:"97",name:"Other Territory",status:"Current",aliases:[]}];const nameKey=a=>a.replace(/&/g," and ").split(/\s+/).filter(Boolean).join(" ").toUpperCase(),BY_CODE=new Map(GST_STATES.map(a=>[a.code,a])),BY_NAME=new Map(GST_STATES.flatMap(a=>[a.name,...a.aliases].map(e=>[nameKey(e),a]))),NOT_ADDRESSED=new Set(["97","99"]);export const findGstState=a=>"string"==typeof a?BY_CODE.get(a.trim())??null:null;export const gstStateByName=a=>"string"==typeof a?BY_NAME.get(nameKey(a))??null:null;export const currentGstStates=()=>GST_STATES.filter(a=>"Current"===a.status&&!NOT_ADDRESSED.has(a.code));
@@ -0,0 +1 @@
1
+ "use strict";import{findGstState}from"./gstStates.g.js";import{upperAscii,withoutSpaces}from"./text.js";const GSTIN_LENGTH=15,STATE_CODE_LENGTH=2,PAN_START=2,PAN_END=12,CHECK_CHARACTER_INDEX=14,RE_GSTIN=/^\d{2}[A-Z]{5}\d{4}[A-Z][1-9A-Z]Z[0-9A-Z]$/,BASE_36="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",checkCharacterOf=t=>{let n=0;for(let e=0;e<14;e+=1){const s=BASE_36.indexOf(t.charAt(e))*(e%2==0?1:2);n+=Math.floor(s/36)+s%36}return BASE_36.charAt((36-n%36)%36)};export const normalizeGstin=t=>{const n=withoutSpaces(t);return null===n?null:upperAscii(n)};export const gstinProblem=t=>{const n=normalizeGstin(t);return null!==n&&RE_GSTIN.test(n)?null===findGstState(n.slice(0,2))?"stateCode":n.charAt(14)!==checkCharacterOf(n)?"checkCharacter":null:"pattern"};export const isGstin=t=>null===gstinProblem(t);export const sanitizeGstinInput=t=>"string"!=typeof t?"":t.replace(/[^A-Za-z0-9]/g,"").toUpperCase().slice(0,15);const validGstin=t=>isGstin(t)?normalizeGstin(t):null;export const gstinStateCode=t=>{const n=validGstin(t);return null===n?null:n.slice(0,2)};export const gstinState=t=>{const n=gstinStateCode(t);return null===n?null:findGstState(n)};export const gstinHolderPan=t=>{const n=validGstin(t);return null===n?null:n.slice(2,12)};
@@ -0,0 +1 @@
1
+ "use strict";import{upperAscii,withoutSpaces}from"./text.js";const RE_IFSC=/^[A-Z]{4}0[A-Z0-9]{6}$/;export const normalizeIfsc=t=>{const s=withoutSpaces(t);return null===s?null:upperAscii(s)};export const isIfsc=t=>{const s=normalizeIfsc(t);return null!==s&&RE_IFSC.test(s)};
@@ -0,0 +1 @@
1
+ "use strict";export{aadhaarLastFour,isAadhaar,maskAadhaar,normalizeAadhaar}from"./aadhaar.js";export{currentFinancialYear,financialYearLabel,financialYearOf,parseFinancialYear,recentFinancialYears}from"./financialYear.js";export{gstinHolderPan,gstinProblem,gstinState,gstinStateCode,isGstin,normalizeGstin,sanitizeGstinInput}from"./gstin.js";export{isIfsc,normalizeIfsc}from"./ifsc.js";export{formatIndianMobile,isIndianMobile,normalizeIndianMobile}from"./indianMobile.js";export{istDateOf,istDayBoundsUtc,istToday}from"./indiaTime.js";export{formatPaise,formatRupees,PAISE_PER_RUPEE,paiseFromRupees}from"./paise.js";export{isPan,maskPan,normalizePan}from"./pan.js";export{isPincode,normalizePincode}from"./pincode.js";
@@ -0,0 +1 @@
1
+ "use strict";const IST_OFFSET_MS=198e5,DAY_MS=864e5,DATE_TEXT=/^(\d{4})-(\d{2})-(\d{2})$/;export const istDateOf=t=>{const e=new Date(t.getTime()+198e5);if(Number.isNaN(e.getTime()))throw new RangeError("Expected a valid date.");return`${String(e.getUTCFullYear()).padStart(4,"0")}-${String(e.getUTCMonth()+1).padStart(2,"0")}-${String(e.getUTCDate()).padStart(2,"0")}`};export const istToday=(t=new Date)=>istDateOf(t);export const istDayBoundsUtc=t=>{const e=DATE_TEXT.exec(t);if(null===e)throw new RangeError(`Expected a yyyy-MM-dd date, got "${t}".`);const r=Number(e[1]),a=Number(e[2])-1,n=Number(e[3]),o=new Date(0);if(o.setUTCFullYear(r,a,n),o.getUTCFullYear()!==r||o.getUTCMonth()!==a||o.getUTCDate()!==n)throw new RangeError(`"${t}" is not a calendar day.`);const s=o.getTime()-198e5;return{startUtc:new Date(s),endUtc:new Date(s+DAY_MS)}};
@@ -0,0 +1 @@
1
+ "use strict";const COUNTRY_CODE="91",DIAL_PREFIX="+91",COUNTRY_CODE_LENGTH_WITH_NUMBER=12,TRUNK_PREFIX="0",FORMAT_SPLIT_INDEX=5,RE_TYPING_AIDS=/[ .()-]/g,RE_MOBILE=/^[6-9][0-9]{9}$/;export const normalizeIndianMobile=t=>{if("string"!=typeof t)return null;let n=t.replace(RE_TYPING_AIDS,"");return n.startsWith("+91")?n=n.slice(3):12===n.length&&n.startsWith("91")?n=n.slice(2):n.startsWith("0")&&(n=n.slice(1)),RE_MOBILE.test(n)?n:null};export const isIndianMobile=t=>null!==normalizeIndianMobile(t);export const formatIndianMobile=t=>{const n=normalizeIndianMobile(t);return null===n?null:`+91 ${n.slice(0,5)} ${n.slice(5)}`};
@@ -0,0 +1 @@
1
+ "use strict";export const NIC_DIVISIONS=[{code:"01",section:"A",title:"Crop and animal production, hunting and related service activities"},{code:"02",section:"A",title:"Forestry and logging"},{code:"03",section:"A",title:"Fishing and aquaculture"},{code:"05",section:"B",title:"Mining of coal and lignite"},{code:"06",section:"B",title:"Extraction of crude petroleum and natural gas"},{code:"07",section:"B",title:"Mining of metal ores"},{code:"08",section:"B",title:"Other mining and quarrying"},{code:"09",section:"B",title:"Mining support service activities"},{code:"10",section:"C",title:"Manufacture of food products"},{code:"11",section:"C",title:"Manufacture of beverages"},{code:"12",section:"C",title:"Manufacture of tobacco products"},{code:"13",section:"C",title:"Manufacture of textiles"},{code:"14",section:"C",title:"Manufacture of wearing apparel"},{code:"15",section:"C",title:"Manufacture of leather and related products"},{code:"16",section:"C",title:"Manufacture of wood and of products of wood and cork, except furniture; manufacture of articles of straw and plaiting materials"},{code:"17",section:"C",title:"Manufacture of paper and paper products"},{code:"18",section:"C",title:"Printing and reproduction of recorded media"},{code:"19",section:"C",title:"Manufacture of coke and refined petroleum products"},{code:"20",section:"C",title:"Manufacture of chemicals and chemical products"},{code:"21",section:"C",title:"Manufacture of basic pharmaceutical products and pharmaceutical preparations"},{code:"22",section:"C",title:"Manufacture of rubber and plastics products"},{code:"23",section:"C",title:"Manufacture of other non-metallic mineral products"},{code:"24",section:"C",title:"Manufacture of basic metals"},{code:"25",section:"C",title:"Manufacture of fabricated metal products, except machinery and equipment"},{code:"26",section:"C",title:"Manufacture of computer, electronic and optical products"},{code:"27",section:"C",title:"Manufacture of electrical equipment"},{code:"28",section:"C",title:"Manufacture of machinery and equipment n.e.c."},{code:"29",section:"C",title:"Manufacture of motor vehicles, trailers and semi-trailers"},{code:"30",section:"C",title:"Manufacture of other transport equipment"},{code:"31",section:"C",title:"Manufacture of furniture"},{code:"32",section:"C",title:"Other manufacturing"},{code:"33",section:"C",title:"Repair and installation of machinery and equipment"},{code:"35",section:"D",title:"Electricity, gas, steam and air conditioning supply"},{code:"36",section:"E",title:"Water collection, treatment and supply"},{code:"37",section:"E",title:"Sewerage"},{code:"38",section:"E",title:"Waste collection, treatment and disposal activities; materials recovery"},{code:"39",section:"E",title:"Remediation activities and other waste management services"},{code:"41",section:"F",title:"Construction of buildings"},{code:"42",section:"F",title:"Civil engineering"},{code:"43",section:"F",title:"Specialized construction activities"},{code:"45",section:"G",title:"Wholesale and retail trade and repair of motor vehicles and motorcycles"},{code:"46",section:"G",title:"Wholesale trade, except of motor vehicles and motorcycles"},{code:"47",section:"G",title:"Retail trade, except of motor vehicles and motorcycles"},{code:"49",section:"H",title:"Land transport and transport via pipelines"},{code:"50",section:"H",title:"Water transport"},{code:"51",section:"H",title:"Air transport"},{code:"52",section:"H",title:"Warehousing and support activities for transportation"},{code:"53",section:"H",title:"Postal and courier activities"},{code:"55",section:"I",title:"Accommodation"},{code:"56",section:"I",title:"Food and beverage service activities"},{code:"58",section:"J",title:"Publishing activities"},{code:"59",section:"J",title:"Motion picture, video and television programme production, sound recording and music publishing activities"},{code:"60",section:"J",title:"Programming and broadcasting activities"},{code:"61",section:"J",title:"Telecommunications"},{code:"62",section:"J",title:"Computer programming, consultancy and related activities"},{code:"63",section:"J",title:"Information service activities"},{code:"64",section:"K",title:"Financial service activities, except insurance and pension funding"},{code:"65",section:"K",title:"Insurance, reinsurance and pension funding, except compulsory social security"},{code:"66",section:"K",title:"Activities auxiliary to financial service and insurance activities"},{code:"68",section:"L",title:"Real estate activities"},{code:"69",section:"M",title:"Legal and accounting activities"},{code:"70",section:"M",title:"Activities of head offices; management consultancy activities"},{code:"71",section:"M",title:"Architectural and engineering activities; technical testing and analysis"},{code:"72",section:"M",title:"Scientific research and development"},{code:"73",section:"M",title:"Advertising and market research"},{code:"74",section:"M",title:"Other professional, scientific and technical activities"},{code:"75",section:"M",title:"Veterinary activities"},{code:"77",section:"N",title:"Rental and leasing activities"},{code:"78",section:"N",title:"Employment activities"},{code:"79",section:"N",title:"Travel agency, tour operator and other reservation service and related activities"},{code:"80",section:"N",title:"Security and investigation activities"},{code:"81",section:"N",title:"Services to buildings and landscape activities"},{code:"82",section:"N",title:"Office administrative, office support and other business support activities"},{code:"84",section:"O",title:"Public administration and defence; compulsory social security"},{code:"85",section:"P",title:"Education"},{code:"86",section:"Q",title:"Human health activities"},{code:"87",section:"Q",title:"Residential care activities"},{code:"88",section:"Q",title:"Social work activities without accommodation"},{code:"90",section:"R",title:"Creative, arts and entertainment activities"},{code:"91",section:"R",title:"Libraries, archives, museums and other cultural activities"},{code:"92",section:"R",title:"Gambling and betting activities"},{code:"93",section:"R",title:"Sports activities and amusement and recreation activities"},{code:"94",section:"S",title:"Activities of membership organizations"},{code:"95",section:"S",title:"Repair of computers and personal and household goods"},{code:"96",section:"S",title:"Other personal service activities"},{code:"97",section:"T",title:"Activities of households as employers of domestic personnel"},{code:"98",section:"T",title:"Undifferentiated goods- and services-producing activities of private households for own use"},{code:"99",section:"U",title:"Activities of extraterritorial organizations and bodies"}];const BY_CODE=new Map(NIC_DIVISIONS.map(e=>[e.code,e]));export const findNicDivision=e=>"string"!=typeof e?null:BY_CODE.get(/^\d$/.test(e)?e.padStart(2,"0"):e)??null;
@@ -0,0 +1 @@
1
+ "use strict";export const PAISE_PER_RUPEE=100;const AMOUNT=/^(-?)(\d+)(?:\.(\d{1,2}))?$/,RUPEE_SIGN="₹",assertPaise=e=>{if(!Number.isSafeInteger(e))throw new RangeError(`${e} is not a whole number of paise within the safe integer range.`)},groupIndian=e=>{const r=String(e);return r.length<=3?r:`${r.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,",")},${r.slice(-3)}`};export const paiseFromRupees=e=>{const r=AMOUNT.exec(String(e));if(null===r)throw new RangeError(`${e} is not an amount in whole paise. Round it before converting.`);const t=100*Number(r[2])+Number((r[3]??"").padEnd(2,"0"));return assertPaise(t),"-"===r[1]?-t:t};export const formatPaise=(e,r=!0)=>{assertPaise(e);const t=Math.abs(e),n=t%100;return`${e<0?"-":""}${r?"₹":""}${groupIndian((t-n)/100)}.${String(n).padStart(2,"0")}`};export const formatRupees=e=>{assertPaise(e);const r=Math.abs(e),t=r%100,n=(r-t)/100+(t>=50?1:0);return`${e<0&&0!==n?"-":""}₹${groupIndian(n)}`};
@@ -0,0 +1 @@
1
+ "use strict";import{upperAscii,withoutSpaces}from"./text.js";const RE_PAN=/^[A-Z]{5}[0-9]{4}[A-Z]$/;export const normalizePan=t=>{const n=withoutSpaces(t);return null===n?null:upperAscii(n)};export const isPan=t=>{const n=normalizePan(t);return null!==n&&RE_PAN.test(n)};export const maskPan=t=>{const n=normalizePan(t);return null!==n&&RE_PAN.test(n)?`${n.slice(0,5)}****${n.slice(9)}`:null};
@@ -0,0 +1 @@
1
+ "use strict";import{withoutSpaces}from"./text.js";const RE_PINCODE=/^[1-9][0-9]{5}$/;export const normalizePincode=t=>withoutSpaces(t);export const isPincode=t=>{const o=normalizePincode(t);return null!==o&&RE_PINCODE.test(o)};
@@ -0,0 +1 @@
1
+ "use strict";export const withoutSpaces=t=>"string"!=typeof t||""===t.trim()?null:t.replace(/ /g,"").trim();export const upperAscii=t=>t.replace(/[a-z]/g,t=>t.toUpperCase());