UNPKG

@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
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