crc16-xmodem.ts

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.finwo.net/lib/crc16-xmodem.ts
Log | Files | Refs | README | LICENSE

commit 60135359001e3268a5c0b35af266f42598cc8982
parent 3544446191d0636831c760a345fcf8262a7c2d54
Author: finwo <finwo@pm.me>
Date:   Thu,  6 Mar 2025 23:04:56 +0100

Allow uint8array as data input

Diffstat:
Msrc/index.ts | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/index.ts b/src/index.ts @@ -16,7 +16,7 @@ for(let i=0 ; i < 256 ; i++) { crcTable[i] = virt + (i << 16); // Re-mix in i, to clear higher bits during calculation } -export function crc16(subject: Buffer): number { +export function crc16(subject: Buffer | Uint8Array): number { let result = init; for(let i = 0 ; i < subject.length ; i++) { result = ((result << 8) + subject[i]) ^ crcTable[result >> 8]; @@ -24,7 +24,7 @@ export function crc16(subject: Buffer): number { return result ^ xorout; } -export function crc16b(subject: Buffer): Buffer { +export function crc16b(subject: Buffer | Uint8Array): Buffer { const result = Buffer.alloc(2); result.writeUInt16BE(crc16(subject)); return result;