bongabdo
Version:
Modern TypeScript library for converting Gregorian dates to Bengali calendar (বঙ্গাব্দ)
2 lines • 3.02 kB
JavaScript
'use strict';var D=["\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"],_=["\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"],m=["\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"],S=[31,31,31,31,31,30,30,30,30,30,30,30],T={0:"\u09E6",1:"\u09E7",2:"\u09E8",3:"\u09E9",4:"\u09EA",5:"\u09EB",6:"\u09EC",7:"\u09ED",8:"\u09EE",9:"\u09EF"},u="DD MM, YY",Y=593,i=3,O=14,M=13;function E(t){return t%4===0&&t%100!==0||t%400===0}function L(t,e){let n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor((r-n)/864e5)}function N(t){return t.replace(/\d/g,e=>T[e]||e)}function c(t){if(t instanceof Date)return new Date(t);if(typeof t=="string"){let e=new Date(t);if(isNaN(e.getTime()))throw new Error(`Invalid date string: ${t}`);return e}return new Date}function x(t){let e=new Date(t);return e.setHours(e.getHours()-6),e}function p(t){let e=x(t),s=e.getDate(),n=e.getMonth(),r=e.getFullYear(),l=e.getDay(),a=[...S];E(r)&&(a[10]=31);let o=r;(n<i||n===i&&s<O)&&(o=r-1);let d=o-Y,G=new Date(o,i,M),f=L(G,e),B=0;for(let g=0;g<D.length;g++){if(f<=a[g]){B=g;break}f-=a[g];}let F=f,W=D[B],h=_[l],b=m[Math.floor(B/2)];return {year:d,date:F,month:W,day:h,season:b}}function A(t,e={}){let{format:s=u,showSeason:n=false,showWeekDays:r=false,convertToBanglaDigits:l=true}=e,a={DD:t.date.toString(),MM:t.month,YY:t.year.toString(),WW:t.day,SS:t.season},o=s;return o=o.replace(/DD/g,a.DD),o=o.replace(/MM/g,a.MM),o=o.replace(/YY/g,a.YY),r?o=o.replace(/WW/g,a.WW):o=o.replace(/WW/g,""),n?o=o.replace(/SS/g,a.SS):o=o.replace(/SS/g,""),o=o.replace(/\[\s*\]/g,"").replace(/\(\s*\)/g,"").replace(/\s+/g," ").trim(),l&&(o=N(o)),o}function $(t,e={}){let s=c(t),n=p(s);return A(n,e)}function q(t){let e=c(t);return p(e)}function z(t,e={}){return A(t,e)}exports.BANGLA_DIGITS=T;exports.BANGLA_MONTHS=D;exports.BANGLA_SEASONS=m;exports.DEFAULT_FORMAT=u;exports.TOTAL_MONTH_DAYS=S;exports.WEEK_DAYS=_;exports.bongabdo=$;exports.convertToBanglaDate=p;exports.convertToBanglaDigits=N;exports.formatBanglaDate=A;exports.formatBanglaDateOnly=z;exports.getBanglaDate=q;exports.isLeapYear=E;exports.parseDateInput=c;//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map