UNPKG

@ipld/car

Version:

Content Addressable aRchive format reader and writer

67 lines 2.64 kB
/** * @typedef {import('./api').Block} Block * @typedef {import('./api').BlockHeader} BlockHeader * @typedef {import('./api').BlockIndex} BlockIndex * @typedef {import('./coding').BytesBufferReader} BytesBufferReader * @typedef {import('./coding').CarHeader} CarHeader * @typedef {import('./coding').CarV2Header} CarV2Header * @typedef {import('./coding').CarV2FixedHeader} CarV2FixedHeader */ /** * Reads header data from a `BytesReader`. The header may either be in the form * of a `CarHeader` or `CarV2Header` depending on the CAR being read. * * @name decoder.readHeader(reader) * @param {BytesBufferReader} reader * @param {number} [strictVersion] * @returns {CarHeader | CarV2Header} */ export function readHeader(reader: BytesBufferReader, strictVersion?: number | undefined): CarHeader | CarV2Header; /** * Reads the leading data of an individual block from CAR data from a * `BytesBufferReader`. Returns a `BlockHeader` object which contains * `{ cid, length, blockLength }` which can be used to either index the block * or read the block binary data. * * @name async decoder.readBlockHead(reader) * @param {BytesBufferReader} reader * @returns {BlockHeader} */ export function readBlockHead(reader: BytesBufferReader): BlockHeader; /** * Returns Car header and blocks from a Uint8Array * * @param {Uint8Array} bytes * @returns {{ header : CarHeader | CarV2Header , blocks: Block[]}} */ export function fromBytes(bytes: Uint8Array): { header: CarHeader | CarV2Header; blocks: Block[]; }; /** * Creates a `BytesBufferReader` from a `Uint8Array`. * * @name decoder.bytesReader(bytes) * @param {Uint8Array} bytes * @returns {BytesBufferReader} */ export function bytesReader(bytes: Uint8Array): BytesBufferReader; /** * Wraps a `BytesBufferReader` in a limiting `BytesBufferReader` which limits maximum read * to `byteLimit` bytes. It _does not_ update `pos` of the original * `BytesBufferReader`. * * @name decoder.limitReader(reader, byteLimit) * @param {BytesBufferReader} reader * @param {number} byteLimit * @returns {BytesBufferReader} */ export function limitReader(reader: BytesBufferReader, byteLimit: number): BytesBufferReader; export type Block = import('./api').Block; export type BlockHeader = import('./api').BlockHeader; export type BlockIndex = import('./api').BlockIndex; export type BytesBufferReader = import('./coding').BytesBufferReader; export type CarHeader = import('./coding').CarHeader; export type CarV2Header = import('./coding').CarV2Header; export type CarV2FixedHeader = import('./coding').CarV2FixedHeader; //# sourceMappingURL=buffer-decoder.d.ts.map