@effect-ts/system
Version:
Effect-TS is a zero dependency set of libraries to write highly productive, purely functional TypeScript at scale.
20 lines • 1.07 kB
TypeScript
/** Signifies that the modified property descriptor can be reset to its original state */
interface ResettableDescriptor {
/**
* Restore the property descriptor on the given class instance or prototype and re-apply the lazy getter.
* @param on The class instance or prototype
*/
reset(on: any): void;
}
/** A filter function that must return true for the value to cached */
declare type ResultSelectorFn = (v: any) => boolean;
/**
* Evaluate the getter function and cache the result
* @param [setProto=false] Set the value on the class prototype as well. Only applies to non-static getters.
* @param [makeNonConfigurable=false] Set to true to make the resolved property non-configurable
* @param [resultSelector] A filter function that must return true for the value to cached
* @return A decorator function
*/
declare function LazyGetter(setProto?: boolean, makeNonConfigurable?: boolean, resultSelector?: ResultSelectorFn): MethodDecorator & ResettableDescriptor;
export { LazyGetter, ResultSelectorFn };
//# sourceMappingURL=lazy.d.ts.map