@atproto/repo
Version:
atproto repo and MST implementation
39 lines • 1.58 kB
TypeScript
import { CID } from 'multiformats/cid';
import { BlockMap } from './block-map';
import { CarBlock } from './types';
export declare function writeCarStream(root: CID | null, blocks: AsyncIterable<CarBlock>): AsyncIterable<Uint8Array>;
export declare const 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