From b2b9ece0366b92102af88c0e5dd611a0956e18d6 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 25 Apr 2024 19:26:29 +0200 Subject: [PATCH] zlib: expose zlib.crc32() --- doc/api/zlib.md | 17 +++ lib/zlib.js | 11 ++ src/node_zlib.cc | 30 +++++ test/parallel/test-zlib-crc32.js | 209 +++++++++++++++++++++++++++++++ 4 files changed, 267 insertions(+) create mode 100644 test/parallel/test-zlib-crc32.js diff --git a/doc/api/zlib.md b/doc/api/zlib.md index d5daa16a007f9f8..46a760834e4345c 100644 --- a/doc/api/zlib.md +++ b/doc/api/zlib.md @@ -712,6 +712,22 @@ The `zlib.bytesWritten` property specifies the number of bytes written to the engine, before the bytes are processed (compressed or decompressed, as appropriate for the derived class). +### `zlib.crc32(data[, value])` + + + +* `data` {string|Buffer|TypedArray|DataView} When `data` is a string, + it will be encoded as UTF-8 before being used for computation. +* `value` {integer} An optional starting value. It must be a 32-bit unsigned + integer. **Default:** `0` +* Returns: {integer} A 32-bit unsigned integer containing the checksum. + +Computes a 32-bit [Cyclic Redundancy Check][] checksum of `data`. If +`value` is specified, it is used as the starting value of the checksum, +otherwise, 0 is used as the starting value. + ### `zlib.close([callback])`