UNPKG

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
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]; } }