lunar-typescript-optimize
Version:
A TypeScript library for Solar and Chinese Lunar calendar calculations, with optimized build and browser compatibility
234 lines (233 loc) • 6.65 kB
JavaScript
import { FotoFestival } from "./FotoFestival.mjs";
export class FotoUtil {
static DAY_ZHAI_GUAN_YIN = ["1-8", "2-7", "2-9", "2-19", "3-3", "3-6", "3-13", "4-22", "5-3", "5-17", "6-16", "6-18", "6-19", "6-23", "7-13", "8-16", "9-19", "9-23", "10-2", "11-19", "11-24", "12-25"];
static XIU_27 = [
"{xx.jiao}",
"{xx.kang}",
"{xx.di}",
"{xx.fang}",
"{xx.xin}",
"{xx.tail}",
"{xx.ji}",
"{xx.dou}",
"{xx.nv}",
"{xx.xu}",
"{xx.wei}",
"{xx.shi}",
"{xx.qiang}",
"{xx.kui}",
"{xx.lou}",
"{xx.vei}",
"{xx.mao}",
"{xx.bi}",
"{xx.zi}",
"{xx.can}",
"{xx.jing}",
"{xx.gui}",
"{xx.liu}",
"{xx.xing}",
"{xx.zhang}",
"{xx.yi}",
"{xx.zhen}"
];
static XIU_OFFSET = [11, 13, 15, 17, 19, 21, 24, 0, 2, 4, 7, 9];
static _DJ = "";
static _JS = "";
static _SS = "";
static _XL = "";
static _JW = "";
static _Y = new FotoFestival("");
static _T = new FotoFestival("", "", true);
static _D = new FotoFestival("", "", true);
static _S = new FotoFestival("", "", true);
static _W = new FotoFestival("", "", true);
static _H = new FotoFestival("", "", true);
static _L = new FotoFestival("", "", true);
static _J = new FotoFestival("");
static _R = new FotoFestival("", "", true, "");
static _M = new FotoFestival("", "", true, "");
static _HH = new FotoFestival("", "", true, "");
static FESTIVAL = {
"1-1": [FotoUtil._S],
"1-3": [FotoUtil._D],
"1-5": [new FotoFestival("\u4E94\u865A\u5FCC")],
"1-6": [new FotoFestival("\u516D\u8017\u5FCC"), FotoUtil._L],
"1-7": [FotoUtil._T],
"1-8": [FotoUtil._T],
"1-14": [FotoUtil._T],
"1-15": [FotoUtil._W, FotoUtil._T],
"1-23": [FotoUtil._T],
"1-25": [FotoUtil._H],
"1-27": [FotoUtil._D],
"1-29": [FotoUtil._T],
"1-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"2-1": [FotoUtil._S],
"2-2": [FotoUtil._T],
"2-3": [FotoUtil._D],
"2-6": [FotoUtil._L],
"2-8": [FotoUtil._T],
"2-11": [FotoUtil._Y],
"2-14": [FotoUtil._T],
"2-15": [FotoUtil._W, FotoUtil._T],
"2-19": [FotoUtil._T],
"2-21": [FotoUtil._T],
"2-23": [FotoUtil._T],
"2-25": [FotoUtil._H],
"2-27": [FotoUtil._D],
"2-29": [FotoUtil._T],
"2-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"3-1": [FotoUtil._S],
"3-3": [FotoUtil._D],
"3-6": [FotoUtil._L],
"3-8": [FotoUtil._T],
"3-9": [FotoUtil._Y],
"3-14": [FotoUtil._T],
"3-15": [FotoUtil._W, FotoUtil._T],
"3-16": [FotoUtil._T],
"3-23": [FotoUtil._T],
"3-25": [FotoUtil._H],
"3-27": [FotoUtil._D],
"3-28": [FotoUtil._R],
"3-29": [FotoUtil._T],
"3-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"4-1": [FotoUtil._S],
"4-3": [FotoUtil._D],
"4-6": [FotoUtil._L],
"4-8": [FotoUtil._T],
"4-14": [FotoUtil._T],
"4-15": [FotoUtil._W, FotoUtil._T],
"4-16": [FotoUtil._T],
"4-18": [FotoUtil._T],
"4-23": [FotoUtil._T],
"4-25": [FotoUtil._H],
"4-27": [FotoUtil._D],
"4-29": [FotoUtil._T],
"4-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"5-1": [FotoUtil._S],
"5-3": [FotoUtil._D],
"5-5": [FotoUtil._J, FotoUtil._Y],
"5-6": [FotoUtil._L],
"5-8": [FotoUtil._T],
"5-14": [FotoUtil._T],
"5-15": [FotoUtil._W, FotoUtil._T],
"5-16": [FotoUtil._T],
"5-23": [FotoUtil._T],
"5-25": [FotoUtil._H],
"5-27": [FotoUtil._D],
"5-29": [FotoUtil._T],
"5-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"6-1": [FotoUtil._S],
"6-3": [FotoUtil._D, FotoUtil._Y],
"6-6": [FotoUtil._L],
"6-8": [FotoUtil._T],
"6-14": [FotoUtil._T],
"6-15": [FotoUtil._W, FotoUtil._T],
"6-23": [FotoUtil._T],
"6-25": [FotoUtil._H],
"6-27": [FotoUtil._D],
"6-29": [FotoUtil._T],
"6-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"7-1": [FotoUtil._S],
"7-3": [FotoUtil._D],
"7-6": [FotoUtil._L],
"7-8": [FotoUtil._T],
"7-14": [FotoUtil._T],
"7-15": [FotoUtil._W, FotoUtil._T],
"7-23": [FotoUtil._T],
"7-25": [FotoUtil._H],
"7-27": [FotoUtil._D],
"7-29": [FotoUtil._Y, FotoUtil._T],
"7-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"8-1": [FotoUtil._S],
"8-3": [FotoUtil._D],
"8-6": [FotoUtil._L],
"8-8": [FotoUtil._T],
"8-14": [FotoUtil._T],
"8-15": [FotoUtil._W, FotoUtil._T],
"8-23": [FotoUtil._T],
"8-25": [FotoUtil._H],
"8-27": [FotoUtil._D],
"8-29": [FotoUtil._T],
"8-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"9-1": [FotoUtil._S],
"9-3": [FotoUtil._D],
"9-6": [FotoUtil._L],
"9-8": [FotoUtil._T],
"9-14": [FotoUtil._T],
"9-15": [FotoUtil._W, FotoUtil._T],
"9-23": [FotoUtil._T],
"9-25": [FotoUtil._H, FotoUtil._Y],
"9-27": [FotoUtil._D],
"9-29": [FotoUtil._T],
"9-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"10-1": [FotoUtil._S],
"10-3": [FotoUtil._D],
"10-6": [FotoUtil._L],
"10-8": [FotoUtil._T],
"10-14": [FotoUtil._T],
"10-15": [FotoUtil._W, FotoUtil._T],
"10-23": [FotoUtil._T],
"10-25": [FotoUtil._H],
"10-27": [FotoUtil._D],
"10-29": [FotoUtil._T],
"10-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"11-1": [FotoUtil._S],
"11-3": [FotoUtil._D],
"11-6": [FotoUtil._L],
"11-8": [FotoUtil._T],
"11-14": [FotoUtil._T],
"11-15": [FotoUtil._W],
"11-23": [FotoUtil._T],
"11-25": [FotoUtil._H],
"11-26": [FotoUtil._Y],
"11-27": [FotoUtil._D],
"11-29": [FotoUtil._T],
"11-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T],
"12-1": [FotoUtil._S],
"12-3": [FotoUtil._D],
"12-6": [FotoUtil._L],
"12-8": [FotoUtil._T],
"12-14": [FotoUtil._T],
"12-15": [FotoUtil._W, FotoUtil._T],
"12-23": [FotoUtil._T],
"12-25": [FotoUtil._H],
"12-27": [FotoUtil._D],
"12-29": [FotoUtil._T],
"12-30": [FotoUtil._HH, FotoUtil._M, FotoUtil._T]
};
static OTHER_FESTIVAL = {
"1-1": [""],
"1-6": [""],
"2-8": [""],
"2-15": [""],
"2-19": [""],
"2-21": [""],
"3-16": [""],
"4-4": [""],
"4-8": [""],
"4-15": [""],
"4-28": [""],
"5-13": [""],
"6-3": [""],
"6-19": [""],
"7-13": [""],
"7-15": [""],
"7-24": [""],
"7-30": [""],
"8-15": [""],
"8-22": [""],
"9-9": [""],
"9-19": [""],
"9-30": [""],
"10-5": [""],
"10-20": [""],
"11-17": [""],
"11-19": [""],
"12-8": [""],
"12-23": [""],
"12-29": [""]
};
static getXiu(month, day) {
return FotoUtil.XIU_27[(FotoUtil.XIU_OFFSET[Math.abs(month) - 1] + day - 1) % FotoUtil.XIU_27.length];
}
}