@wesantal/santali-calendar 1.0.2 → 1.0.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"festivals.d.ts","sourceRoot":"","sources":["../../src/constants/festivals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,eAAe,EAgCtC,CAAC"}
1
+ {"version":3,"file":"festivals.d.ts","sourceRoot":"","sources":["../../src/constants/festivals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,eAAe,EA+BtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"festivals.js","sourceRoot":"","sources":["../../src/constants/festivals.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C;QACE,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,UAAU;KACjB;IAED;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;KAClB;IAED;QACE,EAAE,EAAE,yCAAyC;QAC7C,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qDAAqD;QAClE,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;KAClB;IAED;QACE,EAAE,EAAE,0CAA0C;QAC9C,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,0CAA0C;QACvD,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"festivals.js","sourceRoot":"","sources":["../../src/constants/festivals.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C;QACE,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;KAClB;IAED;QACE,EAAE,EAAE,yCAAyC;QAC7C,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qDAAqD;QAClE,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,WAAW;KAClB;IAED;QACE,EAAE,EAAE,0CAA0C;QAC9C,IAAI,EAAE,mCAAmC;QACzC,WAAW,EAAE,0CAA0C;QACvD,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC"}
@@ -20,7 +20,7 @@ export const months = [
20
20
  english: "Baisak",
21
21
  },
22
22
  {
23
- days: 30,
23
+ days: 29,
24
24
  name: "ᱡᱷᱮᱸᱴ",
25
25
  english: "Jhent",
26
26
  },
@@ -55,7 +55,7 @@ export const months = [
55
55
  english: "Aghan",
56
56
  },
57
57
  {
58
- days: 29,
58
+ days: 30,
59
59
  name: "ᱯᱩᱥ",
60
60
  english: "Pus",
61
61
  },
@@ -0,0 +1,4 @@
1
+ import { MoonPhaseIcon, MoonPhaseName } from "../types/index.js";
2
+ export declare const MOON_PHASE_NAMES: MoonPhaseName[];
3
+ export declare const MOON_PHASE_ICONS: MoonPhaseIcon[];
4
+ //# sourceMappingURL=moon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon.d.ts","sourceRoot":"","sources":["../../src/constants/moon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,aAAa,EASlC,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,aAAa,EASlC,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const MOON_PHASE_NAMES = [
2
+ "New Moon",
3
+ "Waxing Crescent",
4
+ "First Quarter",
5
+ "Waxing Gibbous",
6
+ "Full Moon",
7
+ "Waning Gibbous",
8
+ "Last Quarter",
9
+ "Waning Crescent",
10
+ ];
11
+ export const MOON_PHASE_ICONS = [
12
+ "🌑",
13
+ "🌒",
14
+ "🌓",
15
+ "🌔",
16
+ "🌕",
17
+ "🌖",
18
+ "🌗",
19
+ "🌘",
20
+ ];
21
+ //# sourceMappingURL=moon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon.js","sourceRoot":"","sources":["../../src/constants/moon.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,iBAAiB;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,9 @@ export * from "./constants/festivals.js";
2
2
  export * from "./constants/months.js";
3
3
  export * from "./constants/week-days.js";
4
4
  export * from "./types/index.js";
5
+ export * from "./utils/astronomy.js";
5
6
  export * from "./utils/calendar.js";
6
7
  export * from "./utils/leap-year.js";
8
+ export * from "./utils/moon-phase.js";
7
9
  export * from "./utils/numeral.js";
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,9 @@ export * from "./constants/festivals.js";
2
2
  export * from "./constants/months.js";
3
3
  export * from "./constants/week-days.js";
4
4
  export * from "./types/index.js";
5
+ export * from "./utils/astronomy.js";
5
6
  export * from "./utils/calendar.js";
6
7
  export * from "./utils/leap-year.js";
8
+ export * from "./utils/moon-phase.js";
7
9
  export * from "./utils/numeral.js";
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -1,6 +1,9 @@
1
+ import { MoonIllumination } from "suncalc";
2
+ export type DateTime = Date | string | number;
1
3
  export type WeekDay = "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday";
4
+ export type SantaliWeekDay = "ᱥᱤᱸᱜᱤ" | "ᱚᱛᱮ" | "ᱵᱟᱞᱮ" | "ᱥᱟᱹᱜᱩᱱ" | "ᱥᱟᱹᱨᱫᱤ" | "ᱡᱟᱹᱨᱩᱢ" | "ᱧᱩᱦᱩᱢ";
2
5
  export interface SantaliWeek {
3
- name: string;
6
+ name: SantaliWeekDay;
4
7
  english: string;
5
8
  }
6
9
  export interface SantaliFestival {
@@ -40,6 +43,7 @@ export interface SantaliCalendarDay {
40
43
  isToday: boolean;
41
44
  weekDay: WeekDay;
42
45
  isCurrentMonth: boolean;
46
+ santaliWeekDay: SantaliWeekDay;
43
47
  }
44
48
  export type SantaliCalendarDayCell = SantaliCalendarDay | null;
45
49
  export interface SantaliCalendarMonth {
@@ -49,6 +53,8 @@ export interface SantaliCalendarMonth {
49
53
  totalDays: number;
50
54
  startDate: string;
51
55
  description?: string;
56
+ newMoonPhase: MoonPhase;
57
+ fullMoonPhase: MoonPhase;
52
58
  days: SantaliCalendarDayCell[];
53
59
  }
54
60
  export interface SantaliCalendarYear {
@@ -58,4 +64,46 @@ export interface SantaliCalendarYear {
58
64
  currentMonthIndex: number;
59
65
  months: SantaliCalendarMonth[];
60
66
  }
67
+ export type MoonPhaseIcon = "🌑" | "🌒" | "🌓" | "🌔" | "🌕" | "🌖" | "🌗" | "🌘";
68
+ export type MoonPhaseName = "New Moon" | "Waxing Crescent" | "First Quarter" | "Waxing Gibbous" | "Full Moon" | "Waning Gibbous" | "Last Quarter" | "Waning Crescent";
69
+ export interface MoonPhase {
70
+ date: string;
71
+ icon: MoonPhaseIcon;
72
+ name: MoonPhaseName;
73
+ description: string;
74
+ illumination: MoonIllumination;
75
+ }
76
+ export type LunarQuarterType = "NEW_MOON" | "FIRST_QUARTER" | "FULL_MOON" | "LAST_QUARTER";
77
+ export interface LunarQuarter {
78
+ type: LunarQuarterType;
79
+ /**
80
+ * Astronomy Engine quarter number.
81
+ *
82
+ * 0 = New Moon
83
+ * 1 = First Quarter
84
+ * 2 = Full Moon
85
+ * 3 = Last Quarter
86
+ */
87
+ quarter: number;
88
+ /**
89
+ * Exact astronomical UTC time.
90
+ */
91
+ date: Date;
92
+ /**
93
+ * ISO UTC date-time.
94
+ */
95
+ dateTime: string;
96
+ /**
97
+ * Calendar date in YYYY-MM-DD.
98
+ */
99
+ dateString: string;
100
+ name: string;
101
+ icon: string;
102
+ }
103
+ export interface LunarEvents {
104
+ newMoon?: LunarQuarter;
105
+ firstQuarter?: LunarQuarter;
106
+ fullMoon?: LunarQuarter;
107
+ lastQuarter?: LunarQuarter;
108
+ }
61
109
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GACf,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,sBAAsB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { DateTime, MoonPhase, MoonPhaseName } from "../types/index.js";
2
+ export declare function searchMoonPhase(name: MoonPhaseName, date: DateTime, totalDays: number): MoonPhase;
3
+ export declare function getNextNewMoon(date?: DateTime): MoonPhase;
4
+ export declare function getNextFullMoon(date?: DateTime): MoonPhase;
5
+ //# sourceMappingURL=astronomy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astronomy.d.ts","sourceRoot":"","sources":["../../src/utils/astronomy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvE,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,GAChB,SAAS,CAeX;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE,QAAqB,aAEzD;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,QAAqB,aAE1D"}
@@ -0,0 +1,23 @@
1
+ import { addDays } from "date-fns";
2
+ import { getMoonPhase } from "./moon-phase.js";
3
+ export function searchMoonPhase(name, date, totalDays) {
4
+ let moonPhase = undefined;
5
+ let searchedDays = 0;
6
+ while (searchedDays !== totalDays || !moonPhase) {
7
+ const startDate = addDays(date, searchedDays);
8
+ const currentMoonPhase = getMoonPhase(startDate);
9
+ if (currentMoonPhase.name === name) {
10
+ moonPhase = currentMoonPhase;
11
+ break;
12
+ }
13
+ searchedDays++;
14
+ }
15
+ return moonPhase;
16
+ }
17
+ export function getNextNewMoon(date = new Date()) {
18
+ return searchMoonPhase("New Moon", date, 40);
19
+ }
20
+ export function getNextFullMoon(date = new Date()) {
21
+ return searchMoonPhase("Full Moon", date, 40);
22
+ }
23
+ //# sourceMappingURL=astronomy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astronomy.js","sourceRoot":"","sources":["../../src/utils/astronomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,IAAc,EACd,SAAiB;IAEjB,IAAI,SAAS,GAA0B,SAAS,CAAC;IACjD,IAAI,YAAY,GAAW,CAAC,CAAC;IAE7B,OAAO,YAAY,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,gBAAgB,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACnC,SAAS,GAAG,gBAAgB,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAiB,IAAI,IAAI,EAAE;IACxD,OAAO,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAiB,IAAI,IAAI,EAAE;IACzD,OAAO,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { SantaliCalendarMonth, SantaliCalendarYear, SantaliMonth, TodaySantaliDate } from "../types/index.js";
2
+ export declare function formatToDateString(date: Date | string): string;
2
3
  export declare function buildNormalMonth(month: SantaliMonth, previousMonth?: SantaliMonth, nextMonth?: SantaliMonth): SantaliCalendarMonth;
3
4
  export declare function formatDateShort(iso: string): string;
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/utils/calendar.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AA0B3B,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,YAAY,GACvB,oBAAoB,CA4DtB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnD;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAOrC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,SAAO,EACjB,UAAU,GAAE,MAAyB,GACpC,MAAM,CAkBR;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,YAAY,EAAE,CAmChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAuC7D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAetB;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,gBAAgB,CAkE7D;AAMD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/utils/calendar.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EAEZ,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAiB3B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAE9D;AAkBD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,YAAY,GACvB,oBAAoB,CAwDtB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnD;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAOrC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,SAAO,EACjB,UAAU,GAAE,MAAyB,GACpC,MAAM,CAkBR;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,YAAY,EAAE,CAmChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAuC7D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAetB;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,gBAAgB,CAkE7D;AAMD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C"}
@@ -1,18 +1,27 @@
1
1
  import { addDays, differenceInDays, formatDate, getDay, isToday, toDate, } from "date-fns";
2
2
  import { months } from "../constants/months.js";
3
- import { weekDays } from "../constants/week-days.js";
3
+ import { santaliWeeks, weekDays } from "../constants/week-days.js";
4
+ import { getNextFullMoon, getNextNewMoon } from "./astronomy.js";
4
5
  import { isLeapYear, METONIC_CYCLE_START, YEAR_ANCHOR_DATE, } from "./leap-year.js";
5
6
  import { toOlChikiNumeral } from "./numeral.js";
6
7
  function getWeekDay(date) {
7
8
  return weekDays[date.getDay()];
8
9
  }
10
+ function getSantaliWeekDay(date) {
11
+ return santaliWeeks[date.getDay()]?.name;
12
+ }
13
+ export function formatToDateString(date) {
14
+ return formatDate(date, "yyyy-MM-dd");
15
+ }
9
16
  function createCalendarDay(day, date, isCurrentMonth) {
10
17
  return {
11
18
  day: toOlChikiNumeral(day),
12
- date: formatDate(date, "yyyy-MM-dd"),
19
+ date: formatToDateString(date),
13
20
  isCurrentMonth,
14
- weekDay: getWeekDay(date),
15
21
  isToday: isToday(date),
22
+ weekDay: getWeekDay(date),
23
+ // moonPhase: getMoonPhase(date),
24
+ santaliWeekDay: getSantaliWeekDay(date),
16
25
  };
17
26
  }
18
27
  export function buildNormalMonth(month, previousMonth, nextMonth) {
@@ -27,13 +36,7 @@ export function buildNormalMonth(month, previousMonth, nextMonth) {
27
36
  const firstPreviousDay = previousMonth.days - startDow + 1;
28
37
  for (let day = firstPreviousDay; day <= previousMonth.days; day++) {
29
38
  const currentDate = addDays(previousStart, day - 1);
30
- cells.push({
31
- day: toOlChikiNumeral(day),
32
- isToday: false,
33
- isCurrentMonth: false,
34
- weekDay: getWeekDay(currentDate),
35
- date: formatDate(currentDate, "yyyy-MM-dd"),
36
- });
39
+ cells.push(createCalendarDay(day, currentDate, false));
37
40
  }
38
41
  }
39
42
  else {
@@ -66,6 +69,8 @@ export function buildNormalMonth(month, previousMonth, nextMonth) {
66
69
  ...month,
67
70
  days: cells,
68
71
  totalDays: month.days,
72
+ newMoonPhase: getNextNewMoon(month.startDate),
73
+ fullMoonPhase: getNextFullMoon(month.startDate),
69
74
  };
70
75
  }
71
76
  export function formatDateShort(iso) {
@@ -186,8 +191,8 @@ export function buildMonths(year, yearStartDate) {
186
191
  days: sarchaDays,
187
192
  name: "ᱥᱟᱨᱪᱟ",
188
193
  english: "Sarcha",
189
- startDate: startDate.toISOString(),
190
194
  endDate: endDate.toISOString(),
195
+ startDate: startDate.toISOString(),
191
196
  });
192
197
  }
193
198
  return yearMonths;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/utils/calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/utils/calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Get the IST noon for a given date
3
+ * @param year The year
4
+ * @param month The month
5
+ * @param day The day
6
+ * @returns The IST noon date
7
+ */
8
+ export declare function getISTNoon(year: number, month: number, day: number): Date;
9
+ /**
10
+ * Santali calendar lunar observation cutoff.
11
+ *
12
+ * The traditional calendar day/month decision is evaluated at
13
+ * 17:00 IST (5:00 PM Indian Standard Time).
14
+ *
15
+ * IST = UTC +05:30
16
+ * 17:00 IST = 11:30 UTC
17
+ *
18
+ * @param year Gregorian year
19
+ * @param month JavaScript month index (0-11)
20
+ * @param day Gregorian day of month
21
+ * @returns Date representing 17:00 IST
22
+ */
23
+ export declare function getISTCutoff(year: number, month: number, day: number): Date;
24
+ //# sourceMappingURL=moon-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon-date.d.ts","sourceRoot":"","sources":["../../src/utils/moon-date.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIzE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAG3E"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Get the IST noon for a given date
3
+ * @param year The year
4
+ * @param month The month
5
+ * @param day The day
6
+ * @returns The IST noon date
7
+ */
8
+ export function getISTNoon(year, month, day) {
9
+ // IST = UTC + 5:30
10
+ // 12:00 PM IST = 06:30 AM UTC
11
+ return new Date(Date.UTC(year, month, day, 6, 30, 0, 0));
12
+ }
13
+ /**
14
+ * Santali calendar lunar observation cutoff.
15
+ *
16
+ * The traditional calendar day/month decision is evaluated at
17
+ * 17:00 IST (5:00 PM Indian Standard Time).
18
+ *
19
+ * IST = UTC +05:30
20
+ * 17:00 IST = 11:30 UTC
21
+ *
22
+ * @param year Gregorian year
23
+ * @param month JavaScript month index (0-11)
24
+ * @param day Gregorian day of month
25
+ * @returns Date representing 17:00 IST
26
+ */
27
+ export function getISTCutoff(year, month, day) {
28
+ // 17:00 IST = 11:30 UTC
29
+ return new Date(Date.UTC(year, month, day, 11, 30, 0, 0));
30
+ }
31
+ //# sourceMappingURL=moon-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon-date.js","sourceRoot":"","sources":["../../src/utils/moon-date.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IACjE,mBAAmB;IACnB,8BAA8B;IAC9B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IACnE,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,50 @@
1
+ import * as SunCalc from "suncalc";
2
+ import { DateTime, MoonPhase, MoonPhaseIcon, MoonPhaseName } from "../types/index.js";
3
+ /**
4
+ * Get the moon phase index for a given phase
5
+ * @param phase The moon phase
6
+ * @returns The moon phase index
7
+ */
8
+ export declare function getMoonPhaseIndex(phase: number): number;
9
+ /**
10
+ * Get the moon phase name for a given illumination
11
+ * @param illumination The moon illumination
12
+ * @returns The moon phase name
13
+ */
14
+ export declare function getMoonPhaseName(illumination: SunCalc.MoonIllumination): MoonPhaseName;
15
+ /**
16
+ * Get the moon phase icon for a given illumination
17
+ * @param illumination The moon illumination
18
+ * @returns The moon phase icon
19
+ */
20
+ export declare function getMoonPhaseIcon(illumination: SunCalc.MoonIllumination): MoonPhaseIcon;
21
+ /**
22
+ * Get the moon phase description for a given illumination
23
+ * @param illumination The moon illumination
24
+ * @returns The moon phase description
25
+ */
26
+ export declare function getMoonPhaseDescription(illumination: SunCalc.MoonIllumination): string;
27
+ /**
28
+ * Get the moon phase for a given date
29
+ * @param date The date to get the moon phase for
30
+ * @returns The moon phase
31
+ */
32
+ export declare function getMoonPhase(date: Date): MoonPhase;
33
+ /**
34
+ * Get sunrise and sunset times for a given date and location
35
+ * @param date The date to get sunrise and sunset times for
36
+ * @param latitude The latitude of the location
37
+ * @param longitude The longitude of the location
38
+ * @returns The sunrise and sunset times
39
+ */
40
+ export declare function getSunriseAndSunset(date: Date, latitude: number, longitude: number): SunCalc.SunTimes;
41
+ /**
42
+ * Get moon times for a given date and location
43
+ * @param date The date to get moon times for
44
+ * @param latitude The latitude of the location
45
+ * @param longitude The longitude of the location
46
+ * @returns The moon times
47
+ */
48
+ export declare function getMoonTimes(date: Date, latitude: number, longitude: number): SunCalc.MoonTimes;
49
+ export declare function getLunarPhases(startDate: DateTime, endDate: DateTime): Map<string, MoonPhase>;
50
+ //# sourceMappingURL=moon-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon-phase.d.ts","sourceRoot":"","sources":["../../src/utils/moon-phase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACd,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,OAAO,CAAC,gBAAgB,GACrC,aAAa,CAUf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,OAAO,CAAC,gBAAgB,GACrC,aAAa,CAUf;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,OAAO,CAAC,gBAAgB,GACrC,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgBlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAElB;AAED;;;;;;GAMG;AAEH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,CAEnB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,0BASpE"}
@@ -0,0 +1,128 @@
1
+ import { addDays, differenceInDays } from "date-fns";
2
+ import * as SunCalc from "suncalc";
3
+ import { formatToDateString } from "./calendar.js";
4
+ import { getISTCutoff } from "./moon-date.js";
5
+ /**
6
+ * Get the moon phase index for a given phase
7
+ * @param phase The moon phase
8
+ * @returns The moon phase index
9
+ */
10
+ export function getMoonPhaseIndex(phase) {
11
+ return Math.round(phase * 8) % 8;
12
+ }
13
+ /**
14
+ * Get the moon phase name for a given illumination
15
+ * @param illumination The moon illumination
16
+ * @returns The moon phase name
17
+ */
18
+ export function getMoonPhaseName(illumination) {
19
+ const phase = illumination.phase;
20
+ if (phase < 0.03)
21
+ return "New Moon";
22
+ if (phase < 0.22)
23
+ return "Waxing Crescent";
24
+ if (phase < 0.28)
25
+ return "First Quarter";
26
+ if (phase < 0.47)
27
+ return "Waxing Gibbous";
28
+ if (phase < 0.53)
29
+ return "Full Moon";
30
+ if (phase < 0.72)
31
+ return "Waning Gibbous";
32
+ if (phase < 0.78)
33
+ return "Last Quarter";
34
+ return "Waning Crescent";
35
+ }
36
+ /**
37
+ * Get the moon phase icon for a given illumination
38
+ * @param illumination The moon illumination
39
+ * @returns The moon phase icon
40
+ */
41
+ export function getMoonPhaseIcon(illumination) {
42
+ const phase = illumination.phase;
43
+ if (phase < 0.03)
44
+ return "🌑";
45
+ if (phase < 0.22)
46
+ return "🌒";
47
+ if (phase < 0.28)
48
+ return "🌓";
49
+ if (phase < 0.47)
50
+ return "🌔";
51
+ if (phase < 0.53)
52
+ return "🌕";
53
+ if (phase < 0.72)
54
+ return "🌖";
55
+ if (phase < 0.78)
56
+ return "🌗";
57
+ return "🌘";
58
+ }
59
+ /**
60
+ * Get the moon phase description for a given illumination
61
+ * @param illumination The moon illumination
62
+ * @returns The moon phase description
63
+ */
64
+ export function getMoonPhaseDescription(illumination) {
65
+ const phase = illumination.phase;
66
+ if (phase < 0.03)
67
+ return "The moon is not visible";
68
+ if (phase < 0.22)
69
+ return "The moon is waxing crescent";
70
+ if (phase < 0.28)
71
+ return "The moon is first quarter";
72
+ if (phase < 0.47)
73
+ return "The moon is waxing gibbous";
74
+ if (phase < 0.53)
75
+ return "The moon is full";
76
+ if (phase < 0.72)
77
+ return "The moon is waning gibbous";
78
+ if (phase < 0.78)
79
+ return "The moon is last quarter";
80
+ return "The moon is waning crescent";
81
+ }
82
+ /**
83
+ * Get the moon phase for a given date
84
+ * @param date The date to get the moon phase for
85
+ * @returns The moon phase
86
+ */
87
+ export function getMoonPhase(date) {
88
+ const cutoffDate = getISTCutoff(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
89
+ const illumination = SunCalc.getMoonIllumination(cutoffDate);
90
+ return {
91
+ date: formatToDateString(cutoffDate),
92
+ name: getMoonPhaseName(illumination),
93
+ icon: getMoonPhaseIcon(illumination),
94
+ description: getMoonPhaseDescription(illumination),
95
+ illumination,
96
+ };
97
+ }
98
+ /**
99
+ * Get sunrise and sunset times for a given date and location
100
+ * @param date The date to get sunrise and sunset times for
101
+ * @param latitude The latitude of the location
102
+ * @param longitude The longitude of the location
103
+ * @returns The sunrise and sunset times
104
+ */
105
+ export function getSunriseAndSunset(date, latitude, longitude) {
106
+ return SunCalc.getTimes(date, latitude, longitude);
107
+ }
108
+ /**
109
+ * Get moon times for a given date and location
110
+ * @param date The date to get moon times for
111
+ * @param latitude The latitude of the location
112
+ * @param longitude The longitude of the location
113
+ * @returns The moon times
114
+ */
115
+ export function getMoonTimes(date, latitude, longitude) {
116
+ return SunCalc.getMoonTimes(date, latitude, longitude);
117
+ }
118
+ export function getLunarPhases(startDate, endDate) {
119
+ const lunarEventMap = new Map();
120
+ const days = differenceInDays(endDate, startDate);
121
+ for (let i = 0; i < days; i++) {
122
+ const date = addDays(startDate, i);
123
+ const moonPhase = getMoonPhase(date);
124
+ lunarEventMap.set(formatToDateString(date), moonPhase);
125
+ }
126
+ return lunarEventMap;
127
+ }
128
+ //# sourceMappingURL=moon-phase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moon-phase.js","sourceRoot":"","sources":["../../src/utils/moon-phase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,58 +1,59 @@
1
- {
2
- "name": "@wesantal/santali-calendar",
3
- "version": "1.0.2",
4
- "description": "A framework-independent Santali Calendar data and utility package for JavaScript and TypeScript applications.",
5
- "private": false,
6
- "type": "module",
7
- "main": "dist/index.js",
8
- "module": "dist/index.js",
9
- "types": "dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js",
14
- "require": "./dist/index.cjs"
15
- }
16
- },
17
- "files": [
18
- "dist",
19
- "README.md",
20
- "LICENSE"
21
- ],
22
- "scripts": {
23
- "build": "tsc --project tsconfig.build.json",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "lint": "tsc --noEmit",
27
- "clean": "rimraf dist"
28
- },
29
- "keywords": [
30
- "santali",
31
- "calendar",
32
- "santali-calendar",
33
- "adivasi",
34
- "tribal",
35
- "indigenous",
36
- "india",
37
- "jharkhand"
38
- ],
39
- "author": {
40
- "name": "WeSantal",
41
- "email": "official.wesantal@gmail.com",
42
- "url": "https://wesantal.org"
43
- },
44
- "license": "MIT",
45
- "publishConfig": {
46
- "access": "public"
47
- },
48
- "engines": {
49
- "node": ">=18"
50
- },
51
- "devDependencies": {
52
- "typescript": "~6.0.3",
53
- "vitest": "^3.2.4"
54
- },
55
- "dependencies": {
56
- "date-fns": "^4.4.0"
57
- }
58
- }
1
+ {
2
+ "name": "@wesantal/santali-calendar",
3
+ "version": "1.0.3",
4
+ "description": "A framework-independent Santali Calendar data and utility package for JavaScript and TypeScript applications.",
5
+ "private": false,
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "module": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.cjs"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc --project tsconfig.build.json",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "lint": "tsc --noEmit",
27
+ "clean": "rimraf dist"
28
+ },
29
+ "keywords": [
30
+ "santali",
31
+ "calendar",
32
+ "santali-calendar",
33
+ "adivasi",
34
+ "tribal",
35
+ "indigenous",
36
+ "india",
37
+ "jharkhand"
38
+ ],
39
+ "author": {
40
+ "name": "WeSantal",
41
+ "email": "official.wesantal@gmail.com",
42
+ "url": "https://wesantal.org"
43
+ },
44
+ "license": "MIT",
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "engines": {
49
+ "node": ">=18"
50
+ },
51
+ "devDependencies": {
52
+ "typescript": "~6.0.3",
53
+ "vitest": "^3.2.4"
54
+ },
55
+ "dependencies": {
56
+ "date-fns": "^4.4.0",
57
+ "suncalc": "^2.0.2"
58
+ }
59
+ }