UNPKG

extract-base-iterator

Version:

Base iterator for extract iterators like tar-iterator and zip-iterator

46 lines (45 loc) 1.6 kB
/** * CRC32 calculation for archive formats * * Uses IEEE polynomial 0xEDB88320 (same as ZIP, 7z, PNG, gzip, etc.) * All bit operations (>>>, ^, &) work correctly in Node 0.8 * * This is the standard CRC-32 algorithm used by: * - ZIP/PKZIP * - 7-Zip * - PNG * - gzip * - Ethernet */ /** * Calculate CRC32 of a buffer * @param buf - Buffer to calculate CRC32 for * @param initial - Optional initial CRC value (for streaming calculation) * @returns CRC32 value as unsigned 32-bit integer */ export declare function crc32(buf: Buffer, initial?: number): number; /** * Calculate CRC32 of a buffer region * @param buf - Buffer containing data * @param offset - Start offset in buffer * @param length - Number of bytes to process * @param initial - Optional initial CRC value * @returns CRC32 value as unsigned 32-bit integer */ export declare function crc32Region(buf: Buffer, offset: number, length: number, initial?: number): number; /** * Verify CRC32 matches expected value * @param buf - Buffer to verify * @param expected - Expected CRC32 value * @returns true if CRC matches, false otherwise */ export declare function verifyCrc32(buf: Buffer, expected: number): boolean; /** * Verify CRC32 of a buffer region matches expected value * @param buf - Buffer containing data * @param offset - Start offset in buffer * @param length - Number of bytes to verify * @param expected - Expected CRC32 value * @returns true if CRC matches, false otherwise */ export declare function verifyCrc32Region(buf: Buffer, offset: number, length: number, expected: number): boolean;