運限
前言
紫微鬥數的運限分為 大限
、小限
、流年
、流月
、流日
、流時
、流分
、流秒
等等,如果你還不知道運限的概念或不知道能為你做什麽,請閱讀 紫微鬥數運限。在 iztro
中,僅提供 大限
、小限
、流年
、流月
、流日
、流時
。其中,大限
和 流年
有 流耀
和 四化
存在,而其他運限只有 四化
。小限
比較特殊,它既沒有流耀,也不產生四化,小限
的四化是以該宮位的 宮幹
來起四化的。
功能類定義
開發建議
因為運限是基於星盤而存在的,所以我們並不推薦你手動 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,然後在接口內定義了一些方法用於對星曜進行分析。
接口定義
tsinterface IFunctionalHoroscope extends 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; }
屬性
參考 Horoscope
方法
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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 返回值
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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 返回值
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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 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 PalaceName
true
- 宮位名稱 scope Scope
true
- 運限名稱 horoscopeMutagen Mutagen
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) .hasHoroscopeMutagen("夫妻", "yearly", "祿");