export function isPromise(it: T | PromiseLike): it is PromiseLike { return it instanceof Promise || typeof (it as Promise)?.then === 'function'; } export function sleep(duration?: number) { return new Promise(resolve => setTimeout(resolve, duration)); }