Skip to content
이 페이지의 내용

명반(星盤) ​

서문 ​

자미두수(紫微斗數) 명반은 열두 궁과 중궁으로 구성됩니다. 각 궁의 지지(地支)는 고정되어 있고, 순서는 인(寅)에서 시작하며 자(子)에서 시작하지 않습니다. 음력 정월이 인(寅)월이기 때문이며, 이를 음력 정월은 인에 대응한다(正月建寅)라고 합니다. iztro에서는 인궁(寅宮)의 인덱스가 0, 묘궁(卯宮)의 인덱스가 1이고, 이후 시계방향으로 이어집니다. 아래 표를 참고하세요:

사(巳)3오(午)4미(未)5신(申)6
진(辰)2중궁유(酉)7
묘(卯)1술(戌)8
인(寅)0축(丑)11자(子)10해(亥)9

중궁에는 원하는 정보를 표시할 수 있으며, 보통 명반 전체의 해석에는 영향을 주지 않습니다. 주변의 십이궁(十二宮)에는 성요(星曜), 사화(四化), 운한(運限), 궁 이름 등의 정보가 들어갑니다. 궁(宮位)의 자세한 내용은 궁 설명을 참고하세요. 이 페이지는 명반 전체의 정보를 다룹니다. 명반은 궁과 별로 구성되므로, 개념이 낯설다면 기초 지식부터 공부해 보세요.

iztro를 설치한 다음 아래 코드로 명반 (astro) 객체를 가져올 수 있습니다. iztro 설치 방법은 설치 안내를 참고하세요.

astro의 정적 메서드 ​

객체의 정적 메서드를 사용하려면 먼저 import로 코드에 가져오세요.

ts
import { astro } from "iztro";

명반 설정과 입력값 검증 ^2.6.2 ​

bySolar, byLunar, withOptions가 반환하는 명반은 생성 당시의 설정과 언어를 저장합니다. 전역 기본 설정을 바꾸거나 다른 언어의 명반을 만들어도 기존 명반의 운한(運限)과 사화(四化) 분석은 바뀌지 않습니다.

withOptions의 type은 생략할 수 있으며 기본값은 양력입니다. config는 해당 명반의 설정만 덮어씁니다. 명반 생성과 날짜 보조 메서드에서 language를 생략하면 zh-CN을 사용하고, 특정 언어를 지정해도 다른 호출의 언어에는 영향을 주지 않습니다. 지원 값은 zh-CN, zh-TW, en-US, ja-JP, ko-KR, vi-VN입니다.

연도는 1~9999여야 하며 양력이나 음력에 실제로 존재하는 날짜여야 합니다. 날짜 문자열은 하이픈, 슬래시, 마침표로 구분할 수 있고 HH:mm 또는 HH:mm:ss를 덧붙일 수 있습니다. 과거 양력 날짜는 기반 달력의 율리우스력·그레고리력 전환 규칙을 따릅니다. 시각 인덱스는 0~12의 정수여야 합니다. 알 수 없는 성별·언어·날짜 유형·명반 유형이나 불리언이 아닌 윤달 옵션은 오류를 발생시킵니다. 음력 날짜는 실제 월별 일수로 검증하고, 윤달이 없는 달에는 isLeapMonth: true를 무시합니다.

설정의 적용 범위, getConfig()가 반환하는 독립 복사본, resetConfig()에 대해서는 설정과 플러그인을 참고하세요.

astrolabeBySolarDate deprecated ​

이 메서드는 v2.0.5에서 사용 중단 권고되었습니다. 매개변수와 반환 값은 같으므로 bySolar를 사용하세요.

bySolar ^2.0.5 ​

  • 목적

    양력 날짜로 명반을 생성합니다.

  • 정의

    ts
    export type bySolar = (
      solarDateStr: string,
      timeIndex: number,
      gender: GenderName,
      fixLeap: boolean = true,
      language: Language = "zh-CN"
    ) => FunctionalAstrolabe;
  • 매개변수

    매개변수타입필수 여부기본값설명
    solarDateStrstringtrue-그레고리력 날짜【YYYY-M-D】
    timeIndexnumbertrue-출생 시진 인덱스 [0–12]. 조자시(0)부터 만자시(12)까지에 대응합니다.
    genderGenderNametrue-성별【남성/여성】
    fixLeapbooleanfalsetrue윤달 조정 여부. true이면 윤달의 전반부는 이전 달, 후반부는 다음 달로 계산합니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 반환 값

    FunctionalAstrolabe

  • 예제

    ts
    import { astro } from "iztro";
    
    const astrolabe = astro.bySolar("2000-8-16", 2, "女", true, "zh-CN");

astrolabeByLunarDate deprecated ​

이 메서드는 v2.0.5에서 사용 중단 권고되었습니다. 매개변수와 반환 값은 같으므로 byLunar를 사용하세요.

byLunar ^2.0.5 ​

  • 목적

    음력 날짜로 명반을 생성합니다. 필자는 bySolar를 직접 사용하는 편을 권장합니다. 이 메서드도 음력을 양력으로 바꾼 뒤 bySolar를 호출해 결과를 구하기 때문입니다.

  • 정의

    ts
    export type byLunar = (
      lunarDateStr: string,
      timeIndex: number,
      gender: GenderName,
      isLeapMonth: boolean = false,
      fixLeap: boolean = true,
      language?: Language
    ) => FunctionalAstrolabe;
  • 매개변수

    매개변수타입필수 여부기본값설명
    lunarDateStrstringtrue-음력 날짜 [YYYY-M-D]. 예를 들어 2000년 7월 17일이면 2000-7-17을 전달합니다.
    timeIndexnumbertrue-출생 시진 인덱스 [0–12]. 조자시(0)부터 만자시(12)까지에 대응합니다.
    genderGenderNametrue-성별【남성/여성】
    isLeapMonthbooleanfalsefalse입력한 음력 월이 윤달인지 여부. 해당 월에 윤달이 없으면 이 매개변수는 적용되지 않습니다.
    fixLeapbooleanfalsetrue윤달 조정 여부. true이면 윤달의 전반부는 이전 달, 후반부는 다음 달로 계산합니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 반환 값

    FunctionalAstrolabe

  • 예제

    ts
    import { astro } from "iztro";
    
    const astrolabe = astro.byLunar("2000-8-16", 2, "女", false, true, "zh-CN");

withOptions ^2.4.1 ​

  • 목적

    bySolar와 byLunar를 편리하게 호출하도록 감싼 메서드로 명반을 생성합니다.

  • 정의

    ts
    type Option = {
      type?: 'solar' | 'lunar';
      dateStr: string;
      timeIndex: number;
      gender: GenderName;
      isLeapMonth?: boolean;
      fixLeap?: boolean;
      language?: Language;
      config?: Config;
      astroType?: AstroType;
    };
    
    export type withOptions = (
      option: Option
    ) => FunctionalAstrolabe;
  • 매개변수

    매개변수타입필수 여부기본값설명
    typesolar | lunarfalsesolar날짜 유형
    dateStrstringtrue-YYYY-M-D 형식의 생년월일
    timeIndexnumbertrue-출생 시진 인덱스 [0–12]. 조자시(0)부터 만자시(12)까지에 대응합니다.
    genderGenderNametrue-성별【남성/여성】
    isLeapMonthbooleanfalsefalse입력한 음력 월이 윤달인지 여부. 해당 월에 윤달이 없으면 이 매개변수는 적용되지 않습니다.
    fixLeapbooleanfalsetrue윤달 조정 여부. true이면 윤달의 전반부는 이전 달, 후반부는 다음 달로 계산합니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
    configConfigfalse-이번에 생성하는 명반에만 밝기, 사화, 시간 경계 설정을 덮어씁니다 (^2.6.2).
    astroType ^2.5.0AstroTypefalseheaven명반의 종류. config.algorithm이 zhongzhou일 때만 천반·지반·인반을 선택하는 데 사용합니다.
  • 반환 값

    FunctionalAstrolabe

  • 예제

    ts
    import { astro } from "iztro";
    
    const astrolabe = astro.withOptions({
        type: 'solar',
        dateStr: '1999-12-29',
        timeIndex: 2,
        gender: 'female',
        isLeapMonth: false,
        fixLeap: true,
        language: 'zh-CN',
        config: { algorithm: 'zhongzhou' },
        astroType: 'earth'
      })

    팁

    astroType에는 heaven, earth, human을 지정할 수 있습니다. 기본값 heaven은 천반(天盤)입니다. earth는 신궁(身宮)을 명궁(命宮)으로, human은 복덕궁(福德宮)을 명궁으로 삼습니다. 자세한 내용은 AstroType을 참고하세요.


getMajorStarBySolarDate ^1.2.1 ​

  • 목적

    양력 날짜로 명궁(命宮)의 주성(主星)을 가져옵니다.

  • 정의

    ts
    type getMajorStarBySolarDate = (
      solarDateStr: string,
      timeIndex: number,
      fixLeap: boolean = true,
      language?: Language,
    ) => string;
  • 매개변수

    매개변수타입필수 여부기본값설명
    solarDateStrstringtrue-그레고리력 날짜【YYYY-M-D】
    timeIndexnumbertrue-출생 시진 인덱스 [0–12]. 조자시(0)부터 만자시(12)까지에 대응합니다.
    fixLeapbooleanfalsetrue윤달 조정 여부. true이면 윤달의 전반부는 이전 달, 후반부는 다음 달로 계산합니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getMajorStarBySolarDate('2023-4-7', 0);

getMajorStarByLunarDate ^1.2.1 ​

  • 목적

    음력 날짜로 명궁(命宮)의 주성(主星)을 가져옵니다.

  • 정의

    ts
    type getMajorStarByLunarDate = (
      lunarDateStr: string,
      timeIndex: number,
      isLeapMonth: boolean = false,
      fixLeap: boolean = true,
      language?: Language,
    ) =>
  • 매개변수

    매개변수타입필수 여부기본값설명
    lunarDateStrstringtrue-음력 날짜 [YYYY-M-D]. 예를 들어 2000년 7월 17일이면 2000-7-17을 전달합니다.
    timeIndexnumbertrue-출생 시진 인덱스 [0–12]. 조자시(0)부터 만자시(12)까지에 대응합니다.
    isLeapMonthbooleanfalsefalse입력한 음력 월이 윤달인지 여부. 해당 월에 윤달이 없으면 이 매개변수는 적용되지 않습니다.
    fixLeapbooleanfalsetrue윤달 조정 여부. true이면 윤달의 전반부는 이전 달, 후반부는 다음 달로 계산합니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getMajorStarByLunarDate('2023-2-17', 0, true, false);

getSignBySolarDate ^1.2.1 ​

  • 목적

    양력 날짜로 별자리를 구합니다.

  • 정의

    ts
    type getSignBySolarDate = (
      solarDateStr: string,
      language?: Language
    ) => string;
  • 매개변수

    매개변수타입필수 여부기본값설명
    solarDateStrstringtrue-그레고리력 날짜【YYYY-M-D】
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getSignBySolarDate('2023-9-5');

getSignByLunarDate ^1.2.1 ​

  • 목적

    음력 날짜로 별자리를 구합니다.

  • 정의

    ts
    type getSignByLunarDate = (
      lunarDateStr: string,
      isLeapMonth?: boolean,
      language?: Language
    ) => string;
  • 매개변수

    매개변수타입필수 여부기본값설명
    lunarDateStrstringtrue-음력 날짜 [YYYY-M-D]. 예를 들어 2000년 7월 17일이면 2000-7-17을 전달합니다.
    isLeapMonthbooleanfalsefalse입력한 음력 월이 윤달인지 여부. 해당 월에 윤달이 없으면 이 매개변수는 적용되지 않습니다.
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getSignByLunarDate('2023-7-21');

getZodiacBySolarDate ^1.2.1 ​

  • 목적

    양력 날짜로 띠를 구합니다.

  • 정의

    ts
    type getZodiacBySolarDate = (solarDateStr: string, language?: Language) => string;
  • 매개변수

    매개변수타입필수 여부기본값설명
    solarDateStrstringtrue-그레고리력 날짜【YYYY-M-D】
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getZodiacBySolarDate('2023-2-20');

getZodiacByLunarYear ^1.2.1 ​

  • 목적

    음력 연도로 띠를 구합니다.

  • 정의

    ts
    type getZodiacByLunarYear = (year: number, language?: Language) => string;
  • 매개변수

    매개변수타입필수 여부기본값설명
    yearnumbertrue-음력 연도
    languageLanguagefalsezh-CN반환 데이터에 사용할 언어입니다. zh-CN, zh-TW, en-US, ko-KR, ja-JP, vi-VN을 지원합니다.
  • 예제

    ts
    import { astro } from 'isztro';
    
    const result = getZodiacByLunarYear(2023);

클래스와 분석 메서드 ​

개발 제안

FunctionalAstrolabe를 직접 생성하기보다 astro의 정적 메서드를 호출해 데이터를 가져오는 편을 권장합니다.

FunctionalAstrolabe ​


implements IFunctionalAstrolabe extends Astrolabe

이 클래스는 Astrolabe의 속성을 상속하고 명반 분석 메서드를 추가합니다. bySolar()와 byLunar()는 이 클래스의 인스턴스를 반환합니다.

  • 인터페이스 정의

    ts
    interface IFunctionalAstrolabe extends Astrolabe {
      toJSON: () => Astrolabe;
      use(plugin: Plugin): void;
      horoscope: (date?: string | Date, timeIndex?: number) => Horoscope;
      decadalList: () => DecadalHoroscope[];
      yearlyList: (indexOrName: number | PalaceName) => YearlyHoroscope[];
      monthlyList: (year: number, fixLeap?: boolean) => MonthlyHoroscope[];
      palace: (indexOrName: number | PalaceName) => IFunctionalPalace | undefined;
      surroundedPalaces: (indexOrName: number | PalaceName) => SurroundedPalaces;
      isSurrounded: (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
      isSurroundedOneOf: (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
      notSurrounded: (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
      hasMutagenInSurroundedPalace: (
        indexOrName: number | PalaceName,
        mutagen: Mutagen
      ) => boolean;
      hasMutagenInOppositePalace: (
        indexOrName: number | PalaceName,
        mutagen: Mutagen
      ) => boolean;
    }
  • 속성

    참조 Astrolabe

  • 메서드

    toJSON() ^2.6.0 ​

    • 목적

      분석 기능이 있는 명반을 일반 JSON 객체로 변환합니다. 분석 메서드, 플러그인 함수, 실행 시점의 참조는 포함하지 않으며, 순환 참조도 안전하게 제외합니다.

    • 정의

      ts
      type toJSON = () => Astrolabe;
    • 매개변수

      없음

    • 반환 값

      Astrolabe

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.bySolar("2000-8-16", 2, "女");
      const data = astrolabe.toJSON();

    use() ^2.3.0 ​

    • 목적

      현재 명반 인스턴스에 플러그인을 적용합니다. astro.loadPlugin()과 달리 use()는 이 인스턴스에만 영향을 줍니다.

    • 정의

      ts
      type use = (plugin: Plugin) => void;
    • 매개변수

      매개변수타입필수 여부기본값설명
      pluginPlugintrue-현재 명반에 적용할 플러그인 함수
    • 반환 값

      void

    • 예제

      ts
      import { astro, FunctionalAstrolabe } from "iztro";
      
      interface IAstrolabe extends FunctionalAstrolabe {
        soulPalaceName: () => string;
      }
      
      function soulPalacePlugin(this: IAstrolabe) {
        this.soulPalaceName = () => this.palace("命宫")?.name ?? "";
      }
      
      const astrolabe = astro.bySolar<IAstrolabe>("2000-8-16", 2, "女");
      astrolabe.use(soulPalacePlugin);
      const name = astrolabe.soulPalaceName();

    horoscope() ^0.2.0 ​

    • 목적

      운한(運限) 데이터를 가져옵니다. 호출 시점의 데이터를 구하려면 인수를 모두 생략할 수 있으며, 메서드는 현재 시스템 시간으로 계산합니다.

      참고

      • date가 YYYY-M-D 형식의 날짜만 있는 문자열이고 timeIndex를 생략하면, date 날짜의 조자시를 유시(流時)의 시각으로 사용합니다.
      • date가 YYYY-M-D HH 형식의 시각을 포함하거나 Date 인스턴스이고 timeIndex를 생략하면, date의 시간을 전통 시각 구간으로 바꾸어 유시(流時)에 사용합니다.
      • timeIndex를 지정하면 날짜에서 구한 시각보다 우선합니다.
    • 정의

      ts
      type horoscope = (date?: string | Date, timeIndex?: number) => FunctionalHoroscope;
    • 매개변수

      매개변수타입필수 여부기본값설명
      datestring | Datefalsenew Date()그레고리력 날짜【YYYY-M-D】
      timeIndexnumberfalse0시진 인덱스 [0–12]
    • 반환 값

      FunctionalHoroscope

      참고

      v1.3.4에서 반환 유형이 Horoscope에서 FunctionalHoroscope로 바뀌었지만, 기존 사용 방식과 호환됩니다.

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      const horoscope = astrolabe.horoscope();

    decadalList() ^2.6.0 ​

    • 목적

      대한(大限)을 시작 순서대로 나열한 목록을 가져옵니다. 배열 인덱스 0은 첫 번째 대한입니다. 각 항목에는 해당 궁, 시작·종료 시점의 세는나이(虛歲)와 연도, 간지, 사화(四化), 유요(流曜), 대한의 십이궁(十二宮)이 들어 있습니다.

    • 정의

      ts
      type decadalList = () => DecadalHoroscope[];
    • 반환 값

      DecadalHoroscope[]

    • 예제

      ts
      const decadals = astrolabe.decadalList();
      const firstDecadal = decadals[0];

    yearlyList() ^2.6.0 ​

    • 목적

      대한(大限) 번호나 본명 궁의 이름으로 해당 대한의 유년(流年) 목록을 가져옵니다. 각 항목에는 세는나이(虛歲), 연도, 유년의 간지, 사화(四化), 유요(流曜), 유년의 십이궁(十二宮)이 들어 있습니다.

    • 정의

      ts
      type yearlyList = (
        indexOrName: number | PalaceName
      ) => YearlyHoroscope[];
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-대한 인덱스(0은 첫 번째 대한) 또는 본명반의 궁 이름
    • 반환 값

      YearlyHoroscope[]

    • 예제

      ts
      const firstDecadalYearlies = astrolabe.yearlyList(0);
      const soulPalaceYearlies = astrolabe.yearlyList("命宫");

    monthlyList() ^2.6.0 ​

    • 목적

      지정한 연도의 유월(流月) 목록을 가져옵니다. 각 항목에는 세는나이(虛歲), 연도, 월, 유월의 간지, 사화(四化), 유요(流曜), 유월의 십이궁(十二宮)이 들어 있습니다.

      윤달 규칙: 윤달이 없으면 12개 항목을 반환합니다. 윤달이 있고 fixLeap=false이면 13개를, fixLeap=true이면 윤달을 1~15일과 16일~월말로 나누어 14개를 반환합니다.

    • 정의

      ts
      type monthlyList = (
        year: number,
        fixLeap?: boolean
      ) => MonthlyHoroscope[];
    • 매개변수

      매개변수타입필수 여부기본값설명
      yearnumbertrue-유년의 연도. yearlyList()가 반환한 항목의 year 값을 그대로 사용할 수 있습니다.
      fixLeapbooleanfalsetrue윤달의 전반부와 후반부를 나누어 계산할지 여부
    • 반환 값

      MonthlyHoroscope[]

    • 예제

      ts
      const year = astrolabe.yearlyList(0)[0].year;
      const adjusted = astrolabe.monthlyList(year);
      const unadjusted = astrolabe.monthlyList(year, false);

    star() ^1.2.0 ​

    • 목적

      별 이름으로 해당 별의 객체 인스턴스를 가져옵니다.

    • 정의

      ts
      type star = (starName: StarName) => IFunctionalStar;
    • 매개변수

      매개변수타입필수 여부기본값설명
      starNameStarNametrue-별 이름
    • 반환 값

      FunctionalStar

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 获取 `紫微星` 所在宫位
      const star = astrolabe.star("紫微");

    palace() ^1.0.0 ​

    • 목적

      명반에서 지정한 궁(宮位)을 가져옵니다.

    • 정의

      ts
      type palace = (
        indexOrName: number | PalaceName
      ) => IFunctionalPalace | undefined;
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-궁의 인덱스 또는 이름
    • 반환 값

      FunctionalPalace

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 获取 `寅宫`
      const palace = astrolabe.palace(0);
      
      // 获取 `命宫`
      const soulPalace = astrolabe.palace("命宫");

    surroundedPalaces() ^1.1.0 ​

    • 목적

      삼방사정(三方四正)에 해당하는 궁들을 가져옵니다. 입력한 대상 궁, 그 대궁(對宮), 상대적인 재백 위치(財帛位)와 관록 위치(官祿位)까지 총 네 궁입니다. 궁과 위치는 다른 개념입니다. 궁과 삼방사정의 개념은 궁 설명을 참고하세요.

    • 정의

      ts
      type surroundedPalaces = (
        indexOrName: number | PalaceName
      ) => IFunctionalSurpalaces;
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-궁의 인덱스 또는 이름
    • 반환 값

      FunctionalSurpalaces

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 获取 `寅宫` 三方四正
      const surroundedPalaces = astrolabe.surroundedPalaces(0);
      
      // 获取 `命宫` 三方四正
      const surroundedPalacesOfSoul = astrolabe.surroundedPalaces("命宫");

    isSurrounded() ^1.0.0 deprecated ​

    참고

    이 메서드는 v1.2.0에서 사용 중단 권고되었습니다. FunctionalSurpalaces의 have() 메서드를 사용하세요.

    • 목적

      지정한 궁의 삼방사정(三方四正)에 대상 성요(星曜)가 모두 있는 경우에만 true를 반환합니다.

    • 정의

      ts
      type isSurrounded = (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-궁의 인덱스 또는 이름
      starsStarName[]true-별 이름 배열
    • 반환 값

      boolean

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 判断 `寅宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星
      const palace = astrolabe.isSurrounded(0, ["天府", "红鸾", "禄存"]);
      
      // 判断 `命宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星
      const soulPalace = astrolabe.isSurrounded("命宫", ["天府", "红鸾", "禄存"]);

    isSurroundedOneOf() ^1.1.0 deprecated ​

    참고

    이 메서드는 v1.2.0에서 사용 중단 권고되었습니다. FunctionalSurpalaces의 haveOneOf() 메서드를 사용하세요.

    • 목적

      지정한 궁의 삼방사정(三方四正)에 입력한 별 중 어느 하나가 있는지 확인합니다. 하나라도 있으면 true를 반환합니다.

    • 정의

      ts
      type isSurroundedOneOf = (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-궁의 인덱스 또는 이름
      starsStarName[]true-별 이름 배열
    • 반환 값

      boolean

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 判断 `寅宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星中的一颗
      const palace = astrolabe.isSurroundedOneOf(0, ["天府", "红鸾", "禄存"]);
      
      // 判断 `命宫` 三方四正是否含有 `天府` 星、`红鸾` 星和 `禄存` 星中的一颗
      const soulPalace = astrolabe.isSurroundedOneOf("命宫", ["天府", "红鸾", "禄存"]);

    notSurrounded() ^1.1.0 deprecated ​

    참고

    이 메서드는 v1.2.0에서 사용 중단 권고되었습니다. FunctionalSurpalaces의 notHave() 메서드를 사용하세요.

    • 목적

      지정한 궁의 삼방사정(三方四正)에 대상 별을 포함하지 않는지 확인합니다. 모든 대상 별이 없는 경우에만 true를 반환합니다.

    • 정의

      ts
      type notSurrounded = (
        indexOrName: number | PalaceName,
        stars: StarName[]
      ) => boolean;
    • 매개변수

      매개변수타입필수 여부기본값설명
      indexOrNamenumber | PalaceNametrue-궁의 인덱스 또는 이름
      starsStarName[]true-별 이름 배열
    • 반환 값

      boolean

    • 예제

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
      
      // 判断 `寅宫` 三方四正是否不含有 `天府` 星、`红鸾` 星和 `禄存` 星
      const palace = astrolabe.notSurrounded(0, ["天府", "红鸾", "禄存"]);
      
      // 判断 `命宫` 三方四正是否不含有 `天府` 星、`红鸾` 星和 `禄存` 星
      const soulPalace = astrolabe.notSurrounded("命宫", ["天府", "红鸾", "禄存"]);

© 2025 iztro.com All rights reserved.
관련 사이트: 紫微派