reactronic
Version:
Reactronic - Transactional Reactive State Management
30 lines (29 loc) • 2.08 kB
TypeScript
import { F } from "./util/Utils.js";
import { ReactiveOperation, 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 runAtomically<T>(func: F<T>, ...args: any[]): T;
export declare function runAtomically<T>(options: SnapshotOptions, func: F<T>, ...args: any[]): T;
export declare function runNonReactively<T>(func: F<T>, ...args: any[]): T;
export declare function runSensitively<T>(sensitivity: boolean, func: F<T>, ...args: any[]): T;
export declare function runContextually<T>(p: Promise<T>): Promise<T>;
export declare function manageReactiveOperation<T>(method: F<T>): ReactiveOperation<T>;
export declare function configureCurrentReactiveOperation(options: Partial<ReactivityOptions>): ReactivityOptions;
export declare function disposeObservableObject(obj: any): void;
export declare function observable(enabled: boolean): (proto: object, prop: PropertyKey) => any;
export declare function observable<T>(proto: object, prop: PropertyKey): any;
export declare function atomic(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function reactive(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function cached(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
export declare function options(value: Partial<ReactivityOptions>): F<any>;