API reference

Jaimini

Jaimini calculations for Chara Karakas, Rashi Drishti, Karakamsha, Arudha Pada, Upapada, and Argala.

Import from astro-ascendant/argala:

import * as Jaimini from "astro-ascendant/argala";

Functions

calculate

const calculate: (placements: Placements) => Effect.Effect<
  {
    provenance: {
      readonly school: "Jaimini";
      readonly method: "exact-degree-shared-roles";
      readonly version: 1;
    };
    assignments: {
      Atmakaraka: readonly [Holder, ...Holder[]];
      Amatyakaraka: readonly [Holder, ...Holder[]];
      Bhratrikaraka: readonly [Holder, ...Holder[]];
      Matrikaraka: readonly [Holder, ...Holder[]];
      Putrakaraka: readonly [Holder, ...Holder[]];
      Gnatikaraka: readonly [Holder, ...Holder[]];
      Darakaraka: readonly [Holder, ...Holder[]];
    };
  },
  EvidenceError | ParseError,
  never
>;

compareExactDegrees

const compareExactDegrees: ((
  right: ExactDegree,
) => (left: ExactDegree) => number) &
  ((left: ExactDegree, right: ExactDegree) => number);

exactDegreeOf

const exactDegreeOf: (
  longitude: number & import("effect/Brand").Brand<"Longitude">,
) => Effect.Effect<
  {
    coefficient: bigint;
    scale: number;
    value: number & import("effect/Brand").Brand<"Degree">;
  },
  ParseError,
  never
>;

targetsOf

const targetsOf: (
  reference:
    | "Aquarius"
    | "Aries"
    | "Cancer"
    | "Capricorn"
    | "Gemini"
    | "Leo"
    | "Libra"
    | "Pisces"
    | "Sagittarius"
    | "Scorpio"
    | "Taurus"
    | "Virgo",
) => Effect.Effect<
  readonly [
    (
      | "Aquarius"
      | "Aries"
      | "Cancer"
      | "Capricorn"
      | "Gemini"
      | "Leo"
      | "Libra"
      | "Pisces"
      | "Sagittarius"
      | "Scorpio"
      | "Taurus"
      | "Virgo"
    ),
    (
      | "Aquarius"
      | "Aries"
      | "Cancer"
      | "Capricorn"
      | "Gemini"
      | "Leo"
      | "Libra"
      | "Pisces"
      | "Sagittarius"
      | "Scorpio"
      | "Taurus"
      | "Virgo"
    ),
    (
      | "Aquarius"
      | "Aries"
      | "Cancer"
      | "Capricorn"
      | "Gemini"
      | "Leo"
      | "Libra"
      | "Pisces"
      | "Sagittarius"
      | "Scorpio"
      | "Taurus"
      | "Virgo"
    ),
  ],
  CalculationError | SignIndexError,
  never
>;

Classes

CalculationError

class CalculationError extends CalculationError_base {}

EvidenceError

class EvidenceError extends EvidenceError_base {}

ParseError

class ParseError extends ParseError_base {}

Interfaces

ExactDegree

interface ExactDegree {
  readonly coefficient: bigint;
  readonly scale: number;
  readonly value: Degree;
}

RankedHolder

interface RankedHolder extends Holder {
  readonly exactDegree: ExactDegree;
}

Types

Role

type Role = typeof Roles.Type;

Constants

Assignments

const Assignments: Schema.$Record<
  Schema.Literals<
    readonly [
      "Atmakaraka",
      "Amatyakaraka",
      "Bhratrikaraka",
      "Matrikaraka",
      "Putrakaraka",
      "Gnatikaraka",
      "Darakaraka",
    ]
  >,
  Schema.NonEmptyArray<
    Schema.Struct<{
      readonly planet: Schema.Literals<
        readonly [
          "Sun",
          "Moon",
          "Mars",
          "Mercury",
          "Jupiter",
          "Venus",
          "Saturn",
        ]
      >;
      readonly degree: Schema.brand<Schema.Finite, "Degree">;
    }>
  >
>;

ClassicalPlanets

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

Holder

const Holder: Schema.Struct<{
  readonly planet: Schema.Literals<
    readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]
  >;
  readonly degree: Schema.brand<Schema.Finite, "Degree">;
}>;

KetuReference

const KetuReference: Schema.Struct<{
  readonly kind: Schema.Literal<"Ketu">;
}>;

Placement

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

Positions

const Positions: Schema.Literals<readonly [2, 4, 11, 12, 10, 3, 5, 9]>;

Provenance

const Provenance: Schema.Struct<{
  readonly school: Schema.Literal<"Jaimini">;
  readonly method: Schema.Literal<"structural-positions">;
  readonly version: Schema.Literal<1>;
}>;

Reference

const Reference: Schema.Union<
  readonly [
    Schema.Struct<{
      readonly kind: Schema.Literal<"Sign">;
      readonly sign: Schema.Literals<
        readonly [
          "Aries",
          "Taurus",
          "Gemini",
          "Cancer",
          "Leo",
          "Virgo",
          "Libra",
          "Scorpio",
          "Sagittarius",
          "Capricorn",
          "Aquarius",
          "Pisces",
        ]
      >;
    }>,
    Schema.Struct<{
      readonly kind: Schema.Literal<"Ketu">;
    }>,
  ]
>;

Relation

const Relation: Schema.Struct<{
  readonly position: Schema.Literals<readonly [2, 4, 11, 12, 10, 3, 5, 9]>;
  readonly sign: Schema.Literals<
    readonly [
      "Aries",
      "Taurus",
      "Gemini",
      "Cancer",
      "Leo",
      "Virgo",
      "Libra",
      "Scorpio",
      "Sagittarius",
      "Capricorn",
      "Aquarius",
      "Pisces",
    ]
  >;
  readonly planets: Schema.$Array<
    Schema.Literals<
      readonly [
        "Sun",
        "Moon",
        "Mars",
        "Mercury",
        "Jupiter",
        "Venus",
        "Saturn",
        "Rahu",
        "Ketu",
      ]
    >
  >;
}>;

Result

const Result: Schema.Struct<{
    readonly provenance: Schema.Struct<{
        readonly school: Schema.Literal<"Jaimini">;
        readonly method: Schema.Literal<"structural-positions">;
        readonly version: Schema.Literal<1>;
    }>;
    readonly reference: Schema.Union<readonly [Schema.Struct<{
        readonly kind: Schema.Literal<"Sign">;
        readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
    }>, Schema.Struct<{
        readonly kind: Schema.Literal<"Ketu">;
    }>]>;
    readonly referenceSign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
    readonly direction: Schema.Literals<readonly ["forward", "reverse"]>;
    readonly supporting: Schema.Tuple<readonly [Schema.Struct<{
        readonly position: Schema.Literals<readonly [2, 4, 11, 12, 10, 3, 5, 9]>;
        readonly sign: Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>;
        readonly planets: Schema.$Array<Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>>;
    }>, Schema.Struct<{
        readonly position: Schema.Literals<readonly [2, 4, 11, 12, 10, 3, 5, 9]>;
        readonly sign: Schema.Literals<readonly ["Aries", "T
// … truncated

Roles

const Roles: Schema.Literals<
  readonly [
    "Atmakaraka",
    "Amatyakaraka",
    "Bhratrikaraka",
    "Matrikaraka",
    "Putrakaraka",
    "Gnatikaraka",
    "Darakaraka",
  ]
>;

SignReference

const SignReference: Schema.Struct<{
  readonly kind: Schema.Literal<"Sign">;
  readonly sign: Schema.Literals<
    readonly [
      "Aries",
      "Taurus",
      "Gemini",
      "Cancer",
      "Leo",
      "Virgo",
      "Libra",
      "Scorpio",
      "Sagittarius",
      "Capricorn",
      "Aquarius",
      "Pisces",
    ]
  >;
}>;