Initial boiler plate project

This commit is contained in:
2024-09-24 03:52:46 +00:00
parent 6120b2d6c3
commit 154b93e267
10034 changed files with 2079352 additions and 2 deletions

View File

@ -0,0 +1,17 @@
/// <reference types="node" />
import type { AsyncLocalStorage } from 'async_hooks';
/**
* Implementations provide a wrapping function that will provide the storage to
* async calls derived from the provided callback function.
*/
export interface AsyncStorageWrapper<Store extends {}, Context extends {}> {
/**
* Wraps the callback with the underlying storage.
*
* @param storage underlying storage object
* @param context context used to create the storage object
* @param callback function to call within the scope of the storage
* @returns the result of the callback
*/
wrap<Result>(storage: AsyncLocalStorage<Store>, context: Context, callback: (store: Store) => Result): Result;
}