Files
codeql-action/node_modules/@actions/artifact-legacy/lib/internal/crc64.d.ts
Angela P Wen a196a714b8 Bump artifact dependencies if CODEQL_ACTION_ARTIFACT_V2_UPGRADE enabled (#2482)
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com>
Co-authored-by: Henry Mercer <henrymercer@github.com>
2024-10-01 09:59:05 -07:00

22 lines
1020 B
TypeScript

/**
* CRC64: cyclic redundancy check, 64-bits
*
* In order to validate that artifacts are not being corrupted over the wire, this redundancy check allows us to
* validate that there was no corruption during transmission. The implementation here is based on Go's hash/crc64 pkg,
* but without the slicing-by-8 optimization: https://cs.opensource.google/go/go/+/master:src/hash/crc64/crc64.go
*
* This implementation uses a pregenerated table based on 0x9A6C9329AC4BC9B5 as the polynomial, the same polynomial that
* is used for Azure Storage: https://github.com/Azure/azure-storage-net/blob/cbe605f9faa01bfc3003d75fc5a16b2eaccfe102/Lib/Common/Core/Util/Crc64.cs#L27
*/
/// <reference types="node" />
export type CRC64DigestEncoding = 'hex' | 'base64' | 'buffer';
declare class CRC64 {
private _crc;
constructor();
update(data: Buffer | string): void;
digest(encoding?: CRC64DigestEncoding): string | Buffer;
private toBuffer;
static flip64Bits(n: bigint): bigint;
}
export default CRC64;