@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
89 lines • 2.84 kB
TypeScript
import { Vertex, Edge, Prop, Offset, Link, Block, RootIndex, Index } from './types';
import { LinkCodec, ValueCodec } from './codecs';
import { BlockStore } from './block-store';
interface GraphStore {
vertexGet: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number) => Promise<Vertex>;
vertexRange: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number, vertexCount: number) => Promise<Vertex[]>;
edgeGet: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number) => Promise<Edge>;
edgeRange: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number, edgeCount: number) => Promise<Edge[]>;
propGet: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number) => Promise<Prop>;
propRange: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number, propCount: number) => Promise<Prop[]>;
indexGet: ({ root, index }: {
root: Link;
index: RootIndex;
}, offset: number) => Promise<Index>;
offsetsGet: ({ root, index }: {
root: Link;
index: RootIndex;
}) => Promise<{
vertexOffset: Offset;
edgeOffset: Offset;
propOffset: Offset;
indexOffset: Offset;
}>;
verticesAll: ({ root, index, }: {
root: Link;
index: RootIndex;
}) => Promise<Vertex[]>;
edgesAll: ({ root, index, }: {
root: Link;
index: RootIndex;
}) => Promise<Edge[]>;
propsAll: ({ root, index, }: {
root: Link;
index: RootIndex;
}) => Promise<Prop[]>;
commit: ({ root, index }: {
root: Link;
index: RootIndex;
}, { vertices, edges, props, }: {
vertices: {
added: Map<number, Vertex>;
updated: Map<number, Vertex>;
};
edges: {
added: Map<number, Edge>;
updated: Map<number, Edge>;
};
props: {
added: Map<number, Prop>;
updated: Map<number, Prop>;
};
indices: {
added: Map<number, Index>;
updated: Map<number, Index>;
};
}) => Promise<{
root: Link;
index: RootIndex;
blocks: Block[];
}>;
packGraph: (versionRoot: Link) => Promise<Block>;
packComputed: (versionRoot: Link, vertexOffsetStart: number, vertexCount: number, graphDepth: number) => Promise<Block>;
}
declare const graphStore: ({ chunk, linkCodec, valueCodec, blockStore, }: {
chunk: (buffer: Uint8Array) => Uint32Array;
linkCodec: LinkCodec;
valueCodec: ValueCodec;
blockStore: BlockStore;
}) => GraphStore;
export { graphStore, graphStore as graphStoreFactory, GraphStore };
//# sourceMappingURL=graph-store.d.ts.map