softkave-js-utils
Version:
JavaScript & Typescript utility functions, types, and classes
9 lines (8 loc) • 388 B
TypeScript
export type SingletonFnInitFn<Data> = () => Data;
export type SingletonFnDisposeFn<Data> = (data: Data) => void | Promise<void>;
export interface SingletonFn<Data> {
invalidate: () => Promise<void>;
release: () => Promise<void>;
(): Data;
}
export declare function singletonFn<Data>(initFn: SingletonFnInitFn<Data>, disposeFn?: SingletonFnDisposeFn<Data>): SingletonFn<Data>;