Vận hạn(運限)
^2.6.2 Truy vấn vận hạn(運限) dùng cấu hình và ngôn ngữ đã lưu khi tạo lá số. Thay đổi mặc định toàn cục hay tạo lá số khác không làm đổi kết quả truy vấn trên lá số hiện có.horoscope() nhận đối tượng Date hợp lệ hoặc chuỗi ngày; nếu bỏ ngày, dùng thời điểm hiện tại lúc gọi. Chỉ số giờ được chỉ định phải là số nguyên từ 0 đến 12. Ngày hoặc chỉ số giờ không hợp lệ sẽ gây lỗi.Lời mở đầu
Vận hạn(運限) trong Tử Vi Đẩu Số(紫微斗數) gồm Đại Hạn(大限), Tiểu Hạn(小限), Lưu Niên(流年), Lưu Nguyệt(流月), Lưu Nhật(流日), Lưu Thì(流時), vận hạn theo phút(流分), vận hạn theo giây(流秒) và các chu kỳ khác. Về khái niệm và cách dùng, xem vận hạn. iztro hỗ trợ Đại Hạn(大限), Tiểu Hạn(小限), Lưu Niên(流年), Lưu Nguyệt(流月), Lưu Nhật(流日) và Lưu Thì(流時). Trong đó, Đại Hạn(大限), Lưu Niên(流年), Lưu Nguyệt(流月), Lưu Nhật(流日), Lưu Thì(流時) cung cấp lưu diệu(流曜) và tứ hóa(四化). Lưu diệu cho Lưu Nguyệt(流月), Lưu Nhật(流日), Lưu Thì(流時) có từ v2.4.4. Tiểu Hạn(小限) không có lưu diệu độc lập; tứ hóa của Tiểu Hạn(小限) được tính theo can của cung(宮干) của cung ấy.
Mẹo
Ranh giới đổi can chi năm, tháng của vận hạn(運限) theo cấu hình horoscopeDivide đã lưu trong lá số; ranh giới tuổi mụ(虛歲) cho tiểu hạn(小限) do ageDivide quy định.
Lớp và phương thức phân tích
Đề xuất phát triển
Vận hạn(運限) dựa trên lá số, nên hãy lấy đối tượng từ thể hiện lá số thay vì tự tạo bằng new. Phương thức horoscope() của lá số trả về đối tượng vận hạn.
import { astro } from "iztro";
const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
const horoscope = astrolabe.horoscope('2023-10-26', 2);Sau khi đoạn mã trên được thực thi, một đối tượng FunctionalHoroscope sẽ được trả về.
FunctionalHoroscope
implements
IFunctionalHoroscope extends HoroscopeLớp này kế thừa tất cả thuộc tính từ Horoscope, và giao diện bổ sung phương thức phân tích sao trong vận hạn.
Định nghĩa giao diện
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; }palaceNamenhận tên cung bằng bất kỳ ngôn ngữ đã cấu hình nào, không cần trùng ngôn ngữ đầu ra của lá số. Chẳng hạn, lá số xuất bằng tiếng Trung vẫn nhận tên cung tiếng Anh"soul".Thuộc tính
Tham khảo Horoscope
Phương thức
toJSON() ^2.6.0
Mục đích
Chuyển đối tượng vận hạn có chức năng phân tích thành đối tượng JSON thông thường. Không chứa phương thức phân tích hay tham chiếu lúc chạy đến lá số; tham chiếu vòng được bỏ qua an toàn.
Định nghĩa
tstype toJSON = () => Horoscope;Tham số
Không có
Giá trị trả về
Ví dụ
tsimport { astro } from "iztro"; const astrolabe = astro.bySolar("2000-8-16", 2, "女"); const data = astrolabe.horoscope("2023-8-19").toJSON();
agePalace() v1.3.0
Mục đích
Lấy cung mà
Tiểu Hạn(小限) đang ở.Định nghĩa
tstype agePalace: () => FunctionalPalace | undefined;Tham số
Không có
Giá trị trả về
FunctionalPalace|undefinedVí dụ
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
Mục đích
Lấy cung được yêu cầu trong vận hạn(運限) đã chọn.
Định nghĩa
tstype palace = ( palaceName: PalaceName, scope: Scope ) => FunctionalPalace | undefined;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) Giá trị trả về
FunctionalPalace|undefinedVí dụ
Trong
Đại Hạn(大限), lấy cungPhu Thê(夫妻).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
Mục đích
Lấy các cung thuộc tam phương tứ chính(三方四正) của cung vận hạn được chỉ định.
Định nghĩa
tstype surroundPalaces = ( palaceName: PalaceName, scope: Scope ) => FunctionalSurpalaces | undefined;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) Giá trị trả về
FunctionalSurpalaces|undefinedVí dụ
Lấy các cung thuộc tam phương tứ chính(三方四正) của
cung Phu Thê lưu niên(流年夫妻宮).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
Mục đích
Kiểm tra lưu diệu(流曜) trong cung của vận hạn được chỉ định. Chỉ trả về true nếu tất cả sao được chỉ định đều có mặt.
Định nghĩa
tstype hasHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[] ) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) horoscopeStar StarName[]true- Mảng lưu diệu(流曜) Giá trị trả về
booleanVí dụ
Kiểm tra
cung Phu Thê lưu niên(流年夫妻宮) có cảLưu Hỷ(流喜) vàLưu Khúc(流曲) hay không.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
Mục đích
Chỉ trả về true nếu không có bất kỳ lưu diệu(流曜) nào được chỉ định trong cung của vận hạn đó.
Định nghĩa
tstype notHaveHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscope: StarName[] ) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) horoscopeStar StarName[]true- Mảng lưu diệu(流曜) Giá trị trả về
booleanVí dụ
Kiểm tra
cung Phu Thê lưu niên(流年夫妻宮) không có sao nào trong hai saoLưu Hỷ(流喜) vàLưu Khúc(流曲).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
Mục đích
Kiểm tra cung của vận hạn được chỉ định; trả về true khi có ít nhất một lưu diệu(流曜) được chỉ định.
Định nghĩa
tstype hasOneOfHoroscopeStars= (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) horoscopeStar StarName[]true- Mảng lưu diệu(流曜) Giá trị trả về
booleanVí dụ
Kiểm tra
cung Phu Thê lưu niên(流年夫妻宮) có ít nhất một trong hai saoLưu Hỷ(流喜) vàLưu Khúc(流曲).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
Mục đích
Kiểm tra tứ hóa(四化) được chỉ định của vận hạn(運限) đã chọn có trong cung yêu cầu hay không.
Định nghĩa
tstype hasHoroscopeMutagen = (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean;Tham số
Tham số Kiểu Bắt buộc? Giá trị mặc định Mô tả palaceName PalaceNametrue- Tên cung(宮位名稱) scope Scopetrue- Tên vận hạn(運限名稱) horoscopeMutagen Mutagentrue- tứ hóa(四化) Giá trị trả về
booleanVí dụ
Kiểm tra
cung Phu Thê lưu niên(流年夫妻宮) cóLộc(化祿) hay không.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", "禄");