UNPKG

@open-tender/utils

Version:

A library of utils for use with Open Tender applications that utilize our cloud-based Order API.

100 lines (99 loc) 7.27 kB
import { DateString, FirstTime, GroupOrderPrepTime, GroupOrderTime, Holidays, ISOString, ISOStringOffset, Order, OrderTime, OrderTimeWithDate, RequestedAt, RevenueCenter, ServiceType, Timezone, TimezonePython, ValidTimes, Weekday } from '@open-tender/types'; export declare const DATE = "yyyy-MM-dd"; export declare const TIME = "h:mma"; export declare const DATETIME = "yyyy-MM-dd h:mma"; export declare const HUMAN_DATE = "MMM d, yyyy"; export declare const HUMAN_TIME = "h:mma"; export declare const HUMAN_DATETIME = "MMM d, h:mma"; export declare const timezoneMap: Record<TimezonePython, Timezone>; export declare const weekdays: string[]; export declare const weekdaysUpper: string[]; export declare const weekdaysLower: string[]; export declare const weekdayOptions: { value: string; name: string; }[]; export declare const makeWeekday: (date?: Date) => Weekday; export declare const minutesLeft: (start: Date | number, end: Date | number) => number; export declare const secondsLeft: (start: Date | number, end: Date | number) => number; export declare const secondsToTime: (seconds: number) => string; export declare const timeLeft: (start: Date | number, end: Date | number) => string; export declare const dateForWeekday: (weekday: Weekday) => Date; export declare const weekdayAndTimeToDate: (weekday: Weekday, timeStr: string) => Date; export declare const parseIsoToDate: (iso: string) => Date; export declare const fmtDate: (date: Date, fmt: string) => string; export declare const getUserTimezone: () => Timezone; export declare const makeLocalDate: (dateStr: string) => Date; export declare const zonedTimeToDate: (str: string, timezone: TimezonePython) => Date; export declare const zonedTimeToDateStr: (str: string, timezone: TimezonePython, fmt?: string) => string; export declare const makeLocalDateStr: (date?: Date | null, days?: number, fmt?: string) => string; export declare const todayDate: () => string; export declare const tomorrowDate: () => string; export declare const isoToDate: (iso: ISOString | ISOStringOffset, tz?: Timezone | null) => Date; export declare const isoToDateStr: (iso: ISOString, tz: Timezone | null, fmt?: string) => string; export declare const cleanISOString: (date: Date) => ISOString; export declare const dateToIso: (date: Date, tz: Timezone) => ISOString; export declare const adjustIso: (iso: ISOString, tz: Timezone, adjustment: Duration) => ISOString; export declare const adjustZonedIso: (zonedIso: ISOString, tz: Timezone, adjustment: Duration) => string; export declare const dateToZonedDateStr: (date: Date, tz: Timezone, fmt?: string, days?: number) => string; export declare const dateToZonedIso: (date: Date, tz: Timezone) => string; export declare const currentLocalDate: (tz: Timezone) => Date; export declare const currentLocalDateStr: (tz: Timezone, fmt?: string) => string; export declare const dateStrToDate: (str: string) => Date; export declare const dateStrToZonedDate: (str: string, tz: Timezone) => Date; export declare const dateStrToZonedWeekday: (str: string) => Weekday; export declare const replaceAmPm: (str: string) => string; export declare const formatDate: (date: Date, fmt?: string, amPm?: boolean) => string; export declare const formatDateStr: (str: string, fmt?: string) => string | null; export declare const formatTimeStr: (str: string) => string; export declare const dateStrMinutesToIso: (dateStr: string, minutes: number, tz: Timezone) => ISOString; export declare const isoToDateStrMinutes: (iso: ISOString, tz: Timezone) => { date: `${number}${number}${number}${number}-${number}${number}-${number}${number}`; minutes: number; }; export declare const makeReadableDateStrFromIso: (iso: string, tz: Timezone, verbose?: boolean, withTime?: boolean) => string; export declare const makeRequestedIso: (requestedAt: string) => string; export declare const makeRequestedAtStr: (requestedAt: string | null, tz: Timezone, verbose?: boolean) => string; export declare const makeEstimatedTime: (requestedAt: ISOString | string, revenueCenter: RevenueCenter, serviceType: ServiceType, verbose?: boolean) => string | null; export declare const makeOppositeTimes: (times: Array<number>, interval: number, min?: number, max?: number) => Array<number>; export declare const time24ToMinutes: (str: string) => number; export declare const setTimeForDate: (date: Date, hours: number, minutes: number, seconds?: number) => Date; export declare const minutesToDate: (minutes: number, date?: Date) => Date; export declare const time24ToDate: (str: string) => Date; export declare const time24ToDateStr: (str: string, fmt?: string) => string; export declare const minutesToDates: (minutes: Array<number>, date?: Date) => Array<Date>; export declare const getMinutesfromDate: (date: Date) => number; export declare const getNextIntervalMinutes: (minutes: number, interval: number) => number; export declare const makeDates: (startDateStr: string, days: number, fmt?: string) => { label: string; value: string; }[]; export declare const makeTimes: (date: DateString, firstTime: FirstTime, validTimes: ValidTimes, holidays: Holidays | null, serviceType: ServiceType, leadTime?: number) => { name: string; value: number; disabled: boolean; }[] | null; export declare const makeOrderTimes: (orderTimes: OrderTime[] | null, tz: Timezone) => OrderTimeWithDate[]; export declare const findOrderTime: (orderTimes: Array<OrderTime> | null, tz: Timezone, requestedAt: ISOString | string | null) => OrderTimeWithDate; export declare const makeFirstTime: (revenueCenter: RevenueCenter, tz: Timezone, serviceType: ServiceType, requestedAt: RequestedAt | null) => RequestedAt | null; export declare const makeFirstRequestedAt: (revenueCenter: RevenueCenter, serviceType: ServiceType, requestedAt?: RequestedAt | null) => RequestedAt | null; export declare const makeFirstTimes: (revenueCenter: RevenueCenter, serviceType: ServiceType, requestedAt: RequestedAt | null) => ({ serviceType: ServiceType; requestedAt: RequestedAt; } | null)[] | null; export declare const getNextInterval: (requestedIso: ISOString, tz: Timezone, interval: number) => Date; export declare const adjustRequestedAt: (requestedIso: ISOString, tz: Timezone, interval: number, leadTime: number) => ISOString; export declare const getFirstTime: (revenueCenter: RevenueCenter, serviceType: ServiceType, tz: Timezone) => OrderTimeWithDate | FirstTime | null; export declare const makeGroupOrderTime: (revenueCenter: RevenueCenter, serviceType: ServiceType, requestedAt: RequestedAt) => GroupOrderTime | GroupOrderPrepTime | null; export declare const formatTime: (time: string) => string; export declare const makeGroupOrderTimeStr: (requestedAt: RequestedAt | null, tz: Timezone) => string | null; export declare const getLastInterval: (tz: Timezone) => Date; export declare const makeIntervals: (tz: Timezone) => ({ start: Date; end: Date; } & { orders: Array<Partial<Order>>; })[]; export declare const formatTimeList: (dateStr: ISOString, tz: Timezone, includeDate: boolean) => string; export declare const makeCartDateStr: (requestedAt: string, tz: Timezone, waitTime?: number | null) => string; export declare const makeOrderWindow: (orderTime: OrderTimeWithDate) => string;