type Unwrap<T> = T extends Undef<infer D> ? D : T;
type UnwrapArray<T> = T extends Array<infer D> ? D : T;
type UnwrapPromise<T> = T extends Promise<infer D> ? D : T;
Async helpers
Mutex
export{Mutex}from"@equilab/utils";constmutex=newMutex();constrelease=awaitmutex.acquire();// if mutex is acquired by another task then pause executionrelease();// release mutex to let it be acquired