1.0.0 • Published 9 months ago

@based/crc32c v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

CRC32C Module

This package provides an implementation of the CRC32C checksum algorithm in TypeScript.

Overview

CRC32C (Cyclic Redundancy Check) is an error-detecting code commonly used to detect accidental changes to raw data. This implementation uses a precomputed table to efficiently compute the CRC32C checksum for a given buffer.

This implementation targets browser utilization (no backend calculation).

Installation

To install this package, you can use npm or yarn:

npm install @based/crc32c

or

yarn add @based/crc32c

Usage

To use the CRC32C function, import it from the package and pass a buffer to it:

import { crc32c } from '@based/crc32c'

const sData = 'oid123'
const nData = new Uint8Array([1, 2, 2, 3, 4, 5, 6])
const checkSData = crc32c(sData)
const checkNData = crc32c(nData)

console.log(`CRC32C for ${sData} : ${checkSData}`)
console.log(`CRC32C for ${nData} : ${checkNData}`)

Inside Based.db it just builds as a package inside it. In based-db directory, run:

npm run build

API

crc32c(value: string | UInt16Array | Buffer): number

Computes the CRC32C checksum for the given buffer.

  • Parameters:

    • value ( The input value for which the CRC32C checksum is to be computed.
  • Returns:

    • number: The computed CRC32C checksum.

License

This code is a manual JavaScript translation of C code generated by pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used: ./pycrc.py --model=crc-32c --generate c --algorithm=table-driven.

Adapted to use in Based.db 2025-02-17.

Original code and authors: pycrc (http://www.tty1.net/pycrc/).

Licensed under the MIT License.

1.0.0

9 months ago