UNPKG

reactronic

Version:

Reactronic - Transactional Reactive State Management

60 lines (59 loc) 2.09 kB
export { Meta } from "./Meta.js"; export type AbstractChangeset = { readonly id: number; readonly hint: string; readonly timestamp: number; readonly sealed: boolean; }; export declare class ContentFootprint<T = any> { content: T; listeners?: Set<OperationFootprint>; lastEditorChangesetId: number; get isComputed(): boolean; constructor(content: T, lastEditorChangesetId: number); } export type OperationFootprint = { readonly order: number; readonly signals: Map<ContentFootprint, ListeningInfo> | undefined; readonly obsoleteSince: number; hint(nop?: boolean): string; markObsoleteDueTo(footprint: ContentFootprint, fk: FieldKey, changeset: AbstractChangeset, h: ObjectHandle, outer: string, since: number, collector: Array<OperationFootprint>): void; relaunchIfNotUpToDate(now: boolean, nothrow: boolean): void; }; export type FieldKey = PropertyKey; export type ListeningInfo = { readonly memberHint: string; readonly usageCount: number; }; export declare class ObjectVersion { readonly changeset: AbstractChangeset; readonly former: { objectVersion: ObjectVersion; }; readonly data: any; readonly changes: Set<FieldKey>; readonly conflicts: Map<FieldKey, ObjectVersion>; constructor(changeset: AbstractChangeset, former: ObjectVersion | undefined, data: object); get revision(): number; get disposed(): boolean; set disposed(value: boolean); } export declare class ObjectHandle { private static generator; readonly id: number; readonly data: any; readonly proxy: any; applied: ObjectVersion; editing?: ObjectVersion; editors: number; hint: string; constructor(data: any, proxy: any, handler: ProxyHandler<ObjectHandle>, applied: ObjectVersion, hint: string); static getHint(obj: object, full: boolean): string | undefined; } export type PatchSet = Map<object, Map<FieldKey, ValuePatch>>; export type ValuePatch = { fieldKey: FieldKey; patchKind: "update" | "add" | "remove"; freshContent: any; formerContent: any; };