composable-locks
Version:
Composable concurrency locks for Javascript.
9 lines (8 loc) • 414 B
TypeScript
import type { Releaser } from "./interfaces";
/**
* Execute an async function with permissions
* @param permssions An array of promises that will resolve to release functions to release permissions
* @param f The function to execute with permissions
* @returns The return value of f
*/
export declare const withPermissions: <T>(permssions: Promise<Releaser>[], f: () => T | Promise<T>) => Promise<T>;