xitdb
Version:
An immutable database
57 lines (56 loc) • 1.79 kB
TypeScript
import { Slot } from './slot';
import { SlotPointer } from './slot-pointer';
import type { Slotted } from './slotted';
import { Database, type PathPart } from './database';
import { Bytes } from './writeable-data';
export declare class KeyValuePairCursor {
valueCursor: ReadCursor;
keyCursor: ReadCursor;
hash: Uint8Array;
constructor(valueCursor: ReadCursor, keyCursor: ReadCursor, hash: Uint8Array);
}
export declare class ReadCursor implements Slotted {
slotPtr: SlotPointer;
db: Database;
constructor(slotPtr: SlotPointer, db: Database);
slot(): Slot;
readPath(path: PathPart[]): ReadCursor | null;
readPathSlot(path: PathPart[]): Slot | null;
readUint(): number;
readInt(): number;
readFloat(): number;
readBytes(maxSizeMaybe?: number | null): Uint8Array;
readBytesObject(maxSizeMaybe?: number | null): Bytes;
readKeyValuePair(): KeyValuePairCursor;
reader(): Reader;
count(): number;
[Symbol.iterator](): Iterator<ReadCursor>;
iterator(): CursorIterator;
}
export declare class Reader {
parent: ReadCursor;
size: number;
startPosition: number;
relativePosition: number;
constructor(parent: ReadCursor, size: number, startPosition: number, relativePosition: number);
read(buffer: Uint8Array): number;
readFully(buffer: Uint8Array): void;
readByte(): number;
readShort(): number;
readInt(): number;
readLong(): number;
seek(position: number): void;
}
export declare class CursorIterator {
cursor: ReadCursor;
size: number;
index: number;
private stack;
private nextCursorMaybe;
constructor(cursor: ReadCursor);
init(): void;
private initStack;
hasNext(): boolean;
next(): ReadCursor | null;
private nextInternal;
}