nepali-date-library 1.1.0 → 1.1.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.
@@ -182,6 +182,20 @@ export declare class NepaliDate {
182
182
  * @returns A new NepaliDate set to the end of the day
183
183
  */
184
184
  endOfDay(): NepaliDate;
185
+ /**
186
+ * Returns a new NepaliDate representing the start of the week containing this date
187
+ * By default, weeks start on Sunday (day 0)
188
+ * @param startOfWeek Day to consider as start of week (0-6, where 0 = Sunday, 1 = Monday, etc.)
189
+ * @returns A new NepaliDate set to the first day of the week
190
+ */
191
+ startOfWeek(startOfWeek?: number): NepaliDate;
192
+ /**
193
+ * Returns a new NepaliDate representing the end of the week containing this date
194
+ * By default, weeks end on Saturday (day 6)
195
+ * @param startOfWeek Day to consider as start of week (0-6, where 0 = Sunday, 1 = Monday, etc.)
196
+ * @returns A new NepaliDate set to the last day of the week
197
+ */
198
+ endOfWeek(startOfWeek?: number): NepaliDate;
185
199
  /**
186
200
  * Returns a new NepaliDate representing the start of the current month (1st day)
187
201
  * @returns A new NepaliDate set to the first day of the month
@@ -286,4 +300,96 @@ export declare class NepaliDate {
286
300
  * @returns true if dates are the same for the specified unit, false otherwise
287
301
  */
288
302
  isSame(date: NepaliDate, unit: 'year' | 'month' | 'day'): boolean;
303
+ /**
304
+ * Returns the start and end dates for a specific quarter in the specified year
305
+ * @param quarter Quarter number (1-4)
306
+ * @param year Nepali year (defaults to current year if not specified)
307
+ * @returns Object containing start and end dates for the specified quarter
308
+ * @throws Error if quarter is not between 1 and 4
309
+ */
310
+ static getQuarter(quarter: number, year?: number): {
311
+ start: NepaliDate;
312
+ end: NepaliDate;
313
+ };
314
+ /**
315
+ * Returns the quarter number (1-4) for the current date
316
+ * @returns Quarter number (1-4)
317
+ */
318
+ getCurrentQuarter(): number;
319
+ /**
320
+ * Returns all quarters for a specified fiscal year
321
+ * @param year Fiscal year (defaults to current fiscal year if not specified)
322
+ * @returns Object containing start and end dates for each quarter of the fiscal year
323
+ */
324
+ static getQuarters(year?: number): {
325
+ Q1: {
326
+ start: NepaliDate;
327
+ end: NepaliDate;
328
+ };
329
+ Q2: {
330
+ start: NepaliDate;
331
+ end: NepaliDate;
332
+ };
333
+ Q3: {
334
+ start: NepaliDate;
335
+ end: NepaliDate;
336
+ };
337
+ Q4: {
338
+ start: NepaliDate;
339
+ end: NepaliDate;
340
+ };
341
+ };
342
+ /**
343
+ * Returns the current fiscal year based on the current date
344
+ * Nepali fiscal year starts from Shrawan 1st (month 3, day 1)
345
+ * @returns Current fiscal year
346
+ */
347
+ static getCurrentFiscalYear(): number;
348
+ /**
349
+ * Returns the start and end dates for a specific fiscal year quarter
350
+ * @param quarter Fiscal year quarter number (1-4)
351
+ * @param fiscalYear Fiscal year (defaults to current fiscal year if not specified)
352
+ * @returns Object containing start and end dates for the specified fiscal year quarter
353
+ * @throws Error if quarter is not between 1 and 4
354
+ */
355
+ static getFiscalYearQuarter(quarter: number, fiscalYear?: number): {
356
+ start: NepaliDate;
357
+ end: NepaliDate;
358
+ };
359
+ /**
360
+ * Returns the current fiscal year quarter number (1-4) for the current date
361
+ * @returns Current fiscal year quarter number (1-4)
362
+ */
363
+ getCurrentFiscalYearQuarter(): number;
364
+ /**
365
+ * Returns the start and end dates of the current fiscal year quarter
366
+ * @returns Object containing start and end dates of the current fiscal year quarter
367
+ */
368
+ getCurrentFiscalYearQuarterDates(): {
369
+ start: NepaliDate;
370
+ end: NepaliDate;
371
+ };
372
+ /**
373
+ * Returns all quarters for a specified fiscal year
374
+ * @param fiscalYear Fiscal year (defaults to current fiscal year if not specified)
375
+ * @returns Object containing start and end dates for each quarter of the fiscal year
376
+ */
377
+ static getFiscalYearQuarters(fiscalYear?: number): {
378
+ Q1: {
379
+ start: NepaliDate;
380
+ end: NepaliDate;
381
+ };
382
+ Q2: {
383
+ start: NepaliDate;
384
+ end: NepaliDate;
385
+ };
386
+ Q3: {
387
+ start: NepaliDate;
388
+ end: NepaliDate;
389
+ };
390
+ Q4: {
391
+ start: NepaliDate;
392
+ end: NepaliDate;
393
+ };
394
+ };
289
395
  }
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var a in t)v(e,a,{get:t[a],enumerable:!0})},V=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of C(t))!k.call(e,s)&&s!==a&&v(e,s,{get:()=>t[s],enumerable:!(r=B(t,s))||r.enumerable});return e};var q=e=>V(v({},"__esModule",{value:!0}),e);var t3={};L(t3,{ADtoBS:()=>F,BStoAD:()=>K,MONTH_EN:()=>c,MONTH_NP:()=>T,MONTH_SHORT_EN:()=>p,MONTH_SHORT_NP:()=>f,NEPALI_DATE_MAP:()=>y,NUMBER_NP:()=>_,NepaliDate:()=>d,WEEK_EN:()=>m,WEEK_NP:()=>N,WEEK_SHORT_EN:()=>D,WEEK_SHORT_NP:()=>w});module.exports=q(t3);var y=[{year:2e3,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2001,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2002,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2003,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2004,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2005,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2006,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2007,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2008,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2009,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2010,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2011,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2012,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2013,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2014,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2015,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2016,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2017,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2018,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2019,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2020,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2021,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2022,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2023,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2024,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2025,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2026,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2027,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2028,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2029,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2030,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2031,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2032,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2033,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2034,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2035,days:[30,32,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2036,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2037,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2038,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2039,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2040,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2041,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2042,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2043,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2044,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2045,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2046,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2047,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2048,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2049,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2050,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2051,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2052,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2053,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2054,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2055,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2056,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2057,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2058,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2059,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2060,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2061,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2062,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2063,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2064,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2065,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2066,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2067,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2068,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2069,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2070,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2071,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2072,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2073,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2074,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2075,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2076,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2077,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2078,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2079,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2080,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2081,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2082,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2083,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2084,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2085,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2086,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2087,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2088,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2089,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2090,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2091,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2092,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2093,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2094,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2095,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2096,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2097,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2098,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2099,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2100,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0}],A=0;y.forEach(e=>{e.totalDays=e.days.reduce((t,a)=>t+a,0),A+=e.totalDays,e.daysTillNow=A});var E=new Date(1943,3,14).getTime(),m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],D=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N=["\u0906\u0907\u0924\u092C\u093E\u0930","\u0938\u094B\u092E\u092C\u093E\u0930","\u092E\u0902\u0917\u0932\u092C\u093E\u0930","\u092C\u0941\u0927\u092C\u093E\u0930","\u092C\u093F\u0939\u093F\u092C\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u092C\u093E\u0930","\u0936\u0928\u093F\u092C\u093E\u0930"],w=["\u0906\u0907\u0924","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u092C\u093F\u0939\u093F","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],c=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],p=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],T=["\u092C\u0948\u0936\u093E\u0916","\u091C\u0947\u0920","\u0905\u0938\u093E\u0930","\u0936\u094D\u0930\u093E\u0935\u0923","\u092D\u093E\u0926\u094D\u0930","\u0906\u0936\u094D\u0935\u093F\u0928","\u0915\u093E\u0930\u094D\u0924\u093F\u0915","\u092E\u0902\u0938\u093F\u0930","\u092A\u094C\u0937","\u092E\u093E\u0918","\u092B\u093E\u0932\u094D\u0917\u0941\u0923","\u091A\u0948\u0924\u094D\u0930"],f=["\u092C\u0948","\u091C\u0947","\u0905","\u0936\u094D\u0930\u093E","\u092D\u093E","\u0906","\u0915\u093E","\u092E\u0902","\u092A\u094C","\u092E\u093E","\u092B\u093E","\u091A\u0948"],_=["\u0966","\u0967","\u0968","\u0969","\u096A","\u096B","\u096C","\u096D","\u096E","\u096F"];function S(e){return e<10?`0${e}`:`${e}`}function h(e){let t="";for(let a=0;a<e.length;a+=1)t+=_[e.charCodeAt(a)-48];return t}function U(e){return t=>e<=2?String(t.getYear()).substring(2):e===3?String(t.getYear()).substring(1):String(t.getYear())}function j(e){return t=>e<=2?h(String(t.getYear()).substring(2)):h(e===3?String(t.getYear()).substring(1):String(t.getYear()))}function J(e){return t=>e===1?String(t.getMonth()+1):e===2?S(t.getMonth()+1):e===3?p[t.getMonth()]:c[t.getMonth()]}function Q(e){return t=>e===1?h(String(t.getMonth()+1)):e===2?h(S(t.getMonth()+1)):e===3?f[t.getMonth()]:T[t.getMonth()]}function G(e){return t=>e===1?String(t.getDate()):e===2?S(t.getDate()):e===3?D[t.getDay()]:m[t.getDay()]}function X(e){return t=>e===1?h(String(t.getDate())):e===2?h(S(t.getDate())):e===3?w[t.getDay()]:N[t.getDay()]}function R(e){return()=>e}var P={Y:U,y:j,M:J,m:Q,D:G,d:X};function Z(e){return e in P}function z(e){let t=!1,a="",r="",s=0,n=[];for(let o=0;o<e.length;o+=1){let i=e[o];if(i===r){s+=1;continue}if(r!==""&&(n.push(P[r](s)),r="",s=0),i==='"'){t=!t;continue}!Z(i)||t?a+=i:(a&&(n.push(R(a)),a=""),r=i,s=1)}return a?n.push(R(a)):r&&n.push(P[r](s)),n}function Y(e,t){return z(t).map(a=>a(e)).join("")}function W(e){let t=e.split(/[-./]/,3),[a,r=0,s=1]=t.map(o=>{let i=parseInt(o,10);if(Number.isNaN(i))throw new Error("Invalid date");return i});if(a<y[0].year||a>=y[0].year+y.length)throw new Error("Nepal year out of range");if(r<0||r>11)throw new Error("Invalid nepali month must be between 0 - 11");let n=y[a-y[0].year].days[r-1];if(s<1||s>n)throw new Error(`Invalid nepali date must be between 1 - ${n} in ${a} ${r}`);return[a,r-1,s]}var d=class e{timestamp;year;month;day;constructor(...t){if(t.length===0)this.setEnglishDate(new Date);else if(t.length===1){let a=t[0];if(typeof a=="object")if(a instanceof Date)this.setEnglishDate(a);else if(a instanceof e)this.timestamp=a.timestamp,this.year=a.year,this.month=a.month,this.day=a.day;else throw new Error("Invalid date argument");else if(typeof a=="string")this.set(...W(a));else if(typeof a=="number")this.setEnglishDate(new Date(a));else throw new Error("Invalid date argument")}else if(t.length===3)this.set(t[0],t[1],t[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(t){this.timestamp=t;let a=Math.floor((this.timestamp.getTime()-E)/864e5),r=Math.floor(a/366);for(;a>=y[r].daysTillNow;)r+=1;let s=y[r-1]?y[r-1].daysTillNow:0;a-=s;let n=y[r];for(this.year=n.year,this.month=0;a>=n.days[this.month];)this.month+=1,a-=n.days[this.month-1];this.day=a+1}getEnglishDate(){return this.timestamp}parse(t){this.set(...W(t))}getYear(){return this.year}getMonth(){return this.month}getDate(){return this.day}getDay(){return this.timestamp.getDay()}getHours(){return this.timestamp.getHours()}getMinutes(){return this.timestamp.getMinutes()}getSeconds(){return this.timestamp.getSeconds()}getMilliseconds(){return this.timestamp.getMilliseconds()}getTime(){return this.timestamp.getTime()}setYear(t){this.set(t,this.month,this.day)}setMonth(t){this.set(this.year,t,this.day)}setDate(t){this.set(this.year,this.month,t)}set(t,a,r){let s=t+Math.floor(a/12)-y[0].year,n=y[s],o=n.daysTillNow-n.totalDays,i=a%12,u=i<0?12+i:i;for(let b=0;b<u;b+=1)o+=n.days[b];o+=r-1,this.setEnglishDate(new Date(E+o*864e5))}format(t){return Y(this,t)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(t){let a=new Date(this.timestamp.getTime()+t*864e5);return new e(a)}addMonths(t){let a=this.year,r=this.month+t;a+=Math.floor(r/12),r=r%12,r<0&&(r+=12,a-=1);let s=a-y[0].year;if(s<0||s>=y.length)throw new Error("Resulting date is out of supported range");let n=y[s].days[r],o=Math.min(this.day,n);return new e(a,r,o)}addYears(t){let a=this.year+t;if(a<y[0].year||a>=y[0].year+y.length)throw new Error("Resulting date is out of supported range");let r=a-y[0].year;if(this.month===11&&this.day===29){let s=y[r].days[11];if(s<29)return new e(a,11,s)}return new e(a,this.month,this.day)}static minimum(){return new Date(E)}static maximum(){return new Date(E+y[y.length-1].daysTillNow*864e5)}daysInMonth(){let t=this.year-y[0].year;return y[t].days[this.month]}isLeapYear(){let t=this.year-y[0].year;return y[t].totalDays===366}getWeeksInMonth(){let a=new e(this.year,this.month,1).getDay(),r=this.daysInMonth();return Math.ceil((a+r)/7)}diff(t,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":let r=this.year-t.year,s=this.month-t.month;return r*12+s;case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let t=new Date(this.timestamp);return t.setHours(0,0,0,0),new e(t)}endOfDay(){let t=new Date(this.timestamp);return t.setHours(23,59,59,999),new e(t)}startOfMonth(){return new e(this.year,this.month,1)}endOfMonth(){let t=this.daysInMonth();return new e(this.year,this.month,t).endOfDay()}startOfYear(){return new e(this.year,0,1)}endOfYear(){let t=this.year-y[0].year,a=y[t].days[11];return new e(this.year,11,a).endOfDay()}static getMonthName(t,a=!1,r=!1){if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let s="";return r?s=a?f[t]:T[t]:s=a?p[t]:c[t],s}static getDayName(t,a=!1,r=!1){if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let s="";return r?s=a?w[t]:N[t]:s=a?D[t]:m[t],s}static isValid(t,a,r){try{if(t<y[0].year||t>=y[0].year+y.length||a<0||a>11)return!1;let s=t-y[0].year,n=y[s].days[a];return!(r<1||r>n)}catch{return!1}}isValid(){return e.isValid(this.year,this.month,this.day)}static getCalendarDays(t,a){if(!e.isValid(t,a,1))throw new Error("Invalid year or month");let r={year:0,month:0,days:[]},s={year:0,month:0,days:[]},n={year:0,month:0,days:[]},o=t-y[0].year,u=new e(t,a,1).getDay(),b=y[o].days[a];s.year=t,s.month=a;let M=a-1,g=t,x=a+1,O=t;if(M<0&&(M=11,g--),g>y[0].year&&(r.year=g,r.month=M),g>=y[0].year&&u>0){let l=g-y[0].year,$=y[l].days[M];for(let H=0;H<u;H++)r.days.push($-u+H+1)}for(let l=1;l<=b;l++)s.days.push(l);x>11&&(x=0,O++),O<y[0].year+y.length&&(n.year=O,n.month=x);let I=42-u-s.days.length;if(O<y[0].year+y.length&&I>0)for(let l=1;l<=I;l++)n.days.push(l);return{prevRemainingDays:u,prevMonth:r,currentMonth:s,nextMonth:n,remainingDays:I}}clone(){return new e(this)}isAfter(t){return this.timestamp.getTime()>t.timestamp.getTime()}isBefore(t){return this.timestamp.getTime()<t.timestamp.getTime()}isEqual(t){return this.year===t.year&&this.month===t.month&&this.day===t.day}isSame(t,a){switch(a){case"year":return this.year===t.year;case"month":return this.year===t.year&&this.month===t.month;case"day":return this.isEqual(t);default:throw new Error("Invalid unit for comparison")}}};var F=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error(`Invalid date input '${e}'`);try{return new d(t).format("YYYY-MM-DD")}catch(a){throw console.error("Error During Date Conversion : ",a),new Error("Failed to convert AD to BS")}};function K(e){try{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=e?new d(e):new d,a=s=>s<10?`0${s}`:`${s}`,r=t.getEnglishDate();return`${r.getFullYear()}-${a(r.getMonth()+1)}-${a(r.getDate())}`}catch(t){throw console.error("Error During Date Conversion : ",t),new Error("Failed to convert BS to AD")}}0&&(module.exports={ADtoBS,BStoAD,MONTH_EN,MONTH_NP,MONTH_SHORT_EN,MONTH_SHORT_NP,NEPALI_DATE_MAP,NUMBER_NP,NepaliDate,WEEK_EN,WEEK_NP,WEEK_SHORT_EN,WEEK_SHORT_NP});
1
+ "use strict";var Q=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var k=(e,t)=>{for(var a in t)Q(e,a,{get:t[a],enumerable:!0})},L=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of $(t))!B.call(e,s)&&s!==a&&Q(e,s,{get:()=>t[s],enumerable:!(r=K(t,s))||r.enumerable});return e};var V=e=>L(Q({},"__esModule",{value:!0}),e);var tt={};k(tt,{ADtoBS:()=>R,BStoAD:()=>W,MONTH_EN:()=>p,MONTH_NP:()=>b,MONTH_SHORT_EN:()=>g,MONTH_SHORT_NP:()=>f,NEPALI_DATE_MAP:()=>n,NUMBER_NP:()=>O,NepaliDate:()=>u,WEEK_EN:()=>m,WEEK_NP:()=>c,WEEK_SHORT_EN:()=>N,WEEK_SHORT_NP:()=>w});module.exports=V(tt);var n=[{year:2e3,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2001,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2002,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2003,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2004,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2005,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2006,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2007,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2008,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2009,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2010,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2011,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2012,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2013,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2014,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2015,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2016,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2017,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2018,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2019,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2020,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2021,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2022,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2023,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2024,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2025,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2026,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2027,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2028,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2029,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2030,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2031,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2032,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2033,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2034,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2035,days:[30,32,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2036,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2037,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2038,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2039,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2040,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2041,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2042,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2043,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2044,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2045,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2046,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2047,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2048,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2049,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2050,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2051,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2052,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2053,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2054,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2055,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2056,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2057,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2058,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2059,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2060,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2061,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2062,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2063,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2064,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2065,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2066,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2067,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2068,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2069,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2070,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2071,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2072,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2073,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2074,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2075,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2076,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2077,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2078,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2079,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2080,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2081,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2082,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2083,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2084,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2085,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2086,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2087,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2088,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2089,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2090,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2091,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2092,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2093,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2094,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2095,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2096,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2097,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2098,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2099,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2100,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0}],P=0;n.forEach(e=>{e.totalDays=e.days.reduce((t,a)=>t+a,0),P+=e.totalDays,e.daysTillNow=P});var E=new Date(1943,3,14).getTime(),m=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],N=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],c=["\u0906\u0907\u0924\u092C\u093E\u0930","\u0938\u094B\u092E\u092C\u093E\u0930","\u092E\u0902\u0917\u0932\u092C\u093E\u0930","\u092C\u0941\u0927\u092C\u093E\u0930","\u092C\u093F\u0939\u093F\u092C\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u092C\u093E\u0930","\u0936\u0928\u093F\u092C\u093E\u0930"],w=["\u0906\u0907\u0924","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u092C\u093F\u0939\u093F","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],p=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],g=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],b=["\u092C\u0948\u0936\u093E\u0916","\u091C\u0947\u0920","\u0905\u0938\u093E\u0930","\u0936\u094D\u0930\u093E\u0935\u0923","\u092D\u093E\u0926\u094D\u0930","\u0906\u0936\u094D\u0935\u093F\u0928","\u0915\u093E\u0930\u094D\u0924\u093F\u0915","\u092E\u0902\u0938\u093F\u0930","\u092A\u094C\u0937","\u092E\u093E\u0918","\u092B\u093E\u0932\u094D\u0917\u0941\u0923","\u091A\u0948\u0924\u094D\u0930"],f=["\u092C\u0948","\u091C\u0947","\u0905","\u0936\u094D\u0930\u093E","\u092D\u093E","\u0906","\u0915\u093E","\u092E\u0902","\u092A\u094C","\u092E\u093E","\u092B\u093E","\u091A\u0948"],O=["\u0966","\u0967","\u0968","\u0969","\u096A","\u096B","\u096C","\u096D","\u096E","\u096F"];function S(e){return e<10?`0${e}`:`${e}`}function h(e){let t="";for(let a=0;a<e.length;a+=1)t+=O[e.charCodeAt(a)-48];return t}function U(e){return t=>e<=2?String(t.getYear()).substring(2):e===3?String(t.getYear()).substring(1):String(t.getYear())}function j(e){return t=>e<=2?h(String(t.getYear()).substring(2)):h(e===3?String(t.getYear()).substring(1):String(t.getYear()))}function J(e){return t=>e===1?String(t.getMonth()+1):e===2?S(t.getMonth()+1):e===3?g[t.getMonth()]:p[t.getMonth()]}function G(e){return t=>e===1?h(String(t.getMonth()+1)):e===2?h(S(t.getMonth()+1)):e===3?f[t.getMonth()]:b[t.getMonth()]}function X(e){return t=>e===1?String(t.getDate()):e===2?S(t.getDate()):e===3?N[t.getDay()]:m[t.getDay()]}function Z(e){return t=>e===1?h(String(t.getDate())):e===2?h(S(t.getDate())):e===3?w[t.getDay()]:c[t.getDay()]}function A(e){return()=>e}var v={Y:U,y:j,M:J,m:G,D:X,d:Z};function q(e){return e in v}function z(e){let t=!1,a="",r="",s=0,i=[];for(let o=0;o<e.length;o+=1){let y=e[o];if(y===r){s+=1;continue}if(r!==""&&(i.push(v[r](s)),r="",s=0),y==='"'){t=!t;continue}!q(y)||t?a+=y:(a&&(i.push(A(a)),a=""),r=y,s=1)}return a?i.push(A(a)):r&&i.push(v[r](s)),i}function F(e,t){return z(t).map(a=>a(e)).join("")}function _(e){let t=e.split(/[-./]/,3),[a,r=1,s=1]=t.map(o=>{let y=parseInt(o,10);if(Number.isNaN(y))throw new Error("Invalid date");return y});if(a<n[0].year||a>=n[0].year+n.length)throw new Error("Nepal year out of range");if(r<1||r>12)throw new Error("Invalid nepali month must be between 1 - 12");let i=n[a-n[0].year].days[r-1];if(s<1||s>i)throw new Error(`Invalid nepali date must be between 1 - ${i} in ${a} ${r}`);return[a,r-1,s]}var u=class e{timestamp;year;month;day;constructor(...t){if(t.length===0)this.setEnglishDate(new Date);else if(t.length===1){let a=t[0];if(typeof a=="object")if(a instanceof Date)this.setEnglishDate(a);else if(a instanceof e)this.timestamp=a.timestamp,this.year=a.year,this.month=a.month,this.day=a.day;else throw new Error("Invalid date argument");else if(typeof a=="string")this.set(..._(a));else if(typeof a=="number")this.setEnglishDate(new Date(a));else throw new Error("Invalid date argument")}else if(t.length===3)this.set(t[0],t[1],t[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(t){this.timestamp=t;let a=Math.floor((this.timestamp.getTime()-E)/864e5),r=Math.floor(a/366);for(;a>=n[r].daysTillNow;)r+=1;let s=n[r-1]?n[r-1].daysTillNow:0;a-=s;let i=n[r];for(this.year=i.year,this.month=0;a>=i.days[this.month];)this.month+=1,a-=i.days[this.month-1];this.day=a+1}getEnglishDate(){return this.timestamp}parse(t){this.set(..._(t))}getYear(){return this.year}getMonth(){return this.month}getDate(){return this.day}getDay(){return this.timestamp.getDay()}getHours(){return this.timestamp.getHours()}getMinutes(){return this.timestamp.getMinutes()}getSeconds(){return this.timestamp.getSeconds()}getMilliseconds(){return this.timestamp.getMilliseconds()}getTime(){return this.timestamp.getTime()}setYear(t){this.set(t,this.month,this.day)}setMonth(t){this.set(this.year,t,this.day)}setDate(t){this.set(this.year,this.month,t)}set(t,a,r){let s=t+Math.floor(a/12)-n[0].year,i=n[s],o=i.daysTillNow-i.totalDays,y=a%12,l=y<0?12+y:y;for(let D=0;D<l;D+=1)o+=i.days[D];o+=r-1,this.setEnglishDate(new Date(E+o*864e5))}format(t){return F(this,t)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(t){let a=new Date(this.timestamp.getTime()+t*864e5);return new e(a)}addMonths(t){let a=this.year,r=this.month+t;a+=Math.floor(r/12),r=r%12,r<0&&(r+=12,a-=1);let s=a-n[0].year;if(s<0||s>=n.length)throw new Error("Resulting date is out of supported range");let i=n[s].days[r],o=Math.min(this.day,i);return new e(a,r,o)}addYears(t){let a=this.year+t;if(a<n[0].year||a>=n[0].year+n.length)throw new Error("Resulting date is out of supported range");let r=a-n[0].year;if(this.month===11&&this.day===29){let s=n[r].days[11];if(s<29)return new e(a,11,s)}return new e(a,this.month,this.day)}static minimum(){return new Date(E)}static maximum(){return new Date(E+n[n.length-1].daysTillNow*864e5)}daysInMonth(){let t=this.year-n[0].year;return n[t].days[this.month]}isLeapYear(){let t=this.year-n[0].year;return n[t].totalDays===366}getWeeksInMonth(){let a=new e(this.year,this.month,1).getDay(),r=this.daysInMonth();return Math.ceil((a+r)/7)}diff(t,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":let r=this.year-t.year,s=this.month-t.month;return r*12+s;case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let t=new Date(this.timestamp);return t.setHours(0,0,0,0),new e(t)}endOfDay(){let t=new Date(this.timestamp);return t.setHours(23,59,59,999),new e(t)}startOfWeek(t=0){if(t<0||t>6||!Number.isInteger(t))throw new Error("startOfWeek must be an integer between 0 and 6");let r=(this.getDay()-t+7)%7;return this.clone().startOfDay().addDays(-r)}endOfWeek(t=0){return this.startOfWeek(t).addDays(6).endOfDay()}startOfMonth(){return new e(this.year,this.month,1)}endOfMonth(){let t=this.daysInMonth();return new e(this.year,this.month,t).endOfDay()}startOfYear(){return new e(this.year,0,1)}endOfYear(){let t=this.year-n[0].year,a=n[t].days[11];return new e(this.year,11,a).endOfDay()}static getMonthName(t,a=!1,r=!1){if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let s="";return r?s=a?f[t]:b[t]:s=a?g[t]:p[t],s}static getDayName(t,a=!1,r=!1){if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let s="";return r?s=a?w[t]:c[t]:s=a?N[t]:m[t],s}static isValid(t,a,r){try{if(t<n[0].year||t>=n[0].year+n.length||a<0||a>11)return!1;let s=t-n[0].year,i=n[s].days[a];return!(r<1||r>i)}catch{return!1}}isValid(){return e.isValid(this.year,this.month,this.day)}static getCalendarDays(t,a){if(!e.isValid(t,a,1))throw new Error("Invalid year or month");let r={year:0,month:0,days:[]},s={year:0,month:0,days:[]},i={year:0,month:0,days:[]},o=t-n[0].year,l=new e(t,a,1).getDay(),D=n[o].days[a];s.year=t,s.month=a;let M=a-1,T=t,I=a+1,Y=t;if(M<0&&(M=11,T--),T>n[0].year&&(r.year=T,r.month=M),T>=n[0].year&&l>0){let d=T-n[0].year,C=n[d].days[M];for(let H=0;H<l;H++)r.days.push(C-l+H+1)}for(let d=1;d<=D;d++)s.days.push(d);I>11&&(I=0,Y++),Y<n[0].year+n.length&&(i.year=Y,i.month=I);let x=42-l-s.days.length;if(Y<n[0].year+n.length&&x>0)for(let d=1;d<=x;d++)i.days.push(d);return{prevRemainingDays:l,prevMonth:r,currentMonth:s,nextMonth:i,remainingDays:x}}clone(){return new e(this)}isAfter(t){return this.timestamp.getTime()>t.timestamp.getTime()}isBefore(t){return this.timestamp.getTime()<t.timestamp.getTime()}isEqual(t){return this.year===t.year&&this.month===t.month&&this.day===t.day}isSame(t,a){switch(a){case"year":return this.year===t.year;case"month":return this.year===t.year&&this.month===t.month;case"day":return this.isEqual(t);default:throw new Error("Invalid unit for comparison")}}static getQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let r=a??new e().getYear(),s=(t-1)*3,i=new e(r,s,1),o=new e(r,s+2,1).endOfMonth();return{start:i,end:o}}getCurrentQuarter(){return Math.floor(this.month/3)+1}static getQuarters(t){let a=t??new e().getYear();return{Q1:e.getQuarter(1,a),Q2:e.getQuarter(2,a),Q3:e.getQuarter(3,a),Q4:e.getQuarter(4,a)}}static getCurrentFiscalYear(){let t=new e,a=t.getYear();return t.getMonth()<3?a-1:a}static getFiscalYearQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let r=a??e.getCurrentFiscalYear(),s=r,i=(t-1)*3+3;t===4&&(s=r+1,i=0),i>11&&(s++,i-=12);let o=i+2,y=s;o>11&&(y++,o-=12);let l=new e(s,i,1),D=new e(y,o,1).endOfMonth();return{start:l,end:D}}getCurrentFiscalYearQuarter(){let t=this.getMonth();return t>=3&&t<=5?1:t>=6&&t<=8?2:t>=9&&t<=11?3:4}getCurrentFiscalYearQuarterDates(){let t=this.getCurrentFiscalYearQuarter(),a=e.getCurrentFiscalYear();return e.getFiscalYearQuarter(t,a)}static getFiscalYearQuarters(t){let a=t??e.getCurrentFiscalYear();return{Q1:e.getFiscalYearQuarter(1,a),Q2:e.getFiscalYearQuarter(2,a),Q3:e.getFiscalYearQuarter(3,a),Q4:e.getFiscalYearQuarter(4,a)}}};var R=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error(`Invalid date input '${e}'`);try{return new u(t).format("YYYY-MM-DD")}catch(a){throw console.error("Error During Date Conversion : ",a),new Error("Failed to convert AD to BS")}};function W(e){try{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=e?new u(e):new u,a=s=>s<10?`0${s}`:`${s}`,r=t.getEnglishDate();return`${r.getFullYear()}-${a(r.getMonth()+1)}-${a(r.getDate())}`}catch(t){throw console.error("Error During Date Conversion : ",t),new Error("Failed to convert BS to AD")}}0&&(module.exports={ADtoBS,BStoAD,MONTH_EN,MONTH_NP,MONTH_SHORT_EN,MONTH_SHORT_NP,NEPALI_DATE_MAP,NUMBER_NP,NepaliDate,WEEK_EN,WEEK_NP,WEEK_SHORT_EN,WEEK_SHORT_NP});
package/dist/index.mjs.js CHANGED
@@ -1 +1 @@
1
- var s=[{year:2e3,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2001,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2002,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2003,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2004,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2005,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2006,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2007,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2008,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2009,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2010,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2011,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2012,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2013,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2014,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2015,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2016,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2017,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2018,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2019,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2020,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2021,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2022,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2023,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2024,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2025,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2026,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2027,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2028,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2029,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2030,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2031,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2032,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2033,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2034,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2035,days:[30,32,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2036,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2037,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2038,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2039,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2040,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2041,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2042,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2043,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2044,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2045,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2046,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2047,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2048,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2049,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2050,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2051,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2052,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2053,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2054,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2055,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2056,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2057,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2058,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2059,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2060,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2061,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2062,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2063,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2064,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2065,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2066,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2067,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2068,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2069,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2070,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2071,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2072,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2073,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2074,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2075,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2076,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2077,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2078,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2079,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2080,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2081,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2082,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2083,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2084,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2085,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2086,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2087,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2088,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2089,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2090,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2091,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2092,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2093,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2094,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2095,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2096,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2097,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2098,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2099,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2100,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0}],Y=0;s.forEach(e=>{e.totalDays=e.days.reduce((t,a)=>t+a,0),Y+=e.totalDays,e.daysTillNow=Y});var N=new Date(1943,3,14).getTime(),w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p=["\u0906\u0907\u0924\u092C\u093E\u0930","\u0938\u094B\u092E\u092C\u093E\u0930","\u092E\u0902\u0917\u0932\u092C\u093E\u0930","\u092C\u0941\u0927\u092C\u093E\u0930","\u092C\u093F\u0939\u093F\u092C\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u092C\u093E\u0930","\u0936\u0928\u093F\u092C\u093E\u0930"],T=["\u0906\u0907\u0924","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u092C\u093F\u0939\u093F","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],f=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],b=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],g=["\u092C\u0948\u0936\u093E\u0916","\u091C\u0947\u0920","\u0905\u0938\u093E\u0930","\u0936\u094D\u0930\u093E\u0935\u0923","\u092D\u093E\u0926\u094D\u0930","\u0906\u0936\u094D\u0935\u093F\u0928","\u0915\u093E\u0930\u094D\u0924\u093F\u0915","\u092E\u0902\u0938\u093F\u0930","\u092A\u094C\u0937","\u092E\u093E\u0918","\u092B\u093E\u0932\u094D\u0917\u0941\u0923","\u091A\u0948\u0924\u094D\u0930"],E=["\u092C\u0948","\u091C\u0947","\u0905","\u0936\u094D\u0930\u093E","\u092D\u093E","\u0906","\u0915\u093E","\u092E\u0902","\u092A\u094C","\u092E\u093E","\u092B\u093E","\u091A\u0948"],H=["\u0966","\u0967","\u0968","\u0969","\u096A","\u096B","\u096C","\u096D","\u096E","\u096F"];function _(e){return e<10?`0${e}`:`${e}`}function u(e){let t="";for(let a=0;a<e.length;a+=1)t+=H[e.charCodeAt(a)-48];return t}function F(e){return t=>e<=2?String(t.getYear()).substring(2):e===3?String(t.getYear()).substring(1):String(t.getYear())}function K(e){return t=>e<=2?u(String(t.getYear()).substring(2)):u(e===3?String(t.getYear()).substring(1):String(t.getYear()))}function $(e){return t=>e===1?String(t.getMonth()+1):e===2?_(t.getMonth()+1):e===3?b[t.getMonth()]:f[t.getMonth()]}function B(e){return t=>e===1?u(String(t.getMonth()+1)):e===2?u(_(t.getMonth()+1)):e===3?E[t.getMonth()]:g[t.getMonth()]}function C(e){return t=>e===1?String(t.getDate()):e===2?_(t.getDate()):e===3?c[t.getDay()]:w[t.getDay()]}function k(e){return t=>e===1?u(String(t.getDate())):e===2?u(_(t.getDate())):e===3?T[t.getDay()]:p[t.getDay()]}function A(e){return()=>e}var v={Y:F,y:K,M:$,m:B,D:C,d:k};function L(e){return e in v}function V(e){let t=!1,a="",r="",y=0,n=[];for(let o=0;o<e.length;o+=1){let i=e[o];if(i===r){y+=1;continue}if(r!==""&&(n.push(v[r](y)),r="",y=0),i==='"'){t=!t;continue}!L(i)||t?a+=i:(a&&(n.push(A(a)),a=""),r=i,y=1)}return a?n.push(A(a)):r&&n.push(v[r](y)),n}function P(e,t){return V(t).map(a=>a(e)).join("")}function R(e){let t=e.split(/[-./]/,3),[a,r=0,y=1]=t.map(o=>{let i=parseInt(o,10);if(Number.isNaN(i))throw new Error("Invalid date");return i});if(a<s[0].year||a>=s[0].year+s.length)throw new Error("Nepal year out of range");if(r<0||r>11)throw new Error("Invalid nepali month must be between 0 - 11");let n=s[a-s[0].year].days[r-1];if(y<1||y>n)throw new Error(`Invalid nepali date must be between 1 - ${n} in ${a} ${r}`);return[a,r-1,y]}var h=class e{timestamp;year;month;day;constructor(...t){if(t.length===0)this.setEnglishDate(new Date);else if(t.length===1){let a=t[0];if(typeof a=="object")if(a instanceof Date)this.setEnglishDate(a);else if(a instanceof e)this.timestamp=a.timestamp,this.year=a.year,this.month=a.month,this.day=a.day;else throw new Error("Invalid date argument");else if(typeof a=="string")this.set(...R(a));else if(typeof a=="number")this.setEnglishDate(new Date(a));else throw new Error("Invalid date argument")}else if(t.length===3)this.set(t[0],t[1],t[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(t){this.timestamp=t;let a=Math.floor((this.timestamp.getTime()-N)/864e5),r=Math.floor(a/366);for(;a>=s[r].daysTillNow;)r+=1;let y=s[r-1]?s[r-1].daysTillNow:0;a-=y;let n=s[r];for(this.year=n.year,this.month=0;a>=n.days[this.month];)this.month+=1,a-=n.days[this.month-1];this.day=a+1}getEnglishDate(){return this.timestamp}parse(t){this.set(...R(t))}getYear(){return this.year}getMonth(){return this.month}getDate(){return this.day}getDay(){return this.timestamp.getDay()}getHours(){return this.timestamp.getHours()}getMinutes(){return this.timestamp.getMinutes()}getSeconds(){return this.timestamp.getSeconds()}getMilliseconds(){return this.timestamp.getMilliseconds()}getTime(){return this.timestamp.getTime()}setYear(t){this.set(t,this.month,this.day)}setMonth(t){this.set(this.year,t,this.day)}setDate(t){this.set(this.year,this.month,t)}set(t,a,r){let y=t+Math.floor(a/12)-s[0].year,n=s[y],o=n.daysTillNow-n.totalDays,i=a%12,d=i<0?12+i:i;for(let m=0;m<d;m+=1)o+=n.days[m];o+=r-1,this.setEnglishDate(new Date(N+o*864e5))}format(t){return P(this,t)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(t){let a=new Date(this.timestamp.getTime()+t*864e5);return new e(a)}addMonths(t){let a=this.year,r=this.month+t;a+=Math.floor(r/12),r=r%12,r<0&&(r+=12,a-=1);let y=a-s[0].year;if(y<0||y>=s.length)throw new Error("Resulting date is out of supported range");let n=s[y].days[r],o=Math.min(this.day,n);return new e(a,r,o)}addYears(t){let a=this.year+t;if(a<s[0].year||a>=s[0].year+s.length)throw new Error("Resulting date is out of supported range");let r=a-s[0].year;if(this.month===11&&this.day===29){let y=s[r].days[11];if(y<29)return new e(a,11,y)}return new e(a,this.month,this.day)}static minimum(){return new Date(N)}static maximum(){return new Date(N+s[s.length-1].daysTillNow*864e5)}daysInMonth(){let t=this.year-s[0].year;return s[t].days[this.month]}isLeapYear(){let t=this.year-s[0].year;return s[t].totalDays===366}getWeeksInMonth(){let a=new e(this.year,this.month,1).getDay(),r=this.daysInMonth();return Math.ceil((a+r)/7)}diff(t,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":let r=this.year-t.year,y=this.month-t.month;return r*12+y;case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let t=new Date(this.timestamp);return t.setHours(0,0,0,0),new e(t)}endOfDay(){let t=new Date(this.timestamp);return t.setHours(23,59,59,999),new e(t)}startOfMonth(){return new e(this.year,this.month,1)}endOfMonth(){let t=this.daysInMonth();return new e(this.year,this.month,t).endOfDay()}startOfYear(){return new e(this.year,0,1)}endOfYear(){let t=this.year-s[0].year,a=s[t].days[11];return new e(this.year,11,a).endOfDay()}static getMonthName(t,a=!1,r=!1){if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let y="";return r?y=a?E[t]:g[t]:y=a?b[t]:f[t],y}static getDayName(t,a=!1,r=!1){if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let y="";return r?y=a?T[t]:p[t]:y=a?c[t]:w[t],y}static isValid(t,a,r){try{if(t<s[0].year||t>=s[0].year+s.length||a<0||a>11)return!1;let y=t-s[0].year,n=s[y].days[a];return!(r<1||r>n)}catch{return!1}}isValid(){return e.isValid(this.year,this.month,this.day)}static getCalendarDays(t,a){if(!e.isValid(t,a,1))throw new Error("Invalid year or month");let r={year:0,month:0,days:[]},y={year:0,month:0,days:[]},n={year:0,month:0,days:[]},o=t-s[0].year,d=new e(t,a,1).getDay(),m=s[o].days[a];y.year=t,y.month=a;let M=a-1,D=t,S=a+1,O=t;if(M<0&&(M=11,D--),D>s[0].year&&(r.year=D,r.month=M),D>=s[0].year&&d>0){let l=D-s[0].year,W=s[l].days[M];for(let I=0;I<d;I++)r.days.push(W-d+I+1)}for(let l=1;l<=m;l++)y.days.push(l);S>11&&(S=0,O++),O<s[0].year+s.length&&(n.year=O,n.month=S);let x=42-d-y.days.length;if(O<s[0].year+s.length&&x>0)for(let l=1;l<=x;l++)n.days.push(l);return{prevRemainingDays:d,prevMonth:r,currentMonth:y,nextMonth:n,remainingDays:x}}clone(){return new e(this)}isAfter(t){return this.timestamp.getTime()>t.timestamp.getTime()}isBefore(t){return this.timestamp.getTime()<t.timestamp.getTime()}isEqual(t){return this.year===t.year&&this.month===t.month&&this.day===t.day}isSame(t,a){switch(a){case"year":return this.year===t.year;case"month":return this.year===t.year&&this.month===t.month;case"day":return this.isEqual(t);default:throw new Error("Invalid unit for comparison")}}};var q=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error(`Invalid date input '${e}'`);try{return new h(t).format("YYYY-MM-DD")}catch(a){throw console.error("Error During Date Conversion : ",a),new Error("Failed to convert AD to BS")}};function U(e){try{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=e?new h(e):new h,a=y=>y<10?`0${y}`:`${y}`,r=t.getEnglishDate();return`${r.getFullYear()}-${a(r.getMonth()+1)}-${a(r.getDate())}`}catch(t){throw console.error("Error During Date Conversion : ",t),new Error("Failed to convert BS to AD")}}export{q as ADtoBS,U as BStoAD,f as MONTH_EN,g as MONTH_NP,b as MONTH_SHORT_EN,E as MONTH_SHORT_NP,s as NEPALI_DATE_MAP,H as NUMBER_NP,h as NepaliDate,w as WEEK_EN,p as WEEK_NP,c as WEEK_SHORT_EN,T as WEEK_SHORT_NP};
1
+ var n=[{year:2e3,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2001,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2002,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2003,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2004,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2005,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2006,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2007,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2008,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2009,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2010,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2011,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2012,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2013,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2014,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2015,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2016,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2017,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2018,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2019,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2020,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2021,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2022,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2023,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2024,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2025,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2026,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2027,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2028,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2029,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2030,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2031,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2032,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2033,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2034,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2035,days:[30,32,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2036,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2037,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2038,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2039,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2040,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2041,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2042,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2043,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2044,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2045,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2046,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2047,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2048,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2049,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2050,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2051,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2052,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2053,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2054,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2055,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2056,days:[31,31,32,31,32,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2057,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2058,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2059,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2060,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2061,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2062,days:[30,32,31,32,31,31,29,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2063,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2064,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2065,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2066,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2067,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2068,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2069,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2070,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2071,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2072,days:[31,32,31,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2073,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2074,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2075,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2076,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2077,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2078,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2079,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2080,days:[31,32,31,32,31,30,30,30,29,29,30,30],totalDays:0,daysTillNow:0},{year:2081,days:[31,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2082,days:[31,31,31,32,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2083,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2084,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2085,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2086,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2087,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2088,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2089,days:[30,32,31,32,31,30,30,30,29,30,29,31],totalDays:0,daysTillNow:0},{year:2090,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2091,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2092,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2093,days:[31,31,31,32,31,31,29,30,30,29,29,31],totalDays:0,daysTillNow:0},{year:2094,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2095,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2096,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0},{year:2097,days:[31,31,31,32,31,31,29,30,30,29,30,30],totalDays:0,daysTillNow:0},{year:2098,days:[31,31,32,31,31,31,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2099,days:[31,31,32,32,31,30,30,29,30,29,30,30],totalDays:0,daysTillNow:0},{year:2100,days:[31,32,31,32,31,30,30,30,29,29,30,31],totalDays:0,daysTillNow:0}],F=0;n.forEach(e=>{e.totalDays=e.days.reduce((t,a)=>t+a,0),F+=e.totalDays,e.daysTillNow=F});var N=new Date(1943,3,14).getTime(),c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],w=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p=["\u0906\u0907\u0924\u092C\u093E\u0930","\u0938\u094B\u092E\u092C\u093E\u0930","\u092E\u0902\u0917\u0932\u092C\u093E\u0930","\u092C\u0941\u0927\u092C\u093E\u0930","\u092C\u093F\u0939\u093F\u092C\u093E\u0930","\u0936\u0941\u0915\u094D\u0930\u092C\u093E\u0930","\u0936\u0928\u093F\u092C\u093E\u0930"],g=["\u0906\u0907\u0924","\u0938\u094B\u092E","\u092E\u0902\u0917\u0932","\u092C\u0941\u0927","\u092C\u093F\u0939\u093F","\u0936\u0941\u0915\u094D\u0930","\u0936\u0928\u093F"],b=["Baisakh","Jestha","Asar","Shrawan","Bhadra","Aswin","Kartik","Mangsir","Poush","Magh","Falgun","Chaitra"],f=["Bai","Jes","Asa","Shr","Bhd","Asw","Kar","Man","Pou","Mag","Fal","Cha"],T=["\u092C\u0948\u0936\u093E\u0916","\u091C\u0947\u0920","\u0905\u0938\u093E\u0930","\u0936\u094D\u0930\u093E\u0935\u0923","\u092D\u093E\u0926\u094D\u0930","\u0906\u0936\u094D\u0935\u093F\u0928","\u0915\u093E\u0930\u094D\u0924\u093F\u0915","\u092E\u0902\u0938\u093F\u0930","\u092A\u094C\u0937","\u092E\u093E\u0918","\u092B\u093E\u0932\u094D\u0917\u0941\u0923","\u091A\u0948\u0924\u094D\u0930"],E=["\u092C\u0948","\u091C\u0947","\u0905","\u0936\u094D\u0930\u093E","\u092D\u093E","\u0906","\u0915\u093E","\u092E\u0902","\u092A\u094C","\u092E\u093E","\u092B\u093E","\u091A\u0948"],H=["\u0966","\u0967","\u0968","\u0969","\u096A","\u096B","\u096C","\u096D","\u096E","\u096F"];function O(e){return e<10?`0${e}`:`${e}`}function D(e){let t="";for(let a=0;a<e.length;a+=1)t+=H[e.charCodeAt(a)-48];return t}function R(e){return t=>e<=2?String(t.getYear()).substring(2):e===3?String(t.getYear()).substring(1):String(t.getYear())}function W(e){return t=>e<=2?D(String(t.getYear()).substring(2)):D(e===3?String(t.getYear()).substring(1):String(t.getYear()))}function C(e){return t=>e===1?String(t.getMonth()+1):e===2?O(t.getMonth()+1):e===3?f[t.getMonth()]:b[t.getMonth()]}function K(e){return t=>e===1?D(String(t.getMonth()+1)):e===2?D(O(t.getMonth()+1)):e===3?E[t.getMonth()]:T[t.getMonth()]}function $(e){return t=>e===1?String(t.getDate()):e===2?O(t.getDate()):e===3?w[t.getDay()]:c[t.getDay()]}function B(e){return t=>e===1?D(String(t.getDate())):e===2?D(O(t.getDate())):e===3?g[t.getDay()]:p[t.getDay()]}function P(e){return()=>e}var Q={Y:R,y:W,M:C,m:K,D:$,d:B};function k(e){return e in Q}function L(e){let t=!1,a="",r="",s=0,i=[];for(let o=0;o<e.length;o+=1){let y=e[o];if(y===r){s+=1;continue}if(r!==""&&(i.push(Q[r](s)),r="",s=0),y==='"'){t=!t;continue}!k(y)||t?a+=y:(a&&(i.push(P(a)),a=""),r=y,s=1)}return a?i.push(P(a)):r&&i.push(Q[r](s)),i}function v(e,t){return L(t).map(a=>a(e)).join("")}function A(e){let t=e.split(/[-./]/,3),[a,r=1,s=1]=t.map(o=>{let y=parseInt(o,10);if(Number.isNaN(y))throw new Error("Invalid date");return y});if(a<n[0].year||a>=n[0].year+n.length)throw new Error("Nepal year out of range");if(r<1||r>12)throw new Error("Invalid nepali month must be between 1 - 12");let i=n[a-n[0].year].days[r-1];if(s<1||s>i)throw new Error(`Invalid nepali date must be between 1 - ${i} in ${a} ${r}`);return[a,r-1,s]}var h=class e{timestamp;year;month;day;constructor(...t){if(t.length===0)this.setEnglishDate(new Date);else if(t.length===1){let a=t[0];if(typeof a=="object")if(a instanceof Date)this.setEnglishDate(a);else if(a instanceof e)this.timestamp=a.timestamp,this.year=a.year,this.month=a.month,this.day=a.day;else throw new Error("Invalid date argument");else if(typeof a=="string")this.set(...A(a));else if(typeof a=="number")this.setEnglishDate(new Date(a));else throw new Error("Invalid date argument")}else if(t.length===3)this.set(t[0],t[1],t[2]);else throw new Error("Invalid argument syntax")}setEnglishDate(t){this.timestamp=t;let a=Math.floor((this.timestamp.getTime()-N)/864e5),r=Math.floor(a/366);for(;a>=n[r].daysTillNow;)r+=1;let s=n[r-1]?n[r-1].daysTillNow:0;a-=s;let i=n[r];for(this.year=i.year,this.month=0;a>=i.days[this.month];)this.month+=1,a-=i.days[this.month-1];this.day=a+1}getEnglishDate(){return this.timestamp}parse(t){this.set(...A(t))}getYear(){return this.year}getMonth(){return this.month}getDate(){return this.day}getDay(){return this.timestamp.getDay()}getHours(){return this.timestamp.getHours()}getMinutes(){return this.timestamp.getMinutes()}getSeconds(){return this.timestamp.getSeconds()}getMilliseconds(){return this.timestamp.getMilliseconds()}getTime(){return this.timestamp.getTime()}setYear(t){this.set(t,this.month,this.day)}setMonth(t){this.set(this.year,t,this.day)}setDate(t){this.set(this.year,this.month,t)}set(t,a,r){let s=t+Math.floor(a/12)-n[0].year,i=n[s],o=i.daysTillNow-i.totalDays,y=a%12,l=y<0?12+y:y;for(let u=0;u<l;u+=1)o+=i.days[u];o+=r-1,this.setEnglishDate(new Date(N+o*864e5))}format(t){return v(this,t)}toString(){return`${this.year}/${this.month+1}/${this.day}`}addDays(t){let a=new Date(this.timestamp.getTime()+t*864e5);return new e(a)}addMonths(t){let a=this.year,r=this.month+t;a+=Math.floor(r/12),r=r%12,r<0&&(r+=12,a-=1);let s=a-n[0].year;if(s<0||s>=n.length)throw new Error("Resulting date is out of supported range");let i=n[s].days[r],o=Math.min(this.day,i);return new e(a,r,o)}addYears(t){let a=this.year+t;if(a<n[0].year||a>=n[0].year+n.length)throw new Error("Resulting date is out of supported range");let r=a-n[0].year;if(this.month===11&&this.day===29){let s=n[r].days[11];if(s<29)return new e(a,11,s)}return new e(a,this.month,this.day)}static minimum(){return new Date(N)}static maximum(){return new Date(N+n[n.length-1].daysTillNow*864e5)}daysInMonth(){let t=this.year-n[0].year;return n[t].days[this.month]}isLeapYear(){let t=this.year-n[0].year;return n[t].totalDays===366}getWeeksInMonth(){let a=new e(this.year,this.month,1).getDay(),r=this.daysInMonth();return Math.ceil((a+r)/7)}diff(t,a){switch(a){case"day":return Math.floor((this.timestamp.getTime()-t.timestamp.getTime())/864e5);case"month":let r=this.year-t.year,s=this.month-t.month;return r*12+s;case"year":return this.year-t.year;default:throw new Error("Invalid unit for diff calculation")}}startOfDay(){let t=new Date(this.timestamp);return t.setHours(0,0,0,0),new e(t)}endOfDay(){let t=new Date(this.timestamp);return t.setHours(23,59,59,999),new e(t)}startOfWeek(t=0){if(t<0||t>6||!Number.isInteger(t))throw new Error("startOfWeek must be an integer between 0 and 6");let r=(this.getDay()-t+7)%7;return this.clone().startOfDay().addDays(-r)}endOfWeek(t=0){return this.startOfWeek(t).addDays(6).endOfDay()}startOfMonth(){return new e(this.year,this.month,1)}endOfMonth(){let t=this.daysInMonth();return new e(this.year,this.month,t).endOfDay()}startOfYear(){return new e(this.year,0,1)}endOfYear(){let t=this.year-n[0].year,a=n[t].days[11];return new e(this.year,11,a).endOfDay()}static getMonthName(t,a=!1,r=!1){if(t<0||t>11)throw new Error("Invalid month index, must be between 0-11");let s="";return r?s=a?E[t]:T[t]:s=a?f[t]:b[t],s}static getDayName(t,a=!1,r=!1){if(t<0||t>6)throw new Error("Invalid day index, must be between 0-6");let s="";return r?s=a?g[t]:p[t]:s=a?w[t]:c[t],s}static isValid(t,a,r){try{if(t<n[0].year||t>=n[0].year+n.length||a<0||a>11)return!1;let s=t-n[0].year,i=n[s].days[a];return!(r<1||r>i)}catch{return!1}}isValid(){return e.isValid(this.year,this.month,this.day)}static getCalendarDays(t,a){if(!e.isValid(t,a,1))throw new Error("Invalid year or month");let r={year:0,month:0,days:[]},s={year:0,month:0,days:[]},i={year:0,month:0,days:[]},o=t-n[0].year,l=new e(t,a,1).getDay(),u=n[o].days[a];s.year=t,s.month=a;let M=a-1,m=t,S=a+1,Y=t;if(M<0&&(M=11,m--),m>n[0].year&&(r.year=m,r.month=M),m>=n[0].year&&l>0){let d=m-n[0].year,_=n[d].days[M];for(let x=0;x<l;x++)r.days.push(_-l+x+1)}for(let d=1;d<=u;d++)s.days.push(d);S>11&&(S=0,Y++),Y<n[0].year+n.length&&(i.year=Y,i.month=S);let I=42-l-s.days.length;if(Y<n[0].year+n.length&&I>0)for(let d=1;d<=I;d++)i.days.push(d);return{prevRemainingDays:l,prevMonth:r,currentMonth:s,nextMonth:i,remainingDays:I}}clone(){return new e(this)}isAfter(t){return this.timestamp.getTime()>t.timestamp.getTime()}isBefore(t){return this.timestamp.getTime()<t.timestamp.getTime()}isEqual(t){return this.year===t.year&&this.month===t.month&&this.day===t.day}isSame(t,a){switch(a){case"year":return this.year===t.year;case"month":return this.year===t.year&&this.month===t.month;case"day":return this.isEqual(t);default:throw new Error("Invalid unit for comparison")}}static getQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let r=a??new e().getYear(),s=(t-1)*3,i=new e(r,s,1),o=new e(r,s+2,1).endOfMonth();return{start:i,end:o}}getCurrentQuarter(){return Math.floor(this.month/3)+1}static getQuarters(t){let a=t??new e().getYear();return{Q1:e.getQuarter(1,a),Q2:e.getQuarter(2,a),Q3:e.getQuarter(3,a),Q4:e.getQuarter(4,a)}}static getCurrentFiscalYear(){let t=new e,a=t.getYear();return t.getMonth()<3?a-1:a}static getFiscalYearQuarter(t,a){if(t<1||t>4||!Number.isInteger(t))throw new Error("Quarter must be an integer between 1 and 4");let r=a??e.getCurrentFiscalYear(),s=r,i=(t-1)*3+3;t===4&&(s=r+1,i=0),i>11&&(s++,i-=12);let o=i+2,y=s;o>11&&(y++,o-=12);let l=new e(s,i,1),u=new e(y,o,1).endOfMonth();return{start:l,end:u}}getCurrentFiscalYearQuarter(){let t=this.getMonth();return t>=3&&t<=5?1:t>=6&&t<=8?2:t>=9&&t<=11?3:4}getCurrentFiscalYearQuarterDates(){let t=this.getCurrentFiscalYearQuarter(),a=e.getCurrentFiscalYear();return e.getFiscalYearQuarter(t,a)}static getFiscalYearQuarters(t){let a=t??e.getCurrentFiscalYear();return{Q1:e.getFiscalYearQuarter(1,a),Q2:e.getFiscalYearQuarter(2,a),Q3:e.getFiscalYearQuarter(3,a),Q4:e.getFiscalYearQuarter(4,a)}}};var V=e=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error(`Invalid date input '${e}'`);try{return new h(t).format("YYYY-MM-DD")}catch(a){throw console.error("Error During Date Conversion : ",a),new Error("Failed to convert AD to BS")}};function U(e){try{if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected format: YYYY-MM-DD");let t=e?new h(e):new h,a=s=>s<10?`0${s}`:`${s}`,r=t.getEnglishDate();return`${r.getFullYear()}-${a(r.getMonth()+1)}-${a(r.getDate())}`}catch(t){throw console.error("Error During Date Conversion : ",t),new Error("Failed to convert BS to AD")}}export{V as ADtoBS,U as BStoAD,b as MONTH_EN,T as MONTH_NP,f as MONTH_SHORT_EN,E as MONTH_SHORT_NP,n as NEPALI_DATE_MAP,H as NUMBER_NP,h as NepaliDate,c as WEEK_EN,p as WEEK_NP,w as WEEK_SHORT_EN,g as WEEK_SHORT_NP};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nepali-date-library",
3
3
  "private": false,
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -19,11 +19,28 @@
19
19
  "scripts": {
20
20
  "build": "tsc --emitDeclarationOnly && esbuild src/index.ts --bundle --platform=node --format=cjs --minify --outfile=dist/index.cjs.js && esbuild src/index.ts --bundle --platform=node --format=esm --minify --outfile=dist/index.mjs.js"
21
21
  },
22
- "keywords": [],
23
- "description": "",
22
+ "description": "A Nepali Date Library for both typescript and javascript",
24
23
  "devDependencies": {
25
24
  "@types/node": "^22.13.5",
26
25
  "esbuild": "^0.25.0",
27
26
  "typescript": "^5.7.3"
28
- }
27
+ },
28
+ "keywords": [
29
+ "nepal",
30
+ "nepali-date-library",
31
+ "nepali",
32
+ "nepali-date",
33
+ "nepali-date-converter",
34
+ "date-converter",
35
+ "ad-bs",
36
+ "ad-to-bs",
37
+ "bs-ad",
38
+ "bikram-sambat",
39
+ "typescript",
40
+ "javascript",
41
+ "BS date",
42
+ "AD to BS",
43
+ "BS to AD",
44
+ "nepali-ad-bs"
45
+ ]
29
46
  }