Add disposable util

This commit is contained in:
Ajay Bura 2022-12-27 20:14:08 +05:30
parent 5b41794947
commit 1c7600c3b8

View file

@ -0,0 +1,8 @@
export type DisposeCallback<Q extends unknown[] = [], R = void> = (...args: Q) => R;
export type DisposableContext<P extends unknown[] = [], Q extends unknown[] = [], R = void> = (
...args: P
) => DisposeCallback<Q, R>;
export const disposable = <P extends unknown[], Q extends unknown[] = [], R = void>(
context: DisposableContext<P, Q, R>
) => context;