json-joy
Version:
Collection of libraries for building collaborative editing apps.
25 lines (24 loc) • 1.44 kB
TypeScript
import { ClockDecoder } from '../../../../json-crdt-patch/codec/clock/ClockDecoder';
import { CrdtReader } from '../../../../json-crdt-patch/util/binary/CrdtReader';
import type { ITimestampStruct } from '../../../../json-crdt-patch/clock';
import { Model } from '../../../model/Model';
import { CborDecoderBase } from '@jsonjoy.com/json-pack/lib/cbor/CborDecoderBase';
import * as nodes from '../../../nodes';
export declare class Decoder {
protected doc: Model;
protected clockDecoder?: ClockDecoder;
protected time: number;
protected readonly decoder: CborDecoderBase<CrdtReader>;
decode(view: unknown, meta: Uint8Array): Model;
protected decodeClockTable(): void;
protected ts(): ITimestampStruct;
protected cRoot(view: unknown): nodes.JsonNode;
protected cNode(view: unknown): nodes.JsonNode;
protected cCon(view: unknown, id: ITimestampStruct, length: number): nodes.ConNode;
protected cVal(view: unknown, id: ITimestampStruct): nodes.ValNode;
protected cObj(view: unknown, id: ITimestampStruct, length: number): nodes.ObjNode;
protected cVec(view: unknown, id: ITimestampStruct, length: number): nodes.VecNode;
protected cStr(view: unknown, id: ITimestampStruct, length: number): nodes.StrNode;
protected cBin(view: unknown, id: ITimestampStruct, length: number): nodes.BinNode;
protected cArr(view: unknown, id: ITimestampStruct, length: number): nodes.ArrNode;
}