@atproto/repo
Version:
atproto repo and MST implementation
39 lines • 1.59 kB
TypeScript
import { Cid } from '@atproto/lex-data';
import { BlockMap } from './block-map.js';
import { CarBlock } from './types.js';
export declare function writeCarStream(root: Cid | null, blocks: AsyncIterable<CarBlock>): AsyncIterable<Uint8Array>;
export declare function blocksToCarFile(root: Cid | null, blocks: BlockMap): Promise<Uint8Array>;
export declare const blocksToCarStream: (root: Cid | null, blocks: BlockMap) => AsyncIterable<Uint8Array>;
export type ReadCarOptions = {
/**
* When true, does not verify CID-to-content mapping within CAR.
*/
skipCidVerification?: boolean;
};
export declare const readCar: (bytes: Uint8Array, opts?: ReadCarOptions) => Promise<{
roots: Cid[];
blocks: BlockMap;
}>;
export declare const readCarWithRoot: (bytes: Uint8Array, opts?: ReadCarOptions) => Promise<{
root: Cid;
blocks: BlockMap;
}>;
export type CarBlockIterable = AsyncGenerator<CarBlock, void, unknown> & {
dump: () => Promise<void>;
};
export declare const readCarStream: (car: Iterable<Uint8Array> | AsyncIterable<Uint8Array>, opts?: ReadCarOptions) => Promise<{
roots: Cid[];
blocks: CarBlockIterable;
}>;
export declare const readCarReader: (reader: BytesReader, opts?: ReadCarOptions) => Promise<{
roots: Cid[];
blocks: CarBlockIterable;
}>;
export declare function verifyIncomingCarBlocks(car: AsyncIterable<CarBlock>): AsyncGenerator<CarBlock, void, unknown>;
interface BytesReader {
isDone: boolean;
read(bytesToRead: number): Promise<Uint8Array>;
close(): Promise<void>;
}
export {};
//# sourceMappingURL=car.d.ts.map