UNPKG

reactronic

Version:

Reactronic - Transactional Reactive State Management

94 lines (93 loc) 3.75 kB
import { F } from "../util/Utils.js"; import { Operation, MemberOptions } from "../Options.js"; import { FieldKey, ObjectHandle, FieldVersion, Reaction, Subscription, AbstractChangeset } from "./Data.js"; import { Transaction } from "./Transaction.js"; import { OptionsImpl } from "./Mvcc.js"; export declare class OperationImpl implements Operation<any> { readonly ownerHandle: ObjectHandle; readonly fieldKey: FieldKey; configure(options: Partial<MemberOptions>): MemberOptions; get options(): MemberOptions; get nonreactive(): any; get args(): ReadonlyArray<any>; get result(): any; get error(): boolean; get stamp(): number; get isReusable(): boolean; markObsolete(): void; pullLastResult(args?: any[]): any; constructor(h: ObjectHandle, fk: FieldKey); reuseOrRelaunch(weak: boolean, args: any[] | undefined): Launch; static getControllerOf(method: F<any>): Operation<any>; static configureImpl(self: OperationImpl | undefined, options: Partial<MemberOptions>): MemberOptions; static proceedWithinGivenLaunch<T>(launch: Launch | undefined, func: F<T>, ...args: any[]): T; static why(): string; static briefWhy(): string; static dependencies(): string[]; private peek; private use; private edit; private acquireFromObjectVersion; private relaunch; private static markObsolete; } declare class Launch extends FieldVersion implements Reaction { static current?: Launch; static queuedReactions: Array<Reaction>; static deferredReactiveOperations: Array<Launch>; readonly margin: number; readonly transaction: Transaction; readonly operation: OperationImpl; readonly changeset: AbstractChangeset; triggers: Map<FieldVersion, Subscription> | undefined; options: OptionsImpl; cause: string | undefined; args: any[]; result: any; error: any; started: number; obsoleteDueTo: string | undefined; obsoleteSince: number; successor: Launch | undefined; constructor(transaction: Transaction, operation: OperationImpl, changeset: AbstractChangeset, former: Launch | OptionsImpl, clone: boolean); get isLaunch(): boolean; hint(): string; get order(): number; get ["#this#"](): string; clone(t: Transaction, cs: AbstractChangeset): FieldVersion; why(): string; briefWhy(): string; dependencies(): string[]; wrap<T>(func: F<T>): F<T>; proceed(proxy: any, args: any[] | undefined): void; markObsoleteDueTo(trigger: FieldVersion, fk: FieldKey, changeset: AbstractChangeset, h: ObjectHandle, outer: string, since: number, collector: Reaction[]): void; relaunchIfNotUpToDate(now: boolean, nothrow: boolean): void; isNotUpToDate(): boolean; reenterOver(head: Launch): this; private static proceed; private enter; private leaveOrAsync; private leave; private indicatorEnter; private indicatorLeave; private addToDeferredReactiveFunctions; private static processDeferredReactiveFunctions; private static markUsed; private static markEdited; private static tryResolveConflict; private static propagateAllChangesThroughSubscriptions; private static revokeAllSubscriptions; private static propagateFieldChangeThroughSubscriptions; private static enqueueReactionsToRun; private static migrateFieldVersion; private static processQueuedReactions; private unsubscribeFromAllTriggers; private subscribeTo; private static canSubscribeTo; private static createOperation; private static rememberOperationOptions; static init(): void; } export declare function resolveReturn(value: any): any; export declare function rejectRethrow(error: any): never; export {};