@dstanesc/o-o-o-o-o-o-o
Version:
O-O-O-O-O-O-O is a collection of content addressed persistent data structures
190 lines • 6.63 kB
TypeScript
import { Vertex, Edge, Prop, Ref, Type, PropValue, Link, Index, IndexedValue, Status, Version, VersionDetails, ValueRef, PropRef, PropRecord } from './types';
declare class BinaryEncoder {
buffer: Uint8Array;
cursor: number;
constructor(size: number);
content(): Uint8Array;
writeByte(byte: number): void;
writeBytes(bytes: Uint8Array): number;
writeUInt(value: number): number;
writeInt(value: number): number;
writeReserved(flags: number): void;
writeRefExists(): void;
writeOffset(offset: number): number;
writeRef(ref: Ref): number;
writeTypeExists(): void;
writeStatus(flag: Status): void;
writeType(type: Type): number;
writeLinkExists(): void;
writeLink(link: Link): void;
skipBytes(length: number): number;
skipReserved(): number;
skipUInt(): number;
skipRef(): number;
skipType(): number;
}
declare class BinaryDecoder {
buffer: Uint8Array;
cursor: number;
constructor(buffer: Uint8Array);
readByte(): number;
readBytes(length: number): Uint8Array;
readUInt(): number;
readInt(): number;
readOffset(): number;
readRefExists(): number;
readTypeExists(): number;
readLinkExists(): number;
readStatus(): Status;
readRef(): number;
readType(): number;
readLink(decode: (bytes: Uint8Array) => Link): Link;
readOptionalLink(decode: (bytes: Uint8Array) => Link): Link | undefined;
skipBytes(length: number): void;
skipReserved(): void;
skipUInt(): void;
skipRef(): void;
skipType(): void;
}
declare class VertexEncoder extends BinaryEncoder {
vertices: Vertex[];
constructor(vertices: Vertex[]);
writeVertex(vertex: Vertex): void;
write(): Uint8Array;
}
declare class VertexDecoder extends BinaryDecoder {
readVertex(): Vertex;
read(): Vertex[];
}
declare class EdgeEncoder extends BinaryEncoder {
edges: Edge[];
constructor(edges: Edge[]);
writeEdge(edge: Edge): void;
write(): Uint8Array;
}
declare class EdgeDecoder extends BinaryDecoder {
readEdge(): Edge;
read(): Edge[];
}
declare class PropEncoder extends BinaryEncoder {
props: Prop[];
refs: Map<PropRef, ValueRef>;
constructor(props: Prop[], refs: Map<PropRef, ValueRef>);
writeValue(propRef: PropRef, value: PropValue): Promise<void>;
writeProp(prop: Prop): Promise<void>;
write(): Promise<Uint8Array>;
}
declare class PropRecordDecoder extends BinaryDecoder {
constructor(buffer: Uint8Array);
readPropValueRef(): Promise<ValueRef>;
readProp(): Promise<PropRecord>;
read(): Promise<PropRecord[]>;
}
declare class PropDecoder extends BinaryDecoder {
valueGet: (ref: ValueRef) => Promise<PropValue>;
constructor(buffer: Uint8Array, valueGet: (ref: ValueRef) => Promise<PropValue>);
readPropValue(): Promise<PropValue>;
readProp(): Promise<Prop>;
read(): Promise<Prop[]>;
}
declare class PropValueEncoder extends BinaryEncoder {
props: Prop[];
valueEncode: (json: any) => Uint8Array;
refOffset: number;
constructor(refOffset: number, props: Prop[], valueEncode: (json: any) => Uint8Array);
writeValue(propRef: Ref, value: PropValue): ValueRef;
writeProp(prop: Prop): ValueRef;
write(): {
buf: Uint8Array;
refs: Map<PropRef, ValueRef>;
};
}
declare class PropValueDecoder extends BinaryDecoder {
valueDecode: (bytes: Uint8Array) => any;
constructor(buffer: Uint8Array, valueDecode: (bytes: Uint8Array) => any);
readValue(valueRef: ValueRef): PropValue;
read(valueRefs: ValueRef[]): Map<PropRef, PropValue>;
}
declare class IndexEncoder extends BinaryEncoder {
indices: Index[];
constructor(indices: Index[]);
writeIndex(index: Index): Promise<void>;
write(): Promise<Uint8Array>;
}
declare class IndexDecoder extends BinaryDecoder {
linkDecode: (linkBytes: Uint8Array) => Link;
indexDecode: (link: Link, blockGet: (cid: any) => Promise<Uint8Array>, value?: any) => Promise<IndexedValue[]>;
blockGet: (cid: any) => Promise<Uint8Array>;
constructor(buffer: Uint8Array, linkDecode: (linkBytes: Uint8Array) => Link);
readIndex(): Promise<Index>;
read(): Promise<Index[]>;
}
declare class RootEncoder extends BinaryEncoder {
vertexRoot: Link;
vertexOffset: number;
edgeRoot: Link;
edgeOffset: number;
propRoot: Link;
propOffset: number;
valueRoot: Link;
valueOffset: number;
indexRoot: Link;
indexOffset: number;
constructor({ vertexRoot, vertexOffset, edgeRoot, edgeOffset, propRoot, propOffset, valueRoot, valueOffset, indexRoot, indexOffset, }: {
vertexRoot: Link;
vertexOffset: number;
edgeRoot: Link;
edgeOffset: number;
propRoot: Link;
propOffset: number;
valueRoot: Link;
valueOffset: number;
indexRoot: Link;
indexOffset: number;
});
write(): this;
}
declare class RootDecoder extends BinaryDecoder {
linkDecode: (bytes: Uint8Array) => Link;
constructor(buffer: Uint8Array, linkDecode: (bytes: Uint8Array) => Link);
read(): {
vertexRoot: Link;
vertexOffset: number;
edgeRoot: Link;
edgeOffset: number;
propRoot: Link;
propOffset: number;
valueRoot: Link;
valueOffset: number;
indexRoot: Link;
indexOffset: number;
};
}
declare class VersionEncoder extends BinaryEncoder {
id: Link;
versions: Version[];
valueEncode: (json: any) => Uint8Array;
constructor(id: Link, versions: Version[], valueEncode: (json: any) => Uint8Array);
writeDetails(details: VersionDetails): void;
writeVersion(version: Version): Promise<void>;
write(): Uint8Array;
}
declare class VersionDecoder extends BinaryDecoder {
linkDecode: (linkBytes: Uint8Array) => Link;
valueDecode: (bytes: Uint8Array) => any;
constructor(buffer: Uint8Array, linkDecode: (linkBytes: Uint8Array) => Link, valueDecode: (bytes: Uint8Array) => any);
readVersionDetails(): VersionDetails;
readVersion(): Version;
read(): {
id: Link;
versions: Version[];
};
}
declare const OFFSET_INCREMENTS: {
VERTEX_INCREMENT: number;
EDGE_INCREMENT: number;
PROP_INCREMENT: number;
INDEX_INCREMENT: number;
};
export { BinaryEncoder, BinaryDecoder, VertexEncoder, VertexDecoder, EdgeEncoder, EdgeDecoder, PropRecordDecoder, PropEncoder, PropDecoder, PropValueEncoder, PropValueDecoder, IndexEncoder, IndexDecoder, RootEncoder, RootDecoder, VersionEncoder, VersionDecoder, OFFSET_INCREMENTS, };
//# sourceMappingURL=serde.d.ts.map