json-joy
Version:
Collection of libraries for building collaborative editing apps.
22 lines (21 loc) • 1.28 kB
TypeScript
import * as nodes from '../../../nodes';
import { type ITimestampStruct, type IClockVector } from '../../../../json-crdt-patch/clock';
import type { Model } from '../../../model';
import type * as types from './types';
export declare class Encoder {
protected model: Model;
encode(model: Model<any>): types.JsonCrdtVerboseDocument;
cClock(clock: IClockVector): types.JsonCrdtVerboseLogicalTimestamp[];
cTs(ts: ITimestampStruct): types.JsonCrdtVerboseLogicalTimestamp | types.JsonCrdtVerboseServerTimestamp;
cNode(node: nodes.JsonNode): types.JsonCrdtNode;
cObj(obj: nodes.ObjNode): types.JsonCrdtVerboseObj;
cVec(obj: nodes.VecNode): types.JsonCrdtVerboseVec;
cArr(obj: nodes.ArrNode): types.JsonCrdtVerboseArr;
cArrChunk(chunk: nodes.ArrChunk): types.JsonCrdtVerboseArrChunk | types.JsonCrdtVerboseTombstone;
cStr(obj: nodes.StrNode): types.JsonCrdtVerboseStr;
cStrChunk(chunk: nodes.StrChunk): types.JsonCrdtVerboseStrChunk | types.JsonCrdtVerboseTombstone;
cBin(obj: nodes.BinNode): types.JsonCrdtVerboseBin;
cBinChunk(chunk: nodes.BinChunk): types.JsonCrdtVerboseBinChunk | types.JsonCrdtVerboseTombstone;
cVal(obj: nodes.ValNode): types.JsonCrdtVerboseVal;
cCon(obj: nodes.ConNode): types.JsonCrdtVerboseCon;
}