CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-crc

Comprehensive Cyclic Redundancy Check (CRC) calculation library supporting 13 different CRC algorithms for Node.js and browser environments.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

crc1.mddocs/

CRC1 Algorithm

CRC1 is a simple 1-bit checksum algorithm that provides basic error detection capabilities.

Import

import crc1 from "crc/crc1";
import crc1Calculator from "crc/calculators/crc1";
const crc1 = require("crc/crc1");
const crc1Calculator = require("crc/calculators/crc1");

API

CRC1 Function

/**
 * Calculate CRC1 checksum
 * @param value - Input data as string, ArrayBuffer, or Buffer
 * @param previous - Previous CRC value for incremental calculation (optional)
 * @returns CRC1 checksum as unsigned number
 */
function crc1(value: BufferInput, previous?: number): number;

/**
 * CRC1 function with additional properties
 */
interface CRC1Module extends CRCModule {
  /** Returns signed CRC1 value */
  signed: (value: BufferInput, previous?: number) => number;
  /** Returns unsigned CRC1 value (same as main function) */  
  unsigned: (value: BufferInput, previous?: number) => number;
  /** CRC model identifier: "crc1" */
  model: "crc1";
}

CRC1 Calculator

/**
 * Raw CRC1 calculator function for Uint8Array input
 * @param current - Input data as Uint8Array
 * @param previous - Previous CRC value for incremental calculation (optional, defaults to 0)
 * @returns CRC1 checksum as number
 */
function crc1Calculator(current: Uint8Array, previous?: number): number;

Usage

Basic CRC1 Calculation

import crc1 from "crc/crc1";

// Calculate CRC1 of a string
const result = crc1("hello");
console.log(result); // 8-bit checksum value

// Calculate CRC1 of a buffer
const buffer = Buffer.from("test data", "utf8");
const bufferCrc = crc1(buffer);

Incremental CRC1 Calculation

import crc1 from "crc/crc1";

// Calculate CRC1 incrementally
let crcValue = crc1("first");
crcValue = crc1("second", crcValue);
crcValue = crc1("third", crcValue);
console.log(crcValue);

Using the Raw Calculator

import crc1Calculator from "crc/calculators/crc1";

// Convert string to Uint8Array
const encoder = new TextEncoder();
const data = encoder.encode("hello");

// Calculate using raw calculator
const result = crc1Calculator(data);
console.log(result);

Signed vs Unsigned Results

import crc1 from "crc/crc1";

const data = "test";

// Unsigned result (default)
const unsigned = crc1(data);
const alsoUnsigned = crc1.unsigned(data);

// Signed result
const signed = crc1.signed(data);

// Model information
console.log(crc1.model); // "crc1"

Algorithm Details

CRC1 is a simple checksum algorithm that:

  • Sums all input bytes
  • Takes modulo 256 of the sum
  • Provides basic error detection capabilities
  • Returns an 8-bit result despite the "CRC1" naming

This algorithm is primarily useful for simple data integrity checks where a lightweight checksum is sufficient.

docs

crc1.md

crc8-algorithms.md

crc16-algorithms.md

crc24.md

crc32-algorithms.md

index.md

tile.json