API reference

Transit

Mechanics-only search for the next or previous transit events of one graha.

Import from astro-ascendant/transit:

import * as Transit from "astro-ascendant/transit";

Functions

dateTimeFromJd

function dateTimeFromJd(julianDay: number): DateTime.Utc;

findTransits

const findTransits: (
  request: TransitRequest,
) => Effect.Effect<
  readonly TransitEvent[],
  | import("../chart/error.js").ChartCalculationError
  | import("../chart/divisional-mapping/error.js").DivisionalMappingError
  | import("../ephemeris/error.js").EphemerisError
  | import("../chart/error.js").LocatedMomentValidationError
  | import("../utils/position.js").LongitudeError
  | TransitSearchExhausted
  | TransitValidationError
  | import("effect/SchemaIssue").Issue,
  AstroParams | Ephemeris
>;

millisFromJd

function millisFromJd(julianDay: number): number;

normalize360

function normalize360(degrees: number): Longitude;

sampleAt

const sampleAt: (
  julianDay: number,
  planet:
    | "Jupiter"
    | "Ketu"
    | "Mars"
    | "Mercury"
    | "Moon"
    | "Rahu"
    | "Saturn"
    | "Sun"
    | "Venus",
  ayanamsa:
    | "Aldebaran15Tau"
    | "Aryabhata"
    | "Aryabhata522"
    | "AryabhataMeanSun"
    | "B1950"
    | "BabylBritton"
    | "BabylEtPSC"
    | "BabylHuber"
    | "BabylKugler1"
    | "BabylKugler2"
    | "BabylKugler3"
    | "DeLuce"
    | "DhruvaGalCenterMulaWilhelm"
    | "DjwhalKhul"
    | "FaganBradley"
    | "GalacticCenter0Sag"
    | "GalacticCenterCochrane"
    | "GalacticCenterGilBrand"
    | "GalacticEquator"
    | "GalacticEquatorFiorenza"
    | "GalacticEquatorIAU1958"
    | "GalacticEquatorMidMula"
    | "Hipparchos"
    | "J1900"
    | "J2000"
    | "JNBhasin"
    | "Krishnamurti"
    | "KrishnamurtiVP291"
    | "Lahiri"
    | "Lahiri1940"
    | "LahiriICRC"
    | "LahiriVP285"
    | "Raman"
    | "SSCitra"
    | "SSRevati"
    | "Sassanian"
    | "Skydram"
    | "SuryaSiddhanta"
    | "SuryaSiddhantaMeanSun"
    | "TrueCitra"
    | "TrueMula"
    | "TruePushya"
    | "TrueRevati"
    | "TrueSheoran"
    | "Ushashashi"
    | "ValensMoon"
    | "Yukteshwar",
) => Effect.Effect<
  {
    julianDay: number;
    longitude: number & import("effect/Brand").Brand<"Longitude">;
    speed: number;
  },
  | import("../ephemeris/error.js").EphemerisError
  | import("../utils/position.js").LongitudeError
  | import("effect/SchemaIssue").Issue,
  Ephemeris
>;

wrap180

function wrap180(degrees: number): number;

Classes

TransitSearchExhausted

class TransitSearchExhausted extends TransitSearchExhausted_base {}

TransitValidationError

class TransitValidationError extends TransitValidationError_base {}

Constants

COARSE_STEP_DAYS

const COARSE_STEP_DAYS: Record<Planets, number>;

JD_UNIX_EPOCH

const JD_UNIX_EPOCH = 2440587.5;

TransitDirection

const TransitDirection: Schema.Literals<readonly ["forward", "backward"]>;

TransitEvent

const TransitEvent: Schema.Struct<{
    readonly planet: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]>;
    readonly moment: Schema.DateTimeUtc;
    readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
    readonly kind: Schema.Literals<readonly ["sign-ingress", "cusp-crossing", "longitude-hit", "station"]>;
    readonly sign: Schema.optionalKey<Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>>;
    readonly is_retrograde: Schema.Boolean;
    readonly direction: Schema.Literals<readonly ["forward", "backward"]>;
    readonly provenance: Schema.Struct<{
        readonly school: Schema.Literal<"Ascendant">;
        readonly method: Schema.Literal<"transit-sample-bisect">;
        readonly version: Schema.Literal<1>;
    }>;
    readonly calculation: Schema.optionalKey<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", "Jy
// … truncated

TransitKind

const TransitKind: Schema.Literals<
  readonly ["sign-ingress", "cusp-crossing", "longitude-hit", "station"]
>;

TransitRequest

const TransitRequest: Schema.Struct<{
  readonly planet: Schema.Literals<
    readonly [
      "Sun",
      "Moon",
      "Mars",
      "Mercury",
      "Jupiter",
      "Venus",
      "Saturn",
      "Rahu",
      "Ketu",
    ]
  >;
  readonly from: Schema.Struct<{
    readonly moment: Schema.Struct<{
      readonly date: Schema.DateTimeUtc;
    }>;
    readonly latitude: Schema.Finite;
    readonly longitude: Schema.Finite;
  }>;
  readonly count: Schema.Int;
  readonly direction: Schema.Literals<readonly ["forward", "backward"]>;
  readonly kinds: Schema.NonEmptyArray<
    Schema.Literals<
      readonly ["sign-ingress", "cusp-crossing", "longitude-hit", "station"]
    >
  >;
  readonly targetLongitude: Schema.optionalKey<
    Schema.brand<Schema.Finite, "Longitude">
  >;
  readonly house: Schema.optionalKey<
    Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>
  >;
  readonly maxYears: Schema.optionalKey<Schema.Finite>;
  readonly precisionMinutes: Schema.optionalKey<Schema.Finite>;
  readonly includeCharts: Schema.optionalKey<
    Schema.$Array<
      Schema.Literals<
        readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]
      >
    >
  >;
}>;