UNPKG

asyncforge

Version:

`asyncforge` allows you to remove singletons from your codebase with the use of [`AsyncLocalStorage`](https://nodejs.org/api/async_context.html#class-asynclocalstorage).

18 lines (13 loc) 433 B
import { expectError, expectType } from "tsd"; import { create, memo } from "."; import type { Store } from "."; expectType<() => Store>(create); const store = create(); expectType<number>(store.run(() => 42)); expectType<void>(store.enterWith()); // memo const memoNum = memo<number>(); expectType<symbol>(memoNum.key); expectType<void>(memoNum.set(123)); expectType<number>(memoNum()); expectError<void>(memoNum.set("wrong"));