UNPKG

softkave-js-utils

Version:

JavaScript & Typescript utility functions, types, and classes

9 lines (8 loc) 388 B
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>;