reactronic
Version:
Reactronic - Transactional Reactive State Management
31 lines (30 loc) • 2.04 kB
TypeScript
import { F } from "./util/Utils.js";
import { Operation, MemberOptions, LoggingOptions, ProfilingOptions, SnapshotOptions } from "./Options.js";
export declare class ReactiveSystem {
static why(brief?: boolean): string;
static getOperation<T>(method: F<T>): Operation<T>;
static pullLastResult<T>(method: F<Promise<T>>, args?: any[]): T | undefined;
static configureCurrentOperation(options: Partial<MemberOptions>): MemberOptions;
static getRevisionOf(obj: any): number;
static takeSnapshot<T>(obj: T): T;
static dispose(obj: any): void;
static get reactivityAutoStartDisabled(): boolean;
static set reactivityAutoStartDisabled(value: boolean);
static get isLogging(): boolean;
static get loggingOptions(): LoggingOptions;
static setLoggingMode(isOn: boolean, options?: LoggingOptions): void;
static setLoggingHint<T extends object>(obj: T, name: string | undefined): void;
static getLoggingHint<T extends object>(obj: T, full?: boolean): string | undefined;
static setProfilingMode(isOn: boolean, options?: Partial<ProfilingOptions>): void;
}
export declare function atomicRun<T>(func: F<T>, ...args: any[]): T;
export declare function atomicRun<T>(options: SnapshotOptions, func: F<T>, ...args: any[]): T;
export declare function nonReactiveRun<T>(func: F<T>, ...args: any[]): T;
export declare function sensitiveRun<T>(sensitivity: boolean, func: F<T>, ...args: any[]): T;
export declare function contextualRun<T>(p: Promise<T>): Promise<T>;
export declare function trigger(enabled: boolean): (proto: object, prop: PropertyKey) => any;
export declare function trigger<T>(proto: object, prop: PropertyKey): any;
export declare function atomicBlock(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function reaction(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function cache(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function options(value: Partial<MemberOptions>): F<any>;