bangla-stdlib 1.0.2 → 1.0.4
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.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1219 -1259
- package/dist/index.d.ts +1219 -1259
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Mr=Object.defineProperty;var t=(r,e)=>Mr(r,"name",{value:e,configurable:!0});var $=["\u09E6","\u09E7","\u09E8","\u09E9","\u09EA","\u09EB","\u09EC","\u09ED","\u09EE","\u09EF"],v=["0","1","2","3","4","5","6","7","8","9"];var M=["\u09AC\u09C8\u09B6\u09BE\u0996","\u099C\u09CD\u09AF\u09C8\u09B7\u09CD\u09A0","\u0986\u09B7\u09BE\u09A2\u09BC","\u09B6\u09CD\u09B0\u09BE\u09AC\u09A3","\u09AD\u09BE\u09A6\u09CD\u09B0","\u0986\u09B6\u09CD\u09AC\u09BF\u09A8","\u0995\u09BE\u09B0\u09CD\u09A4\u09BF\u0995","\u0985\u0997\u09CD\u09B0\u09B9\u09BE\u09AF\u09BC\u09A3","\u09AA\u09CC\u09B7","\u09AE\u09BE\u0998","\u09AB\u09BE\u09B2\u09CD\u0997\u09C1\u09A8","\u099A\u09C8\u09A4\u09CD\u09B0"];var O=["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"];var b=["\u0997\u09CD\u09B0\u09C0\u09B7\u09CD\u09AE","\u09AC\u09B0\u09CD\u09B7\u09BE","\u09B6\u09B0\u09CE","\u09B9\u09C7\u09AE\u09A8\u09CD\u09A4","\u09B6\u09C0\u09A4","\u09AC\u09B8\u09A8\u09CD\u09A4"];function f(r){if(r==null)throw new TypeError("Invalid input");let e=String(r).trim();if(e==="")throw new Error("Empty input");if(/[eE]/.test(e))throw new Error("Scientific notation not supported");if(typeof r=="number"){if(!Number.isFinite(r))throw new TypeError("Input must be a finite number");if(Number.isInteger(r)&&Math.abs(r)>=1e5){let s=Math.abs(r),a=Math.log10(s);if(Number.isInteger(a)&&a>=5)throw new Error("Scientific notation not supported")}if(Number.isInteger(r)&&!Number.isSafeInteger(r))throw new TypeError("Input must be a safe integer")}if(/[০-৯]/.test(e))throw new Error("Input already contains Bangla digits");let n=!1,o=!1,i="";for(let s=0;s<e.length;s++){let a=e[s];if(a==="."){if(n)throw new Error("Multiple decimal points");n=!0,i+=".";continue}if(a==="-"){if(s!==0)throw new Error("Invalid minus position");i+="-";continue}let u=v.indexOf(a);if(u!==-1){o=!0,i+=$[u];continue}throw new Error(`Invalid character in number: ${a}`)}if(!o)throw new Error("No digits found");if(n){if(e.startsWith(".")||e.startsWith("-."))throw new Error("Decimal must have leading digit");if(e.endsWith("."))throw new Error("Decimal must have trailing digit")}return i}t(f,"toBanglaNumber");function w(r){if(typeof r!="string")throw new TypeError("Input must be a string");let e=r.trim();if(e==="")throw new Error("Empty input");let n=!1,o=!1,i="";for(let a=0;a<e.length;a++){let u=e[a];if(u==="."){if(n)throw new Error("Multiple decimal points");n=!0,i+=".";continue}if(u==="-"){if(a!==0)throw new Error("Invalid minus position");i+="-";continue}let l=$.indexOf(u);if(l!==-1){o=!0,i+=v[l];continue}throw new Error(`Invalid Bangla digit: ${u}`)}if(!o)throw new Error("No digits found");if(n){if(e.startsWith(".")||e.startsWith("-."))throw new Error("Decimal must have leading digit");if(e.endsWith("."))throw new Error("Decimal must have trailing digit")}let s=Number(i);if(!Number.isFinite(s))throw new TypeError("Failed to parse Bangla number");return s}t(w,"fromBanglaNumber");function U(r){if(r===0)return"\u09B6\u09C2\u09A8\u09CD\u09AF";if(r<0)return"\u098B\u09A3\u09BE\u09A4\u09CD\u09AE\u0995 "+U(-r);if(r<100)return _(r);if(r<1e3)return P(r);if(r<1e5)return Q(r);if(r<1e7)return rr(r);if(r<1e9)return er(r);if(r<1e11)return Er(r);throw new Error("Number too large to convert to words")}t(U,"toWords");function _(r){let e=["","\u098F\u0995","\u09A6\u09C1\u0987","\u09A4\u09BF\u09A8","\u099A\u09BE\u09B0","\u09AA\u09BE\u0981\u099A","\u099B\u09AF\u09BC","\u09B8\u09BE\u09A4","\u0986\u099F","\u09A8\u09AF\u09BC","\u09A6\u09B6","\u098F\u0997\u09BE\u09B0\u09CB","\u09AC\u09BE\u09B0\u09CB","\u09A4\u09C7\u09B0\u09CB","\u099A\u09CC\u09A6\u09CD\u09A6","\u09AA\u09A8\u09C7\u09B0\u09CB","\u09B7\u09CB\u09B2","\u09B8\u09A4\u09C7\u09B0\u09CB","\u0986\u09A0\u09BE\u09B0\u09CB","\u098A\u09A8\u09BF\u09B6","\u09AC\u09BF\u09B6"],n=["","","\u0995\u09C1\u09A1\u09BC\u09BF","\u09A4\u09BF\u09B0\u09BF\u09B6","\u099A\u09B2\u09CD\u09B2\u09BF\u09B6","\u09AA\u099E\u09CD\u099A\u09BE\u09B6","\u09B7\u09BE\u099F","\u09B8\u09A4\u09CD\u09A4\u09B0","\u0986\u09B6\u09BF","\u09A8\u09AC\u09CD\u09AC\u0987"];if(r===0)return"";if(r<20)return e[r];if(r===23)return"\u09A4\u09C7\u0987\u09B6";if(r===34)return"\u099A\u09CC\u09A4\u09CD\u09B0\u09BF\u09B6";if(r===56)return"\u099B\u09BE\u09AA\u09CD\u09AA\u09BE\u09A8\u09CD\u09A8";let o=Math.floor(r/10),i=r%10;return i===0?n[o]:n[o]+" "+e[i]}t(_,"convertBelowHundred");function P(r){let e=Math.floor(r/100),n=r%100,o="";return e>0&&(e===1?o="\u098F\u0995\u09B6\u09A4":o=_(e)+"\u09B6\u09A4"),n>0&&(o+=(o?" ":"")+_(n)),o}t(P,"convertBelowThousand");function Q(r){let e=Math.floor(r/1e3),n=r%1e3,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0":o=P(e)+" \u09B9\u09BE\u099C\u09BE\u09B0"),n>0&&(o+=(o?" ":"")+P(n)),o}t(Q,"convertBelowLakh");function rr(r){let e=Math.floor(r/1e5),n=r%1e5,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B2\u0995\u09CD\u09B7":o=P(e)+" \u09B2\u0995\u09CD\u09B7"),n>0&&(o+=(o?" ":"")+Q(n)),o}t(rr,"convertBelowCrore");function er(r){let e=Math.floor(r/1e7),n=r%1e7,o="";return e>0&&(e===1?o="\u098F\u0995 \u0995\u09CB\u099F\u09BF":o=P(e)+" \u0995\u09CB\u099F\u09BF"),n>0&&(o+=(o?" ":"")+rr(n)),o}t(er,"convertBelowArab");function Er(r){let e=Math.floor(r/1e9),n=r%1e9,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF":o=P(e)+" \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF"),n>0&&(o+=(o?" ":"")+er(n)),o}t(Er,"convertBelowKharab");function me(r,e={}){let{precision:n=2,useBanglaDigits:o=!0}=e;if(r===0)return o?"\u09E6":"0";let i=Math.abs(r),s=r<0?"-":"",a,u;if(i>=1e7)a=i/1e7,u="\u0995\u09CB\u099F\u09BF";else if(i>=1e5)a=i/1e5,u="\u09B2\u0995\u09CD\u09B7";else if(i>=1e3)a=i/1e3,u="\u09B9\u09BE\u099C\u09BE\u09B0";else{let g=o?f(i):i.toString();return s+g}let l=Number(a.toFixed(n)),m=o?f(l):l.toString();return s+m+" "+u}t(me,"formatWithUnits");function nr(r,e={}){let{useBanglaDigits:n=!0,separator:o=","}=e,i=typeof r=="string"?r:r.toString(),[s,a]=i.split("."),u=s;n&&(u=f(s));let l=Sr(u,o);if(a!==void 0){let m=n?f(a):a;return`${l}.${m}`}return l}t(nr,"formatNumber");function Sr(r,e){let n=r.startsWith("-"),o=n?r.slice(1):r;if(o.length<=3)return r;let s=o.slice(-3),a=o.slice(0,-3),u=[];for(let m=a.length;m>0;m-=2){let g=Math.max(0,m-2);u.unshift(a.slice(g,m))}let l=`${u.join(e)}${e}${s}`;return n?`-${l}`:l}t(Sr,"formatIntegerPart");function he(r){if(typeof r!="string")return!1;let e=r.trim();if(e==="")return!1;let n=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="."){if(n)return!1;n=!0;continue}if(s==="-"){if(i!==0)return!1;continue}if($.indexOf(s)!==-1){o=!0;continue}return!1}return!(!o||n&&(e.startsWith(".")||e.startsWith("-.")||e.endsWith(".")))}t(he,"isValidBanglaNumber");function xe(r){if(r==null)return!1;let e=String(r).trim();if(e===""||/[eE]/.test(e))return!1;if(typeof r=="number"){if(!Number.isFinite(r)||Number.isInteger(r)&&!Number.isSafeInteger(r))return!1;if(Number.isInteger(r)&&Math.abs(r)>=1e5){let i=Math.abs(r),s=Math.log10(i);if(Number.isInteger(s)&&s>=5)return!1}}if(/[০-৯]/.test(e))return!1;let n=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="."){if(n)return!1;n=!0;continue}if(s==="-"){if(i!==0)return!1;continue}if(v.indexOf(s)!==-1){o=!0;continue}return!1}return!(!o||n&&(e.startsWith(".")||e.startsWith("-.")||e.endsWith(".")))}t(xe,"isValidNumber");function ye(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=-99999999999&&r<=99999999999}t(ye,"isValidNumberForWords");function we(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>0}t(we,"isValidNumberForOrdinal");function tr(r){if(typeof r!="string")return"";let e=r.trim();return e=e.replace(/,/g,""),e=e.replace(/৳/g,""),e.trim()}t(tr,"sanitizeNumberInput");function Te(r){let e=[],n=[];for(let o of r)try{let i=f(o);e.push({input:o,output:i})}catch(i){n.push({input:o,error:i instanceof Error?i.message:String(i)})}return{success:e,errors:n}}t(Te,"batchToBanglaNumber");function Ae(r){let e=[],n=[];for(let o of r)try{let i=w(o);e.push({input:o,output:i})}catch(i){n.push({input:o,error:i instanceof Error?i.message:String(i)})}return{success:e,errors:n}}t(Ae,"batchFromBanglaNumber");function We(r,e=""){try{return f(r)}catch{return e}}t(We,"safeToBanglaNumber");function Ce(r,e=0){try{return w(r)}catch{return e}}t(Ce,"safeFromBanglaNumber");function Fe(r){let e=tr(r);return f(e)}t(Fe,"parseAndConvertToBangla");function $e(r,e=!0,n=","){return nr(r,{useBanglaDigits:e,separator:n})}t($e,"formatAndConvert");function ve(r){return{words:U(r),digits:f(r)}}t(ve,"convertToWordsAndDigits");function Oe(r,e,n){return Number.isFinite(r)?r>=e&&r<=n:!1}t(Oe,"isNumberInRange");function Pe(r,e=2){let n=Math.pow(10,e);return Math.trunc(r*n)/n}t(Pe,"truncateDecimals");function z(r,e={}){let{includeSymbol:n=!0,includeWord:o=!1}=e,i=typeof r=="string"?parseFloat(r):r;if(Number.isNaN(i))throw new Error("Invalid amount");let s=f(i.toFixed(2)),a=[];return n&&a.push("\u09F3"),a.push(s),o&&a.push("\u099F\u09BE\u0995\u09BE"),a.join(" ")}t(z,"formatCurrency");function j(r){let e=r.replace(/৳/g,"").replace(/টাকা/g,"").trim();return e=e.replace(/\s+/g,""),w(e)}t(j,"parseCurrency");function c(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)}t(c,"isValidCurrency");function Tr(r){if(typeof r!="string"||!r.trim())return!1;let e=r.trim();return e.includes("\u09F3")||e.includes("\u099F\u09BE\u0995\u09BE")?!0:/[০-৯]/.test(e)}t(Tr,"isBanglaCurrency");function Qe(r){return c(r)&&r>0}t(Qe,"isPositiveAmount");function rn(r){return c(r)&&r<0}t(rn,"isNegativeAmount");function en(r){return c(r)&&r===0}t(en,"isZeroAmount");function or(r){if(typeof r=="number")return isNaN(r)||!isFinite(r)?null:r;if(typeof r=="string"){let e=r.trim();if(e==="")return null;if(Tr(e))return e;let n=parseFloat(e);return isNaN(n)?null:n}return null}t(or,"sanitizeCurrencyInput");function nn(r,e,n){return!c(r)||!c(e)||!c(n)||e>n?!1:r>=e&&r<=n}t(nn,"isCurrencyInRange");function tn(r){return typeof r!="string"?!1:r.includes("\u09F3")}t(tn,"hasTakaSymbol");function on(r){return typeof r!="string"?!1:r.includes("\u099F\u09BE\u0995\u09BE")}t(on,"hasTakaWord");function ln(r,e={},n=""){try{let o=typeof r=="string"?parseFloat(r):r;return c(o)?z(r,e):n}catch{return n}}t(ln,"safeFormatCurrency");function cn(r,e=0){try{let n=j(r);return c(n)?n:e}catch{return e}}t(cn,"safeParseCurrency");function gn(r,e={}){return r.filter(n=>c(n)).map(n=>z(n,e))}t(gn,"batchFormatCurrency");function E(r,e=2){if(!c(r))throw new Error("Invalid currency amount");let n=Math.pow(10,e);return Math.round(r*n)/n}t(E,"roundCurrency");function Ar(r){let n=r.filter(o=>c(o)).reduce((o,i)=>o+i,0);return E(n,2)}t(Ar,"sumCurrency");function ir(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amounts");return E(r-e,2)}t(ir,"subtractCurrency");function pn(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amount or factor");return E(r*e,2)}t(pn,"multiplyCurrency");function Wr(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amount or divisor");if(e===0)throw new Error("Cannot divide by zero");return E(r/e,2)}t(Wr,"divideCurrency");function sr(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amount or percentage");return E(r*e/100,2)}t(sr,"calculatePercentage");function bn(r,e){let n=sr(r,e);return ir(r,n)}t(bn,"applyDiscount");function dn(r,e){let n=sr(r,e);return E(r+n,2)}t(dn,"addTax");function hn(r,e){if(!c(r))throw new Error("Invalid currency amount");if(!Number.isInteger(e)||e<1)throw new Error("Parts must be a positive integer");let n=Wr(r,e),o=Array(e-1).fill(n),i=Ar(o),s=ir(r,i);return o.push(s),o}t(hn,"splitAmount");function xn(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amounts");let n=E(r,2),o=E(e,2);return n<o?-1:n>o?1:0}t(xn,"compareCurrency");function yn(r){if(!c(r))throw new Error("Invalid currency amount");return Math.abs(r)}t(yn,"getAbsoluteAmount");function wn(r){if(!c(r))throw new Error("Invalid currency amount");return-r}t(wn,"negateAmount");function Dn(r,e={}){let n=or(r);if(n===null)throw new Error("Invalid currency input");if(typeof n=="string"){let o=j(n);return z(o,e)}return z(n,e)}t(Dn,"parseAndFormatCurrency");function h(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return M[r-1]}t(h,"toBanglaMonth");function D(r){let e=M.indexOf(r);if(e===-1)throw new Error(`Invalid Bangla month name: ${r}`);return e+1}t(D,"fromBanglaMonth");function ar(r){let e=r.getMonth()+1;return h(e)}t(ar,"getMonthName");function p(r){return r instanceof Date&&!isNaN(r.getTime())}t(p,"isValidDate");function ur(r){if(typeof r!="string"||r.trim()==="")return!1;let e=r.trim().replace(/\s+/g," ");if(/^\d{4}[\-\/]\d{1,2}[\-\/]\d{1,2}$/.test(e))return!1;let n=/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/,o=/^(\d{1,2}|[০-৯]{1,2})[\/\-](\d{1,2}|[০-৯]{1,2})[\/\-](\d{2,4}|[০-৯]{2,4})$/;return n.test(e)||o.test(e)}t(ur,"isValidBengaliDateString");function Ln(r){return typeof r!="string"?!1:/[০-৯]/.test(r)}t(Ln,"hasBengaliDigits");function Vn(r){return typeof r!="string"?!1:/(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)/.test(r)}t(Vn,"hasBengaliMonth");function zn(r){return p(r)?r:null}t(zn,"sanitizeDate");function N(r){return typeof r=="number"&&Number.isInteger(r)&&r>=1&&r<=12}t(N,"isValidMonthNumber");function B(r){if(typeof r!="string")return!1;let e=r.trim();return M.includes(e)}t(B,"isValidBanglaMonth");function fr(r){if(typeof r=="string"){let n=r.trim();if(n==="")return null;let o=Number(n);if(isNaN(o))return null;r=o}if(typeof r!="number"||isNaN(r)||!isFinite(r))return null;let e=Math.round(r);return e<1||e>12?null:e}t(fr,"sanitizeMonthNumber");function Yn(r){if(typeof r!="string")return null;let e=r.trim();return e===""||!B(e)?null:e}t(Yn,"sanitizeBanglaMonth");function Jn(r,e=""){try{return N(r)?h(r):e}catch{return e}}t(Jn,"safeToBanglaMonth");function Qn(r,e=0){try{return B(r)?D(r):e}catch{return e}}t(Qn,"safeFromBanglaMonth");function rt(){return[...M]}t(rt,"getAllMonths");function et(r){if(typeof r=="number"){if(!N(r))throw new Error("Invalid month number");return r===12?1:r+1}else{if(!B(r))throw new Error("Invalid Bangla month name");let e=D(r),n=e===12?1:e+1;return h(n)}}t(et,"getNextMonth");function nt(r){if(typeof r=="number"){if(!N(r))throw new Error("Invalid month number");return r===1?12:r-1}else{if(!B(r))throw new Error("Invalid Bangla month name");let e=D(r),n=e===1?12:e-1;return h(n)}}t(nt,"getPreviousMonth");function Cr(r,e){let n=typeof r=="number",o,i;if(n){if(!N(r)||!N(e))throw new Error("Invalid month numbers");o=r,i=e}else{if(!B(r)||!B(e))throw new Error("Invalid Bangla month names");o=D(r),i=D(e)}let s=[],a=o;for(;n?s.push(a):s.push(h(a)),!(a===i||(a=a===12?1:a+1,s.length>12)););return s}t(Cr,"getMonthRange");function tt(r,e,n){try{return Cr(e,n).includes(r)}catch{return!1}}t(tt,"isMonthInRange");function ot(r,e){let n,o;if(typeof r=="number"){if(!N(r))throw new Error("Invalid month1");n=r}else{if(!B(r))throw new Error("Invalid month1");n=D(r)}if(typeof e=="number"){if(!N(e))throw new Error("Invalid month2");o=e}else{if(!B(e))throw new Error("Invalid month2");o=D(e)}return n<o?-1:n>o?1:0}t(ot,"compareMonths");function it(r){if(typeof r=="number"){if(!N(r))throw new Error("Invalid month number");return r-1}else{if(!B(r))throw new Error("Invalid Bangla month name");return D(r)-1}}t(it,"getMonthIndex");function st(r){if(!Number.isInteger(r)||r<0||r>11)throw new Error("Index must be between 0 and 11");return r+1}t(st,"getMonthFromIndex");function at(r){if(typeof r=="string"&&B(r.trim()))return r.trim();let e=fr(r);if(e===null)throw new Error("Invalid month input");return h(e)}t(at,"parseAndConvertToMonth");function ut(r){return r.filter(e=>N(e)).map(e=>h(e))}t(ut,"batchToBanglaMonth");function ft(){let r={};for(let e=1;e<=12;e++)r[e]=h(e);return r}t(ft,"getMonthMapping");function k(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return O[r]}t(k,"toBanglaWeekday");function H(r){let e=O.indexOf(r);if(e===-1)throw new Error(`Invalid Bangla weekday name: ${r}`);return e}t(H,"fromBanglaWeekday");function mr(r){let e=r.getDay();return k(e)}t(mr,"getWeekdayName");function Tt(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=0&&r<=6}t(Tt,"isValidWeekdayNumber");function At(r){if(typeof r!="string")return!1;let e=r.trim();return e===""?!1:O.includes(e)}t(At,"isValidBanglaWeekday");function Wt(r){return r instanceof Date?!isNaN(r.getTime()):!1}t(Wt,"isValidDateForWeekday");function lr(r){return typeof r!="string"?"":r.trim()}t(lr,"sanitizeWeekdayInput");function Fr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return r===5||r===6}t(Fr,"isWeekend");function Pt(r){let e=H(r);return Fr(e)}t(Pt,"isBanglaWeekend");function $r(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r+1)%7}t($r,"getNextWeekday");function vr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r-1+7)%7}t(vr,"getPreviousWeekday");function kt(r){let e=$r(r);return k(e)}t(kt,"getNextBanglaWeekday");function Lt(r){let e=vr(r);return k(e)}t(Lt,"getPreviousBanglaWeekday");function Vt(r){let e=lr(r);return H(e)}t(Vt,"parseWeekdayInput");function zt(r,e=""){try{return k(r)}catch{return e}}t(zt,"safeToBanglaWeekday");function Gt(r,e=-1){try{return H(r)}catch{return e}}t(Gt,"safeFromBanglaWeekday");function Ht(){return["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"]}t(Ht,"getAllBanglaWeekdays");function Rt(r,e){if(r<0||r>6||e<0||e>6)throw new Error("Weekday numbers must be between 0 and 6");return(e-r+7)%7}t(Rt,"getDaysBetween");function K(r,e={}){let{includeWeekday:n=!1,includeYear:o=!0,format:i="long"}=e,s=[];if(n){let m=mr(r);s.push(m)}let a=f(r.getDate()),u=ar(r),l=o?f(r.getFullYear()):null;return i==="short"?s.push(`${a} ${u}`):s.push(a,u),l&&s.push(l),s.join(" ")}t(K,"formatDate");function cr(r){let e=r.trim().replace(/\s+/g," "),n=e.match(/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/);if(n){let i=n[1],s=n[2],a=n[3],u=/[০-৯]/.test(i)?w(i):parseInt(i,10),l=D(s),m=a?/[০-৯]/.test(a)?w(a):parseInt(a,10):new Date().getFullYear();return new Date(m,l-1,u)}let o=e.match(/^(\d+|[০-৯]+)[\/\-](\d+|[০-৯]+)[\/\-](\d+|[০-৯]+)$/);if(o){let i=o[1],s=o[2],a=o[3],u=/[০-৯]/.test(i)?w(i):parseInt(i,10),l=/[০-৯]/.test(s)?w(s):parseInt(s,10),m=/[০-৯]/.test(a)?w(a):parseInt(a,10);return new Date(m,l-1,u)}throw new Error(`Unable to parse date string: ${r}`)}t(cr,"parseDate");function Or(r,e,n=""){try{return p(r)?K(r,e):n}catch{return n}}t(Or,"safeFormatDate");function Pr(r,e){try{return cr(r)}catch{return e||new Date}}t(Pr,"safeParseDate");function mo(r){return K(new Date,r)}t(mo,"formatToday");function lo(r,e){return r.map(n=>Or(n,e))}t(lo,"batchFormatDates");function co(r){return r.map(e=>Pr(e))}t(co,"batchParseDates");function go(r){return ur(r)}t(go,"canParseBengaliDate");function gr(r,e){if(!p(r)||!p(e))throw new Error("Invalid date");let n=r.getTime(),o=e.getTime();return n<o?-1:n>o?1:0}t(gr,"compareDates");function po(r){if(!p(r))return!1;let e=new Date;return r.getDate()===e.getDate()&&r.getMonth()===e.getMonth()&&r.getFullYear()===e.getFullYear()}t(po,"isToday");function bo(r){return p(r)?r.getTime()<Date.now():!1}t(bo,"isPast");function ho(r){return p(r)?r.getTime()>Date.now():!1}t(ho,"isFuture");function xo(r,e){if(!p(r)||!p(e))throw new Error("Invalid date");let n=e.getTime()-r.getTime();return Math.floor(n/(1e3*60*60*24))}t(xo,"getDaysDifference");function yo(r,e){if(!p(r))throw new Error("Invalid date");let n=new Date(r);return n.setDate(n.getDate()+e),n}t(yo,"addDays");function wo(r,e,n){return!p(r)||!p(e)||!p(n)?!1:gr(r,e)>=0&&gr(r,n)<=0}t(wo,"isDateInRange");function R(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return r<=2?b[0]:r<=4?b[1]:r<=6?b[2]:r<=8?b[3]:r<=10?b[4]:b[5]}t(R,"getSeasonFromMonth");function L(r){let{year:e,month:n,day:o}=r,i=A(e);if(n<1||n>12)throw new Error("Invalid Bengali month");if(o<1||o>i[n-1])throw new Error("Invalid Bengali day for given month");let s=e+593,a=new Date(Date.UTC(s,3,14)),u=0;for(let l=1;l<n;l++)u+=i[l-1];return u+=o-1,new Date(a.getTime()+u*864e5)}t(L,"fromBengali");function pr(r,e={}){let{includeYear:n=!0,includeWeekday:o=!1}=e,i=I(r);return[...o?[["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"][r.getDay()]]:[],f(i.day),h(i.month),...n?[f(i.year)]:[]].join(" ")}t(pr,"getBengaliDate");function W(r){return typeof r=="number"&&Number.isInteger(r)&&r>0&&isFinite(r)}t(W,"isValidBengaliYear");function V(r){return typeof r=="number"&&Number.isInteger(r)&&r>=1&&r<=12}t(V,"isValidBengaliMonth");function kr(r,e,n){if(typeof r!="number"||!Number.isInteger(r)||r<1||!V(e)||!W(n))return!1;let o=A(n);return r<=o[e-1]}t(kr,"isValidBengaliDay");function x(r){if(!r||typeof r!="object")return!1;let{year:e,month:n,day:o}=r;return W(e)&&V(n)&&kr(o,n,e)}t(x,"isValidBengaliDate");function zo(r){return x(r)?r:null}t(zo,"sanitizeBengaliDate");function Lr(r,e){try{return!(r instanceof Date)||isNaN(r.getTime())?e||I(new Date):I(r)}catch{return e||I(new Date)}}t(Lr,"safeToBengali");function jo(r,e){try{return x(r)?L(r):e||new Date}catch{return e||new Date}}t(jo,"safeFromBengali");function Vr(r,e){return!V(r)||!W(e)?0:A(e)[r-1]}t(Vr,"getBengaliMonthDays");function Ko(r,e){if(!x(r))throw new Error("Invalid Bengali date");let n=L(r),o=new Date(n.getTime()+e*864e5);return I(o)}t(Ko,"addDaysToBengaliDate");function qo(r,e){if(!x(r)||!x(e))throw new Error("Invalid Bengali date");let n=L(r),o=L(e);return Math.floor((o.getTime()-n.getTime())/864e5)}t(qo,"getBengaliDateDifference");function br(r,e){if(!x(r)||!x(e))throw new Error("Invalid Bengali date");return r.year!==e.year?r.year<e.year?-1:1:r.month!==e.month?r.month<e.month?-1:1:r.day!==e.day?r.day<e.day?-1:1:0}t(br,"compareBengaliDates");function Zo(r,e,n){return!x(r)||!x(e)||!x(n)?!1:br(r,e)>=0&&br(r,n)<=0}t(Zo,"isBengaliDateInRange");function Xo(r,e){if(!V(r)||!W(e))throw new Error("Invalid month or year");return{year:e,month:r,day:1}}t(Xo,"getFirstDayOfBengaliMonth");function Jo(r,e){if(!V(r)||!W(e))throw new Error("Invalid month or year");let n=Vr(r,e);return{year:e,month:r,day:n}}t(Jo,"getLastDayOfBengaliMonth");function Qo(r){if(!W(r))return!1;let e=r+593;return e%4===0&&e%100!==0||e%400===0}t(Qo,"isBengaliLeapYear");function ri(r,e){if(!x(r))throw new Error("Invalid Bengali date");let n=L(r);return pr(n,e)}t(ri,"formatBengaliDate");function ei(){return I(new Date)}t(ei,"getCurrentBengaliDate");function ni(r){return r.map(e=>Lr(e))}t(ni,"batchToBengali");function A(r){let e=r+594;return[31,31,31,31,31,30,30,30,30,30,e%4===0&&(e%100!==0||e%400===0)?30:29,30]}t(A,"getBengaliMonthLengths");function I(r){let e=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())),n=e.getUTCFullYear(),o=e.getUTCMonth()+1,i=e.getUTCDate(),s=o<4||o===4&&i<14,a=n-(s?594:593),u=s?n-1:n,l=new Date(Date.UTC(u,3,14)),m=Math.floor((e.getTime()-l.getTime())/864e5),g=A(a),C=m,T=0;for(;C>=g[T];)C-=g[T],T++;return{year:a,month:T+1,day:C+1}}t(I,"toBengali");function G(r){let e=I(r);return R(e.month)}t(G,"getSeason");function gi(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=1&&r<=12}t(gi,"isValidMonth");function pi(r){if(typeof r!="string")return!1;let e=r.trim();return e===""?!1:b.includes(e)}t(pi,"isValidSeasonName");function bi(r){return r instanceof Date?!isNaN(r.getTime()):!1}t(bi,"isValidDateForSeason");function Di(){return["\u0997\u09CD\u09B0\u09C0\u09B7\u09CD\u09AE","\u09AC\u09B0\u09CD\u09B7\u09BE","\u09B6\u09B0\u09CE","\u09B9\u09C7\u09AE\u09A8\u09CD\u09A4","\u09B6\u09C0\u09A4","\u09AC\u09B8\u09A8\u09CD\u09A4"]}t(Di,"getAllSeasons");function dr(r){let n={\u0997\u09CD\u09B0\u09C0\u09B7\u09CD\u09AE:[1,2],\u09AC\u09B0\u09CD\u09B7\u09BE:[3,4,5],"\u09B6\u09B0\u09CE":[6,7],\u09B9\u09C7\u09AE\u09A8\u09CD\u09A4:[8],\u09B6\u09C0\u09A4:[9,10],\u09AC\u09B8\u09A8\u09CD\u09A4:[11,12]}[r];if(!n)throw new Error(`Invalid season name: ${r}`);return n}t(dr,"getSeasonMonths");function q(r){return b.indexOf(r)}t(q,"getSeasonIndex");function Bi(r){if(r<0||r>5)throw new Error("Season index must be between 0 and 5");return b[r]}t(Bi,"getSeasonByIndex");function Ni(r,e){if(r<1||r>12)return!1;try{return dr(e).includes(r)}catch{return!1}}t(Ni,"isMonthInSeason");function Ii(r){let e=q(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let n=(e+1)%6;return b[n]}t(Ii,"getNextSeason");function Mi(r){let e=q(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let n=(e-1+6)%6;return b[n]}t(Mi,"getPreviousSeason");function Ei(r,e=""){if(!(r instanceof Date)||isNaN(r.getTime()))return e;try{return G(r)}catch{return e}}t(Ei,"safeGetSeason");function Si(r,e=""){try{return R(r)}catch{return e}}t(Si,"safeGetSeasonFromMonth");function Ti(){return G(new Date)}t(Ti,"getCurrentSeason");function Ai(r,e){let n=G(r),o=G(e);return n===o}t(Ai,"isSameSeason");function Wi(r){let e=q(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let n=dr(r),o={1:"\u09AC\u09C8\u09B6\u09BE\u0996",2:"\u099C\u09CD\u09AF\u09C8\u09B7\u09CD\u09A0",3:"\u0986\u09B7\u09BE\u09A2\u09BC",4:"\u09B6\u09CD\u09B0\u09BE\u09AC\u09A3",5:"\u09AD\u09BE\u09A6\u09CD\u09B0",6:"\u0986\u09B6\u09CD\u09AC\u09BF\u09A8",7:"\u0995\u09BE\u09B0\u09CD\u09A4\u09BF\u0995",8:"\u0985\u0997\u09CD\u09B0\u09B9\u09BE\u09AF\u09BC\u09A3",9:"\u09AA\u09CC\u09B7",10:"\u09AE\u09BE\u0998",11:"\u09AB\u09BE\u09B2\u09CD\u0997\u09C1\u09A8",12:"\u099A\u09C8\u09A4\u09CD\u09B0"},i=n.map(s=>o[s]);return{name:r,months:n,index:e,monthNames:i}}t(Wi,"getSeasonInfo");function y(r){if(r<1)throw new Error("Number must be greater than 0");let e={1:"\u09AA\u09CD\u09B0\u09A5\u09AE",2:"\u09A6\u09CD\u09AC\u09BF\u09A4\u09C0\u09AF\u09BC",3:"\u09A4\u09C3\u09A4\u09C0\u09AF\u09BC",4:"\u099A\u09A4\u09C1\u09B0\u09CD\u09A5",5:"\u09AA\u099E\u09CD\u099A\u09AE",6:"\u09B7\u09B7\u09CD\u09A0",7:"\u09B8\u09AA\u09CD\u09A4\u09AE",8:"\u0985\u09B7\u09CD\u099F\u09AE",9:"\u09A8\u09AC\u09AE",10:"\u09A6\u09B6\u09AE",11:"\u098F\u0995\u09BE\u09A6\u09B6",12:"\u09A6\u09CD\u09AC\u09BE\u09A6\u09B6",13:"\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09A6\u09B6",14:"\u099A\u09A4\u09C1\u09B0\u09CD\u09A6\u09B6",15:"\u09AA\u099E\u09CD\u099A\u09A6\u09B6",16:"\u09B7\u09CB\u09A1\u09BC\u09B6",17:"\u09B8\u09AA\u09CD\u09A4\u09A6\u09B6",18:"\u0985\u09B7\u09CD\u099F\u09BE\u09A6\u09B6",19:"\u098A\u09A8\u09AC\u09BF\u0982\u09B6",20:"\u09AC\u09BF\u0982\u09B6",21:"\u098F\u0995\u09AC\u09BF\u0982\u09B6",22:"\u09A6\u09CD\u09AC\u09BE\u09AC\u09BF\u0982\u09B6",23:"\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09AC\u09BF\u0982\u09B6",24:"\u099A\u09A4\u09C1\u09B0\u09CD\u09AC\u09BF\u0982\u09B6",25:"\u09AA\u099E\u09CD\u099A\u09AC\u09BF\u0982\u09B6",30:"\u09A4\u09CD\u09B0\u09BF\u0982\u09B6",40:"\u099A\u09A4\u09CD\u09AC\u09BE\u09B0\u09BF\u0982\u09B6",50:"\u09AA\u099E\u09CD\u099A\u09BE\u09B6\u09A4\u09CD\u09A4\u09AE",60:"\u09B7\u09B7\u09CD\u099F\u09BF\u09A4\u09AE",70:"\u09B8\u09AA\u09CD\u09A4\u09A4\u09BF\u09A4\u09AE",80:"\u0985\u09B6\u09C0\u09A4\u09BF\u09A4\u09AE",90:"\u09A8\u09AC\u09A4\u09BF\u09A4\u09AE",100:"\u09B6\u09A4\u09A4\u09AE"};return e[r]?e[r]:`${f(r)}\u09A4\u09AE`}t(y,"toOrdinal");function d(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)&&Number.isInteger(r)&&r>=1}t(d,"isValidOrdinal");function Gi(r){if(typeof r!="string"||!r.trim())return!1;let e=r.trim();return["\u09AA\u09CD\u09B0\u09A5\u09AE","\u09A6\u09CD\u09AC\u09BF\u09A4\u09C0\u09AF\u09BC","\u09A4\u09C3\u09A4\u09C0\u09AF\u09BC","\u099A\u09A4\u09C1\u09B0\u09CD\u09A5","\u09AA\u099E\u09CD\u099A\u09AE","\u09B7\u09B7\u09CD\u09A0","\u09B8\u09AA\u09CD\u09A4\u09AE","\u0985\u09B7\u09CD\u099F\u09AE","\u09A8\u09AC\u09AE","\u09A6\u09B6\u09AE","\u098F\u0995\u09BE\u09A6\u09B6","\u09A6\u09CD\u09AC\u09BE\u09A6\u09B6","\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09A6\u09B6","\u099A\u09A4\u09C1\u09B0\u09CD\u09A6\u09B6","\u09AA\u099E\u09CD\u099A\u09A6\u09B6","\u09B7\u09CB\u09A1\u09BC\u09B6","\u09B8\u09AA\u09CD\u09A4\u09A6\u09B6","\u0985\u09B7\u09CD\u099F\u09BE\u09A6\u09B6","\u098A\u09A8\u09AC\u09BF\u0982\u09B6","\u09AC\u09BF\u0982\u09B6","\u098F\u0995\u09AC\u09BF\u0982\u09B6","\u09A6\u09CD\u09AC\u09BE\u09AC\u09BF\u0982\u09B6","\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09AC\u09BF\u0982\u09B6","\u099A\u09A4\u09C1\u09B0\u09CD\u09AC\u09BF\u0982\u09B6","\u09AA\u099E\u09CD\u099A\u09AC\u09BF\u0982\u09B6","\u09A4\u09CD\u09B0\u09BF\u0982\u09B6","\u099A\u09A4\u09CD\u09AC\u09BE\u09B0\u09BF\u0982\u09B6","\u09AA\u099E\u09CD\u099A\u09BE\u09B6\u09A4\u09CD\u09A4\u09AE","\u09B7\u09B7\u09CD\u099F\u09BF\u09A4\u09AE","\u09B8\u09AA\u09CD\u09A4\u09A4\u09BF\u09A4\u09AE","\u0985\u09B6\u09C0\u09A4\u09BF\u09A4\u09AE","\u09A8\u09AC\u09A4\u09BF\u09A4\u09AE","\u09B6\u09A4\u09A4\u09AE"].includes(e)?!0:e.endsWith("\u09A4\u09AE")}t(Gi,"isBanglaOrdinal");function Hi(r){return d(r)?[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,40,50,60,70,80,90,100].includes(r):!1}t(Hi,"hasSpecialOrdinal");function hr(r){if(typeof r=="string"){let n=r.trim();if(n==="")return null;let o=Number(n);if(isNaN(o))return null;r=o}if(typeof r!="number"||isNaN(r)||!isFinite(r))return null;let e=Math.round(r);return e<1?null:e}t(hr,"sanitizeOrdinalInput");function Ri(r){return d(r)&&r>=1&&r<=100}t(Ri,"isInSpecialOrdinalRange");function Ki(r,e=""){try{return d(r)?y(r):e}catch{return e}}t(Ki,"safeToOrdinal");function qi(r){return r.filter(e=>d(e)).map(e=>y(e))}t(qi,"batchToOrdinal");function Zi(r){let e=hr(r);if(e===null)throw new Error("Invalid input for ordinal conversion");return y(e)}t(Zi,"parseAndConvertToOrdinal");function Xi(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,40,50,60,70,80,90,100].map(e=>({number:e,ordinal:y(e)}))}t(Xi,"getSpecialOrdinals");function Ji(r,e){if(!d(r)||!d(e))throw new Error("Start and end must be positive integers");if(r>e)throw new Error("Start must be less than or equal to end");let n=[];for(let o=r;o<=e;o++)n.push(y(o));return n}t(Ji,"getOrdinalSequence");function Qi(r,e={}){let{separator:n=" ",showNumber:o=!0}=e,i=y(r);return o?`${r}${n}${i}`:i}t(Qi,"formatOrdinal");function rs(r){if(!d(r))throw new Error("Number must be a valid positive integer");let e=y(r);return e.endsWith("\u09A4\u09AE")&&/[০-৯]/.test(e)?"suffix":"special"}t(rs,"getOrdinalType");function es(r,e){let n=y(r);return e?`${n} ${e}`:n}t(es,"getRanking");function ns(r,e){if(!d(r)||!d(e))throw new Error("Both numbers must be valid positive integers");return r<e?-1:r>e?1:0}t(ns,"compareOrdinals");function ts(r){if(!d(r))throw new Error("Current must be a valid positive integer");return y(r+1)}t(ts,"getNextOrdinal");function os(r){if(!d(r))throw new Error("Current must be a valid positive integer");if(r===1)throw new Error("No previous ordinal for 1 (\u09AA\u09CD\u09B0\u09A5\u09AE is the first)");return y(r-1)}t(os,"getPreviousOrdinal");function is(r,e=1){if(!d(e))throw new Error("startFrom must be a valid positive integer");return r.map((n,o)=>{let i=e+o;return{position:i,ordinal:y(i),item:n}})}t(is,"createOrdinalList");function Z(r,e={}){let{includeSeconds:n=!1,use12Hour:o=!1}=e,i,s,a;if(typeof r=="string"){let F=r.split(":");if(i=parseInt(F[0],10),s=parseInt(F[1],10),a=F[2]?parseInt(F[2],10):0,Number.isNaN(i)||Number.isNaN(s))throw new Error("Invalid time string format. Use HH:mm or HH:mm:ss")}else i=r.getHours(),s=r.getMinutes(),a=r.getSeconds();let u=i,l="";o&&(i===0?(u=12,l="\u09B0\u09BE\u09A4"):i<12?l="\u09B8\u0995\u09BE\u09B2":i===12?l="\u09A6\u09C1\u09AA\u09C1\u09B0":(u=i-12,l="\u09AC\u09BF\u0995\u09BE\u09B2"));let m=f(u.toString().padStart(2,"0")),g=f(s.toString().padStart(2,"0")),C=[m,g];if(n){let F=f(a.toString().padStart(2,"0"));C.push(F)}let T=C.join(":");return l?`${T} ${l}`:T}t(Z,"formatTime");function xr(r,e=new Date){let n=r.getTime()-e.getTime(),o=Math.floor(n/1e3),i=Math.floor(o/60),s=Math.floor(i/60),a=Math.abs(s),u=new Date(e);u.setHours(0,0,0,0);let l=new Date(r);l.setHours(0,0,0,0);let m=Math.floor((l.getTime()-u.getTime())/(1e3*60*60*24));if(a<24)return o===0?"\u098F\u0996\u09A8":Math.abs(o)<60?o<0?`${f(Math.abs(o))} \u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1 \u0986\u0997\u09C7`:`${f(o)} \u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1 \u09AA\u09B0\u09C7`:Math.abs(i)<60?i<0?`${f(Math.abs(i))} \u09AE\u09BF\u09A8\u09BF\u099F \u0986\u0997\u09C7`:`${f(i)} \u09AE\u09BF\u09A8\u09BF\u099F \u09AA\u09B0\u09C7`:s<0?`${f(Math.abs(s))} \u0998\u09A3\u09CD\u099F\u09BE \u0986\u0997\u09C7`:`${f(s)} \u0998\u09A3\u09CD\u099F\u09BE \u09AA\u09B0\u09C7`;if(m===-1)return"\u0997\u09A4\u0995\u09BE\u09B2";if(m===1)return"\u0986\u0997\u09BE\u09AE\u09C0\u0995\u09BE\u09B2";if(m===-2)return"\u0997\u09A4 \u09AA\u09B0\u09B6\u09C1";if(m===2)return"\u09AA\u09B0\u09B6\u09C1";if(m<0){if(Math.abs(m)<7)return`${f(Math.abs(m))} \u09A6\u09BF\u09A8 \u0986\u0997\u09C7`;if(Math.abs(m)<30){let g=Math.floor(Math.abs(m)/7);return`${f(g)} \u09B8\u09AA\u09CD\u09A4\u09BE\u09B9 \u0986\u0997\u09C7`}else if(Math.abs(m)<365){let g=Math.floor(Math.abs(m)/30);return`${f(g)} \u09AE\u09BE\u09B8 \u0986\u0997\u09C7`}else{let g=Math.floor(Math.abs(m)/365);return`${f(g)} \u09AC\u099B\u09B0 \u0986\u0997\u09C7`}}else{if(m<7)return`${f(m)} \u09A6\u09BF\u09A8 \u09AA\u09B0\u09C7`;if(m<30){let g=Math.floor(m/7);return`${f(g)} \u09B8\u09AA\u09CD\u09A4\u09BE\u09B9 \u09AA\u09B0\u09C7`}else if(m<365){let g=Math.floor(m/30);return`${f(g)} \u09AE\u09BE\u09B8 \u09AA\u09B0\u09C7`}else{let g=Math.floor(m/365);return`${f(g)} \u09AC\u099B\u09B0 \u09AA\u09B0\u09C7`}}}t(xr,"relativeTime");function ds(r,e=new Date){let n=new Date(e);n.setHours(0,0,0,0);let o=new Date(r);o.setHours(0,0,0,0);let i=Math.floor((o.getTime()-n.getTime())/(1e3*60*60*24));return i===0?"\u0986\u099C":i===-1?"\u0997\u09A4\u0995\u09BE\u09B2":i===1?"\u0986\u0997\u09BE\u09AE\u09C0\u0995\u09BE\u09B2":i===-2?"\u0997\u09A4 \u09AA\u09B0\u09B6\u09C1":i===2?"\u09AA\u09B0\u09B6\u09C1":""}t(ds,"relativeDay");function yr(r){if(typeof r!="string")return!1;let e=r.trim();if(e==="")return!1;let n=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/,o=e.match(n);if(!o)return!1;let i=parseInt(o[1],10),s=parseInt(o[2],10),a=o[3]?parseInt(o[3],10):0;return!(i<0||i>23||s<0||s>59||a<0||a>59)}t(yr,"isValidTimeString");function ws(r){return p(r)||yr(r)}t(ws,"isValidTimeInput");function Ds(r){return yr(r)?r.trim().split(":").length===3:!1}t(Ds,"hasSeconds");function wr(r){return typeof r!="string"?"":r.trim()}t(wr,"sanitizeTimeInput");function Dr(r){let n=wr(r).split(":"),o=parseInt(n[0],10),i=parseInt(n[1],10),s=n[2]?parseInt(n[2],10):0;if(Number.isNaN(o)||Number.isNaN(i))throw new Error("Invalid time string format. Use HH:mm or HH:mm:ss");if(o<0||o>23)throw new Error("Hours must be between 0 and 23");if(i<0||i>59)throw new Error("Minutes must be between 0 and 59");if(s<0||s>59)throw new Error("Seconds must be between 0 and 59");return{hours:o,minutes:i,seconds:s}}t(Dr,"parseTime");function S(r){let{hours:e,minutes:n,seconds:o}=Dr(r);return e*3600+n*60+o}t(S,"timeToSeconds");function zr(r){if(r<0||r>=86400)throw new Error("Seconds must be between 0 and 86399");let e=Math.floor(r/3600),n=Math.floor(r%3600/60),o=r%60;return`${e.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}t(zr,"secondsToTime");function Ss(r,e){let n=S(r),o=S(e);return n<o?-1:n>o?1:0}t(Ss,"compareTimes");function Ts(r,e,n){let o=S(r),i=S(e),s=S(n);return o>=i&&o<=s}t(Ts,"isTimeInRange");function As(r,e){let o=S(r)+e*60;return o=(o%86400+86400)%86400,zr(o)}t(As,"addMinutesToTime");function Ws(r,e){let n=S(r),o=S(e);return Math.floor((o-n)/60)}t(Ws,"timeDifferenceMinutes");function Cs(r,e={},n=""){try{return Z(r,e)}catch{return n}}t(Cs,"safeFormatTime");function Fs(r,e=new Date,n=""){try{return xr(r,e)}catch{return n}}t(Fs,"safeRelativeTime");function $s(r){let e;if(typeof r=="string"){let{hours:n}=Dr(r);e=n}else e=r.getHours();return e>=0&&e<6?"\u09B0\u09BE\u09A4":e>=6&&e<12?"\u09B8\u0995\u09BE\u09B2":e>=12&&e<15?"\u09A6\u09C1\u09AA\u09C1\u09B0":e>=15&&e<18?"\u09AC\u09BF\u0995\u09BE\u09B2":e>=18&&e<20?"\u09B8\u09A8\u09CD\u09A7\u09CD\u09AF\u09BE":"\u09B0\u09BE\u09A4"}t($s,"getTimePeriod");function vs(r={}){return Z(new Date,r)}t(vs,"getCurrentTimeBangla");function Os(r,e){return r.getFullYear()===e.getFullYear()&&r.getMonth()===e.getMonth()&&r.getDate()===e.getDate()}t(Os,"isSameDay");function X(r,e={}){let{includeCountryCode:n=!1,useBanglaDigits:o=!1,format:i="spaced"}=e,s=r.replace(/\D/g,""),a=s;if(s.startsWith("880")?a=s.slice(3):s.startsWith("+880")&&(a=s.slice(4)),a.length!==10&&a.length!==11)throw new Error("Invalid Bangladeshi phone number length");let u="";return a.length===11?u=`${a.slice(0,3)} ${a.slice(3,7)} ${a.slice(7)}`:u=`0${a.slice(0,2)} ${a.slice(2,6)} ${a.slice(6)}`,i==="dashed"?u=u.replace(/\s/g,"-"):i==="compact"&&(u=u.replace(/\s/g,"")),n&&(u="+880 "+u),o&&(u=f(u.replace(/\s|-/g,"")),i==="spaced"?u=`${u.slice(0,3)} ${u.slice(3,7)} ${u.slice(7)}`:i==="dashed"&&(u=`${u.slice(0,3)}-${u.slice(3,7)}-${u.slice(7)}`),n&&(u="+\u09EE\u09EE\u09E6 "+u)),u}t(X,"formatPhone");function J(r){let e=r.replace(/\D/g,""),n=e;if(e.startsWith("880")?n=e.slice(3):e.startsWith("+880")&&(n=e.slice(4)),n.length!==10&&n.length!==11||!n.startsWith("01")&&n.length===11||n.length===10&&!n.startsWith("1"))return!1;let o=n.length===11?n.slice(0,3):"0"+n.slice(0,2);return["013","014","015","016","017","018","019"].includes(o)}t(J,"validatePhone");function Js(r){return["013","014","015","016","017","018","019"].includes(r)}t(Js,"isValidOperatorCode");function Qs(r){let e=r.trim();return e.startsWith("+880")||e.startsWith("880")}t(Qs,"hasCountryCode");function Br(r){if(typeof r!="string")return"";let e=r.trim(),n=e.startsWith("+");return e=e.replace(/\D/g,""),n&&(e="+"+e),e}t(Br,"sanitizePhoneNumber");function ra(r){return typeof r!="string"?!1:/^[\d\s\-()+ ]+$/.test(r.trim())}t(ra,"isValidPhoneFormat");function ia(r){if(!J(r))return null;let e=r.replace(/\D/g,""),n=e;e.startsWith("880")&&(n=e.slice(3));let o=n.length===11?n.slice(0,3):"0"+n.slice(0,2),s={"013":{name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},"014":{name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"},"015":{name:"Teletalk",nameBangla:"\u099F\u09C7\u09B2\u09BF\u099F\u0995"},"016":{name:"Airtel",nameBangla:"\u098F\u09AF\u09BC\u09BE\u09B0\u099F\u09C7\u09B2"},"017":{name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},"018":{name:"Robi",nameBangla:"\u09B0\u09AC\u09BF"},"019":{name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"}}[o];return s?{code:o,...s}:null}t(ia,"getOperator");function Gr(r){if(!J(r))throw new Error("Invalid phone number");let e=r,n=r.replace(/\D/g,""),o=n,i="880";n.startsWith("880")&&(o=n.slice(3)),o.length===10&&(o="0"+o);let s=o.slice(0,3),a=o.slice(3);return{original:e,countryCode:i,operatorCode:s,number:a,fullNumber:o}}t(Gr,"parsePhoneNumber");function Y(r){return Gr(r).fullNumber}t(Y,"normalizePhoneNumber");function sa(r,e="plus"){let o=Y(r).slice(1);return e==="plus"?`+880${o}`:`880${o}`}t(sa,"addCountryCode");function aa(r){return Y(r)}t(aa,"removeCountryCode");function ua(r,e={},n=""){try{return X(r,e)}catch{return n}}t(ua,"safeFormatPhone");function fa(r,e){try{let n=Y(r),o=Y(e);return n===o}catch{return!1}}t(fa,"isSameNumber");function ma(){return["013","014","015","016","017","018","019"]}t(ma,"getAllOperatorCodes");function la(){return[{code:"013",name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},{code:"014",name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"},{code:"015",name:"Teletalk",nameBangla:"\u099F\u09C7\u09B2\u09BF\u099F\u0995"},{code:"016",name:"Airtel",nameBangla:"\u098F\u09AF\u09BC\u09BE\u09B0\u099F\u09C7\u09B2"},{code:"017",name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},{code:"018",name:"Robi",nameBangla:"\u09B0\u09AC\u09BF"},{code:"019",name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"}]}t(la,"getAllOperators");function ca(r,e={}){let n=Br(r);return X(n,e)}t(ca,"parseAndFormat");function ya(r){return/^[\u0980-\u09FF\s]+$/.test(r)}t(ya,"validateBangla");function Nr(r){return/[০-৯]/.test(r)}t(Nr,"isBanglaDigit");function Ia(r){return/[\u0980-\u09FF]/.test(r)}t(Ia,"isBanglaText");function Hr(r){let e=r.match(/[\u0980-\u09FF]/g);return e?e.length:0}t(Hr,"countBengaliCharacters");function Ta(r){let e=r.match(/[০-৯]/g);return e?e.length:0}t(Ta,"countBengaliDigits");function Aa(r){let e=/[\u0980-\u09FF]/.test(r),n=/[a-zA-Z0-9]/.test(r);return e&&n}t(Aa,"isMixedContent");function Ir(r,e=!1){return e?r.replace(/[^\u0980-\u09FF\s]/g,"").trim():r.replace(/[^\u0980-\u09FF]/g,"")}t(Ir,"extractBengaliChars");function Rr(r){return r.replace(/[\u0980-\u09FF]/g,"")}t(Rr,"removeBengaliChars");function Yr(r){let e=r.replace(/\s/g,"");if(e.length===0)return 0;let n=Hr(r);return Math.round(n/e.length*100)}t(Yr,"getBengaliPercentage");function Wa(r){return Yr(r)>50}t(Wa,"isPrimarilyBengali");function Ca(r,e=!0,n=""){let o=Ir(r,e);return o.length>0?o:n}t(Ca,"sanitizeBengaliText");function Fa(r){return/\d|[০-৯]/.test(r)?!/\d/.test(r)&&Nr(r):!1}t(Fa,"hasOnlyBengaliDigits");function $a(r){return r.replace(/\s+/g," ").trim()}t($a,"normalizeWhitespace");function va(r){return{bengali:Ir(r,!0).trim(),nonBengali:Rr(r).trim()}}t(va,"splitBengaliContent");function Oa(r){return/[ক-হড়ঢ়য়ৎ]/.test(r)}t(Oa,"hasBengaliConsonants");function Pa(r){return/[অ-ঔা-ৌ]/.test(r)}t(Pa,"hasBengaliVowels");export{$ as BANGLA_DIGITS,M as BANGLA_MONTHS,b as BANGLA_SEASONS,O as BANGLA_WEEKDAYS,v as ENGLISH_DIGITS,sa as addCountryCode,yo as addDays,Ko as addDaysToBengaliDate,As as addMinutesToTime,dn as addTax,bn as applyDiscount,gn as batchFormatCurrency,lo as batchFormatDates,Ae as batchFromBanglaNumber,co as batchParseDates,ut as batchToBanglaMonth,Te as batchToBanglaNumber,ni as batchToBengali,qi as batchToOrdinal,sr as calculatePercentage,go as canParseBengaliDate,br as compareBengaliDates,xn as compareCurrency,gr as compareDates,ot as compareMonths,ns as compareOrdinals,Ss as compareTimes,ve as convertToWordsAndDigits,Hr as countBengaliCharacters,Ta as countBengaliDigits,is as createOrdinalList,Wr as divideCurrency,Ir as extractBengaliChars,$e as formatAndConvert,ri as formatBengaliDate,z as formatCurrency,K as formatDate,nr as formatNumber,Qi as formatOrdinal,X as formatPhone,Z as formatTime,mo as formatToday,me as formatWithUnits,D as fromBanglaMonth,w as fromBanglaNumber,H as fromBanglaWeekday,L as fromBengali,yn as getAbsoluteAmount,Ht as getAllBanglaWeekdays,rt as getAllMonths,ma as getAllOperatorCodes,la as getAllOperators,Di as getAllSeasons,pr as getBengaliDate,qo as getBengaliDateDifference,Vr as getBengaliMonthDays,A as getBengaliMonthLengths,Yr as getBengaliPercentage,ei as getCurrentBengaliDate,Ti as getCurrentSeason,vs as getCurrentTimeBangla,Rt as getDaysBetween,xo as getDaysDifference,Xo as getFirstDayOfBengaliMonth,Jo as getLastDayOfBengaliMonth,st as getMonthFromIndex,it as getMonthIndex,ft as getMonthMapping,ar as getMonthName,Cr as getMonthRange,kt as getNextBanglaWeekday,et as getNextMonth,ts as getNextOrdinal,Ii as getNextSeason,$r as getNextWeekday,ia as getOperator,Ji as getOrdinalSequence,rs as getOrdinalType,Lt as getPreviousBanglaWeekday,nt as getPreviousMonth,os as getPreviousOrdinal,Mi as getPreviousSeason,vr as getPreviousWeekday,es as getRanking,G as getSeason,Bi as getSeasonByIndex,R as getSeasonFromMonth,q as getSeasonIndex,Wi as getSeasonInfo,dr as getSeasonMonths,Xi as getSpecialOrdinals,$s as getTimePeriod,mr as getWeekdayName,Oa as hasBengaliConsonants,Ln as hasBengaliDigits,Vn as hasBengaliMonth,Pa as hasBengaliVowels,Qs as hasCountryCode,Fa as hasOnlyBengaliDigits,Ds as hasSeconds,Hi as hasSpecialOrdinal,tn as hasTakaSymbol,on as hasTakaWord,Tr as isBanglaCurrency,Nr as isBanglaDigit,Gi as isBanglaOrdinal,Ia as isBanglaText,Pt as isBanglaWeekend,Zo as isBengaliDateInRange,Qo as isBengaliLeapYear,nn as isCurrencyInRange,wo as isDateInRange,ho as isFuture,Ri as isInSpecialOrdinalRange,Aa as isMixedContent,tt as isMonthInRange,Ni as isMonthInSeason,rn as isNegativeAmount,Oe as isNumberInRange,bo as isPast,Qe as isPositiveAmount,Wa as isPrimarilyBengali,Os as isSameDay,fa as isSameNumber,Ai as isSameSeason,Ts as isTimeInRange,po as isToday,B as isValidBanglaMonth,he as isValidBanglaNumber,At as isValidBanglaWeekday,x as isValidBengaliDate,ur as isValidBengaliDateString,kr as isValidBengaliDay,V as isValidBengaliMonth,W as isValidBengaliYear,c as isValidCurrency,p as isValidDate,bi as isValidDateForSeason,Wt as isValidDateForWeekday,gi as isValidMonth,N as isValidMonthNumber,xe as isValidNumber,we as isValidNumberForOrdinal,ye as isValidNumberForWords,Js as isValidOperatorCode,d as isValidOrdinal,ra as isValidPhoneFormat,pi as isValidSeasonName,ws as isValidTimeInput,yr as isValidTimeString,Tt as isValidWeekdayNumber,Fr as isWeekend,en as isZeroAmount,pn as multiplyCurrency,wn as negateAmount,Y as normalizePhoneNumber,$a as normalizeWhitespace,Fe as parseAndConvertToBangla,at as parseAndConvertToMonth,Zi as parseAndConvertToOrdinal,ca as parseAndFormat,Dn as parseAndFormatCurrency,j as parseCurrency,cr as parseDate,Gr as parsePhoneNumber,Dr as parseTime,Vt as parseWeekdayInput,ds as relativeDay,xr as relativeTime,Rr as removeBengaliChars,aa as removeCountryCode,E as roundCurrency,ln as safeFormatCurrency,Or as safeFormatDate,ua as safeFormatPhone,Cs as safeFormatTime,Qn as safeFromBanglaMonth,Ce as safeFromBanglaNumber,Gt as safeFromBanglaWeekday,jo as safeFromBengali,Ei as safeGetSeason,Si as safeGetSeasonFromMonth,cn as safeParseCurrency,Pr as safeParseDate,Fs as safeRelativeTime,Jn as safeToBanglaMonth,We as safeToBanglaNumber,zt as safeToBanglaWeekday,Lr as safeToBengali,Ki as safeToOrdinal,Yn as sanitizeBanglaMonth,zo as sanitizeBengaliDate,Ca as sanitizeBengaliText,or as sanitizeCurrencyInput,zn as sanitizeDate,fr as sanitizeMonthNumber,tr as sanitizeNumberInput,hr as sanitizeOrdinalInput,Br as sanitizePhoneNumber,wr as sanitizeTimeInput,lr as sanitizeWeekdayInput,zr as secondsToTime,hn as splitAmount,va as splitBengaliContent,ir as subtractCurrency,Ar as sumCurrency,Ws as timeDifferenceMinutes,S as timeToSeconds,h as toBanglaMonth,f as toBanglaNumber,k as toBanglaWeekday,I as toBengali,y as toOrdinal,U as toWords,Pe as truncateDecimals,ya as validateBangla,J as validatePhone};
|
|
1
|
+
var zr=Object.defineProperty;var e=(r,t)=>zr(r,"name",{value:t,configurable:!0});var $=["\u09E6","\u09E7","\u09E8","\u09E9","\u09EA","\u09EB","\u09EC","\u09ED","\u09EE","\u09EF"],V=["0","1","2","3","4","5","6","7","8","9"];var C=["\u09AC\u09C8\u09B6\u09BE\u0996","\u099C\u09CD\u09AF\u09C8\u09B7\u09CD\u09A0","\u0986\u09B7\u09BE\u09A2\u09BC","\u09B6\u09CD\u09B0\u09BE\u09AC\u09A3","\u09AD\u09BE\u09A6\u09CD\u09B0","\u0986\u09B6\u09CD\u09AC\u09BF\u09A8","\u0995\u09BE\u09B0\u09CD\u09A4\u09BF\u0995","\u0985\u0997\u09CD\u09B0\u09B9\u09BE\u09AF\u09BC\u09A3","\u09AA\u09CC\u09B7","\u09AE\u09BE\u0998","\u09AB\u09BE\u09B2\u09CD\u0997\u09C1\u09A8","\u099A\u09C8\u09A4\u09CD\u09B0"];var W=["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"];var d=["\u0997\u09CD\u09B0\u09C0\u09B7\u09CD\u09AE","\u09AC\u09B0\u09CD\u09B7\u09BE","\u09B6\u09B0\u09CE","\u09B9\u09C7\u09AE\u09A8\u09CD\u09A4","\u09B6\u09C0\u09A4","\u09AC\u09B8\u09A8\u09CD\u09A4"];var k=["013","014","015","016","017","018","019"],er={"013":{name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},"014":{name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"},"015":{name:"Teletalk",nameBangla:"\u099F\u09C7\u09B2\u09BF\u099F\u0995"},"016":{name:"Airtel",nameBangla:"\u098F\u09AF\u09BC\u09BE\u09B0\u099F\u09C7\u09B2"},"017":{name:"Grameenphone",nameBangla:"\u0997\u09CD\u09B0\u09BE\u09AE\u09C0\u09A3\u09AB\u09CB\u09A8"},"018":{name:"Robi",nameBangla:"\u09B0\u09AC\u09BF"},"019":{name:"Banglalink",nameBangla:"\u09AC\u09BE\u0982\u09B2\u09BE\u09B2\u09BF\u0982\u0995"}};function l(r){if(r==null)throw new TypeError("Invalid input");let t=String(r).trim();if(t==="")throw new Error("Empty input");if(/[eE]/.test(t))throw new Error("Scientific notation not supported");if(typeof r=="number"){if(!Number.isFinite(r))throw new TypeError("Input must be a finite number");if(Number.isInteger(r)&&Math.abs(r)>=1e5){let a=Math.abs(r),s=Math.log10(a);if(Number.isInteger(s)&&s>=5)throw new Error("Scientific notation not supported")}if(Number.isInteger(r)&&!Number.isSafeInteger(r))throw new TypeError("Input must be a safe integer")}if(/[০-৯]/.test(t))throw new Error("Input already contains Bangla digits");let n=!1,o=!1,i="";for(let a=0;a<t.length;a++){let s=t[a];if(s==="."){if(n)throw new Error("Multiple decimal points");n=!0,i+=".";continue}if(s==="-"){if(a!==0)throw new Error("Invalid minus position");i+="-";continue}let f=V.indexOf(s);if(f!==-1){o=!0,i+=$[f];continue}throw new Error(`Invalid character in number: ${s}`)}if(!o)throw new Error("No digits found");if(n){if(t.startsWith(".")||t.startsWith("-."))throw new Error("Decimal must have leading digit");if(t.endsWith("."))throw new Error("Decimal must have trailing digit")}return i}e(l,"toBanglaNumber");function N(r){if(typeof r!="string")throw new TypeError("Input must be a string");let t=r.trim();if(t==="")throw new Error("Empty input");let n=!1,o=!1,i="";for(let s=0;s<t.length;s++){let f=t[s];if(f==="."){if(n)throw new Error("Multiple decimal points");n=!0,i+=".";continue}if(f==="-"){if(s!==0)throw new Error("Invalid minus position");i+="-";continue}let m=$.indexOf(f);if(m!==-1){o=!0,i+=V[m];continue}throw new Error(`Invalid Bangla digit: ${f}`)}if(!o)throw new Error("No digits found");if(n){if(t.startsWith(".")||t.startsWith("-."))throw new Error("Decimal must have leading digit");if(t.endsWith("."))throw new Error("Decimal must have trailing digit")}let a=Number(i);if(!Number.isFinite(a))throw new TypeError("Failed to parse Bangla number");return a}e(N,"fromBanglaNumber");function or(r){if(r===0)return"\u09B6\u09C2\u09A8\u09CD\u09AF";if(r<0)return"\u098B\u09A3\u09BE\u09A4\u09CD\u09AE\u0995 "+or(-r);if(r<100)return nr(r);if(r<1e3)return L(r);if(r<1e5)return dr(r);if(r<1e7)return hr(r);if(r<1e9)return xr(r);if(r<1e11)return Gr(r);throw new Error("Number too large to convert to words")}e(or,"toWords");function nr(r){let t=["","\u098F\u0995","\u09A6\u09C1\u0987","\u09A4\u09BF\u09A8","\u099A\u09BE\u09B0","\u09AA\u09BE\u0981\u099A","\u099B\u09AF\u09BC","\u09B8\u09BE\u09A4","\u0986\u099F","\u09A8\u09AF\u09BC","\u09A6\u09B6","\u098F\u0997\u09BE\u09B0\u09CB","\u09AC\u09BE\u09B0\u09CB","\u09A4\u09C7\u09B0\u09CB","\u099A\u09CC\u09A6\u09CD\u09A6","\u09AA\u09A8\u09C7\u09B0\u09CB","\u09B7\u09CB\u09B2","\u09B8\u09A4\u09C7\u09B0\u09CB","\u0986\u09A0\u09BE\u09B0\u09CB","\u098A\u09A8\u09BF\u09B6","\u09AC\u09BF\u09B6"],n=["","","\u0995\u09C1\u09A1\u09BC\u09BF","\u09A4\u09BF\u09B0\u09BF\u09B6","\u099A\u09B2\u09CD\u09B2\u09BF\u09B6","\u09AA\u099E\u09CD\u099A\u09BE\u09B6","\u09B7\u09BE\u099F","\u09B8\u09A4\u09CD\u09A4\u09B0","\u0986\u09B6\u09BF","\u09A8\u09AC\u09CD\u09AC\u0987"];if(r===0)return"";if(r<20)return t[r];if(r===23)return"\u09A4\u09C7\u0987\u09B6";if(r===34)return"\u099A\u09CC\u09A4\u09CD\u09B0\u09BF\u09B6";if(r===56)return"\u099B\u09BE\u09AA\u09CD\u09AA\u09BE\u09A8\u09CD\u09A8";let o=Math.floor(r/10),i=r%10;return i===0?n[o]:n[o]+" "+t[i]}e(nr,"convertBelowHundred");function L(r){let t=Math.floor(r/100),n=r%100,o="";return t>0&&(t===1?o="\u098F\u0995\u09B6\u09A4":o=nr(t)+"\u09B6\u09A4"),n>0&&(o+=(o?" ":"")+nr(n)),o}e(L,"convertBelowThousand");function dr(r){let t=Math.floor(r/1e3),n=r%1e3,o="";return t>0&&(t===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0":o=L(t)+" \u09B9\u09BE\u099C\u09BE\u09B0"),n>0&&(o+=(o?" ":"")+L(n)),o}e(dr,"convertBelowLakh");function hr(r){let t=Math.floor(r/1e5),n=r%1e5,o="";return t>0&&(t===1?o="\u098F\u0995 \u09B2\u0995\u09CD\u09B7":o=L(t)+" \u09B2\u0995\u09CD\u09B7"),n>0&&(o+=(o?" ":"")+dr(n)),o}e(hr,"convertBelowCrore");function xr(r){let t=Math.floor(r/1e7),n=r%1e7,o="";return t>0&&(t===1?o="\u098F\u0995 \u0995\u09CB\u099F\u09BF":o=L(t)+" \u0995\u09CB\u099F\u09BF"),n>0&&(o+=(o?" ":"")+hr(n)),o}e(xr,"convertBelowArab");function Gr(r){let t=Math.floor(r/1e9),n=r%1e9,o="";return t>0&&(t===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF":o=L(t)+" \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF"),n>0&&(o+=(o?" ":"")+xr(n)),o}e(Gr,"convertBelowKharab");function j(r,t={}){let{useBanglaDigits:n=!0,separator:o=","}=t,i=typeof r=="string"?r:r.toString(),[a,s]=i.split("."),f=a;n&&(f=l(a));let m=_r(f,o);if(s!==void 0){let u=n?l(s):s;return`${m}.${u}`}return m}e(j,"formatNumber");function _r(r,t){let n=r.startsWith("-"),o=n?r.slice(1):r;if(o.length<=3)return r;let a=o.slice(-3),s=o.slice(0,-3),f=[];for(let u=s.length;u>0;u-=2){let g=Math.max(0,u-2);f.unshift(s.slice(g,u))}let m=`${f.join(t)}${t}${a}`;return n?`-${m}`:m}e(_r,"formatIntegerPart");function Ot(r,t={}){let{precision:n=2,useBanglaDigits:o=!0}=t;if(r===0)return o?"\u09E6":"0";let i=Math.abs(r),a=r<0?"-":"",s,f;if(i>=1e7)s=i/1e7,f="\u0995\u09CB\u099F\u09BF";else if(i>=1e5)s=i/1e5,f="\u09B2\u0995\u09CD\u09B7";else if(i>=1e3)s=i/1e3,f="\u09B9\u09BE\u099C\u09BE\u09B0";else{let g=o?l(i):i.toString();return a+g}let m=Number(s.toFixed(n)),u=o?l(m):m.toString();return a+u+" "+f}e(Ot,"formatWithUnits");function D(r){return typeof r=="string"}e(D,"isString");function q(r){return typeof r=="number"}e(q,"isNumber");function yr(r){return r==null}e(yr,"isNullish");var b={isFinite:e(r=>Number.isFinite(r),"isFinite"),isSafeInteger:e(r=>Number.isSafeInteger(r),"isSafeInteger"),isInteger:e(r=>Number.isFinite(r)&&Number.isInteger(r),"isInteger"),isPositive:e(r=>Number.isFinite(r)&&r>0,"isPositive"),isNonNegative:e(r=>Number.isFinite(r)&&r>=0,"isNonNegative"),isNegative:e(r=>Number.isFinite(r)&&r<0,"isNegative"),hasValidDecimalFormat:e(r=>r.split(".").length<=2&&!r.startsWith(".")&&!r.endsWith("."),"hasValidDecimalFormat"),isValidNumber:e(r=>Number.isFinite(r)&&!isNaN(r),"isValidNumber"),isInSafeIntegerRange:e(r=>Number.isFinite(r)&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER,"isInSafeIntegerRange")};function ir(r,t,n){return b.isFinite(r)&&r>=t&&r<=n}e(ir,"isNumberInRange");function z(r,t){return n=>ir(n,r,t)}e(z,"createNumberRangeValidator");var v={isMonthNumber:z(1,12),isWeekdayNumber:z(0,6),isHour:z(0,23),isMinuteOrSecond:z(0,59),isSeasonNumber:z(1,6),isPercentage:z(0,100)};function Qt(r){if(!D(r))return!1;let t=r.trim();if(t==="")return!1;let n=!1,o=!1;for(let i=0;i<t.length;i++){let a=t[i];if(a==="."){if(n)return!1;n=!0;continue}if(a==="-"){if(i!==0)return!1;continue}if($.indexOf(a)!==-1){o=!0;continue}return!1}return!(!o||n&&(t.startsWith(".")||t.startsWith("-.")||t.endsWith(".")))}e(Qt,"isValidBanglaNumber");function re(r){if(yr(r))return!1;let t=String(r).trim();if(t===""||/[eE]/.test(t))return!1;if(q(r)){if(!b.isFinite(r)||b.isInteger(r)&&!b.isSafeInteger(r))return!1;if(b.isInteger(r)&&Math.abs(r)>=1e5){let i=Math.abs(r),a=Math.log10(i);if(Number.isInteger(a)&&a>=5)return!1}}if(/[০-৯]/.test(t))return!1;let n=!1,o=!1;for(let i=0;i<t.length;i++){let a=t[i];if(a==="."){if(n)return!1;n=!0;continue}if(a==="-"){if(i!==0)return!1;continue}if(V.indexOf(a)!==-1){o=!0;continue}return!1}return!(!o||n&&(t.startsWith(".")||t.startsWith("-.")||t.endsWith(".")))}e(re,"isValidNumber");function te(r){return!q(r)||!b.isFinite(r)||!b.isInteger(r)?!1:r>=-99999999999&&r<=99999999999}e(te,"isValidNumberForWords");function ee(r){return!q(r)||!b.isFinite(r)||!b.isInteger(r)?!1:b.isPositive(r)}e(ee,"isValidNumberForOrdinal");function wr(r){if(!D(r))return"";let t=r.trim();return t=t.replace(/,/g,""),t=t.replace(/৳/g,""),t.trim()}e(wr,"sanitizeNumberInput");function ar(r,t){return(n,o)=>{try{return r(n)}catch{return o??t??void 0}}}e(ar,"createSafeWrapper");function sr(r){return t=>{let n=[],o=[];for(let i of t)try{let a=r(i);n.push({input:i,output:a})}catch(a){o.push({input:i,error:a instanceof Error?a.message:String(a)})}return{success:n,errors:o}}}e(sr,"createBatchProcessor");function Z(r,t){return n=>n.filter(o=>t(o)).map(o=>r(o))}e(Z,"createValidatingBatchProcessor");var Te=sr(l),Ie=sr(N),Ne=ar(l,""),Be=ar(N,0);function Ee(r){let t=wr(r);return l(t)}e(Ee,"parseAndConvertToBangla");function Se(r,t=!0,n=","){return j(r,{useBanglaDigits:t,separator:n})}e(Se,"formatAndConvert");function Me(r){return{words:or(r),digits:l(r)}}e(Me,"convertToWordsAndDigits");var Ce=ir;function Ae(r,t=2){let n=Math.pow(10,t);return Math.trunc(r*n)/n}e(Ae,"truncateDecimals");function Y(r,t={}){let n=t.symbol??t.includeSymbol??!1,o=t.word??t.includeWord??!n,i=t.useBanglaDigits??!0,a=typeof r=="string"?parseFloat(r):r;if(Number.isNaN(a))throw new Error("Invalid amount");let s=a<0,m=Math.abs(a).toFixed(2),[u,g]=m.split("."),O=j(parseInt(u,10),{useBanglaDigits:i,separator:","}),F=i?l(g):g,h;return g==="00"?h=O:h=`${O}.${F}`,s&&(h=`-${h}`),n?`\u09F3${h}`:o?`${h} \u099F\u09BE\u0995\u09BE`:h}e(Y,"formatCurrency");function ur(r){let t=r.replace(/৳/g,"").replace(/টাকা/g,"").replace(/,/g,"").trim();return t=t.replace(/\s+/g,""),N(t)}e(ur,"parseCurrency");function c(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)}e(c,"isValidCurrency");function Hr(r){if(typeof r!="string"||!r.trim())return!1;let t=r.trim();return t.includes("\u09F3")||t.includes("\u099F\u09BE\u0995\u09BE")?!0:/[০-৯]/.test(t)}e(Hr,"isBanglaCurrency");function je(r){return c(r)&&r>0}e(je,"isPositiveAmount");function qe(r){return c(r)&&r<0}e(qe,"isNegativeAmount");function Ze(r){return c(r)&&r===0}e(Ze,"isZeroAmount");function Dr(r){if(typeof r=="number")return isNaN(r)||!isFinite(r)?null:r;if(typeof r=="string"){let t=r.trim();if(t==="")return null;if(Hr(t))return t;let n=parseFloat(t);return isNaN(n)?null:n}return null}e(Dr,"sanitizeCurrencyInput");function Xe(r,t,n){return!c(r)||!c(t)||!c(n)||t>n?!1:r>=t&&r<=n}e(Xe,"isCurrencyInRange");function Je(r){return typeof r!="string"?!1:r.includes("\u09F3")}e(Je,"hasTakaSymbol");function Qe(r){return typeof r!="string"?!1:r.includes("\u099F\u09BE\u0995\u09BE")}e(Qe,"hasTakaWord");function B(r,t=2){if(!c(r))throw new Error("Invalid currency amount");let n=Math.pow(10,t);return Math.round(r*n)/n}e(B,"roundCurrency");function Tr(r){let n=r.filter(o=>c(o)).reduce((o,i)=>o+i,0);return B(n,2)}e(Tr,"sumCurrency");function nn(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amounts");return B(r+t,2)}e(nn,"addCurrency");function X(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amounts");return B(r-t,2)}e(X,"subtractCurrency");function on(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amount or factor");return B(r*t,2)}e(on,"multiplyCurrency");function Ir(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amount or divisor");if(t===0)throw new Error("Cannot divide by zero");return B(r/t,2)}e(Ir,"divideCurrency");function J(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amount or percentage");return B(r*t/100,2)}e(J,"calculatePercentage");function fn(r,t){let n=J(r,t);return X(r,n)}e(fn,"applyDiscount");function ln(r,t){let n=J(r,t);return B(r+n,2)}e(ln,"addTax");function cn(r,t){return J(r,t)}e(cn,"calculateTax");function gn(r,t){return J(r,t)}e(gn,"calculateDiscount");function xn(r,t){if(!c(r))throw new Error("Invalid currency amount");if(!Number.isInteger(t)||t<1)throw new Error("Parts must be a positive integer");let n=Ir(r,t),o=Array(t-1).fill(n),i=Tr(o),a=X(r,i);return o.push(a),o}e(xn,"splitAmount");function yn(r){if(!c(r))throw new Error("Invalid currency amount");return Math.ceil(r)}e(yn,"ceilCurrency");function wn(r){if(!c(r))throw new Error("Invalid currency amount");return Math.floor(r)}e(wn,"floorCurrency");function Yr(r){return(t,n)=>{let o=r(t),i=r(n);return o<i?-1:o>i?1:0}}e(Yr,"createComparator");var U={number:e((r,t)=>r<t?-1:r>t?1:0,"number"),string:e((r,t)=>r<t?-1:r>t?1:0,"string"),date:Yr(r=>r.getTime()),currency:e((r,t)=>{let n=Math.round(r*100)/100,o=Math.round(t*100)/100;return U.number(n,o)},"currency"),boolean:e((r,t)=>r===t?0:r?1:-1,"boolean")};function $n(r,t={},n=""){try{let o=typeof r=="string"?parseFloat(r):r;return c(o)?Y(r,t):n}catch{return n}}e($n,"safeFormatCurrency");function Vn(r,t=0){try{let n=ur(r);return c(n)?n:t}catch{return t}}e(Vn,"safeParseCurrency");function kn(r,t={}){return Z(o=>Y(o,t),c)(r)}e(kn,"batchFormatCurrency");function Nr(r,t){if(!c(r)||!c(t))throw new Error("Invalid currency amounts");return U.currency(r,t)}e(Nr,"compareCurrency");function Ln(r){if(!c(r))throw new Error("Invalid currency amount");return Math.abs(r)}e(Ln,"getAbsoluteAmount");function zn(r){if(!c(r))throw new Error("Invalid currency amount");return-r}e(zn,"negateAmount");function Gn(r,t={}){let n=Dr(r);if(n===null)throw new Error("Invalid currency input");if(typeof n=="string"){let o=ur(n);return Y(o,t)}return Y(n,t)}e(Gn,"parseAndFormatCurrency");function _n(r,t){return!c(r)||!c(t)?!1:B(r,2)===B(t,2)}e(_n,"isCurrencyEqual");function Hn(r,t){return Nr(r,t)===1}e(Hn,"isGreaterThan");function Yn(r,t){return Nr(r,t)===-1}e(Yn,"isLessThan");function x(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return C[r-1]}e(x,"toBanglaMonth");function E(r){let t=C.indexOf(r);if(t===-1)throw new Error(`Invalid Bangla month name: ${r}`);return t+1}e(E,"fromBanglaMonth");function G(r){let{year:t,month:n,day:o}=r,i=P(t);if(n<1||n>12)throw new Error("Invalid Bangla month");if(o<1||o>i[n-1])throw new Error("Invalid Bangla day for given month");let a=t+593,s=new Date(Date.UTC(a,3,14)),f=0;for(let m=1;m<n;m++)f+=i[m-1];return f+=o-1,new Date(s.getTime()+f*864e5)}e(G,"fromBanglaCalendar");function R(r){return typeof r=="number"&&Number.isInteger(r)&&r>0&&isFinite(r)}e(R,"isValidBanglaYear");function _(r){return typeof r=="number"&&Number.isInteger(r)&&r>=1&&r<=12}e(_,"isValidBanglaMonthNumber");function Ur(r,t,n){if(typeof r!="number"||!Number.isInteger(r)||r<1||!_(t)||!R(n))return!1;let o=P(n);return r<=o[t-1]}e(Ur,"isValidBanglaDay");function T(r){if(!r||typeof r!="object")return!1;let{year:t,month:n,day:o}=r;return R(t)&&_(n)&&Ur(o,n,t)}e(T,"isValidBanglaDate");function fo(r){return T(r)?r:null}e(fo,"sanitizeBanglaDate");function Kr(r,t){try{return!(r instanceof Date)||isNaN(r.getTime())?t||y(new Date):y(r)}catch{return t||y(new Date)}}e(Kr,"safeToBangla");function xo(r,t){try{return T(r)?G(r):t||new Date}catch{return t||new Date}}e(xo,"safeFromBangla");function jr(r,t){return!_(r)||!R(t)?0:P(t)[r-1]}e(jr,"getBanglaMonthDays");function yo(r,t){if(!T(r))throw new Error("Invalid Bangla date");let n=G(r),o=new Date(n.getTime()+t*864e5);return y(o)}e(yo,"addDaysToBanglaDate");function wo(r,t){if(!T(r)||!T(t))throw new Error("Invalid Bangla date");let n=G(r),o=G(t);return Math.floor((o.getTime()-n.getTime())/864e5)}e(wo,"getBanglaDateDifference");function Br(r,t){if(!T(r)||!T(t))throw new Error("Invalid Bangla date");return r.year!==t.year?r.year<t.year?-1:1:r.month!==t.month?r.month<t.month?-1:1:r.day!==t.day?r.day<t.day?-1:1:0}e(Br,"compareBanglaDates");function Do(r,t,n){return!T(r)||!T(t)||!T(n)?!1:Br(r,t)>=0&&Br(r,n)<=0}e(Do,"isBanglaDateInRange");function To(r,t){if(!_(r)||!R(t))throw new Error("Invalid month or year");return{year:t,month:r,day:1}}e(To,"getFirstDayOfBanglaMonth");function Io(r,t){if(!_(r)||!R(t))throw new Error("Invalid month or year");let n=jr(r,t);return{year:t,month:r,day:n}}e(Io,"getLastDayOfBanglaMonth");function No(r){if(!R(r))return!1;let t=r+594;return t%4===0&&t%100!==0||t%400===0}e(No,"isBanglaLeapYear");function Bo(r,t){if(!T(r))throw new Error("Invalid Bangla date");let n=G(r);return Er(n,t)}e(Bo,"formatBanglaDate");function Eo(){return y(new Date)}e(Eo,"getCurrentBanglaDate");function So(r){return r.map(t=>Kr(t))}e(So,"batchToBangla");function P(r){let t=r+594;return[31,31,31,31,31,30,30,30,30,30,t%4===0&&(t%100!==0||t%400===0)?31:30,30]}e(P,"getBanglaMonthLengths");function y(r){let t=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())),n=t.getUTCFullYear(),o=t.getUTCMonth()+1,i=t.getUTCDate(),a=o<4||o===4&&i<14,s=n-(a?594:593),f=a?n-1:n,m=new Date(Date.UTC(f,3,14)),u=Math.floor((t.getTime()-m.getTime())/864e5),g=P(s),O=u,F=0;for(;O>=g[F];)O-=g[F],F++;return{year:s,month:F+1,day:O+1}}e(y,"toBanglaCalendar");function Er(r,t={}){let{includeYear:n=!0,includeWeekday:o=!1}=t,i=y(r);return[...o?[["\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0","\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0","\u09AE\u0999\u09CD\u0997\u09B2\u09AC\u09BE\u09B0","\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0","\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0","\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0","\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0"][r.getDay()]]:[],l(i.day),x(i.month),...n?[l(i.year)]:[]].join(" ")}e(Er,"getBanglaDate");function Uo(r){let t=y(r);return x(t.month)}e(Uo,"getMonthName");function A(r){return b.isInteger(r)&&v.isMonthNumber(r)}e(A,"isValidMonthNumber");function S(r){if(!D(r))return!1;let t=r.trim();return C.includes(t)}e(S,"isValidBanglaMonth");function Sr(r){if(D(r)){let n=r.trim();if(n==="")return null;let o=Number(n);if(isNaN(o))return null;r=o}if(!b.isValidNumber(r))return null;let t=Math.round(r);return!b.isInteger(t)||!v.isMonthNumber(t)?null:t}e(Sr,"sanitizeMonthNumber");function Qo(r){if(!D(r))return null;let t=r.trim();return t===""||!S(t)?null:t}e(Qo,"sanitizeBanglaMonth");function si(r,t=""){try{return A(r)?x(r):t}catch{return t}}e(si,"safeToBanglaMonth");function ui(r,t=0){try{return S(r)?E(r):t}catch{return t}}e(ui,"safeFromBanglaMonth");function mi(){return[...C]}e(mi,"getAllMonths");function fi(r){if(typeof r=="number"){if(!A(r))throw new Error("Invalid month number");return r===12?1:r+1}else{if(!S(r))throw new Error("Invalid Bangla month name");let t=E(r),n=t===12?1:t+1;return x(n)}}e(fi,"getNextMonth");function li(r){if(typeof r=="number"){if(!A(r))throw new Error("Invalid month number");return r===1?12:r-1}else{if(!S(r))throw new Error("Invalid Bangla month name");let t=E(r),n=t===1?12:t-1;return x(n)}}e(li,"getPreviousMonth");function qr(r,t){let n=typeof r=="number",o,i;if(n){if(!A(r)||!A(t))throw new Error("Invalid month numbers");o=r,i=t}else{if(!S(r)||!S(t))throw new Error("Invalid Bangla month names");o=E(r),i=E(t)}let a=[],s=o;for(;n?a.push(s):a.push(x(s)),!(s===i||(s=s===12?1:s+1,a.length>12)););return a}e(qr,"getMonthRange");function ci(r,t,n){try{return qr(t,n).includes(r)}catch{return!1}}e(ci,"isMonthInRange");function gi(r,t){let n,o;if(typeof r=="number"){if(!A(r))throw new Error("Invalid month1");n=r}else{if(!S(r))throw new Error("Invalid month1");n=E(r)}if(typeof t=="number"){if(!A(t))throw new Error("Invalid month2");o=t}else{if(!S(t))throw new Error("Invalid month2");o=E(t)}return n<o?-1:n>o?1:0}e(gi,"compareMonths");function pi(r){if(typeof r=="number"){if(!A(r))throw new Error("Invalid month number");return r-1}else{if(!S(r))throw new Error("Invalid Bangla month name");return E(r)-1}}e(pi,"getMonthIndex");function bi(r){if(!Number.isInteger(r)||r<0||r>11)throw new Error("Index must be between 0 and 11");return r+1}e(bi,"getMonthFromIndex");function di(r){if(typeof r=="string"&&S(r.trim()))return r.trim();let t=Sr(r);if(t===null)throw new Error("Invalid month input");return x(t)}e(di,"parseAndConvertToMonth");function hi(r){return r.filter(t=>A(t)).map(t=>x(t))}e(hi,"batchToBanglaMonth");function xi(){let r={};for(let t=1;t<=12;t++)r[t]=x(t);return r}e(xi,"getMonthMapping");function H(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return W[r]}e(H,"toBanglaWeekday");function Q(r){let t=W.indexOf(r);if(t===-1)throw new Error(`Invalid Bangla weekday name: ${r}`);return t}e(Q,"fromBanglaWeekday");function Mr(r){let t=r.getDay();return H(t)}e(Mr,"getWeekdayName");function zi(r){return b.isInteger(r)&&v.isWeekdayNumber(r)}e(zi,"isValidWeekdayNumber");function Gi(r){if(!D(r))return!1;let t=r.trim();return t===""?!1:W.includes(t)}e(Gi,"isValidBanglaWeekday");function _i(r){return p(r)}e(_i,"isValidDateForWeekday");function Cr(r){return D(r)?r.trim():""}e(Cr,"sanitizeWeekdayInput");function Zr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return r===5||r===6}e(Zr,"isWeekend");function Zi(r){let t=Q(r);return Zr(t)}e(Zi,"isBanglaWeekend");function Xr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r+1)%7}e(Xr,"getNextWeekday");function Jr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r-1+7)%7}e(Jr,"getPreviousWeekday");function Xi(r){let t=Xr(r);return H(t)}e(Xi,"getNextBanglaWeekday");function Ji(r){let t=Jr(r);return H(t)}e(Ji,"getPreviousBanglaWeekday");function Qi(r){let t=Cr(r);return Q(t)}e(Qi,"parseWeekdayInput");function ra(r,t=""){try{return H(r)}catch{return t}}e(ra,"safeToBanglaWeekday");function ta(r,t=-1){try{return Q(r)}catch{return t}}e(ta,"safeFromBanglaWeekday");function ea(){return[...W]}e(ea,"getAllBanglaWeekdays");function na(r,t){if(r<0||r>6||t<0||t>6)throw new Error("Weekday numbers must be between 0 and 6");return(t-r+7)%7}e(na,"getDaysBetween");function mr(r,t={}){let{includeWeekday:n=!1,includeYear:o=!0,format:i="long"}=t,a=[];if(n){let g=Mr(r);a.push(g)}let s=y(r),f=l(s.day),m=x(s.month),u=o?l(s.year):null;return i==="short"?a.push(`${f} ${m}`):a.push(f,m),u&&a.push(u),a.join(" ")}e(mr,"formatDate");function Ar(r){let t=r.trim().replace(/\s+/g," "),n=t.match(/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/);if(n){let i=n[1],a=n[2],s=n[3],f=/[০-৯]/.test(i)?N(i):parseInt(i,10),m=E(a),u=s?/[০-৯]/.test(s)?N(s):parseInt(s,10):new Date().getFullYear();return new Date(u,m-1,f)}let o=t.match(/^(\d+|[০-৯]+)[\/\-](\d+|[০-৯]+)[\/\-](\d+|[০-৯]+)$/);if(o){let i=o[1],a=o[2],s=o[3],f=/[০-৯]/.test(i)?N(i):parseInt(i,10),m=/[০-৯]/.test(a)?N(a):parseInt(a,10),u=/[০-৯]/.test(s)?N(s):parseInt(s,10);return new Date(u,m-1,f)}throw new Error(`Unable to parse date string: ${r}`)}e(Ar,"parseDate");function p(r){return r instanceof Date&&!isNaN(r.getTime())}e(p,"isValidDate");function Or(r){if(typeof r!="string"||r.trim()==="")return!1;let t=r.trim().replace(/\s+/g," ");if(/^\d{4}[\-\/]\d{1,2}[\-\/]\d{1,2}$/.test(t))return!1;let n=/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/,o=/^(\d{1,2}|[০-৯]{1,2})[\/\-](\d{1,2}|[০-৯]{1,2})[\/\-](\d{2,4}|[০-৯]{2,4})$/;return n.test(t)||o.test(t)}e(Or,"isValidBanglaDateString");function Ta(r){return typeof r!="string"?!1:/[০-৯]/.test(r)}e(Ta,"hasBanglaDigits");function Ia(r){return typeof r!="string"?!1:/(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)/.test(r)}e(Ia,"hasBanglaMonth");function Na(r){return p(r)?r:null}e(Na,"sanitizeDate");function fr(r,t){if(!p(r)||!p(t))throw new Error("Invalid date");return U.date(r,t)}e(fr,"compareDates");function Fa(r,t){if(!p(r)||!p(t))throw new Error("Invalid date");let n=t.getTime()-r.getTime();return Math.floor(n/(1e3*60*60*24))}e(Fa,"getDaysDifference");function Wa(r,t){if(!p(r))throw new Error("Invalid date");let n=new Date(r);return n.setDate(n.getDate()+t),n}e(Wa,"addDays");function Va(r){if(!p(r))return!1;let t=new Date;return r.getDate()===t.getDate()&&r.getMonth()===t.getMonth()&&r.getFullYear()===t.getFullYear()}e(Va,"isToday");function ka(r){return p(r)?r.getTime()<Date.now():!1}e(ka,"isPast");function La(r){return p(r)?r.getTime()>Date.now():!1}e(La,"isFuture");function za(r,t,n){return!p(r)||!p(t)||!p(n)?!1:fr(r,t)>=0&&fr(r,n)<=0}e(za,"isDateInRange");function Qr(r,t,n=""){try{return p(r)?mr(r,t):n}catch{return n}}e(Qr,"safeFormatDate");function rt(r,t){try{return Ar(r)}catch{return t||new Date}}e(rt,"safeParseDate");function Xa(r){return mr(new Date,r)}e(Xa,"formatToday");function Ja(r,t){return r.map(n=>Qr(n,t))}e(Ja,"batchFormatDates");function Qa(r){return r.map(t=>rt(t))}e(Qa,"batchParseDates");function rs(r){return Or(r)}e(rs,"canParseBanglaDate");function rr(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return r<=2?d[0]:r<=4?d[1]:r<=6?d[2]:r<=8?d[3]:r<=10?d[4]:d[5]}e(rr,"getSeasonFromMonth");function K(r){let t=y(r);return rr(t.month)}e(K,"getSeason");function Ds(r){return b.isInteger(r)&&v.isMonthNumber(r)}e(Ds,"isValidMonth");function Ts(r){if(!D(r))return!1;let t=r.trim();return t===""?!1:d.includes(t)}e(Ts,"isValidSeasonName");function Is(r){return p(r)}e(Is,"isValidDateForSeason");function Cs(){return[...d]}e(Cs,"getAllSeasons");function Fr(r){let n={\u0997\u09CD\u09B0\u09C0\u09B7\u09CD\u09AE:[1,2],\u09AC\u09B0\u09CD\u09B7\u09BE:[3,4],"\u09B6\u09B0\u09CE":[5,6],\u09B9\u09C7\u09AE\u09A8\u09CD\u09A4:[7,8],\u09B6\u09C0\u09A4:[9,10],\u09AC\u09B8\u09A8\u09CD\u09A4:[11,12]}[r];if(!n)throw new Error(`Invalid season name: ${r}`);return n}e(Fr,"getSeasonMonths");function lr(r){return d.indexOf(r)}e(lr,"getSeasonIndex");function As(r){if(r<0||r>5)throw new Error("Season index must be between 0 and 5");return d[r]}e(As,"getSeasonByIndex");function Os(r,t){if(r<1||r>12)return!1;try{return Fr(t).includes(r)}catch{return!1}}e(Os,"isMonthInSeason");function Fs(r){let t=lr(r);if(t===-1)throw new Error(`Invalid season name: ${r}`);let n=(t+1)%6;return d[n]}e(Fs,"getNextSeason");function Ws(r){let t=lr(r);if(t===-1)throw new Error(`Invalid season name: ${r}`);let n=(t-1+6)%6;return d[n]}e(Ws,"getPreviousSeason");function vs(r,t=""){if(!(r instanceof Date)||isNaN(r.getTime()))return t;try{return K(r)}catch{return t}}e(vs,"safeGetSeason");function Ps(r,t=""){try{return rr(r)}catch{return t}}e(Ps,"safeGetSeasonFromMonth");function Rs(){return K(new Date)}e(Rs,"getCurrentSeason");function $s(r,t){let n=K(r),o=K(t);return n===o}e($s,"isSameSeason");function Vs(r){let t=lr(r);if(t===-1)throw new Error(`Invalid season name: ${r}`);let n=Fr(r),o=n.map(i=>C[i-1]);return{name:r,months:n,index:t,monthNames:o}}e(Vs,"getSeasonInfo");function I(r){if(r<1)throw new Error("Number must be greater than 0");let t={1:"\u09AA\u09CD\u09B0\u09A5\u09AE",2:"\u09A6\u09CD\u09AC\u09BF\u09A4\u09C0\u09AF\u09BC",3:"\u09A4\u09C3\u09A4\u09C0\u09AF\u09BC",4:"\u099A\u09A4\u09C1\u09B0\u09CD\u09A5",5:"\u09AA\u099E\u09CD\u099A\u09AE",6:"\u09B7\u09B7\u09CD\u09A0",7:"\u09B8\u09AA\u09CD\u09A4\u09AE",8:"\u0985\u09B7\u09CD\u099F\u09AE",9:"\u09A8\u09AC\u09AE",10:"\u09A6\u09B6\u09AE",11:"\u098F\u0995\u09BE\u09A6\u09B6",12:"\u09A6\u09CD\u09AC\u09BE\u09A6\u09B6",13:"\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09A6\u09B6",14:"\u099A\u09A4\u09C1\u09B0\u09CD\u09A6\u09B6",15:"\u09AA\u099E\u09CD\u099A\u09A6\u09B6",16:"\u09B7\u09CB\u09A1\u09BC\u09B6",17:"\u09B8\u09AA\u09CD\u09A4\u09A6\u09B6",18:"\u0985\u09B7\u09CD\u099F\u09BE\u09A6\u09B6",19:"\u098A\u09A8\u09AC\u09BF\u0982\u09B6",20:"\u09AC\u09BF\u0982\u09B6",21:"\u098F\u0995\u09AC\u09BF\u0982\u09B6",22:"\u09A6\u09CD\u09AC\u09BE\u09AC\u09BF\u0982\u09B6",23:"\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09AC\u09BF\u0982\u09B6",24:"\u099A\u09A4\u09C1\u09B0\u09CD\u09AC\u09BF\u0982\u09B6",25:"\u09AA\u099E\u09CD\u099A\u09AC\u09BF\u0982\u09B6",30:"\u09A4\u09CD\u09B0\u09BF\u0982\u09B6",40:"\u099A\u09A4\u09CD\u09AC\u09BE\u09B0\u09BF\u0982\u09B6",50:"\u09AA\u099E\u09CD\u099A\u09BE\u09B6\u09A4\u09CD\u09A4\u09AE",60:"\u09B7\u09B7\u09CD\u099F\u09BF\u09A4\u09AE",70:"\u09B8\u09AA\u09CD\u09A4\u09A4\u09BF\u09A4\u09AE",80:"\u0985\u09B6\u09C0\u09A4\u09BF\u09A4\u09AE",90:"\u09A8\u09AC\u09A4\u09BF\u09A4\u09AE",100:"\u09B6\u09A4\u09A4\u09AE"};return t[r]?t[r]:`${l(r)}\u09A4\u09AE`}e(I,"toOrdinal");function w(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)&&Number.isInteger(r)&&r>=1}e(w,"isValidOrdinal");function qs(r){if(typeof r!="string"||!r.trim())return!1;let t=r.trim();return["\u09AA\u09CD\u09B0\u09A5\u09AE","\u09A6\u09CD\u09AC\u09BF\u09A4\u09C0\u09AF\u09BC","\u09A4\u09C3\u09A4\u09C0\u09AF\u09BC","\u099A\u09A4\u09C1\u09B0\u09CD\u09A5","\u09AA\u099E\u09CD\u099A\u09AE","\u09B7\u09B7\u09CD\u09A0","\u09B8\u09AA\u09CD\u09A4\u09AE","\u0985\u09B7\u09CD\u099F\u09AE","\u09A8\u09AC\u09AE","\u09A6\u09B6\u09AE","\u098F\u0995\u09BE\u09A6\u09B6","\u09A6\u09CD\u09AC\u09BE\u09A6\u09B6","\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09A6\u09B6","\u099A\u09A4\u09C1\u09B0\u09CD\u09A6\u09B6","\u09AA\u099E\u09CD\u099A\u09A6\u09B6","\u09B7\u09CB\u09A1\u09BC\u09B6","\u09B8\u09AA\u09CD\u09A4\u09A6\u09B6","\u0985\u09B7\u09CD\u099F\u09BE\u09A6\u09B6","\u098A\u09A8\u09AC\u09BF\u0982\u09B6","\u09AC\u09BF\u0982\u09B6","\u098F\u0995\u09AC\u09BF\u0982\u09B6","\u09A6\u09CD\u09AC\u09BE\u09AC\u09BF\u0982\u09B6","\u09A4\u09CD\u09B0\u09AF\u09BC\u09CB\u09AC\u09BF\u0982\u09B6","\u099A\u09A4\u09C1\u09B0\u09CD\u09AC\u09BF\u0982\u09B6","\u09AA\u099E\u09CD\u099A\u09AC\u09BF\u0982\u09B6","\u09A4\u09CD\u09B0\u09BF\u0982\u09B6","\u099A\u09A4\u09CD\u09AC\u09BE\u09B0\u09BF\u0982\u09B6","\u09AA\u099E\u09CD\u099A\u09BE\u09B6\u09A4\u09CD\u09A4\u09AE","\u09B7\u09B7\u09CD\u099F\u09BF\u09A4\u09AE","\u09B8\u09AA\u09CD\u09A4\u09A4\u09BF\u09A4\u09AE","\u0985\u09B6\u09C0\u09A4\u09BF\u09A4\u09AE","\u09A8\u09AC\u09A4\u09BF\u09A4\u09AE","\u09B6\u09A4\u09A4\u09AE"].includes(t)?!0:t.endsWith("\u09A4\u09AE")}e(qs,"isBanglaOrdinal");function Zs(r){return w(r)?[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,40,50,60,70,80,90,100].includes(r):!1}e(Zs,"hasSpecialOrdinal");function Wr(r){if(typeof r=="string"){let n=r.trim();if(n==="")return null;let o=Number(n);if(isNaN(o))return null;r=o}if(typeof r!="number"||isNaN(r)||!isFinite(r))return null;let t=Math.round(r);return t<1?null:t}e(Wr,"sanitizeOrdinalInput");function Xs(r){return w(r)&&r>=1&&r<=100}e(Xs,"isInSpecialOrdinalRange");function nu(r,t=""){try{return w(r)?I(r):t}catch{return t}}e(nu,"safeToOrdinal");var ou=Z(I,w);function iu(r){let t=Wr(r);if(t===null)throw new Error("Invalid input for ordinal conversion");return I(t)}e(iu,"parseAndConvertToOrdinal");function au(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30,40,50,60,70,80,90,100].map(t=>({number:t,ordinal:I(t)}))}e(au,"getSpecialOrdinals");function su(r,t){if(!w(r)||!w(t))throw new Error("Start and end must be positive integers");if(r>t)throw new Error("Start must be less than or equal to end");let n=[];for(let o=r;o<=t;o++)n.push(I(o));return n}e(su,"getOrdinalSequence");function uu(r,t={}){let{separator:n=" ",showNumber:o=!0}=t,i=I(r);return o?`${r}${n}${i}`:i}e(uu,"formatOrdinal");function mu(r){if(!w(r))throw new Error("Number must be a valid positive integer");let t=I(r);return t.endsWith("\u09A4\u09AE")&&/[০-৯]/.test(t)?"suffix":"special"}e(mu,"getOrdinalType");function fu(r,t){let n=I(r);return t?`${n} ${t}`:n}e(fu,"getRanking");function lu(r,t){if(!w(r)||!w(t))throw new Error("Both numbers must be valid positive integers");return r<t?-1:r>t?1:0}e(lu,"compareOrdinals");function cu(r){if(!w(r))throw new Error("Current must be a valid positive integer");return I(r+1)}e(cu,"getNextOrdinal");function gu(r){if(!w(r))throw new Error("Current must be a valid positive integer");if(r===1)throw new Error("No previous ordinal for 1 (\u09AA\u09CD\u09B0\u09A5\u09AE is the first)");return I(r-1)}e(gu,"getPreviousOrdinal");function pu(r,t=1){if(!w(t))throw new Error("startFrom must be a valid positive integer");return r.map((n,o)=>{let i=t+o;return{position:i,ordinal:I(i),item:n}})}e(pu,"createOrdinalList");function cr(r,t={}){let{includeSeconds:n=!1,use12Hour:o=!1}=t,i,a,s;if(typeof r=="string"){let h=r.split(":");if(i=parseInt(h[0],10),a=parseInt(h[1],10),s=h[2]?parseInt(h[2],10):0,Number.isNaN(i)||Number.isNaN(a))throw new Error("Invalid time string format. Use HH:mm or HH:mm:ss")}else i=r.getHours(),a=r.getMinutes(),s=r.getSeconds();let f=i,m="";o&&(m=tt(i),i===0?f=12:i>12&&(f=i-12));let u=l(f.toString().padStart(2,"0")),g=l(a.toString().padStart(2,"0")),O=[u,g];if(n){let h=l(s.toString().padStart(2,"0"));O.push(h)}let F=O.join(":");return m?`${m} ${F}`:F}e(cr,"formatTime");function tt(r){return r>=6&&r<12?"\u09B8\u0995\u09BE\u09B2":r>=12&&r<15?"\u09A6\u09C1\u09AA\u09C1\u09B0":r>=15&&r<18?"\u09AC\u09BF\u0995\u09BE\u09B2":r>=18&&r<20?"\u09B8\u09A8\u09CD\u09A7\u09CD\u09AF\u09BE":"\u09B0\u09BE\u09A4"}e(tt,"getBanglaPeriod");function vr(r,t=new Date){let n=r.getTime()-t.getTime(),o=Math.floor(n/1e3),i=Math.floor(o/60),a=Math.floor(i/60),s=Math.abs(a),f=new Date(t);f.setHours(0,0,0,0);let m=new Date(r);m.setHours(0,0,0,0);let u=Math.floor((m.getTime()-f.getTime())/(1e3*60*60*24));if(s<24)return o===0?"\u098F\u0996\u09A8":Math.abs(o)<60?o<0?`${l(Math.abs(o))} \u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1 \u0986\u0997\u09C7`:`${l(o)} \u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1 \u09AA\u09B0\u09C7`:Math.abs(i)<60?i<0?`${l(Math.abs(i))} \u09AE\u09BF\u09A8\u09BF\u099F \u0986\u0997\u09C7`:`${l(i)} \u09AE\u09BF\u09A8\u09BF\u099F \u09AA\u09B0\u09C7`:a<0?`${l(Math.abs(a))} \u0998\u09A3\u09CD\u099F\u09BE \u0986\u0997\u09C7`:`${l(a)} \u0998\u09A3\u09CD\u099F\u09BE \u09AA\u09B0\u09C7`;if(u===-1)return"\u0997\u09A4\u0995\u09BE\u09B2";if(u===1)return"\u0986\u0997\u09BE\u09AE\u09C0\u0995\u09BE\u09B2";if(u===-2)return"\u0997\u09A4 \u09AA\u09B0\u09B6\u09C1";if(u===2)return"\u09AA\u09B0\u09B6\u09C1";if(u<0){if(Math.abs(u)<7)return`${l(Math.abs(u))} \u09A6\u09BF\u09A8 \u0986\u0997\u09C7`;if(Math.abs(u)<30){let g=Math.floor(Math.abs(u)/7);return`${l(g)} \u09B8\u09AA\u09CD\u09A4\u09BE\u09B9 \u0986\u0997\u09C7`}else if(Math.abs(u)<365){let g=Math.floor(Math.abs(u)/30);return`${l(g)} \u09AE\u09BE\u09B8 \u0986\u0997\u09C7`}else{let g=Math.floor(Math.abs(u)/365);return`${l(g)} \u09AC\u099B\u09B0 \u0986\u0997\u09C7`}}else{if(u<7)return`${l(u)} \u09A6\u09BF\u09A8 \u09AA\u09B0\u09C7`;if(u<30){let g=Math.floor(u/7);return`${l(g)} \u09B8\u09AA\u09CD\u09A4\u09BE\u09B9 \u09AA\u09B0\u09C7`}else if(u<365){let g=Math.floor(u/30);return`${l(g)} \u09AE\u09BE\u09B8 \u09AA\u09B0\u09C7`}else{let g=Math.floor(u/365);return`${l(g)} \u09AC\u099B\u09B0 \u09AA\u09B0\u09C7`}}}e(vr,"relativeTime");function Bu(r,t=new Date){let n=new Date(t);n.setHours(0,0,0,0);let o=new Date(r);o.setHours(0,0,0,0);let i=Math.floor((o.getTime()-n.getTime())/(1e3*60*60*24));return i===0?"\u0986\u099C":i===-1?"\u0997\u09A4\u0995\u09BE\u09B2":i===1?"\u0986\u0997\u09BE\u09AE\u09C0\u0995\u09BE\u09B2":i===-2?"\u0997\u09A4 \u09AA\u09B0\u09B6\u09C1":i===2?"\u09AA\u09B0\u09B6\u09C1":""}e(Bu,"relativeDay");function Pr(r){if(typeof r!="string")return!1;let t=r.trim();if(t==="")return!1;let n=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/,o=t.match(n);if(!o)return!1;let i=parseInt(o[1],10),a=parseInt(o[2],10),s=o[3]?parseInt(o[3],10):0;return!(i<0||i>23||a<0||a>59||s<0||s>59)}e(Pr,"isValidTimeString");function Cu(r){return p(r)||Pr(r)}e(Cu,"isValidTimeInput");function Au(r){return Pr(r)?r.trim().split(":").length===3:!1}e(Au,"hasSeconds");function Rr(r){return typeof r!="string"?"":r.trim()}e(Rr,"sanitizeTimeInput");function gr(r){let n=Rr(r).split(":"),o=parseInt(n[0],10),i=parseInt(n[1],10),a=n[2]?parseInt(n[2],10):0;if(Number.isNaN(o)||Number.isNaN(i))throw new Error("Invalid time string format. Use HH:mm or HH:mm:ss");if(o<0||o>23)throw new Error("Hours must be between 0 and 23");if(i<0||i>59)throw new Error("Minutes must be between 0 and 59");if(a<0||a>59)throw new Error("Seconds must be between 0 and 59");return{hours:o,minutes:i,seconds:a}}e(gr,"parseTime");function M(r){let{hours:t,minutes:n,seconds:o}=gr(r);return t*3600+n*60+o}e(M,"timeToSeconds");function $r(r){if(r<0||r>=86400)throw new Error("Seconds must be between 0 and 86399");let t=Math.floor(r/3600),n=Math.floor(r%3600/60),o=r%60;return`${t.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}e($r,"secondsToTime");function $u(r,t){let n=M(r),o=M(t);return n<o?-1:n>o?1:0}e($u,"compareTimes");function Vu(r,t){return r.getFullYear()===t.getFullYear()&&r.getMonth()===t.getMonth()&&r.getDate()===t.getDate()}e(Vu,"isSameDay");function Gu(r,t){let o=M(r)+t*60;return o=(o%86400+86400)%86400,$r(o)}e(Gu,"addMinutesToTime");function _u(r,t){let n=M(r),o=M(t);return Math.floor((o-n)/60)}e(_u,"timeDifferenceMinutes");function Ku(r,t,n){let o=M(r),i=M(t),a=M(n);return o>=i&&o<=a}e(Ku,"isTimeInRange");function nm(r,t={},n=""){try{return cr(r,t)}catch{return n}}e(nm,"safeFormatTime");function om(r,t=new Date,n=""){try{return vr(r,t)}catch{return n}}e(om,"safeRelativeTime");function im(r){let t;if(typeof r=="string"){let{hours:n}=gr(r);t=n}else t=r.getHours();return t>=0&&t<6?"\u09B0\u09BE\u09A4":t>=6&&t<12?"\u09B8\u0995\u09BE\u09B2":t>=12&&t<15?"\u09A6\u09C1\u09AA\u09C1\u09B0":t>=15&&t<18?"\u09AC\u09BF\u0995\u09BE\u09B2":t>=18&&t<20?"\u09B8\u09A8\u09CD\u09A7\u09CD\u09AF\u09BE":"\u09B0\u09BE\u09A4"}e(im,"getTimePeriod");function am(r={}){return cr(new Date,r)}e(am,"getCurrentTimeBangla");function pr(r,t={}){let{includeCountryCode:n=!1,useBanglaDigits:o=!0,style:i,format:a}=t,s=i??a??"dashed",f=r.replace(/\D/g,""),m=f;if(f.startsWith("880")&&(m=f.slice(3)),m.length===10&&!m.startsWith("0")&&(m="0"+m),m.length!==11)throw new Error("Invalid Bangladeshi phone number length");let u;return s==="spaced"?u=`${m.slice(0,4)} ${m.slice(4,7)} ${m.slice(7)}`:s==="compact"?u=m:u=`${m.slice(0,4)}-${m.slice(4)}`,n&&(s==="compact"?u="+880"+u.slice(1):u="+880 "+u.slice(1)),o&&(u=u.replace(/[0-9]/g,g=>l(g))),u}e(pr,"formatPhone");function br(r){let t=r.replace(/\D/g,""),n=t;if(t.startsWith("880")?n=t.slice(3):t.startsWith("+880")&&(n=t.slice(4)),n.length!==10&&n.length!==11||!n.startsWith("01")&&n.length===11||n.length===10&&!n.startsWith("1"))return!1;let o=n.length===11?n.slice(0,3):"0"+n.slice(0,2);return k.includes(o)}e(br,"validatePhone");function wm(r){return k.includes(r)}e(wm,"isValidOperatorCode");function Dm(r){let t=r.trim();return t.startsWith("+880")||t.startsWith("880")}e(Dm,"hasCountryCode");function Vr(r){if(typeof r!="string")return"";let t=r.trim(),n=t.startsWith("+");return t=t.replace(/\D/g,""),n&&(t="+"+t),t}e(Vr,"sanitizePhoneNumber");function Tm(r){return typeof r!="string"?!1:/^[\d\s\-()+ ]+$/.test(r.trim())}e(Tm,"isValidPhoneFormat");function et(r){if(!br(r))return null;let t=r.replace(/\D/g,""),n=t;t.startsWith("880")&&(n=t.slice(3));let o=n.length===11?n.slice(0,3):"0"+n.slice(0,2),i=er[o];return i?{code:o,...i}:null}e(et,"getOperator");function Mm(r){let t=et(r);return t?t.name:null}e(Mm,"getOperatorName");function nt(r){if(!br(r))throw new Error("Invalid phone number");let t=r,n=r.replace(/\D/g,""),o=n,i="880";n.startsWith("880")&&(o=n.slice(3)),o.length===10&&(o="0"+o);let a=o.slice(0,3),s=o.slice(3);return{original:t,countryCode:i,operatorCode:a,number:s,fullNumber:o}}e(nt,"parsePhoneNumber");function tr(r){return nt(r).fullNumber}e(tr,"normalizePhoneNumber");function Cm(r,t="plus"){let o=tr(r).slice(1);return t==="plus"?`+880${o}`:`880${o}`}e(Cm,"addCountryCode");function Am(r){return tr(r)}e(Am,"removeCountryCode");function Om(r,t={},n=""){try{return pr(r,t)}catch{return n}}e(Om,"safeFormatPhone");function Fm(r,t){try{let n=tr(r),o=tr(t);return n===o}catch{return!1}}e(Fm,"isSameNumber");function Wm(){return[...k]}e(Wm,"getAllOperatorCodes");function vm(){return k.map(r=>({code:r,...er[r]}))}e(vm,"getAllOperators");function Pm(r,t={}){let n=Vr(r);return pr(n,t)}e(Pm,"parseAndFormat");function Gm(r){return/^[\u0980-\u09FF\s]+$/.test(r)}e(Gm,"validateBangla");function kr(r){return/[০-৯]/.test(r)}e(kr,"isBanglaDigit");function Km(r){return/[\u0980-\u09FF]/.test(r)}e(Km,"isBanglaText");function ot(r){let t=r.match(/[\u0980-\u09FF]/g);return t?t.length:0}e(ot,"countBanglaCharacters");function Xm(r){let t=r.match(/[০-৯]/g);return t?t.length:0}e(Xm,"countBanglaDigits");function Jm(r){let t=/[\u0980-\u09FF]/.test(r),n=/[a-zA-Z0-9]/.test(r);return t&&n}e(Jm,"isMixedContent");function Lr(r,t=!1){return t?r.replace(/[^\u0980-\u09FF\s]/g,"").trim():r.replace(/[^\u0980-\u09FF]/g,"")}e(Lr,"extractBanglaChars");function it(r){return r.replace(/[\u0980-\u09FF]/g,"")}e(it,"removeBanglaChars");function at(r){let t=r.replace(/\s/g,"");if(t.length===0)return 0;let n=ot(r);return Math.round(n/t.length*100)}e(at,"getBanglaPercentage");function Qm(r){return at(r)>50}e(Qm,"isPrimarilyBangla");function rf(r,t=!0,n=""){let o=Lr(r,t);return o.length>0?o:n}e(rf,"sanitizeBanglaText");function tf(r){return/\d|[০-৯]/.test(r)?!/\d/.test(r)&&kr(r):!1}e(tf,"hasOnlyBanglaDigits");function ef(r){return r.replace(/\s+/g," ").trim()}e(ef,"normalizeWhitespace");function nf(r){return{bengali:Lr(r,!0).trim(),nonBangla:it(r).trim()}}e(nf,"splitBanglaContent");function of(r){return/[ক-হড়ঢ়য়ৎ]/.test(r)}e(of,"hasBanglaConsonants");function af(r){return/[অ-ঔা-ৌ]/.test(r)}e(af,"hasBanglaVowels");export{$ as BANGLA_DIGITS,C as BANGLA_MONTHS,d as BANGLA_SEASONS,W as BANGLA_WEEKDAYS,V as ENGLISH_DIGITS,er as OPERATOR_INFO,k as VALID_OPERATOR_CODES,Cm as addCountryCode,nn as addCurrency,Wa as addDays,yo as addDaysToBanglaDate,Gu as addMinutesToTime,ln as addTax,fn as applyDiscount,kn as batchFormatCurrency,Ja as batchFormatDates,Ie as batchFromBanglaNumber,Qa as batchParseDates,So as batchToBangla,hi as batchToBanglaMonth,Te as batchToBanglaNumber,ou as batchToOrdinal,gn as calculateDiscount,J as calculatePercentage,cn as calculateTax,rs as canParseBanglaDate,yn as ceilCurrency,Br as compareBanglaDates,Nr as compareCurrency,fr as compareDates,gi as compareMonths,lu as compareOrdinals,$u as compareTimes,Me as convertToWordsAndDigits,ot as countBanglaCharacters,Xm as countBanglaDigits,pu as createOrdinalList,Ir as divideCurrency,Lr as extractBanglaChars,wn as floorCurrency,Se as formatAndConvert,Bo as formatBanglaDate,Y as formatCurrency,mr as formatDate,j as formatNumber,uu as formatOrdinal,pr as formatPhone,cr as formatTime,Xa as formatToday,Ot as formatWithUnits,G as fromBanglaCalendar,E as fromBanglaMonth,N as fromBanglaNumber,Q as fromBanglaWeekday,Ln as getAbsoluteAmount,ea as getAllBanglaWeekdays,mi as getAllMonths,Wm as getAllOperatorCodes,vm as getAllOperators,Cs as getAllSeasons,Er as getBanglaDate,wo as getBanglaDateDifference,jr as getBanglaMonthDays,P as getBanglaMonthLengths,at as getBanglaPercentage,Eo as getCurrentBanglaDate,Rs as getCurrentSeason,am as getCurrentTimeBangla,na as getDaysBetween,Fa as getDaysDifference,To as getFirstDayOfBanglaMonth,Io as getLastDayOfBanglaMonth,bi as getMonthFromIndex,pi as getMonthIndex,xi as getMonthMapping,Uo as getMonthName,qr as getMonthRange,Xi as getNextBanglaWeekday,fi as getNextMonth,cu as getNextOrdinal,Fs as getNextSeason,Xr as getNextWeekday,et as getOperator,Mm as getOperatorName,su as getOrdinalSequence,mu as getOrdinalType,Ji as getPreviousBanglaWeekday,li as getPreviousMonth,gu as getPreviousOrdinal,Ws as getPreviousSeason,Jr as getPreviousWeekday,fu as getRanking,K as getSeason,As as getSeasonByIndex,rr as getSeasonFromMonth,lr as getSeasonIndex,Vs as getSeasonInfo,Fr as getSeasonMonths,au as getSpecialOrdinals,im as getTimePeriod,Mr as getWeekdayName,of as hasBanglaConsonants,Ta as hasBanglaDigits,Ia as hasBanglaMonth,af as hasBanglaVowels,Dm as hasCountryCode,tf as hasOnlyBanglaDigits,Au as hasSeconds,Zs as hasSpecialOrdinal,Je as hasTakaSymbol,Qe as hasTakaWord,Hr as isBanglaCurrency,Do as isBanglaDateInRange,kr as isBanglaDigit,No as isBanglaLeapYear,qs as isBanglaOrdinal,Km as isBanglaText,Zi as isBanglaWeekend,_n as isCurrencyEqual,Xe as isCurrencyInRange,za as isDateInRange,La as isFuture,Hn as isGreaterThan,Xs as isInSpecialOrdinalRange,Yn as isLessThan,Jm as isMixedContent,ci as isMonthInRange,Os as isMonthInSeason,qe as isNegativeAmount,Ce as isNumberInRange,ka as isPast,je as isPositiveAmount,Qm as isPrimarilyBangla,Vu as isSameDay,Fm as isSameNumber,$s as isSameSeason,Ku as isTimeInRange,Va as isToday,T as isValidBanglaDate,Or as isValidBanglaDateString,Ur as isValidBanglaDay,S as isValidBanglaMonth,_ as isValidBanglaMonthNumber,Qt as isValidBanglaNumber,Gi as isValidBanglaWeekday,R as isValidBanglaYear,c as isValidCurrency,p as isValidDate,Is as isValidDateForSeason,_i as isValidDateForWeekday,Ds as isValidMonth,A as isValidMonthNumber,re as isValidNumber,ee as isValidNumberForOrdinal,te as isValidNumberForWords,wm as isValidOperatorCode,w as isValidOrdinal,Tm as isValidPhoneFormat,Ts as isValidSeasonName,Cu as isValidTimeInput,Pr as isValidTimeString,zi as isValidWeekdayNumber,Zr as isWeekend,Ze as isZeroAmount,on as multiplyCurrency,zn as negateAmount,tr as normalizePhoneNumber,ef as normalizeWhitespace,Ee as parseAndConvertToBangla,di as parseAndConvertToMonth,iu as parseAndConvertToOrdinal,Pm as parseAndFormat,Gn as parseAndFormatCurrency,ur as parseCurrency,Ar as parseDate,nt as parsePhoneNumber,gr as parseTime,Qi as parseWeekdayInput,Bu as relativeDay,vr as relativeTime,it as removeBanglaChars,Am as removeCountryCode,B as roundCurrency,$n as safeFormatCurrency,Qr as safeFormatDate,Om as safeFormatPhone,nm as safeFormatTime,xo as safeFromBangla,ui as safeFromBanglaMonth,Be as safeFromBanglaNumber,ta as safeFromBanglaWeekday,vs as safeGetSeason,Ps as safeGetSeasonFromMonth,Vn as safeParseCurrency,rt as safeParseDate,om as safeRelativeTime,Kr as safeToBangla,si as safeToBanglaMonth,Ne as safeToBanglaNumber,ra as safeToBanglaWeekday,nu as safeToOrdinal,fo as sanitizeBanglaDate,Qo as sanitizeBanglaMonth,rf as sanitizeBanglaText,Dr as sanitizeCurrencyInput,Na as sanitizeDate,Sr as sanitizeMonthNumber,wr as sanitizeNumberInput,Wr as sanitizeOrdinalInput,Vr as sanitizePhoneNumber,Rr as sanitizeTimeInput,Cr as sanitizeWeekdayInput,$r as secondsToTime,xn as splitAmount,nf as splitBanglaContent,X as subtractCurrency,Tr as sumCurrency,_u as timeDifferenceMinutes,M as timeToSeconds,y as toBanglaCalendar,x as toBanglaMonth,l as toBanglaNumber,H as toBanglaWeekday,I as toOrdinal,or as toWords,Ae as truncateDecimals,Gm as validateBangla,br as validatePhone};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|