@tubular/astronomy
Version:
Astronomical calculations for planetary positions, moon phases, eclipses, rise, transit, and set times, and more.
76 lines • 5.9 kB
TypeScript
import { DateTime, GregorianChange, Timezone, YMDDate } from '@tubular/time';
import { ISkyObserver } from './i-sky-observer';
import { JupiterInfo } from './jupiter-info';
export declare class AstroEvent {
private readonly _jdu;
readonly _eventType: number;
readonly _eventText: string;
readonly _value: number;
eventTime: DateTime;
miscInfo: any;
constructor(eventType: number, eventText: string, year: number, month: number, day: number, hourOffset: number, zone: Timezone, gregorianChange?: GregorianChange, value?: number);
static fromJdu(eventType: number, eventText: string, jdu: number, zone: Timezone, gregorianChange?: GregorianChange, value?: number): AstroEvent;
get eventType(): number;
get eventText(): string;
get value(): number;
get ut(): number;
get jdu(): number;
toString(): string;
}
export interface LunarPhasesHtmlOptions {
tableClass?: string;
headers?: string[];
formatYear?: (year: number) => string;
formatDateTime?: (event: AstroEvent) => string;
}
export interface EquinoxSolsticeHtmlOptions extends LunarPhasesHtmlOptions {
southernHemisphere?: boolean;
}
export interface RiseAndSetHtmlOptions {
tableClass?: string;
headers?: string[];
unseenAllDay?: string;
visibleAllDay?: string;
formatDate?: (event: AstroEvent) => string;
formatDay?: (event: AstroEvent) => string;
formatTime?: (event: AstroEvent) => string;
}
export interface GalileanMoonsHtmlOptions {
tableClass?: string;
formatDateTime?: (event: AstroEvent) => string;
formatTime?: (event: AstroEvent) => string;
}
export declare class EventFinder {
private jupiterInfo?;
private ss;
private jupitersMoons;
constructor(jupiterInfo?: JupiterInfo);
getLunarPhaseEvent(year: number, month: number, day: number, zone?: Timezone, gregorianChange?: GregorianChange): AstroEvent;
getLunarPhasesByYear(startYear: number, endYear: number, zone?: Timezone, gregorianChange?: GregorianChange, addPaddingMonths?: boolean): Promise<AstroEvent[]>;
private static formatEventDate;
private static formatEventTime;
private static formatEventDateTime;
private static formatEventDateTimeWithoutYear;
getLunarPhasesByYearAsHtml(startYear: number, endYear: number, zone?: Timezone, gregorianChange?: GregorianChange, options?: LunarPhasesHtmlOptions): Promise<string>;
getLunarPhasesForMonth(year: number, month: number, zone?: Timezone, gregorianChange?: GregorianChange): AstroEvent[];
getEquinoxSolsticeEvent(year: number, month: number, day: number, zone?: Timezone, gregorianChange?: GregorianChange): AstroEvent;
getEquinoxesAndSolsticesForOneYear(year: number, zone?: Timezone, gregorianChange?: GregorianChange): AstroEvent[];
getEquinoxesAndSolsticesByYear(startYear: number, endYear: number, zone?: Timezone, gregorianChange?: GregorianChange): Promise<AstroEvent[]>;
getEquinoxesAndSolsticesByYearAsHtml(startYear: number, endYear: number, zone?: Timezone, gregorianChange?: GregorianChange, options?: EquinoxSolsticeHtmlOptions): Promise<string>;
getRiseAndSetTimes(body: number, year: number, month: number, day: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, minutesBefore?: number, targetAltitude?: number, doTwilight?: boolean): AstroEvent[];
getTransitTimes(body: number, year: number, month: number, day: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange): AstroEvent[];
getMinutesOfDaylight(year: number, month: number, day: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange): number;
getMonthOfEvents(body: number, year: number, month: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, targetAltitude?: number): AstroEvent[];
getRiseAndSetEvents(body: number, year: number, month: number, day: number, dayCount: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, twilightAltitude?: number): Promise<AstroEvent[][]>;
getRiseAndSetEventsAsHtml(body: number, year: number, month: number, day: number, dayCount: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, twilightAltitude?: number, options?: RiseAndSetHtmlOptions): Promise<string>;
getGalileanMoonEvents(startJdu: number, endJdu: number, includeGrsTransits: boolean, zone?: Timezone, gregorianChange?: GregorianChange): Promise<AstroEvent[]>;
getGalileanMoonEventsAsHtml(startJdu: number, endJdu: number, includeGrsTransits: boolean, zone?: Timezone, gregorianChange?: GregorianChange, options?: GalileanMoonsHtmlOptions): Promise<string>;
private resolveLocalCircumstances;
findEventAsync(planet: number, eventType: number, originalTime: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, doPrevious?: boolean, argument?: any, maxTries?: number): Promise<AstroEvent>;
findEventAsyncImpl(planet: number, eventType: number, originalTime: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, doPrevious?: boolean, argument?: any, maxTries?: number): Promise<AstroEvent>;
findEvent(planet: number, eventType: number, originalTime: number, observer: ISkyObserver, zone?: Timezone, gregorianChange?: GregorianChange, doPrevious?: boolean, argument?: any, maxTries?: number): AstroEvent;
protected eventSearch(planet: number, eventType: number, originalTime: number, testTime: number[], observer: ISkyObserver, zone: Timezone, gregorianChange: GregorianChange, doPrevious: any, argument: any, tries: number, dateTime: DateTime, ymd: YMDDate): AstroEvent;
protected getEventSearchValue(planet: number, eventType: number, time_JDU: number): number;
protected isInferior(planet: number, time_JDU: number): boolean;
}
//# sourceMappingURL=event-finder.d.ts.map