@based/crc32c
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @based/crc32c

Weekly Downloads

27

Version

1.0.0

License

MIT

Unpacked Size

32 kB

Total Files

8

Last publish

Collaborators

  • saulx
  • olliv
  • rase-
  • youzid
  • kylemarch513
  • framma
  • nfrade
  • luiguild
  • maovieira