lunisolar
Version:
专业农历库,支持公历阴历互转,支持各类黄历数据查询,如八字四柱、阴历、神煞宜忌、时辰吉凶、建除十二神、胎神占方、五行纳音等。支持自定义插件。
55 lines (46 loc) • 1.63 kB
text/typescript
import lunisolar from '../../../src/index'
import type { Lunisolar } from '../../../src/class/lunisolar'
import type { Char8 } from '../../../src/class/char8'
import type { Element5 } from '../../../src/class/element5'
import type { SB } from '../../../src/class/stemBranch'
import advanced from '../../../src/plugins/advanced'
lunisolar.extend(advanced)
interface SBX extends SB {
_takeSoundValue: string
takeSound: string
takeSoundE5: Element5
}
interface Char8X extends Char8 {
year: SBX
month: SBX
day: SBX
hour: SBX
}
interface LunisolarEx extends Lunisolar {
fetalGod: string
fetalGodData: FetalGodData
takeSound: string
char8: Char8X
}
describe('plugins/advanced fetalGod', () => {
it('2022-07-08', () => {
const lsr = lunisolar('2022-07-08') as unknown as LunisolarEx
expect(lsr.fetalGod).toBe('倉庫棲外東南')
expect(lsr.fetalGodData.stemPlace).toBe('倉庫')
expect(lsr.fetalGodData.branchPlace).toBe('雞棲')
expect(lsr.fetalGodData.description).toBe('倉庫棲外東南')
expect(lsr.fetalGodData.direction).toBe('外東南')
})
})
describe('plugins/advanced takeSound', () => {
it('2022-07-08', () => {
const lsr = lunisolar('2022-07-08') as unknown as LunisolarEx
expect(lsr.takeSound).toBe('大海水')
expect(lsr.char8.year.takeSound).toBe('金箔金')
expect(lsr.char8.day.takeSound).toBe('大海水')
const lsr2 = lunisolar('2016-05-17') as unknown as LunisolarEx
expect(lsr2.takeSound).toBe('平地木')
const lsr3 = lunisolar('2022-1-1') as unknown as LunisolarEx
expect(lsr3.takeSound).toBe('大溪水')
})
})