mirror of
https://github.com/quantum5/qcal.git
synced 2025-07-27 03:34:11 -04:00
61 lines
1.2 KiB
TypeScript
61 lines
1.2 KiB
TypeScript
export enum TzolkinName {
|
||
IMIX,
|
||
IK,
|
||
AKBAL,
|
||
KAN,
|
||
CHIKCHAN,
|
||
KIMI,
|
||
MANIK,
|
||
LAMAT,
|
||
MULUK,
|
||
OK,
|
||
CHUWEN,
|
||
EB,
|
||
BEN,
|
||
IX,
|
||
MEN,
|
||
KIB,
|
||
KABAN,
|
||
ETZNAB,
|
||
KAWAK,
|
||
AJAW
|
||
}
|
||
|
||
export type TzolkinNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;
|
||
|
||
export type Tzolkin = {
|
||
number: TzolkinNumber,
|
||
name: TzolkinName,
|
||
};
|
||
|
||
const tzolkinNames: Record<TzolkinName, string> = {
|
||
[TzolkinName.IMIX]: 'Imix',
|
||
[TzolkinName.IK]: 'Ikʼ',
|
||
[TzolkinName.AKBAL]: 'Akʼbʼal',
|
||
[TzolkinName.KAN]: 'Kʼan',
|
||
[TzolkinName.CHIKCHAN]: 'Chikchan',
|
||
[TzolkinName.KIMI]: 'Kimi',
|
||
[TzolkinName.MANIK]: 'Manikʼ',
|
||
[TzolkinName.LAMAT]: 'Lamat',
|
||
[TzolkinName.MULUK]: 'Muluk',
|
||
[TzolkinName.OK]: 'Ok',
|
||
[TzolkinName.CHUWEN]: 'Chuwen',
|
||
[TzolkinName.EB]: 'Ebʼ',
|
||
[TzolkinName.BEN]: 'Bʼen',
|
||
[TzolkinName.IX]: 'Ix',
|
||
[TzolkinName.MEN]: 'Men',
|
||
[TzolkinName.KIB]: 'Kibʼ',
|
||
[TzolkinName.KABAN]: 'Kabʼan',
|
||
[TzolkinName.ETZNAB]: 'Etzʼnabʼ',
|
||
[TzolkinName.KAWAK]: 'Kawak',
|
||
[TzolkinName.AJAW]: 'Ajaw',
|
||
};
|
||
|
||
export function tzolkinName(name: TzolkinName): string {
|
||
return tzolkinNames[name];
|
||
}
|
||
|
||
export function formatTzolkin(tzolkin: Tzolkin): string {
|
||
return `${tzolkin.number} ${tzolkinName(tzolkin.name)}`;
|
||
}
|