json-joy
Version:
Collection of libraries for building collaborative editing apps.
19 lines (18 loc) • 1.18 kB
TypeScript
import * as nodes from '../../../nodes';
import { type ITimestampStruct, ClockVector } from '../../../../json-crdt-patch/clock';
import { Model } from '../../../model';
import type * as types from './types';
export declare class Decoder {
decode({ time, root }: types.JsonCrdtVerboseDocument): Model;
protected cClock(timestamps: types.JsonCrdtVerboseLogicalTimestamp[]): ClockVector;
protected cTs(stamp: types.JsonCrdtVerboseTimestamp): ITimestampStruct;
protected cRoot(doc: Model, { value }: types.JsonCrdtVerboseVal): void;
protected cNode(doc: Model, node: types.JsonCrdtNode): nodes.JsonNode;
protected cObj(doc: Model, node: types.JsonCrdtVerboseObj): nodes.ObjNode;
protected cVec(doc: Model, node: types.JsonCrdtVerboseVec): nodes.VecNode;
protected cArr(doc: Model, node: types.JsonCrdtVerboseArr): nodes.ArrNode;
protected cStr(doc: Model, node: types.JsonCrdtVerboseStr): nodes.StrNode;
protected cBin(doc: Model, node: types.JsonCrdtVerboseBin): nodes.BinNode;
protected cVal(doc: Model, node: types.JsonCrdtVerboseVal): nodes.ValNode;
protected cCon(doc: Model, node: types.JsonCrdtVerboseCon): nodes.ConNode;
}