reactronic
Version:
Reactronic - Transactional Reactive State Management
30 lines (29 loc) • 2.04 kB
TypeScript
import { F } from "./util/Utils.js";
import { Reaction, ReactivityOptions, LoggingOptions, ProfilingOptions, SnapshotOptions } from "./Options.js";
export declare class ReactiveSystem {
static why(brief?: boolean): string;
static getRevisionOf(obj: any): number;
static takeSnapshot<T>(obj: T): T;
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 runTransactional<T>(func: F<T>, ...args: any[]): T;
export declare function runTransactional<T>(options: SnapshotOptions, func: F<T>, ...args: any[]): T;
export declare function runNonReactive<T>(func: F<T>, ...args: any[]): T;
export declare function runSensitive<T>(sensitivity: boolean, func: F<T>, ...args: any[]): T;
export declare function runContextual<T>(p: Promise<T>): Promise<T>;
export declare function manageReaction<T>(method: F<T>): Reaction<T>;
export declare function configureCurrentReaction(options: Partial<ReactivityOptions>): ReactivityOptions;
export declare function disposeSignallingObject(obj: any): void;
export declare function signal(enabled: boolean): (proto: object, prop: PropertyKey) => any;
export declare function signal<T>(proto: object, prop: PropertyKey): any;
export declare function transaction(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<ReactivityOptions>): F<any>;