@easy-ds-bot/timeparser
Version:
Simply string time converter (en/ru). From "5d2h" to 439200000 ms
72 lines (71 loc) • 1.72 kB
TypeScript
export interface ParsedTime {
get ms(): number;
get seconds(): number;
get minutes(): number;
get hours(): number;
get days(): number;
get weeks(): number;
get months(): number;
get years(): number;
_matches: string[];
get _deparsed(): string;
}
/** 316 centuries or 31600 years */
export declare const limitms = 999999999999999;
export declare const timeRegExp: {
1: RegExp;
1000: RegExp;
60000: RegExp;
3600000: RegExp;
86400000: RegExp;
604800000: RegExp;
2592000000: RegExp;
22118400000: RegExp;
};
export declare const timeRegExpNames: {
ms: RegExp;
s: RegExp;
m: RegExp;
h: RegExp;
d: RegExp;
w: RegExp;
mon: RegExp;
y: RegExp;
};
export declare const timeNamesMap: {
1: string;
1000: string;
60000: string;
3600000: string;
86400000: string;
604800000: string;
2592000000: string;
22118400000: string;
};
export declare const limitsMap: {
1: number;
1000: number;
60000: number;
3600000: number;
86400000: number;
604800000: number;
2592000000: number;
22118400000: number;
};
/**
* Converts string time (e.g. `1d3h`) into milliseconds (`97_200_000`)
*
* One month = 30 days, one year = 365 days
*
* Returns `null` if `time > 31600 years` or if `time == 0 ms`
*/
export declare function parseTime(time: string): ParsedTime | null;
/**
* Converts milliseconds into string time
*
* One month = 30 days, one year = 365 days
*/
export declare function deparseTime(ms: number, separator?: string): string;
export declare const timeParser: typeof parseTime;
export declare const timeDeparser: typeof deparseTime;
export default timeParser;