@thyrith/momentkh 2.5.4 → 3.0.0

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.
@@ -0,0 +1,181 @@
1
+ /**
2
+ * MomentKH - Standalone Khmer Calendar Library (TypeScript)
3
+ *
4
+ * A simplified, standalone library for Khmer calendar conversion
5
+ * No dependencies required
6
+ *
7
+ * Based on:
8
+ * - khmer_calendar.cpp implementation
9
+ * - Original momentkh library
10
+ *
11
+ * @version 2.0.0
12
+ * @license MIT
13
+ */
14
+ export declare enum MoonPhase {
15
+ Waxing = 0,// កើត
16
+ Waning = 1
17
+ }
18
+ export declare enum MonthIndex {
19
+ Mikasar = 0,// មិគសិរ
20
+ Bos = 1,// បុស្ស
21
+ Meak = 2,// មាឃ
22
+ Phalgun = 3,// ផល្គុន
23
+ Chetr = 4,// ចេត្រ
24
+ Visakh = 5,// ពិសាខ
25
+ Jesth = 6,// ជេស្ឋ
26
+ Asath = 7,// អាសាឍ
27
+ Srap = 8,// ស្រាពណ៍
28
+ Photrobot = 9,// ភទ្របទ
29
+ Assoch = 10,// អស្សុជ
30
+ Kadek = 11,// កត្ដិក
31
+ BothmakAsath = 12,// បឋមាសាឍ
32
+ TutiyakAsath = 13
33
+ }
34
+ export declare enum AnimalYear {
35
+ Chhut = 0,// ជូត - Rat
36
+ Chlov = 1,// ឆ្លូវ - Ox
37
+ Khal = 2,// ខាល - Tiger
38
+ Thos = 3,// ថោះ - Rabbit
39
+ Rong = 4,// រោង - Dragon
40
+ Masagn = 5,// ម្សាញ់ - Snake
41
+ Momee = 6,// មមី - Horse
42
+ Momae = 7,// មមែ - Goat
43
+ Vok = 8,// វក - Monkey
44
+ Roka = 9,// រកា - Rooster
45
+ Cho = 10,// ច - Dog
46
+ Kor = 11
47
+ }
48
+ export declare enum EraYear {
49
+ Samridhisak = 0,// សំរឹទ្ធិស័ក
50
+ Ekasak = 1,// ឯកស័ក
51
+ Tosak = 2,// ទោស័ក
52
+ Tresak = 3,// ត្រីស័ក
53
+ Chatvasak = 4,// ចត្វាស័ក
54
+ Panchasak = 5,// បញ្ចស័ក
55
+ Chhasak = 6,// ឆស័ក
56
+ Saptasak = 7,// សប្តស័ក
57
+ Atthasak = 8,// អដ្ឋស័ក
58
+ Novvasak = 9
59
+ }
60
+ export declare enum DayOfWeek {
61
+ Sunday = 0,// អាទិត្យ
62
+ Monday = 1,// ចន្ទ
63
+ Tuesday = 2,// អង្គារ
64
+ Wednesday = 3,// ពុធ
65
+ Thursday = 4,// ព្រហស្បតិ៍
66
+ Friday = 5,// សុក្រ
67
+ Saturday = 6
68
+ }
69
+ export interface GregorianDate {
70
+ year: number;
71
+ month: number;
72
+ day: number;
73
+ hour?: number;
74
+ minute?: number;
75
+ second?: number;
76
+ dayOfWeek?: number;
77
+ }
78
+ export interface KhmerDateInfo {
79
+ day: number;
80
+ moonPhase: MoonPhase;
81
+ moonPhaseName: string;
82
+ monthIndex: MonthIndex;
83
+ monthName: string;
84
+ beYear: number;
85
+ jsYear: number;
86
+ animalYear: AnimalYear;
87
+ animalYearName: string;
88
+ eraYear: EraYear;
89
+ eraYearName: string;
90
+ dayOfWeek: DayOfWeek;
91
+ dayOfWeekName: string;
92
+ }
93
+ export interface KhmerConversionResult {
94
+ gregorian: {
95
+ year: number;
96
+ month: number;
97
+ day: number;
98
+ hour: number;
99
+ minute: number;
100
+ second: number;
101
+ dayOfWeek: number;
102
+ };
103
+ khmer: KhmerDateInfo;
104
+ _khmerDateObj: KhmerDate;
105
+ }
106
+ export interface NewYearInfo {
107
+ year: number;
108
+ month: number;
109
+ day: number;
110
+ hour: number;
111
+ minute: number;
112
+ }
113
+ export interface TimeInfo {
114
+ hour: number;
115
+ minute: number;
116
+ }
117
+ export interface SunInfo {
118
+ sunInaugurationAsLibda: number;
119
+ reasey: number;
120
+ angsar: number;
121
+ libda: number;
122
+ }
123
+ export interface NewYearInfoInternal {
124
+ timeOfNewYear: TimeInfo;
125
+ numberOfVanabatDays: number;
126
+ newYearsDaySotins: SunInfo[];
127
+ }
128
+ export interface NewYearFullInfo {
129
+ newYearMoment: Date;
130
+ lerngSakMoment: Date;
131
+ newYearInfo: NewYearInfo;
132
+ }
133
+ export interface MoonDayInfo {
134
+ day: number;
135
+ moonPhase: MoonPhase;
136
+ }
137
+ export interface Constants {
138
+ LunarMonths: Record<string, number>;
139
+ LunarMonthNames: string[];
140
+ SolarMonthNames: string[];
141
+ AnimalYearNames: string[];
142
+ EraYearNames: string[];
143
+ WeekdayNames: string[];
144
+ MoonStatusNames: string[];
145
+ }
146
+ declare class KhmerDate {
147
+ day: number;
148
+ moonPhase: MoonPhase;
149
+ monthIndex: MonthIndex;
150
+ beYear: number;
151
+ constructor(day: number, moonPhase: MoonPhase, monthIndex: MonthIndex, beYear: number);
152
+ getDayNumber(): number;
153
+ static fromDayNumber(dayNum: number): MoonDayInfo;
154
+ addDays(count: number): KhmerDate;
155
+ subtractDays(count: number): KhmerDate;
156
+ toString(): string;
157
+ }
158
+ export declare const momentkh: {
159
+ fromGregorian(year: number, month: number, day: number, hour?: number, minute?: number, second?: number): KhmerConversionResult;
160
+ fromKhmer(day: number, moonPhase: MoonPhase | number, monthIndex: MonthIndex | number, beYear: number): GregorianDate;
161
+ getNewYear(ceYear: number): NewYearInfo;
162
+ format(khmerData: KhmerConversionResult, formatString?: string): string;
163
+ fromDate(date: Date): KhmerConversionResult;
164
+ toDate(day: number, moonPhase: MoonPhase | number, monthIndex: MonthIndex | number, beYear: number): Date;
165
+ constants: {
166
+ LunarMonths: Record<string, number>;
167
+ LunarMonthNames: string[];
168
+ SolarMonthNames: string[];
169
+ AnimalYearNames: string[];
170
+ EraYearNames: string[];
171
+ WeekdayNames: string[];
172
+ MoonStatusNames: string[];
173
+ };
174
+ MoonPhase: typeof MoonPhase;
175
+ MonthIndex: typeof MonthIndex;
176
+ AnimalYear: typeof AnimalYear;
177
+ EraYear: typeof EraYear;
178
+ DayOfWeek: typeof DayOfWeek;
179
+ };
180
+ export default momentkh;
181
+ //# sourceMappingURL=momentkh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"momentkh.d.ts","sourceRoot":"","sources":["../momentkh.ts"],"names":[],"mappings":"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"}