mv-prayertimes
Version:
Prayer times for Maldives
72 lines (71 loc) • 1.91 kB
TypeScript
/// <reference types="node" />
import EventEmitter from "events";
declare const timings: string[];
declare type timingsType = "fajr" | "sunrise" | "dhuhr" | "asr" | "maghrib" | "isha";
declare class MVPrayerTimes extends EventEmitter {
error?: Error;
island: Island;
entries: Entry[];
private _previousNextPrayer;
private _interval;
static daysIntoYear(date: Date): number;
static convertTimestampToString(timestamp: number): string;
static convertTimestampToDate(timestamp: number): Date;
constructor(...args: any[]);
/**
* Starts an interval that will emit 'prayer' events on prayer times
*/
start(): boolean;
/**
* Stop the interval that would emit 'prayer' events on prayer times
*/
stop(): boolean;
/**
* Gets a certain prayer call for a given day
*/
getCall(call: timingsType, day?: number): DetailedTimestamp;
/**
* Gets all the timestamp details for a given day
*/
getAll(day?: number): DetailedTimestamp[];
/**
* Get the prayer time entry for the day
*/
getEntryFromDay(day: number): Entry;
get today(): Entry;
get nextPrayer(): DetailedTimestamp;
/**
* Event emitter types
*/
emit(event: "prayer", payload: DetailedTimestamp)
}
interface Island {
atollId: number;
islandId: number;
atoll: string;
island: string;
offset: number;
location: {
lat?: number;
long?: number;
};
}
interface Timestamps<T> {
fajr: T;
sunrise: T;
dhuhr: T;
asr: T;
maghrib: T;
isha: T;
}
interface Entry extends Timestamps<number> {
atollId: number;
day: number;
}
interface DetailedTimestamp {
call: string;
minutesIntoDay: number;
date: Date;
string: string;
}
export { timings, MVPrayerTimes, Island, Entry };