API reference

Chart

Chart generation and placement models for D1 and divisional charts.

Import from astro-ascendant/chart:

import * as Chart from "astro-ascendant/chart";

Functions

generate

const generate: (input: ChartParams, divisions?: readonly (1 | 2 | 3 | 4 | 7 | 9 | 10 | 12 | 16 | 20 | 24 | 27 | 30 | 40 | 45 | 60)[] | undefined) => Effect.Effect<{
    readonly placements: {
        readonly lagna: {
            readonly name: "Lagna";
            readonly longitude: number & import("effect/Brand").Brand<"Longitude">;
            readonly star: {
                readonly name: "Anuradha" | "Ardra" | "Ashlesha" | "Ashwini" | "Bharani" | "Chitra" | "Dhanishta" | "Hasta" | "Jyeshtha" | "Krittika" | "Magha" | "Mrigashira" | "Mula" | "Punarvasu" | "Purva Ashadha" | "Purva Bhadrapada" | "Purva Phalguni" | "Pushya" | "Revati" | "Rohini" | "Shatabhisha" | "Shravana" | "Swati" | "Uttara Ashadha" | "Uttara Bhadrapada" | "Uttara Phalguni" | "Vishakha";
                readonly lord: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
                readonly pada: 1 | 2 | 3 | 4;
            };
        };
        readonly planets: readonly {
            readonly name: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
            readonly longitude: number & import("effect/Brand").Brand<"Longitude">;
            readonly is_retrograde: boolean;
            readonly star: {
                readonly name: "Anuradha" | "Ardra" | "Ashlesha" | "Ashwini" | "Bharani" | "Chitra" | "Dhanishta" | "Hasta" | "Jyeshtha" | "Krittika" | "Magha" | "Mrigashira" | "Mula" | "Punarvasu" | "Purva Ashadha" | "Purva Bha
// … truncated

getDivisionalTarget

const getDivisionalTarget: (
  longitude: number,
  division:
    1 | 2 | 3 | 4 | 7 | 9 | 10 | 12 | 16 | 20 | 24 | 27 | 30 | 40 | 45 | 60,
) => Effect.Effect<
  {
    signIndex: number;
    degree: number & import("effect/Brand").Brand<"Degree">;
    longitude: number & import("effect/Brand").Brand<"Longitude">;
  },
  DivisionalMappingError | import("../../utils/position.js").LongitudeError,
  never
>;

project

const project: (
  placements: Placements,
  divisions?:
    | readonly (
        1 | 2 | 3 | 4 | 7 | 9 | 10 | 12 | 16 | 20 | 24 | 27 | 30 | 40 | 45 | 60
      )[]
    | undefined,
  sex?: "Female" | "Male" | undefined,
) => Effect.Effect<[Chart, ...Chart[]], ChartCalculationError, never>;

Classes

ChartCalculationError

class ChartCalculationError extends ChartCalculationError_base {}

DivisionalMappingError

class DivisionalMappingError extends DivisionalMappingError_base {}

LocatedMomentValidationError

class LocatedMomentValidationError extends LocatedMomentValidationError_base {}

MissingPlacementError

class MissingPlacementError extends MissingPlacementError_base {}

Interfaces

DivisionalTarget

interface DivisionalTarget {
  readonly signIndex: number;
  readonly degree: Degree;
  readonly longitude: Longitude;
}

SourcePosition

interface SourcePosition {
  readonly longitude: Longitude;
  readonly signIndex: number;
  readonly degree: Degree;
}

Subdivision

interface Subdivision {
  readonly partIndex: number;
  readonly degree: number;
}

Constants

CalculationCharts

const CalculationCharts: Schema.NonEmptyArray<Schema.Struct<{
    readonly sex: Schema.optionalKey<Schema.Literals<readonly ["Male", "Female"]>>;
    readonly provenance: Schema.Struct<{
        readonly school: Schema.Literal<"Ascendant">;
        readonly method: Schema.Literal<"ascendant-divisional-mapping">;
        readonly version: Schema.Literal<1>;
    }>;
    readonly division: Schema.Literals<readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]>;
    readonly houses: Schema.$Record<Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>, Schema.Struct<{
        readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
        readonly cusp: Schema.brand<Schema.Finite, "Longitude">;
        readonly signLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly starLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly subLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly subSubLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury"
// … truncated

Chart

const Chart: Schema.Struct<{
    readonly sex: Schema.optionalKey<Schema.Literals<readonly ["Male", "Female"]>>;
    readonly provenance: Schema.Struct<{
        readonly school: Schema.Literal<"Ascendant">;
        readonly method: Schema.Literal<"ascendant-divisional-mapping">;
        readonly version: Schema.Literal<1>;
    }>;
    readonly division: Schema.Literals<readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]>;
    readonly houses: Schema.$Record<Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>, Schema.Struct<{
        readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
        readonly cusp: Schema.brand<Schema.Finite, "Longitude">;
        readonly signLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly starLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly subLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
        readonly subSubLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "
// … truncated

ChartAngles

const ChartAngles: Schema.Struct<{
  readonly ascendant: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly mc: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly armc: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly vertex: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly equatorialAscendant: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly coAscendant1: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly coAscendant2: Schema.brand<Schema.Finite, "CircleAngle">;
  readonly polarAscendant: Schema.brand<Schema.Finite, "CircleAngle">;
}>;

ChartCalculation

const ChartCalculation: Schema.Struct<{
    readonly placements: Schema.Struct<{
        readonly lagna: Schema.Struct<{
            readonly name: Schema.Literal<"Lagna">;
            readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
            readonly star: Schema.Struct<{
                readonly name: Schema.Literals<readonly ["Ashwini", "Bharani", "Krittika", "Rohini", "Mrigashira", "Ardra", "Punarvasu", "Pushya", "Ashlesha", "Magha", "Purva Phalguni", "Uttara Phalguni", "Hasta", "Chitra", "Swati", "Vishakha", "Anuradha", "Jyeshtha", "Mula", "Purva Ashadha", "Uttara Ashadha", "Shravana", "Dhanishta", "Shatabhisha", "Purva Bhadrapada", "Uttara Bhadrapada", "Revati"]>;
                readonly lord: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
                readonly pada: Schema.Literals<readonly [1, 2, 3, 4]>;
            }>;
        }>;
        readonly planets: Schema.$Array<Schema.Struct<{
            readonly name: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
            readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
            readonly is_retrograde: Schema.Boolean;
            readonly star: Schema.Struct<{
                readonly name: Schema.Literals<readonly ["Ashwini", "Bharani", "Krittika", "Rohini", "Mrigashira", "Ardra", "Punarvasu", "Pushya", "Ashlesha", "Magha", "Purva Phalguni", "Uttara Phalguni", "H
// … truncated

ChartHouses

const ChartHouses: Schema.$Record<Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>, Schema.Struct<{
    readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
    readonly cusp: Schema.brand<Schema.Finite, "Longitude">;
    readonly signLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly starLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly subLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly subSubLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly significations: Schema.$Array<Schema.String>;
    readonly planets: Schema.$Array<Schema.Struct<{
        readonly name: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
        readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
        readonly degree: Schema.brand<Schema.Finite, "Degree">;
        readonly is_retrograde: Schema.Boolean;
// … truncated

ChartParams

const ChartParams: Schema.Struct<{
  readonly moment: Schema.Struct<{
    readonly date: Schema.DateTimeUtc;
  }>;
  readonly latitude: Schema.Finite;
  readonly longitude: Schema.Finite;
  readonly sex: Schema.optionalKey<
    Schema.Literals<readonly ["Male", "Female"]>
  >;
}>;

CircleAngle

const CircleAngle: Schema.brand<Schema.Finite, "CircleAngle">;

Degree

const Degree: Schema.brand<Schema.Finite, "Degree">;

Division

const Division: Schema.Literals<
  readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]
>;

House

const House: Schema.Struct<{
    readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
    readonly cusp: Schema.brand<Schema.Finite, "Longitude">;
    readonly signLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly starLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly subLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly subSubLord: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
    readonly significations: Schema.$Array<Schema.String>;
    readonly planets: Schema.$Array<Schema.Struct<{
        readonly name: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
        readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
        readonly degree: Schema.brand<Schema.Finite, "Degree">;
        readonly is_retrograde: Schema.Boolean;
        readonly in_sign: Schema.$Array<Schema.Literals<readonly ["EXALTED", "MOOLA_TRIKO
// … truncated

HOUSE_SIGNIFICATIONS

const HOUSE_SIGNIFICATIONS: {
  readonly 1: readonly [
    "birth",
    "head",
    "physical body",
    "limbs",
    "physical features",
    "livelihood",
  ];
  readonly 2: readonly [
    "wealth",
    "food",
    "right eye",
    "face",
    "speech",
    "family",
    "property",
  ];
  readonly 3: readonly [
    "courage",
    "firmness",
    "right ear",
    "younger siblings",
    "heroism",
    "mental strength",
  ];
  readonly 4: readonly [
    "house",
    "home",
    "land",
    "mother",
    "vehicle",
    "happiness",
    "learning",
  ];
  readonly 5: readonly [
    "intellect",
    "children",
    "son",
    "belly",
    "traditional law",
    "virtuous acts",
  ];
  readonly 6: readonly [
    "debt",
    "wounds",
    "disease",
    "enemy",
    "sin",
    "fear",
    "humiliation",
  ];
  readonly 7: readonly [
    "desire",
    "love",
    "passion",
    "cohabitation",
    "partner",
    "public",
    "marriage",
  ];
  readonly 8: readonly [
    "life",
    "longevity",
    "mental pain",
    "defeat",
    "sorrow",
    "scandal",
    "death",
    "obstacle",
  ];
  readonly 9: readonly [
    "guru",
    "father",
    "worship",
    "virtue",
    "spiritual initiation",
    "fortune",
  ];
  readonly 10: readonly [
    "livelihood",
    "work",
    "commerce",
    "business",
    "rank",
    "honor",
    "occupation",
  ];
  readonly 11: readonly [
    "profit",
    "gain",
    "income",
    "receipt",
    "fulfillment",
    "elder siblings",
    "friends",
  ];
  readonly 12: readonly [
    "disappearance",
    "bondage",
    "loss",
    "bed",
    "poverty",
    "decline",
    "left eye",
    "leg",
  ];
};

Houses

const Houses: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>;

HouseSignificators

const HouseSignificators: Schema.Struct<{
  readonly house: Schema.Literals<
    readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  >;
  readonly level1: Schema.$Array<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
  readonly level2: Schema.$Array<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
  readonly level3: Schema.$Array<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
  readonly level4: Schema.$Array<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
}>;

Lagna

const Lagna: Schema.Struct<{
  readonly name: Schema.Literal<"Lagna">;
  readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
  readonly degree: Schema.brand<Schema.Finite, "Degree">;
  readonly sign: Schema.Struct<{
    readonly name: Schema.Literals<
      readonly [
        "Aries",
        "Taurus",
        "Gemini",
        "Cancer",
        "Leo",
        "Virgo",
        "Libra",
        "Scorpio",
        "Sagittarius",
        "Capricorn",
        "Aquarius",
        "Pisces",
      ]
    >;
    readonly lord: Schema.Literals<
      readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
    >;
  }>;
}>;

LagnaName

const LagnaName: Schema.Literal<"Lagna">;

LocatedMoment

const LocatedMoment: Schema.Struct<{
  readonly moment: Schema.Struct<{
    readonly date: Schema.DateTimeUtc;
  }>;
  readonly latitude: Schema.Finite;
  readonly longitude: Schema.Finite;
}>;

Longitude

const Longitude: Schema.brand<Schema.Finite, "Longitude">;

Moment

const Moment: Schema.Struct<{
  readonly date: Schema.DateTimeUtc;
}>;

Pada

const Pada: Schema.Literals<readonly [1, 2, 3, 4]>;

Placements

const Placements: Schema.Struct<{
    readonly lagna: Schema.Struct<{
        readonly name: Schema.Literal<"Lagna">;
        readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
        readonly star: Schema.Struct<{
            readonly name: Schema.Literals<readonly ["Ashwini", "Bharani", "Krittika", "Rohini", "Mrigashira", "Ardra", "Punarvasu", "Pushya", "Ashlesha", "Magha", "Purva Phalguni", "Uttara Phalguni", "Hasta", "Chitra", "Swati", "Vishakha", "Anuradha", "Jyeshtha", "Mula", "Purva Ashadha", "Uttara Ashadha", "Shravana", "Dhanishta", "Shatabhisha", "Purva Bhadrapada", "Uttara Bhadrapada", "Revati"]>;
            readonly lord: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
            readonly pada: Schema.Literals<readonly [1, 2, 3, 4]>;
        }>;
    }>;
    readonly planets: Schema.$Array<Schema.Struct<{
        readonly name: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
        readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
        readonly is_retrograde: Schema.Boolean;
        readonly star: Schema.Struct<{
            readonly name: Schema.Literals<readonly ["Ashwini", "Bharani", "Krittika", "Rohini", "Mrigashira", "Ardra", "Punarvasu", "Pushya", "Ashlesha", "Magha", "Purva Phalguni", "Uttara Phalguni", "Hasta", "Chitra", "Swati", "Vishakha", "Anuradha", "Jyeshtha", "Mula", "Purva Ashadha", "Uttara Ashadha", "S
// … truncated

Planet

const Planet: Schema.Struct<{
  readonly name: Schema.Literals<
    readonly [
      "Sun",
      "Moon",
      "Mars",
      "Mercury",
      "Jupiter",
      "Venus",
      "Saturn",
      "Rahu",
      "Ketu",
    ]
  >;
  readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
  readonly degree: Schema.brand<Schema.Finite, "Degree">;
  readonly is_retrograde: Schema.Boolean;
  readonly in_sign: Schema.$Array<
    Schema.Literals<
      readonly [
        "EXALTED",
        "MOOLA_TRIKONA",
        "OWN",
        "FRIEND",
        "NEUTRAL",
        "ENEMY",
        "DEBILITATED",
      ]
    >
  >;
  readonly sign: Schema.Struct<{
    readonly name: Schema.Literals<
      readonly [
        "Aries",
        "Taurus",
        "Gemini",
        "Cancer",
        "Leo",
        "Virgo",
        "Libra",
        "Scorpio",
        "Sagittarius",
        "Capricorn",
        "Aquarius",
        "Pisces",
      ]
    >;
    readonly lord: Schema.Literals<
      readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
    >;
  }>;
}>;

PlanetDignity

const PlanetDignity: Schema.Literals<
  readonly [
    "EXALTED",
    "MOOLA_TRIKONA",
    "OWN",
    "FRIEND",
    "NEUTRAL",
    "ENEMY",
    "DEBILITATED",
  ]
>;

Planets

const Planets: Schema.Literals<
  readonly [
    "Sun",
    "Moon",
    "Mars",
    "Mercury",
    "Jupiter",
    "Venus",
    "Saturn",
    "Rahu",
    "Ketu",
  ]
>;

PlanetSignification

const PlanetSignification: Schema.Struct<{
  readonly planet: Schema.Literals<
    readonly [
      "Sun",
      "Moon",
      "Mars",
      "Mercury",
      "Jupiter",
      "Venus",
      "Saturn",
      "Rahu",
      "Ketu",
    ]
  >;
  readonly agent: Schema.optionalKey<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
  readonly level1: Schema.$Array<
    Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>
  >;
  readonly level2: Schema.$Array<
    Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>
  >;
  readonly level3: Schema.$Array<
    Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>
  >;
  readonly level4: Schema.$Array<
    Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>
  >;
}>;

PlanetsLagna

const PlanetsLagna: Schema.Union<
  readonly [
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >,
    Schema.Literal<"Lagna">,
  ]
>;

Provenance

const Provenance: Schema.Struct<{
  readonly school: Schema.Literal<"Ascendant">;
  readonly method: Schema.Literal<"ascendant-divisional-mapping">;
  readonly version: Schema.Literal<1>;
}>;

RashiLords

const RashiLords: Schema.Literals<
  readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
>;

Rashis

const Rashis: Schema.Literals<
  readonly [
    "Aries",
    "Taurus",
    "Gemini",
    "Cancer",
    "Leo",
    "Virgo",
    "Libra",
    "Scorpio",
    "Sagittarius",
    "Capricorn",
    "Aquarius",
    "Pisces",
  ]
>;

Sex

const Sex: Schema.Literals<readonly ["Male", "Female"]>;

Sign

const Sign: Schema.Struct<{
  readonly name: Schema.Literals<
    readonly [
      "Aries",
      "Taurus",
      "Gemini",
      "Cancer",
      "Leo",
      "Virgo",
      "Libra",
      "Scorpio",
      "Sagittarius",
      "Capricorn",
      "Aquarius",
      "Pisces",
    ]
  >;
  readonly lord: Schema.Literals<
    readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
  >;
}>;

SourceLagna

const SourceLagna: Schema.Struct<{
  readonly name: Schema.Literal<"Lagna">;
  readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
  readonly star: Schema.Struct<{
    readonly name: Schema.Literals<
      readonly [
        "Ashwini",
        "Bharani",
        "Krittika",
        "Rohini",
        "Mrigashira",
        "Ardra",
        "Punarvasu",
        "Pushya",
        "Ashlesha",
        "Magha",
        "Purva Phalguni",
        "Uttara Phalguni",
        "Hasta",
        "Chitra",
        "Swati",
        "Vishakha",
        "Anuradha",
        "Jyeshtha",
        "Mula",
        "Purva Ashadha",
        "Uttara Ashadha",
        "Shravana",
        "Dhanishta",
        "Shatabhisha",
        "Purva Bhadrapada",
        "Uttara Bhadrapada",
        "Revati",
      ]
    >;
    readonly lord: Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >;
    readonly pada: Schema.Literals<readonly [1, 2, 3, 4]>;
  }>;
}>;

SourcePlanet

const SourcePlanet: Schema.Struct<{
  readonly name: Schema.Literals<
    readonly [
      "Sun",
      "Moon",
      "Mars",
      "Mercury",
      "Jupiter",
      "Venus",
      "Saturn",
      "Rahu",
      "Ketu",
    ]
  >;
  readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
  readonly is_retrograde: Schema.Boolean;
  readonly star: Schema.Struct<{
    readonly name: Schema.Literals<
      readonly [
        "Ashwini",
        "Bharani",
        "Krittika",
        "Rohini",
        "Mrigashira",
        "Ardra",
        "Punarvasu",
        "Pushya",
        "Ashlesha",
        "Magha",
        "Purva Phalguni",
        "Uttara Phalguni",
        "Hasta",
        "Chitra",
        "Swati",
        "Vishakha",
        "Anuradha",
        "Jyeshtha",
        "Mula",
        "Purva Ashadha",
        "Uttara Ashadha",
        "Shravana",
        "Dhanishta",
        "Shatabhisha",
        "Purva Bhadrapada",
        "Uttara Bhadrapada",
        "Revati",
      ]
    >;
    readonly lord: Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >;
    readonly pada: Schema.Literals<readonly [1, 2, 3, 4]>;
  }>;
}>;

Star

const Star: Schema.Struct<{
  readonly name: Schema.Literals<
    readonly [
      "Ashwini",
      "Bharani",
      "Krittika",
      "Rohini",
      "Mrigashira",
      "Ardra",
      "Punarvasu",
      "Pushya",
      "Ashlesha",
      "Magha",
      "Purva Phalguni",
      "Uttara Phalguni",
      "Hasta",
      "Chitra",
      "Swati",
      "Vishakha",
      "Anuradha",
      "Jyeshtha",
      "Mula",
      "Purva Ashadha",
      "Uttara Ashadha",
      "Shravana",
      "Dhanishta",
      "Shatabhisha",
      "Purva Bhadrapada",
      "Uttara Bhadrapada",
      "Revati",
    ]
  >;
  readonly lord: Schema.Literals<
    readonly [
      "Sun",
      "Moon",
      "Mars",
      "Mercury",
      "Jupiter",
      "Venus",
      "Saturn",
      "Rahu",
      "Ketu",
    ]
  >;
  readonly pada: Schema.Literals<readonly [1, 2, 3, 4]>;
}>;

Stars

const Stars: Schema.Literals<
  readonly [
    "Ashwini",
    "Bharani",
    "Krittika",
    "Rohini",
    "Mrigashira",
    "Ardra",
    "Punarvasu",
    "Pushya",
    "Ashlesha",
    "Magha",
    "Purva Phalguni",
    "Uttara Phalguni",
    "Hasta",
    "Chitra",
    "Swati",
    "Vishakha",
    "Anuradha",
    "Jyeshtha",
    "Mula",
    "Purva Ashadha",
    "Uttara Ashadha",
    "Shravana",
    "Dhanishta",
    "Shatabhisha",
    "Purva Bhadrapada",
    "Uttara Bhadrapada",
    "Revati",
  ]
>;