76 lines
5.0 KiB
TypeScript
76 lines
5.0 KiB
TypeScript
import type { CalendarFormatter, CalendarTimestamp } from '../types.js';
|
|
export declare const PARSE_REGEX: RegExp;
|
|
export declare const PARSE_TIME: RegExp;
|
|
export declare const DAYS_IN_MONTH: number[];
|
|
export declare const DAYS_IN_MONTH_LEAP: number[];
|
|
export declare const DAYS_IN_MONTH_MIN = 28;
|
|
export declare const DAYS_IN_MONTH_MAX = 31;
|
|
export declare const MONTH_MAX = 12;
|
|
export declare const MONTH_MIN = 1;
|
|
export declare const DAY_MIN = 1;
|
|
export declare const DAYS_IN_WEEK = 7;
|
|
export declare const MINUTES_IN_HOUR = 60;
|
|
export declare const MINUTE_MAX = 59;
|
|
export declare const MINUTES_IN_DAY: number;
|
|
export declare const HOURS_IN_DAY = 24;
|
|
export declare const HOUR_MAX = 23;
|
|
export declare const FIRST_HOUR = 0;
|
|
export declare const OFFSET_YEAR = 10000;
|
|
export declare const OFFSET_MONTH = 100;
|
|
export declare const OFFSET_HOUR = 100;
|
|
export declare const OFFSET_TIME = 10000;
|
|
type CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => Intl.DateTimeFormatOptions;
|
|
type CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp;
|
|
export type VTime = number | string | {
|
|
hour: number;
|
|
minute: number;
|
|
};
|
|
export type VTimestampInput = number | string | Date;
|
|
export declare function getStartOfWeek(timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function getEndOfWeek(timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function getStartOfMonth(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function getEndOfMonth(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function validateNumber(input: any): boolean;
|
|
export declare function validateTime(input: any): input is VTime;
|
|
export declare function parseTime(input: any): number | false;
|
|
export declare function validateTimestamp(input: any): input is VTimestampInput;
|
|
export declare function parseTimestamp(input: VTimestampInput | null, required?: false, now?: CalendarTimestamp | null): CalendarTimestamp | null;
|
|
export declare function parseTimestamp(input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function parseDate(date: Date): CalendarTimestamp;
|
|
export declare function getDayIdentifier(timestamp: {
|
|
year: number;
|
|
month: number;
|
|
day: number;
|
|
}): number;
|
|
export declare function getTimeIdentifier(timestamp: {
|
|
hour: number;
|
|
minute: number;
|
|
}): number;
|
|
export declare function getTimestampIdentifier(timestamp: CalendarTimestamp): number;
|
|
export declare function updateRelative(timestamp: CalendarTimestamp, now: CalendarTimestamp, time?: boolean): CalendarTimestamp;
|
|
export declare function isTimedless(input: VTimestampInput): input is (Date | number);
|
|
export declare function updateHasTime(timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function updateMinutes(timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function updateWeekday(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function updateFormatted(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function getWeekday(timestamp: CalendarTimestamp): number;
|
|
export declare function daysInMonth(year: number, month: number): number;
|
|
export declare function copyTimestamp(timestamp: null): null;
|
|
export declare function copyTimestamp(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function padNumber(x: number, length: number): string;
|
|
export declare function getDate(timestamp: CalendarTimestamp): string;
|
|
export declare function getTime(timestamp: CalendarTimestamp): string;
|
|
export declare function nextMinutes(timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp;
|
|
export declare function nextDay(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function prevDay(timestamp: CalendarTimestamp): CalendarTimestamp;
|
|
export declare function relativeDays(timestamp: CalendarTimestamp, mover?: CalendarTimestampOperation, days?: number): CalendarTimestamp;
|
|
export declare function diffMinutes(min: CalendarTimestamp, max: CalendarTimestamp): number;
|
|
export declare function findWeekday(timestamp: CalendarTimestamp, weekday: number, mover?: CalendarTimestampOperation, maxDays?: number): CalendarTimestamp;
|
|
export declare function getWeekdaySkips(weekdays: number[]): number[];
|
|
export declare function timestampToDate(timestamp: CalendarTimestamp): Date;
|
|
export declare function createDayList(start: CalendarTimestamp, end: CalendarTimestamp, now: CalendarTimestamp, weekdaySkips: number[], max?: number, min?: number): CalendarTimestamp[];
|
|
export declare function createIntervalList(timestamp: CalendarTimestamp, first: number, minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[];
|
|
export declare function createNativeLocaleFormatter(locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter;
|
|
export declare function validateWeekdays(input: string | (number | string)[]): boolean;
|
|
|