bangla-stdlib 1.0.1 → 1.0.2
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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5180,7 +5180,7 @@ declare function batchToBengali(dates: Date[]): Array<{
|
|
|
5180
5180
|
/**
|
|
5181
5181
|
* Gets the month lengths for a given Bengali year.
|
|
5182
5182
|
*/
|
|
5183
|
-
declare function getBengaliMonthLengths(
|
|
5183
|
+
declare function getBengaliMonthLengths(bengaliYear: number): number[];
|
|
5184
5184
|
|
|
5185
5185
|
/**
|
|
5186
5186
|
* Formats a Bangladeshi phone number with various formatting options.
|
package/dist/index.d.ts
CHANGED
|
@@ -5180,7 +5180,7 @@ declare function batchToBengali(dates: Date[]): Array<{
|
|
|
5180
5180
|
/**
|
|
5181
5181
|
* Gets the month lengths for a given Bengali year.
|
|
5182
5182
|
*/
|
|
5183
|
-
declare function getBengaliMonthLengths(
|
|
5183
|
+
declare function getBengaliMonthLengths(bengaliYear: number): number[];
|
|
5184
5184
|
|
|
5185
5185
|
/**
|
|
5186
5186
|
* Formats a Bangladeshi phone number with various formatting options.
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Tr=Object.defineProperty;var n=(r,e)=>Tr(r,"name",{value:e,configurable:!0});var F=["\u09E6","\u09E7","\u09E8","\u09E9","\u09EA","\u09EB","\u09EC","\u09ED","\u09EE","\u09EF"],$=["0","1","2","3","4","5","6","7","8","9"];var E=["\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 v=["\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 t=!1,o=!1,i="";for(let s=0;s<e.length;s++){let a=e[s];if(a==="."){if(t)throw new Error("Multiple decimal points");t=!0,i+=".";continue}if(a==="-"){if(s!==0)throw new Error("Invalid minus position");i+="-";continue}let u=$.indexOf(a);if(u!==-1){o=!0,i+=F[u];continue}throw new Error(`Invalid character in number: ${a}`)}if(!o)throw new Error("No digits found");if(t){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}n(f,"toBanglaNumber");function D(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 t=!1,o=!1,i="";for(let a=0;a<e.length;a++){let u=e[a];if(u==="."){if(t)throw new Error("Multiple decimal points");t=!0,i+=".";continue}if(u==="-"){if(a!==0)throw new Error("Invalid minus position");i+="-";continue}let l=F.indexOf(u);if(l!==-1){o=!0,i+=$[l];continue}throw new Error(`Invalid Bangla digit: ${u}`)}if(!o)throw new Error("No digits found");if(t){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}n(D,"fromBanglaNumber");function q(r){if(r===0)return"\u09B6\u09C2\u09A8\u09CD\u09AF";if(r<0)return"\u098B\u09A3\u09BE\u09A4\u09CD\u09AE\u0995 "+q(-r);if(r<100)return K(r);if(r<1e3)return O(r);if(r<1e5)return nr(r);if(r<1e7)return tr(r);if(r<1e9)return or(r);if(r<1e11)return Ar(r);throw new Error("Number too large to convert to words")}n(q,"toWords");function K(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"],t=["","","\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?t[o]:t[o]+" "+e[i]}n(K,"convertBelowHundred");function O(r){let e=Math.floor(r/100),t=r%100,o="";return e>0&&(e===1?o="\u098F\u0995\u09B6\u09A4":o=K(e)+"\u09B6\u09A4"),t>0&&(o+=(o?" ":"")+K(t)),o}n(O,"convertBelowThousand");function nr(r){let e=Math.floor(r/1e3),t=r%1e3,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0":o=O(e)+" \u09B9\u09BE\u099C\u09BE\u09B0"),t>0&&(o+=(o?" ":"")+O(t)),o}n(nr,"convertBelowLakh");function tr(r){let e=Math.floor(r/1e5),t=r%1e5,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B2\u0995\u09CD\u09B7":o=O(e)+" \u09B2\u0995\u09CD\u09B7"),t>0&&(o+=(o?" ":"")+nr(t)),o}n(tr,"convertBelowCrore");function or(r){let e=Math.floor(r/1e7),t=r%1e7,o="";return e>0&&(e===1?o="\u098F\u0995 \u0995\u09CB\u099F\u09BF":o=O(e)+" \u0995\u09CB\u099F\u09BF"),t>0&&(o+=(o?" ":"")+tr(t)),o}n(or,"convertBelowArab");function Ar(r){let e=Math.floor(r/1e9),t=r%1e9,o="";return e>0&&(e===1?o="\u098F\u0995 \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF":o=O(e)+" \u09B9\u09BE\u099C\u09BE\u09B0 \u0995\u09CB\u099F\u09BF"),t>0&&(o+=(o?" ":"")+or(t)),o}n(Ar,"convertBelowKharab");function ge(r,e={}){let{precision:t=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(t)),m=o?f(l):l.toString();return s+m+" "+u}n(ge,"formatWithUnits");function ir(r,e={}){let{useBanglaDigits:t=!0,separator:o=","}=e,i=typeof r=="string"?r:r.toString(),[s,a]=i.split("."),u=s;t&&(u=f(s));let l=Wr(u,o);if(a!==void 0){let m=t?f(a):a;return`${l}.${m}`}return l}n(ir,"formatNumber");function Wr(r,e){let t=r.startsWith("-"),o=t?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 t?`-${l}`:l}n(Wr,"formatIntegerPart");function we(r){if(typeof r!="string")return!1;let e=r.trim();if(e==="")return!1;let t=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="."){if(t)return!1;t=!0;continue}if(s==="-"){if(i!==0)return!1;continue}if(F.indexOf(s)!==-1){o=!0;continue}return!1}return!(!o||t&&(e.startsWith(".")||e.startsWith("-.")||e.endsWith(".")))}n(we,"isValidBanglaNumber");function De(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 t=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="."){if(t)return!1;t=!0;continue}if(s==="-"){if(i!==0)return!1;continue}if($.indexOf(s)!==-1){o=!0;continue}return!1}return!(!o||t&&(e.startsWith(".")||e.startsWith("-.")||e.endsWith(".")))}n(De,"isValidNumber");function Be(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=-99999999999&&r<=99999999999}n(Be,"isValidNumberForWords");function Ne(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>0}n(Ne,"isValidNumberForOrdinal");function sr(r){if(typeof r!="string")return"";let e=r.trim();return e=e.replace(/,/g,""),e=e.replace(/৳/g,""),e.trim()}n(sr,"sanitizeNumberInput");function Ce(r){let e=[],t=[];for(let o of r)try{let i=f(o);e.push({input:o,output:i})}catch(i){t.push({input:o,error:i instanceof Error?i.message:String(i)})}return{success:e,errors:t}}n(Ce,"batchToBanglaNumber");function Fe(r){let e=[],t=[];for(let o of r)try{let i=D(o);e.push({input:o,output:i})}catch(i){t.push({input:o,error:i instanceof Error?i.message:String(i)})}return{success:e,errors:t}}n(Fe,"batchFromBanglaNumber");function $e(r,e=""){try{return f(r)}catch{return e}}n($e,"safeToBanglaNumber");function ve(r,e=0){try{return D(r)}catch{return e}}n(ve,"safeFromBanglaNumber");function Oe(r){let e=sr(r);return f(e)}n(Oe,"parseAndConvertToBangla");function Pe(r,e=!0,t=","){return ir(r,{useBanglaDigits:e,separator:t})}n(Pe,"formatAndConvert");function ke(r){return{words:q(r),digits:f(r)}}n(ke,"convertToWordsAndDigits");function Le(r,e,t){return Number.isFinite(r)?r>=e&&r<=t:!1}n(Le,"isNumberInRange");function Ve(r,e=2){let t=Math.pow(10,e);return Math.trunc(r*t)/t}n(Ve,"truncateDecimals");function z(r,e={}){let{includeSymbol:t=!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 t&&a.push("\u09F3"),a.push(s),o&&a.push("\u099F\u09BE\u0995\u09BE"),a.join(" ")}n(z,"formatCurrency");function X(r){let e=r.replace(/৳/g,"").replace(/টাকা/g,"").trim();return e=e.replace(/\s+/g,""),D(e)}n(X,"parseCurrency");function c(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)}n(c,"isValidCurrency");function Cr(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)}n(Cr,"isBanglaCurrency");function nn(r){return c(r)&&r>0}n(nn,"isPositiveAmount");function tn(r){return c(r)&&r<0}n(tn,"isNegativeAmount");function on(r){return c(r)&&r===0}n(on,"isZeroAmount");function ar(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(Cr(e))return e;let t=parseFloat(e);return isNaN(t)?null:t}return null}n(ar,"sanitizeCurrencyInput");function sn(r,e,t){return!c(r)||!c(e)||!c(t)||e>t?!1:r>=e&&r<=t}n(sn,"isCurrencyInRange");function an(r){return typeof r!="string"?!1:r.includes("\u09F3")}n(an,"hasTakaSymbol");function un(r){return typeof r!="string"?!1:r.includes("\u099F\u09BE\u0995\u09BE")}n(un,"hasTakaWord");function pn(r,e={},t=""){try{let o=typeof r=="string"?parseFloat(r):r;return c(o)?z(r,e):t}catch{return t}}n(pn,"safeFormatCurrency");function bn(r,e=0){try{let t=X(r);return c(t)?t:e}catch{return e}}n(bn,"safeParseCurrency");function dn(r,e={}){return r.filter(t=>c(t)).map(t=>z(t,e))}n(dn,"batchFormatCurrency");function S(r,e=2){if(!c(r))throw new Error("Invalid currency amount");let t=Math.pow(10,e);return Math.round(r*t)/t}n(S,"roundCurrency");function Fr(r){let t=r.filter(o=>c(o)).reduce((o,i)=>o+i,0);return S(t,2)}n(Fr,"sumCurrency");function ur(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amounts");return S(r-e,2)}n(ur,"subtractCurrency");function hn(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amount or factor");return S(r*e,2)}n(hn,"multiplyCurrency");function $r(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 S(r/e,2)}n($r,"divideCurrency");function fr(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amount or percentage");return S(r*e/100,2)}n(fr,"calculatePercentage");function xn(r,e){let t=fr(r,e);return ur(r,t)}n(xn,"applyDiscount");function yn(r,e){let t=fr(r,e);return S(r+t,2)}n(yn,"addTax");function wn(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 t=$r(r,e),o=Array(e-1).fill(t),i=Fr(o),s=ur(r,i);return o.push(s),o}n(wn,"splitAmount");function Dn(r,e){if(!c(r)||!c(e))throw new Error("Invalid currency amounts");let t=S(r,2),o=S(e,2);return t<o?-1:t>o?1:0}n(Dn,"compareCurrency");function Bn(r){if(!c(r))throw new Error("Invalid currency amount");return Math.abs(r)}n(Bn,"getAbsoluteAmount");function Nn(r){if(!c(r))throw new Error("Invalid currency amount");return-r}n(Nn,"negateAmount");function In(r,e={}){let t=ar(r);if(t===null)throw new Error("Invalid currency input");if(typeof t=="string"){let o=X(t);return z(o,e)}return z(t,e)}n(In,"parseAndFormatCurrency");function x(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return E[r-1]}n(x,"toBanglaMonth");function B(r){let e=E.indexOf(r);if(e===-1)throw new Error(`Invalid Bangla month name: ${r}`);return e+1}n(B,"fromBanglaMonth");function mr(r){let e=r.getMonth()+1;return x(e)}n(mr,"getMonthName");function p(r){return r instanceof Date&&!isNaN(r.getTime())}n(p,"isValidDate");function lr(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 t=/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/,o=/^(\d{1,2}|[০-৯]{1,2})[\/\-](\d{1,2}|[০-৯]{1,2})[\/\-](\d{2,4}|[০-৯]{2,4})$/;return t.test(e)||o.test(e)}n(lr,"isValidBengaliDateString");function Gn(r){return typeof r!="string"?!1:/[০-৯]/.test(r)}n(Gn,"hasBengaliDigits");function Hn(r){return typeof r!="string"?!1:/(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)/.test(r)}n(Hn,"hasBengaliMonth");function Rn(r){return p(r)?r:null}n(Rn,"sanitizeDate");function I(r){return typeof r=="number"&&Number.isInteger(r)&&r>=1&&r<=12}n(I,"isValidMonthNumber");function N(r){if(typeof r!="string")return!1;let e=r.trim();return E.includes(e)}n(N,"isValidBanglaMonth");function cr(r){if(typeof r=="string"){let t=r.trim();if(t==="")return null;let o=Number(t);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}n(cr,"sanitizeMonthNumber");function jn(r){if(typeof r!="string")return null;let e=r.trim();return e===""||!N(e)?null:e}n(jn,"sanitizeBanglaMonth");function et(r,e=""){try{return I(r)?x(r):e}catch{return e}}n(et,"safeToBanglaMonth");function nt(r,e=0){try{return N(r)?B(r):e}catch{return e}}n(nt,"safeFromBanglaMonth");function tt(){return[...E]}n(tt,"getAllMonths");function ot(r){if(typeof r=="number"){if(!I(r))throw new Error("Invalid month number");return r===12?1:r+1}else{if(!N(r))throw new Error("Invalid Bangla month name");let e=B(r),t=e===12?1:e+1;return x(t)}}n(ot,"getNextMonth");function it(r){if(typeof r=="number"){if(!I(r))throw new Error("Invalid month number");return r===1?12:r-1}else{if(!N(r))throw new Error("Invalid Bangla month name");let e=B(r),t=e===1?12:e-1;return x(t)}}n(it,"getPreviousMonth");function vr(r,e){let t=typeof r=="number",o,i;if(t){if(!I(r)||!I(e))throw new Error("Invalid month numbers");o=r,i=e}else{if(!N(r)||!N(e))throw new Error("Invalid Bangla month names");o=B(r),i=B(e)}let s=[],a=o;for(;t?s.push(a):s.push(x(a)),!(a===i||(a=a===12?1:a+1,s.length>12)););return s}n(vr,"getMonthRange");function st(r,e,t){try{return vr(e,t).includes(r)}catch{return!1}}n(st,"isMonthInRange");function at(r,e){let t,o;if(typeof r=="number"){if(!I(r))throw new Error("Invalid month1");t=r}else{if(!N(r))throw new Error("Invalid month1");t=B(r)}if(typeof e=="number"){if(!I(e))throw new Error("Invalid month2");o=e}else{if(!N(e))throw new Error("Invalid month2");o=B(e)}return t<o?-1:t>o?1:0}n(at,"compareMonths");function ut(r){if(typeof r=="number"){if(!I(r))throw new Error("Invalid month number");return r-1}else{if(!N(r))throw new Error("Invalid Bangla month name");return B(r)-1}}n(ut,"getMonthIndex");function ft(r){if(!Number.isInteger(r)||r<0||r>11)throw new Error("Index must be between 0 and 11");return r+1}n(ft,"getMonthFromIndex");function mt(r){if(typeof r=="string"&&N(r.trim()))return r.trim();let e=cr(r);if(e===null)throw new Error("Invalid month input");return x(e)}n(mt,"parseAndConvertToMonth");function lt(r){return r.filter(e=>I(e)).map(e=>x(e))}n(lt,"batchToBanglaMonth");function ct(){let r={};for(let e=1;e<=12;e++)r[e]=x(e);return r}n(ct,"getMonthMapping");function P(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return v[r]}n(P,"toBanglaWeekday");function Y(r){let e=v.indexOf(r);if(e===-1)throw new Error(`Invalid Bangla weekday name: ${r}`);return e}n(Y,"fromBanglaWeekday");function gr(r){let e=r.getDay();return P(e)}n(gr,"getWeekdayName");function Ct(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=0&&r<=6}n(Ct,"isValidWeekdayNumber");function Ft(r){if(typeof r!="string")return!1;let e=r.trim();return e===""?!1:v.includes(e)}n(Ft,"isValidBanglaWeekday");function $t(r){return r instanceof Date?!isNaN(r.getTime()):!1}n($t,"isValidDateForWeekday");function pr(r){return typeof r!="string"?"":r.trim()}n(pr,"sanitizeWeekdayInput");function Or(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return r===5||r===6}n(Or,"isWeekend");function Vt(r){let e=Y(r);return Or(e)}n(Vt,"isBanglaWeekend");function Pr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r+1)%7}n(Pr,"getNextWeekday");function kr(r){if(r<0||r>6)throw new Error("Weekday number must be between 0 and 6");return(r-1+7)%7}n(kr,"getPreviousWeekday");function zt(r){let e=Pr(r);return P(e)}n(zt,"getNextBanglaWeekday");function Gt(r){let e=kr(r);return P(e)}n(Gt,"getPreviousBanglaWeekday");function Ht(r){let e=pr(r);return Y(e)}n(Ht,"parseWeekdayInput");function Rt(r,e=""){try{return P(r)}catch{return e}}n(Rt,"safeToBanglaWeekday");function Yt(r,e=-1){try{return Y(r)}catch{return e}}n(Yt,"safeFromBanglaWeekday");function _t(){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"]}n(_t,"getAllBanglaWeekdays");function Ut(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}n(Ut,"getDaysBetween");function Z(r,e={}){let{includeWeekday:t=!1,includeYear:o=!0,format:i="long"}=e,s=[];if(t){let m=gr(r);s.push(m)}let a=f(r.getDate()),u=mr(r),l=o?f(r.getFullYear()):null;return i==="short"?s.push(`${a} ${u}`):s.push(a,u),l&&s.push(l),s.join(" ")}n(Z,"formatDate");function br(r){let e=r.trim().replace(/\s+/g," "),t=e.match(/^(\d+|[০-৯]+)\s+(বৈশাখ|জ্যৈষ্ঠ|আষাঢ়|শ্রাবণ|ভাদ্র|আশ্বিন|কার্তিক|অগ্রহায়ণ|পৌষ|মাঘ|ফাল্গুন|চৈত্র)(?:\s+(\d+|[০-৯]+))?$/);if(t){let i=t[1],s=t[2],a=t[3],u=/[০-৯]/.test(i)?D(i):parseInt(i,10),l=B(s),m=a?/[০-৯]/.test(a)?D(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)?D(i):parseInt(i,10),l=/[০-৯]/.test(s)?D(s):parseInt(s,10),m=/[০-৯]/.test(a)?D(a):parseInt(a,10);return new Date(m,l-1,u)}throw new Error(`Unable to parse date string: ${r}`)}n(br,"parseDate");function Lr(r,e,t=""){try{return p(r)?Z(r,e):t}catch{return t}}n(Lr,"safeFormatDate");function Vr(r,e){try{return br(r)}catch{return e||new Date}}n(Vr,"safeParseDate");function go(r){return Z(new Date,r)}n(go,"formatToday");function po(r,e){return r.map(t=>Lr(t,e))}n(po,"batchFormatDates");function bo(r){return r.map(e=>Vr(e))}n(bo,"batchParseDates");function ho(r){return lr(r)}n(ho,"canParseBengaliDate");function dr(r,e){if(!p(r)||!p(e))throw new Error("Invalid date");let t=r.getTime(),o=e.getTime();return t<o?-1:t>o?1:0}n(dr,"compareDates");function xo(r){if(!p(r))return!1;let e=new Date;return r.getDate()===e.getDate()&&r.getMonth()===e.getMonth()&&r.getFullYear()===e.getFullYear()}n(xo,"isToday");function yo(r){return p(r)?r.getTime()<Date.now():!1}n(yo,"isPast");function wo(r){return p(r)?r.getTime()>Date.now():!1}n(wo,"isFuture");function Do(r,e){if(!p(r)||!p(e))throw new Error("Invalid date");let t=e.getTime()-r.getTime();return Math.floor(t/(1e3*60*60*24))}n(Do,"getDaysDifference");function Bo(r,e){if(!p(r))throw new Error("Invalid date");let t=new Date(r);return t.setDate(t.getDate()+e),t}n(Bo,"addDays");function No(r,e,t){return!p(r)||!p(e)||!p(t)?!1:dr(r,e)>=0&&dr(r,t)<=0}n(No,"isDateInRange");function _(r){if(r<1||r>12)throw new Error("Month number must be between 1 and 12");return r>=1&&r<=2?b[0]:r>=3&&r<=5?b[1]:r>=6&&r<=7?b[2]:r===8?b[3]:r>=9&&r<=10?b[4]:b[5]}n(_,"getSeasonFromMonth");function k(r){let{year:e,month:t,day:o}=r,i=W(e);if(t<1||t>12)throw new Error("Invalid Bengali month");if(o<1||o>i[t-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<t;l++)u+=i[l-1];return u+=o-1,new Date(a.getTime()+u*864e5)}n(k,"fromBengali");function hr(r,e={}){let{includeYear:t=!0,includeWeekday:o=!1}=e,i=M(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),x(i.month),...t?[f(i.year)]:[]].join(" ")}n(hr,"getBengaliDate");function C(r){return typeof r=="number"&&Number.isInteger(r)&&r>0&&isFinite(r)}n(C,"isValidBengaliYear");function L(r){return typeof r=="number"&&Number.isInteger(r)&&r>=1&&r<=12}n(L,"isValidBengaliMonth");function zr(r,e,t){if(typeof r!="number"||!Number.isInteger(r)||r<1||!L(e)||!C(t))return!1;let o=W(t);return r<=o[e-1]}n(zr,"isValidBengaliDay");function y(r){if(!r||typeof r!="object")return!1;let{year:e,month:t,day:o}=r;return C(e)&&L(t)&&zr(o,t,e)}n(y,"isValidBengaliDate");function Ro(r){return y(r)?r:null}n(Ro,"sanitizeBengaliDate");function Gr(r,e){try{return!(r instanceof Date)||isNaN(r.getTime())?e||M(new Date):M(r)}catch{return e||M(new Date)}}n(Gr,"safeToBengali");function Xo(r,e){try{return y(r)?k(r):e||new Date}catch{return e||new Date}}n(Xo,"safeFromBengali");function Hr(r,e){return!L(r)||!C(e)?0:W(e)[r-1]}n(Hr,"getBengaliMonthDays");function Zo(r,e){if(!y(r))throw new Error("Invalid Bengali date");let t=k(r),o=new Date(t.getTime()+e*864e5);return M(o)}n(Zo,"addDaysToBengaliDate");function Jo(r,e){if(!y(r)||!y(e))throw new Error("Invalid Bengali date");let t=k(r),o=k(e);return Math.floor((o.getTime()-t.getTime())/864e5)}n(Jo,"getBengaliDateDifference");function xr(r,e){if(!y(r)||!y(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}n(xr,"compareBengaliDates");function Qo(r,e,t){return!y(r)||!y(e)||!y(t)?!1:xr(r,e)>=0&&xr(r,t)<=0}n(Qo,"isBengaliDateInRange");function ri(r,e){if(!L(r)||!C(e))throw new Error("Invalid month or year");return{year:e,month:r,day:1}}n(ri,"getFirstDayOfBengaliMonth");function ei(r,e){if(!L(r)||!C(e))throw new Error("Invalid month or year");let t=Hr(r,e);return{year:e,month:r,day:t}}n(ei,"getLastDayOfBengaliMonth");function ni(r){if(!C(r))return!1;let e=r+593;return e%4===0&&e%100!==0||e%400===0}n(ni,"isBengaliLeapYear");function ti(r,e){if(!y(r))throw new Error("Invalid Bengali date");let t=k(r);return hr(t,e)}n(ti,"formatBengaliDate");function oi(){return M(new Date)}n(oi,"getCurrentBengaliDate");function ii(r){return r.map(e=>Gr(e))}n(ii,"batchToBengali");function W(r){let e=r+593;return[31,31,31,31,31,30,30,30,30,30,e%4===0&&e%100!==0||e%400===0?30:29,30]}n(W,"getBengaliMonthLengths");function M(r){let e=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())),t=e.getUTCFullYear(),o=e.getUTCMonth()+1,i=e.getUTCDate(),s=[{gMonth:1,gDay:14,bMonth:10},{gMonth:2,gDay:14,bMonth:11},{gMonth:3,gDay:15,bMonth:12},{gMonth:4,gDay:14,bMonth:1}],a=o<4||o===4&&i<14,u=t-(a?594:593);for(let A of s)if(o===A.gMonth&&i===A.gDay)return{year:u,month:A.bMonth,day:1};let l=s[3],m=t;for(let A=s.length-1;A>=0;A--){let R=s[A];if(o>R.gMonth||o===R.gMonth&&i>R.gDay){l=R;break}}o===1&&i<14&&(l=s[3],m--);let g=new Date(Date.UTC(m,l.gMonth-1,l.gDay)),H=Math.floor((e.getTime()-g.getTime())/864e5),V=W(u),h=l.bMonth-1,j=H;for(;j>=V[h];)j-=V[h],h=(h+1)%12;return{year:u,month:h+1,day:j+1}}n(M,"toBengali");function G(r){let e=M(r);return _(e.month)}n(G,"getSeason");function di(r){return typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r)?!1:r>=1&&r<=12}n(di,"isValidMonth");function hi(r){if(typeof r!="string")return!1;let e=r.trim();return e===""?!1:b.includes(e)}n(hi,"isValidSeasonName");function xi(r){return r instanceof Date?!isNaN(r.getTime()):!1}n(xi,"isValidDateForSeason");function Ii(){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"]}n(Ii,"getAllSeasons");function yr(r){let t={\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(!t)throw new Error(`Invalid season name: ${r}`);return t}n(yr,"getSeasonMonths");function J(r){return b.indexOf(r)}n(J,"getSeasonIndex");function Mi(r){if(r<0||r>5)throw new Error("Season index must be between 0 and 5");return b[r]}n(Mi,"getSeasonByIndex");function Ei(r,e){if(r<1||r>12)return!1;try{return yr(e).includes(r)}catch{return!1}}n(Ei,"isMonthInSeason");function Si(r){let e=J(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let t=(e+1)%6;return b[t]}n(Si,"getNextSeason");function Ti(r){let e=J(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let t=(e-1+6)%6;return b[t]}n(Ti,"getPreviousSeason");function Ai(r,e=""){if(!(r instanceof Date)||isNaN(r.getTime()))return e;try{return G(r)}catch{return e}}n(Ai,"safeGetSeason");function Wi(r,e=""){try{return _(r)}catch{return e}}n(Wi,"safeGetSeasonFromMonth");function Ci(){return G(new Date)}n(Ci,"getCurrentSeason");function Fi(r,e){let t=G(r),o=G(e);return t===o}n(Fi,"isSameSeason");function $i(r){let e=J(r);if(e===-1)throw new Error(`Invalid season name: ${r}`);let t=yr(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=t.map(s=>o[s]);return{name:r,months:t,index:e,monthNames:i}}n($i,"getSeasonInfo");function w(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`}n(w,"toOrdinal");function d(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)&&Number.isInteger(r)&&r>=1}n(d,"isValidOrdinal");function Yi(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")}n(Yi,"isBanglaOrdinal");function _i(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}n(_i,"hasSpecialOrdinal");function wr(r){if(typeof r=="string"){let t=r.trim();if(t==="")return null;let o=Number(t);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}n(wr,"sanitizeOrdinalInput");function Ui(r){return d(r)&&r>=1&&r<=100}n(Ui,"isInSpecialOrdinalRange");function Zi(r,e=""){try{return d(r)?w(r):e}catch{return e}}n(Zi,"safeToOrdinal");function Ji(r){return r.filter(e=>d(e)).map(e=>w(e))}n(Ji,"batchToOrdinal");function Qi(r){let e=wr(r);if(e===null)throw new Error("Invalid input for ordinal conversion");return w(e)}n(Qi,"parseAndConvertToOrdinal");function rs(){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:w(e)}))}n(rs,"getSpecialOrdinals");function es(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 t=[];for(let o=r;o<=e;o++)t.push(w(o));return t}n(es,"getOrdinalSequence");function ns(r,e={}){let{separator:t=" ",showNumber:o=!0}=e,i=w(r);return o?`${r}${t}${i}`:i}n(ns,"formatOrdinal");function ts(r){if(!d(r))throw new Error("Number must be a valid positive integer");let e=w(r);return e.endsWith("\u09A4\u09AE")&&/[০-৯]/.test(e)?"suffix":"special"}n(ts,"getOrdinalType");function os(r,e){let t=w(r);return e?`${t} ${e}`:t}n(os,"getRanking");function is(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}n(is,"compareOrdinals");function ss(r){if(!d(r))throw new Error("Current must be a valid positive integer");return w(r+1)}n(ss,"getNextOrdinal");function as(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 w(r-1)}n(as,"getPreviousOrdinal");function us(r,e=1){if(!d(e))throw new Error("startFrom must be a valid positive integer");return r.map((t,o)=>{let i=e+o;return{position:i,ordinal:w(i),item:t}})}n(us,"createOrdinalList");function Q(r,e={}){let{includeSeconds:t=!1,use12Hour:o=!1}=e,i,s,a;if(typeof r=="string"){let h=r.split(":");if(i=parseInt(h[0],10),s=parseInt(h[1],10),a=h[2]?parseInt(h[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")),H=[m,g];if(t){let h=f(a.toString().padStart(2,"0"));H.push(h)}let V=H.join(":");return l?`${V} ${l}`:V}n(Q,"formatTime");function Dr(r,e=new Date){let t=r.getTime()-e.getTime(),o=Math.floor(t/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`}}}n(Dr,"relativeTime");function ys(r,e=new Date){let t=new Date(e);t.setHours(0,0,0,0);let o=new Date(r);o.setHours(0,0,0,0);let i=Math.floor((o.getTime()-t.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":""}n(ys,"relativeDay");function Br(r){if(typeof r!="string")return!1;let e=r.trim();if(e==="")return!1;let t=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/,o=e.match(t);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)}n(Br,"isValidTimeString");function Ns(r){return p(r)||Br(r)}n(Ns,"isValidTimeInput");function Is(r){return Br(r)?r.trim().split(":").length===3:!1}n(Is,"hasSeconds");function Nr(r){return typeof r!="string"?"":r.trim()}n(Nr,"sanitizeTimeInput");function Ir(r){let t=Nr(r).split(":"),o=parseInt(t[0],10),i=parseInt(t[1],10),s=t[2]?parseInt(t[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}}n(Ir,"parseTime");function T(r){let{hours:e,minutes:t,seconds:o}=Ir(r);return e*3600+t*60+o}n(T,"timeToSeconds");function Rr(r){if(r<0||r>=86400)throw new Error("Seconds must be between 0 and 86399");let e=Math.floor(r/3600),t=Math.floor(r%3600/60),o=r%60;return`${e.toString().padStart(2,"0")}:${t.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}n(Rr,"secondsToTime");function Ws(r,e){let t=T(r),o=T(e);return t<o?-1:t>o?1:0}n(Ws,"compareTimes");function Cs(r,e,t){let o=T(r),i=T(e),s=T(t);return o>=i&&o<=s}n(Cs,"isTimeInRange");function Fs(r,e){let o=T(r)+e*60;return o=(o%86400+86400)%86400,Rr(o)}n(Fs,"addMinutesToTime");function $s(r,e){let t=T(r),o=T(e);return Math.floor((o-t)/60)}n($s,"timeDifferenceMinutes");function vs(r,e={},t=""){try{return Q(r,e)}catch{return t}}n(vs,"safeFormatTime");function Os(r,e=new Date,t=""){try{return Dr(r,e)}catch{return t}}n(Os,"safeRelativeTime");function Ps(r){let e;if(typeof r=="string"){let{hours:t}=Ir(r);e=t}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"}n(Ps,"getTimePeriod");function ks(r={}){return Q(new Date,r)}n(ks,"getCurrentTimeBangla");function Ls(r,e){return r.getFullYear()===e.getFullYear()&&r.getMonth()===e.getMonth()&&r.getDate()===e.getDate()}n(Ls,"isSameDay");function rr(r,e={}){let{includeCountryCode:t=!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,"")),t&&(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)}`),t&&(u="+\u09EE\u09EE\u09E6 "+u)),u}n(rr,"formatPhone");function er(r){let e=r.replace(/\D/g,""),t=e;if(e.startsWith("880")?t=e.slice(3):e.startsWith("+880")&&(t=e.slice(4)),t.length!==10&&t.length!==11||!t.startsWith("01")&&t.length===11||t.length===10&&!t.startsWith("1"))return!1;let o=t.length===11?t.slice(0,3):"0"+t.slice(0,2);return["013","014","015","016","017","018","019"].includes(o)}n(er,"validatePhone");function ea(r){return["013","014","015","016","017","018","019"].includes(r)}n(ea,"isValidOperatorCode");function na(r){let e=r.trim();return e.startsWith("+880")||e.startsWith("880")}n(na,"hasCountryCode");function Mr(r){if(typeof r!="string")return"";let e=r.trim(),t=e.startsWith("+");return e=e.replace(/\D/g,""),t&&(e="+"+e),e}n(Mr,"sanitizePhoneNumber");function ta(r){return typeof r!="string"?!1:/^[\d\s\-()+ ]+$/.test(r.trim())}n(ta,"isValidPhoneFormat");function ua(r){if(!er(r))return null;let e=r.replace(/\D/g,""),t=e;e.startsWith("880")&&(t=e.slice(3));let o=t.length===11?t.slice(0,3):"0"+t.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}n(ua,"getOperator");function Yr(r){if(!er(r))throw new Error("Invalid phone number");let e=r,t=r.replace(/\D/g,""),o=t,i="880";t.startsWith("880")&&(o=t.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}}n(Yr,"parsePhoneNumber");function U(r){return Yr(r).fullNumber}n(U,"normalizePhoneNumber");function fa(r,e="plus"){let o=U(r).slice(1);return e==="plus"?`+880${o}`:`880${o}`}n(fa,"addCountryCode");function ma(r){return U(r)}n(ma,"removeCountryCode");function la(r,e={},t=""){try{return rr(r,e)}catch{return t}}n(la,"safeFormatPhone");function ca(r,e){try{let t=U(r),o=U(e);return t===o}catch{return!1}}n(ca,"isSameNumber");function ga(){return["013","014","015","016","017","018","019"]}n(ga,"getAllOperatorCodes");function pa(){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"}]}n(pa,"getAllOperators");function ba(r,e={}){let t=Mr(r);return rr(t,e)}n(ba,"parseAndFormat");function Ba(r){return/^[\u0980-\u09FF\s]+$/.test(r)}n(Ba,"validateBangla");function Er(r){return/[০-৯]/.test(r)}n(Er,"isBanglaDigit");function Sa(r){return/[\u0980-\u09FF]/.test(r)}n(Sa,"isBanglaText");function _r(r){let e=r.match(/[\u0980-\u09FF]/g);return e?e.length:0}n(_r,"countBengaliCharacters");function Ca(r){let e=r.match(/[০-৯]/g);return e?e.length:0}n(Ca,"countBengaliDigits");function Fa(r){let e=/[\u0980-\u09FF]/.test(r),t=/[a-zA-Z0-9]/.test(r);return e&&t}n(Fa,"isMixedContent");function Sr(r,e=!1){return e?r.replace(/[^\u0980-\u09FF\s]/g,"").trim():r.replace(/[^\u0980-\u09FF]/g,"")}n(Sr,"extractBengaliChars");function Ur(r){return r.replace(/[\u0980-\u09FF]/g,"")}n(Ur,"removeBengaliChars");function jr(r){let e=r.replace(/\s/g,"");if(e.length===0)return 0;let t=_r(r);return Math.round(t/e.length*100)}n(jr,"getBengaliPercentage");function $a(r){return jr(r)>50}n($a,"isPrimarilyBengali");function va(r,e=!0,t=""){let o=Sr(r,e);return o.length>0?o:t}n(va,"sanitizeBengaliText");function Oa(r){return/\d|[০-৯]/.test(r)?!/\d/.test(r)&&Er(r):!1}n(Oa,"hasOnlyBengaliDigits");function Pa(r){return r.replace(/\s+/g," ").trim()}n(Pa,"normalizeWhitespace");function ka(r){return{bengali:Sr(r,!0).trim(),nonBengali:Ur(r).trim()}}n(ka,"splitBengaliContent");function La(r){return/[ক-হড়ঢ়য়ৎ]/.test(r)}n(La,"hasBengaliConsonants");function Va(r){return/[অ-ঔা-ৌ]/.test(r)}n(Va,"hasBengaliVowels");export{F as BANGLA_DIGITS,E as BANGLA_MONTHS,b as BANGLA_SEASONS,v as BANGLA_WEEKDAYS,$ as ENGLISH_DIGITS,fa as addCountryCode,Bo as addDays,Zo as addDaysToBengaliDate,Fs as addMinutesToTime,yn as addTax,xn as applyDiscount,dn as batchFormatCurrency,po as batchFormatDates,Fe as batchFromBanglaNumber,bo as batchParseDates,lt as batchToBanglaMonth,Ce as batchToBanglaNumber,ii as batchToBengali,Ji as batchToOrdinal,fr as calculatePercentage,ho as canParseBengaliDate,xr as compareBengaliDates,Dn as compareCurrency,dr as compareDates,at as compareMonths,is as compareOrdinals,Ws as compareTimes,ke as convertToWordsAndDigits,_r as countBengaliCharacters,Ca as countBengaliDigits,us as createOrdinalList,$r as divideCurrency,Sr as extractBengaliChars,Pe as formatAndConvert,ti as formatBengaliDate,z as formatCurrency,Z as formatDate,ir as formatNumber,ns as formatOrdinal,rr as formatPhone,Q as formatTime,go as formatToday,ge as formatWithUnits,B as fromBanglaMonth,D as fromBanglaNumber,Y as fromBanglaWeekday,k as fromBengali,Bn as getAbsoluteAmount,_t as getAllBanglaWeekdays,tt as getAllMonths,ga as getAllOperatorCodes,pa as getAllOperators,Ii as getAllSeasons,hr as getBengaliDate,Jo as getBengaliDateDifference,Hr as getBengaliMonthDays,W as getBengaliMonthLengths,jr as getBengaliPercentage,oi as getCurrentBengaliDate,Ci as getCurrentSeason,ks as getCurrentTimeBangla,Ut as getDaysBetween,Do as getDaysDifference,ri as getFirstDayOfBengaliMonth,ei as getLastDayOfBengaliMonth,ft as getMonthFromIndex,ut as getMonthIndex,ct as getMonthMapping,mr as getMonthName,vr as getMonthRange,zt as getNextBanglaWeekday,ot as getNextMonth,ss as getNextOrdinal,Si as getNextSeason,Pr as getNextWeekday,ua as getOperator,es as getOrdinalSequence,ts as getOrdinalType,Gt as getPreviousBanglaWeekday,it as getPreviousMonth,as as getPreviousOrdinal,Ti as getPreviousSeason,kr as getPreviousWeekday,os as getRanking,G as getSeason,Mi as getSeasonByIndex,_ as getSeasonFromMonth,J as getSeasonIndex,$i as getSeasonInfo,yr as getSeasonMonths,rs as getSpecialOrdinals,Ps as getTimePeriod,gr as getWeekdayName,La as hasBengaliConsonants,Gn as hasBengaliDigits,Hn as hasBengaliMonth,Va as hasBengaliVowels,na as hasCountryCode,Oa as hasOnlyBengaliDigits,Is as hasSeconds,_i as hasSpecialOrdinal,an as hasTakaSymbol,un as hasTakaWord,Cr as isBanglaCurrency,Er as isBanglaDigit,Yi as isBanglaOrdinal,Sa as isBanglaText,Vt as isBanglaWeekend,Qo as isBengaliDateInRange,ni as isBengaliLeapYear,sn as isCurrencyInRange,No as isDateInRange,wo as isFuture,Ui as isInSpecialOrdinalRange,Fa as isMixedContent,st as isMonthInRange,Ei as isMonthInSeason,tn as isNegativeAmount,Le as isNumberInRange,yo as isPast,nn as isPositiveAmount,$a as isPrimarilyBengali,Ls as isSameDay,ca as isSameNumber,Fi as isSameSeason,Cs as isTimeInRange,xo as isToday,N as isValidBanglaMonth,we as isValidBanglaNumber,Ft as isValidBanglaWeekday,y as isValidBengaliDate,lr as isValidBengaliDateString,zr as isValidBengaliDay,L as isValidBengaliMonth,C as isValidBengaliYear,c as isValidCurrency,p as isValidDate,xi as isValidDateForSeason,$t as isValidDateForWeekday,di as isValidMonth,I as isValidMonthNumber,De as isValidNumber,Ne as isValidNumberForOrdinal,Be as isValidNumberForWords,ea as isValidOperatorCode,d as isValidOrdinal,ta as isValidPhoneFormat,hi as isValidSeasonName,Ns as isValidTimeInput,Br as isValidTimeString,Ct as isValidWeekdayNumber,Or as isWeekend,on as isZeroAmount,hn as multiplyCurrency,Nn as negateAmount,U as normalizePhoneNumber,Pa as normalizeWhitespace,Oe as parseAndConvertToBangla,mt as parseAndConvertToMonth,Qi as parseAndConvertToOrdinal,ba as parseAndFormat,In as parseAndFormatCurrency,X as parseCurrency,br as parseDate,Yr as parsePhoneNumber,Ir as parseTime,Ht as parseWeekdayInput,ys as relativeDay,Dr as relativeTime,Ur as removeBengaliChars,ma as removeCountryCode,S as roundCurrency,pn as safeFormatCurrency,Lr as safeFormatDate,la as safeFormatPhone,vs as safeFormatTime,nt as safeFromBanglaMonth,ve as safeFromBanglaNumber,Yt as safeFromBanglaWeekday,Xo as safeFromBengali,Ai as safeGetSeason,Wi as safeGetSeasonFromMonth,bn as safeParseCurrency,Vr as safeParseDate,Os as safeRelativeTime,et as safeToBanglaMonth,$e as safeToBanglaNumber,Rt as safeToBanglaWeekday,Gr as safeToBengali,Zi as safeToOrdinal,jn as sanitizeBanglaMonth,Ro as sanitizeBengaliDate,va as sanitizeBengaliText,ar as sanitizeCurrencyInput,Rn as sanitizeDate,cr as sanitizeMonthNumber,sr as sanitizeNumberInput,wr as sanitizeOrdinalInput,Mr as sanitizePhoneNumber,Nr as sanitizeTimeInput,pr as sanitizeWeekdayInput,Rr as secondsToTime,wn as splitAmount,ka as splitBengaliContent,ur as subtractCurrency,Fr as sumCurrency,$s as timeDifferenceMinutes,T as timeToSeconds,x as toBanglaMonth,f as toBanglaNumber,P as toBanglaWeekday,M as toBengali,w as toOrdinal,q as toWords,Ve as truncateDecimals,Ba as validateBangla,er as validatePhone};
|
|
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};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|