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

66 lines 2.05 kB
import { BlockStore } from './block-store'; import { LinkCodec, ValueCodec } from './codecs'; import { Block, Link, RootIndex, Version } from './types'; interface VersionStoreDiff { last: Version | undefined; common: Version[]; missing: Version[]; } interface VersionStore { id: () => string; versionStoreRoot: () => Link; currentRoot: () => Link; rootSet: ({ root, index, parent, mergeParent, }: { root: Link; index?: RootIndex; parent?: Link; mergeParent?: Link; }) => Promise<Link>; versionSet: ({ version, index, }: { version: Version; index?: RootIndex; }) => Promise<Link | undefined>; rootGet: () => Promise<{ root: Link; index: RootIndex; } | undefined>; versionGet: () => Promise<{ version: Version; index: RootIndex; } | undefined>; checkout: (root: Link) => void; log: () => Version[]; blocksExtract: () => Promise<{ root: any; index: { indexStruct: { startOffsets: Map<number, any>; indexSize: number; byteArraySize: number; }; indexBuffer: Uint8Array; }; blocks: { cid: any; bytes: Uint8Array; }[]; }>; diff: (other: VersionStore) => VersionStoreDiff; packMissingBlocks: (other: VersionStore, otherBlockStore: BlockStore) => Promise<Block>; mergeVersions: (other: VersionStore) => Promise<{ root: Link; index: RootIndex; blocks: Block[]; }>; } declare const versionStoreFactory: ({ readOnly, storeRoot, versionRoot, chunk, linkCodec, valueCodec, blockStore, }: { readOnly?: boolean; storeRoot?: Link; versionRoot?: Link; chunk: (buffer: Uint8Array) => Uint32Array; linkCodec: LinkCodec; valueCodec: ValueCodec; blockStore: BlockStore; }) => Promise<VersionStore>; export { versionStoreFactory, VersionStore, VersionStoreDiff }; //# sourceMappingURL=version-store.d.ts.map