jsm-utilities
Version:
A utilities library.
38 lines (37 loc) • 2.15 kB
TypeScript
/**
* @since 17-10-2023 12:39:25
* @description This function takes a time range string (e.g. "5 minutes") and returns a start date and end date for that time range
* - The time range must be specified with a number followed by a unit of time (e.g. "5 minutes", "3 hours", "1 day")
* - Valid units of time are "second", "minute", "hour", "day", "week", "month", and "year"
* - Valid units of time can be abbreviated to "s", "m", "h", "d", "w", "M", and "y"
* - If no unit of time is specified, the default unit is "day"
* - If the unit of time is plural (e.g. "days"), it must be pluralized using an "s"
* - If the unit of time is abbreviated, it must be followed by an "s"
* - The time range string must be in the format "[number] [unit of time]s?"
* - For example, "5 minutes" is valid, but "5 minute" is not valid, and "5 m" is not valid either
* - If the unit of time is plural (e.g. "days"), it must be pluralized using an "s"
* - This function return {false} if the time range string is not in the correct format
* @param {string} timeRange
*/
export declare function transformTimeRangeToDates(timeRange: string, currentDate?: Date, rangeIn?: 'past' | 'future'): false | {
start: Date;
end: Date;
};
export declare const isDateWithinLastNSeconds: (date: Date, seconds: number) => boolean;
export declare const isDateWithinLastNMinutes: (date: Date, minutes: number) => boolean;
export declare const isDateWithinLastNHours: (date: Date, hours: number) => boolean;
export declare const isDateWithinLastNDays: (date: Date, days: number) => boolean;
export declare const isDateWithinLastNWeeks: (date: Date, weeks: number) => boolean;
export declare const isDateWithinLastNMonths: (date: Date, months: number) => boolean;
export declare const isDateWithinLastNYears: (date: Date, years: number) => boolean;
export declare const isDateWithinLastNTimeRange: (date: Date, timeRange: string) => boolean;
/**
* @generator Jsm
* @author dr. Salmi <reevosolutions@gmail.com>
* @since 26 July 2000
* @since 29-04-2024 23:01:17
*/
export declare const isDateRangObject: (obj: any) => obj is {
start: Date;
end: Date;
};