json-joy
Version:
Collection of libraries for building collaborative editing apps.
20 lines (19 loc) • 923 B
TypeScript
import { 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>;
protected 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;
}