运限
前言
紫微斗数的运限分为 大限、小限、流年、流月、流日、流时、流分、流秒 等等,如果你还不知道运限的概念或不知道能为你做什么,请阅读 紫微斗数运限。在 iztro 中,仅提供 大限、小限、流年、流月、流日、流时。其中,大限、流年、流月、流日 和 流时 都会提供 流曜 与 四化;流月、流日、流时 的流曜从 v2.4.4 起提供。小限 比较特殊,它既没有流曜,也不产生四化,小限 的四化是以该宫位的 宫干 来起四化的。
提示
运限的年、月干支分界由全局配置的 horoscopeDivide 控制;小限虚岁分界由 ageDivide 控制。
功能类定义
开发建议
因为运限是基于星盘而存在的,所以我们并不推荐你手动 new 一个运限对象,而是使用星盘实例的方法返回的对象使用。星盘的 horoscope() 方法将会返回运限对象。
import { astro } from "iztro";
const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
const horoscope = astrolabe.horoscope('2023-10-26', 2);上述代码执行以后将返回一个 FunctionalHoroscope 的实例。
FunctionalHoroscope
implements
IFunctionalHoroscope extends Horoscope该类所有属性都是继承自 Horoscope,然后在接口内定义了一些方法用于对星曜进行分析。
接口定义
ts^2.6.1interface IFunctionalHoroscope extends Horoscope { toJSON: () => Horoscope; agePalace: () => FunctionalPalace | undefined; palace: (palaceName: PalaceName, scope: Scope) => FunctionalPalace | undefined; surroundPalaces: (palaceName: PalaceName, scope: Scope) => FunctionalSurpalaces | undefined; hasHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean; notHaveHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscope: StarName[]) => boolean; hasOneOfHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean; hasHoroscopeMutagen: (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean; }palaceName支持任一已配置语言的宫位名称,不要求与星盘的输出语言一致。例如,中文星盘也可以传入英文宫位名"soul"。属性
参考 Horoscope
方法
toJSON() ^2.6.0
用途
将功能运限转换为普通 JSON 对象。返回结果不包含分析方法和关联星盘等运行时引用;循环引用会被安全忽略。
定义
tstype toJSON = () => Horoscope;参数
无
返回值
示例
tsimport { astro } from "iztro"; const astrolabe = astro.bySolar("2000-8-16", 2, "女"); const data = astrolabe.horoscope("2023-8-19").toJSON();
agePalace() v1.3.0
用途
获取
小限所在宫位定义
tstype agePalace: () => FunctionalPalace | undefined;参数
无
返回值
FunctionalPalace|undefined示例
tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const agePalace = astrolabe .horoscope('2023-10-26', 2) .agePalace();
palace() v1.3.0
用途
获取指定运限宫位
定义
tstype palace = ( palaceName: PalaceName, scope: Scope ) => FunctionalPalace | undefined;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 返回值
FunctionalPalace|undefined示例
如果你想获取
大限的夫妻宫tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const spousePalace = astrolabe .horoscope('2023-10-26', 2) .palace("夫妻", "decadal");
surroundPalaces() ^1.3.0
用途
获取运限指定宫位的三方四正宫位
定义
tstype surroundPalaces = ( palaceName: PalaceName, scope: Scope ) => FunctionalSurpalaces | undefined;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 返回值
FunctionalSurpalaces|undefined示例
如果你想获取
流年夫妻宫的三方四正宫位tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const surpalaces = astrolabe .horoscope('2023-10-26', 2) .surroundPalaces("夫妻", "yearly");
hasHoroscopeStars() ^1.3.0
用途
判断在指定运限的宫位内是否包含流曜,需要全部包含才返回true
定义
tstype hasHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[] ) => boolean;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 horoscopeStar StarName[]true- 流曜数组 返回值
boolean示例
如果你想获取
流年夫妻宫内是否有流喜和流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
notHaveHoroscopeStars() ^1.3.2
用途
判断指定运限宫位内是否不含流曜,需要全部不包含才返回true
定义
tstype notHaveHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscope: StarName[] ) => boolean;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 horoscopeStar StarName[]true- 流曜数组 返回值
boolean示例
如果你想获取
流年夫妻宫内是否没有流喜和流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .notHaveHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
hasOneOfHoroscopeStars() ^1.3.3
用途
判断指定运限宫位内是否含有指定流曜,只要包含其中一颗就返回true
定义
tstype hasOneOfHoroscopeStars= (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 horoscopeStar StarName[]true- 流曜数组 返回值
boolean示例
如果你想获取
流年夫妻宫内是否有流喜或流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasOneOfHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
hasHoroscopeMutagen() ^1.3.4
用途
判断指定运限宫位内是否存在运限四化
定义
tstype hasHoroscopeMutagen = (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean;参数
参数 类型 是否必填 默认值 说明 palaceName PalaceNametrue- 宫位名称 scope Scopetrue- 运限名称 horoscopeMutagen Mutagentrue- 四化 返回值
boolean示例
如果你想获取
流年夫妻宫内是否有化禄tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasHoroscopeMutagen("夫妻", "yearly", "禄");