json-joy
Version:
Collection of libraries for building collaborative editing apps.
22 lines (21 loc) • 1.05 kB
TypeScript
import { type ITimestampStruct, type Patch, PatchBuilder } from '../json-crdt-patch';
import { ArrNode, BinNode, ObjNode, StrNode, ValNode, VecNode, type JsonNode } from '../json-crdt/nodes';
import type { Model } from '../json-crdt/model';
export declare class DiffError extends Error {
constructor(message?: string);
}
export declare class JsonCrdtDiff {
protected readonly model: Model<any>;
builder: PatchBuilder;
constructor(model: Model<any>);
protected diffStr(src: StrNode, dst: string): void;
protected diffBin(src: BinNode, dst: Uint8Array): void;
protected diffArr(src: ArrNode, dst: unknown[]): void;
protected diffObj(src: ObjNode, dst: Record<string, unknown>): void;
protected diffVec(src: VecNode, dst: unknown[]): void;
protected diffVal(src: ValNode, dst: unknown): void;
protected diffAny(src: JsonNode, dst: unknown): void;
diff(src: JsonNode, dst: unknown): Patch;
protected buildView(dst: unknown): ITimestampStruct;
protected buildConView(dst: unknown): ITimestampStruct;
}