iztro
Version:
轻量级紫微斗数星盘生成库。可以通过出生年月日获取到紫微斗数星盘信息、生肖、星座等信息。This is a lightweight kit for generating astrolabes for Zi Wei Dou Shu (The Purple Star Astrology), an ancient Chinese astrology. It allows you to obtain your horoscope and personality analysis.
86 lines (85 loc) • 2.72 kB
TypeScript
import { SoulAndBody, Decadal, AstrolabeParam } from '../data/types';
import { EarthlyBranchName, FiveElementsClassName, HeavenlyStemName, PalaceName } from '../i18n';
/**
* 获取命宫以及身宫数据
*
* 1. 定寅首
* - 甲己年生起丙寅,乙庚年生起戊寅,
* - 丙辛年生起庚寅,丁壬年生起壬寅,
* - 戊癸年生起甲寅。
*
* 2. 安命身宫诀
* - 寅起正月,顺数至生月,逆数生时为命宫。
* - 寅起正月,顺数至生月,顺数生时为身宫。
*
* @param {AstrolabeParam} param 通用排盘参数
* @returns {SoulAndBody} 命宫和身宫数据
*/
export declare const getSoulAndBody: (param: AstrolabeParam) => SoulAndBody;
/**
* 定五行局法(以命宫天干地支而定)
*
* 纳音五行计算取数巧记口诀:
*
* - 甲乙丙丁一到五,子丑午未一来数,
* - 寅卯申酉二上走,辰巳戌亥三为足。
* - 干支相加多减五,五行木金水火土。
*
* 注解:
*
* 1、五行取数:木1 金2 水3 火4 土5
*
* 天干取数:
* - 甲乙 ——> 1
* - 丙丁 ——> 2
* - 戊己 ——> 3
* - 庚辛 ——> 4
* - 壬癸 ——> 5
*
* 地支取数:
* - 子午丑未 ——> 1
* - 寅申卯酉 ——> 2
* - 辰戌巳亥 ——> 3
*
* 2、计算方法:
*
* 干支数相加,超过5者减去5,以差论之。
* - 若差为1则五行属木
* - 若差为2则五行属金
* - 若差为3则五行属水
* - 若差为4则五行属火
* - 若差为5则五行属土
*
* 3、举例:
* - 丙子:丙2 子1=3 ——> 水 ——> 水二局
* - 辛未:辛4 未1=5 ——> 土 ——> 土五局
* - 庚申:庚4 申2=6 ——> 6-5=1 ——> 木 ——> 木三局
*
* @param heavenlyStemName 天干
* @param earthlyBranchName 地支
* @returns 水二局 | 木三局 | 金四局 | 土五局 | 火六局
*/
export declare const getFiveElementsClass: (heavenlyStemName: HeavenlyStemName, earthlyBranchName: EarthlyBranchName) => FiveElementsClassName;
/**
* 获取从寅宫开始的各个宫名
*
* @param fromIndex 命宫索引
* @returns 从寅宫开始的各个宫名
*/
export declare const getPalaceNames: (fromIndex: number) => PalaceName[];
/**
* 起大限
*
* - 大限由命宫起,阳男阴女顺行;
* - 阴男阳女逆行,每十年过一宫限。
*
* @param solarDateStr 公历日期
* @param timeIndex 出生时索引
* @param gender 性别
* @param fixLeap 是否修正闰月,若修正,则闰月前15天按上月算,后15天按下月算
* @returns 从寅宫开始的大限年龄段
*/
export declare const getHoroscope: (param: AstrolabeParam) => {
decadals: Decadal[];
ages: number[][];
};