fortel-ziweidoushu
Version:
紫微斗數排盤 Zi Wei Dou Shu
43 lines (35 loc) • 1.26 kB
text/typescript
import util from 'util'
class LifeStage {
displayName: string
constructor(displayName: string) {
this.displayName = displayName
}
toJSON() {
return this.displayName
}
toString(): string {
return this.displayName
}
static getByName(name: string) {
return LifeStage.values.find((lifeStage) => lifeStage.displayName === name)
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
[util.inspect.custom](depth: number, opts: any): string {
return this.toString()
}
static values = Object.freeze([
Object.freeze(new LifeStage('長生')),
Object.freeze(new LifeStage('沐浴')),
Object.freeze(new LifeStage('冠帶')),
Object.freeze(new LifeStage('臨官')),
Object.freeze(new LifeStage('帝旺')),
Object.freeze(new LifeStage('衰')),
Object.freeze(new LifeStage('病')),
Object.freeze(new LifeStage('死')),
Object.freeze(new LifeStage('墓')),
Object.freeze(new LifeStage('絕')),
Object.freeze(new LifeStage('胎')),
Object.freeze(new LifeStage('養')),
])
}
export { LifeStage }