advanced-js-kit
Version:
Modern TypeScript utility library with tree-shaking support - Array, String, Number, Network, Sleep, and JWT utilities for JavaScript and TypeScript projects
57 lines (55 loc) • 1.89 kB
TypeScript
type TSleepParams = {
milliseconds?: number;
seconds?: number;
minutes?: number;
until?: {
unixTimestamp?: number;
};
random?: {
milliseconds?: {
min: number;
max: number;
};
seconds?: {
min: number;
max: number;
};
minutes?: {
min: number;
max: number;
};
};
};
type TSleepReturn = Promise<void>;
/**
* Sleep function that supports various delay options
* @param params - Sleep parameters including fixed delays, random delays, or until timestamp
* @returns Promise that resolves after the specified delay
* @throws Error if invalid parameters are provided
*/
declare const sleep: (params: TSleepParams) => TSleepReturn;
/**
* Convenience function to sleep for a specific number of milliseconds
* @param ms - Number of milliseconds to sleep
* @returns Promise that resolves after the specified delay
*/
declare const sleepMs: (ms: number) => TSleepReturn;
/**
* Convenience function to sleep for a specific number of seconds
* @param seconds - Number of seconds to sleep
* @returns Promise that resolves after the specified delay
*/
declare const sleepSeconds: (seconds: number) => TSleepReturn;
/**
* Convenience function to sleep for a specific number of minutes
* @param minutes - Number of minutes to sleep
* @returns Promise that resolves after the specified delay
*/
declare const sleepMinutes: (minutes: number) => TSleepReturn;
/**
* Convenience function to sleep until a specific Unix timestamp
* @param unixTimestamp - Unix timestamp (in seconds) to sleep until
* @returns Promise that resolves at the specified timestamp
*/
declare const sleepUntil: (unixTimestamp: number) => TSleepReturn;
export { type TSleepParams, type TSleepReturn, sleep, sleepMinutes, sleepMs, sleepSeconds, sleepUntil };