json-joy
Version:
Collection of libraries for building collaborative editing apps.
21 lines (20 loc) • 1.04 kB
TypeScript
import * as nodes from '../../../nodes';
import { ClockEncoder } from '../../../../json-crdt-patch/codec/clock/ClockEncoder';
import { type ITimestampStruct } from '../../../../json-crdt-patch/clock';
import type * as t from './types';
import type { Model } from '../../../model';
export declare class Encoder {
protected time?: number;
protected clock?: ClockEncoder;
protected model: Model;
encode(model: Model<any>): t.JsonCrdtCompactDocument;
protected ts(ts: ITimestampStruct): t.JsonCrdtCompactTimestamp;
protected cNode(node: nodes.JsonNode): t.JsonCrdtCompactNode;
protected cObj(obj: nodes.ObjNode): t.JsonCrdtCompactObj;
protected cVec(vec: nodes.VecNode): t.JsonCrdtCompactVec;
protected cArr(node: nodes.ArrNode): t.JsonCrdtCompactArr;
protected cStr(node: nodes.StrNode): t.JsonCrdtCompactStr;
protected cBin(node: nodes.BinNode): t.JsonCrdtCompactBin;
protected cVal(node: nodes.ValNode): t.JsonCrdtCompactVal;
protected cCon(node: nodes.ConNode): t.JsonCrdtCompactCon;
}