django-vue3-admin-web/node_modules/aws-crt/lib/native/checksums.ts
2025-10-20 21:21:14 +08:00

54 lines
1.3 KiB
TypeScript

/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
/**
*
* A module containing various checksum implementations intended for streaming payloads
*
* @packageDocumentation
* @module checksums
* @mergeTarget
*/
import crt_native from './binding';
import { Hashable } from "../common/crypto";
/**
* Computes an crc32 checksum.
*
* @param data The data to checksum
* @param previous previous crc32 checksum result. Used if you are buffering large input.
*
* @category Crypto
*/
export function crc32(data: Hashable, previous?: number): number {
return crt_native.checksums_crc32(data, previous);
}
/**
* Computes a crc32c checksum.
*
* @param data The data to checksum
* @param previous previous crc32c checksum result. Used if you are buffering large input.
*
* @category Crypto
*/
export function crc32c(data: Hashable, previous?: number): number {
return crt_native.checksums_crc32c(data, previous);
}
/**
* Computes a crc64nvme checksum.
*
* @param data The data to checksum
* @param previous previous crc64nvme checksum result. Used if you are buffering large input.
*
* @category Crypto
*/
export function crc64nvme(data: Hashable, previous?: DataView): DataView {
return crt_native.checksums_crc64nvme(data, previous);
}