UNPKG

json-joy

Version:

Collection of libraries for building collaborative editing apps.

22 lines (21 loc) 1.05 kB
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; }