UNPKG

@technobuddha/library

Version:
37 lines (36 loc) 1.18 kB
import { type BinaryEncoding } from './@types/binary-encoding.ts'; import { type TextEncoding } from './@types/text-encoding.ts'; import { type BinaryObject } from './binary-object.ts'; import { HashBase } from './hash-base.ts'; /** * Compute the CRC32 checksum of a binary object * @example * ```typescript * const crc = new Crc32(); * crc.update('hello world', 'utf8'); * crc.digest('hex'); * // '0d4a1185' * ``` * ```typescript * const crc = new Crc32(); * crc.update(new Uint8Array([0x72,0x69,0x4c,0x4c,0x4f])); * crc.digest('hex'); * // 'c031d497' * ``` * @group Binary * @category Hash */ export declare class Crc32 extends HashBase { private crc; /** * Creates a new CRC32 hash instance and initializes its internal state. * @remarks * The CRC value is initialized to -1, as required by the CRC32 algorithm specification. * Use {@link update} to process data and {@link digest} to obtain the final hash value. */ constructor(); update(data: BinaryObject | ArrayLike<number>): this; update(data: string, encoding?: TextEncoding): this; digest(): Uint8Array; digest(encoding: BinaryEncoding): string; }