buffer-crc32
Advanced tools
Comparing version 1.0.0-RC2 to 1.0.0-RC3
@@ -1,304 +0,50 @@ | ||
function getDefaultExportFromCjs (x) { | ||
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; | ||
} | ||
/** | ||
* crc32 that works with binary data and fancy character sets. | ||
* | ||
* @example | ||
* import crc32 = require('buffer-crc32'); | ||
* | ||
* // works with buffers | ||
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]); | ||
* crc32(buf); // -> <Buffer 94 5a ab 4a> | ||
* | ||
* // will cast to buffer if given a string, so you can | ||
* // directly use foreign characters safely | ||
* crc32('自動販売機'); // -> <Buffer cb 03 1a c5> | ||
* | ||
* // and works in append mode too | ||
* let partialCrc = crc32('hey'); | ||
* partialCrc = crc32(' ', partialCrc); | ||
* partialCrc = crc32('sup', partialCrc); | ||
* partialCrc = crc32(' ', partialCrc); | ||
* const finalCrc = crc32('bros', partialCrc); // -> <Buffer 47 fa 55 70> | ||
*/ | ||
declare function crc32(input: string | Buffer, partialCrc?: Buffer | number): Buffer; | ||
const CRC_TABLE = new Int32Array([ | ||
0, | ||
1996959894, | ||
3993919788, | ||
2567524794, | ||
124634137, | ||
1886057615, | ||
3915621685, | ||
2657392035, | ||
249268274, | ||
2044508324, | ||
3772115230, | ||
2547177864, | ||
162941995, | ||
2125561021, | ||
3887607047, | ||
2428444049, | ||
498536548, | ||
1789927666, | ||
4089016648, | ||
2227061214, | ||
450548861, | ||
1843258603, | ||
4107580753, | ||
2211677639, | ||
325883990, | ||
1684777152, | ||
4251122042, | ||
2321926636, | ||
335633487, | ||
1661365465, | ||
4195302755, | ||
2366115317, | ||
997073096, | ||
1281953886, | ||
3579855332, | ||
2724688242, | ||
1006888145, | ||
1258607687, | ||
3524101629, | ||
2768942443, | ||
901097722, | ||
1119000684, | ||
3686517206, | ||
2898065728, | ||
853044451, | ||
1172266101, | ||
3705015759, | ||
2882616665, | ||
651767980, | ||
1373503546, | ||
3369554304, | ||
3218104598, | ||
565507253, | ||
1454621731, | ||
3485111705, | ||
3099436303, | ||
671266974, | ||
1594198024, | ||
3322730930, | ||
2970347812, | ||
795835527, | ||
1483230225, | ||
3244367275, | ||
3060149565, | ||
1994146192, | ||
31158534, | ||
2563907772, | ||
4023717930, | ||
1907459465, | ||
112637215, | ||
2680153253, | ||
3904427059, | ||
2013776290, | ||
251722036, | ||
2517215374, | ||
3775830040, | ||
2137656763, | ||
141376813, | ||
2439277719, | ||
3865271297, | ||
1802195444, | ||
476864866, | ||
2238001368, | ||
4066508878, | ||
1812370925, | ||
453092731, | ||
2181625025, | ||
4111451223, | ||
1706088902, | ||
314042704, | ||
2344532202, | ||
4240017532, | ||
1658658271, | ||
366619977, | ||
2362670323, | ||
4224994405, | ||
1303535960, | ||
984961486, | ||
2747007092, | ||
3569037538, | ||
1256170817, | ||
1037604311, | ||
2765210733, | ||
3554079995, | ||
1131014506, | ||
879679996, | ||
2909243462, | ||
3663771856, | ||
1141124467, | ||
855842277, | ||
2852801631, | ||
3708648649, | ||
1342533948, | ||
654459306, | ||
3188396048, | ||
3373015174, | ||
1466479909, | ||
544179635, | ||
3110523913, | ||
3462522015, | ||
1591671054, | ||
702138776, | ||
2966460450, | ||
3352799412, | ||
1504918807, | ||
783551873, | ||
3082640443, | ||
3233442989, | ||
3988292384, | ||
2596254646, | ||
62317068, | ||
1957810842, | ||
3939845945, | ||
2647816111, | ||
81470997, | ||
1943803523, | ||
3814918930, | ||
2489596804, | ||
225274430, | ||
2053790376, | ||
3826175755, | ||
2466906013, | ||
167816743, | ||
2097651377, | ||
4027552580, | ||
2265490386, | ||
503444072, | ||
1762050814, | ||
4150417245, | ||
2154129355, | ||
426522225, | ||
1852507879, | ||
4275313526, | ||
2312317920, | ||
282753626, | ||
1742555852, | ||
4189708143, | ||
2394877945, | ||
397917763, | ||
1622183637, | ||
3604390888, | ||
2714866558, | ||
953729732, | ||
1340076626, | ||
3518719985, | ||
2797360999, | ||
1068828381, | ||
1219638859, | ||
3624741850, | ||
2936675148, | ||
906185462, | ||
1090812512, | ||
3747672003, | ||
2825379669, | ||
829329135, | ||
1181335161, | ||
3412177804, | ||
3160834842, | ||
628085408, | ||
1382605366, | ||
3423369109, | ||
3138078467, | ||
570562233, | ||
1426400815, | ||
3317316542, | ||
2998733608, | ||
733239954, | ||
1555261956, | ||
3268935591, | ||
3050360625, | ||
752459403, | ||
1541320221, | ||
2607071920, | ||
3965973030, | ||
1969922972, | ||
40735498, | ||
2617837225, | ||
3943577151, | ||
1913087877, | ||
83908371, | ||
2512341634, | ||
3803740692, | ||
2075208622, | ||
213261112, | ||
2463272603, | ||
3855990285, | ||
2094854071, | ||
198958881, | ||
2262029012, | ||
4057260610, | ||
1759359992, | ||
534414190, | ||
2176718541, | ||
4139329115, | ||
1873836001, | ||
414664567, | ||
2282248934, | ||
4279200368, | ||
1711684554, | ||
285281116, | ||
2405801727, | ||
4167216745, | ||
1634467795, | ||
376229701, | ||
2685067896, | ||
3608007406, | ||
1308918612, | ||
956543938, | ||
2808555105, | ||
3495958263, | ||
1231636301, | ||
1047427035, | ||
2932959818, | ||
3654703836, | ||
1088359270, | ||
936918e3, | ||
2847714899, | ||
3736837829, | ||
1202900863, | ||
817233897, | ||
3183342108, | ||
3401237130, | ||
1404277552, | ||
615818150, | ||
3134207493, | ||
3453421203, | ||
1423857449, | ||
601450431, | ||
3009837614, | ||
3294710456, | ||
1567103746, | ||
711928724, | ||
3020668471, | ||
3272380065, | ||
1510334235, | ||
755167117 | ||
]); | ||
function ensureBuffer(input) { | ||
if (Buffer.isBuffer(input)) { | ||
return input; | ||
} | ||
if (typeof input === "number") { | ||
return Buffer.alloc(input); | ||
} else if (typeof input === "string") { | ||
return Buffer.from(input); | ||
} else { | ||
throw new Error("input must be buffer, number, or string, received " + typeof input); | ||
} | ||
declare namespace crc32 { | ||
/** | ||
* Convenience method that returns a signed int instead of a `Buffer`. | ||
* | ||
* @example | ||
* import crc32 = require('buffer-crc32'); | ||
* | ||
* // works with buffers | ||
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]); | ||
* crc32.signed(buf); // -> -1805997238 | ||
*/ | ||
function signed(buffer: string | Buffer, partialCrc?: Buffer | number): number; | ||
/** | ||
* Convenience method that returns an unsigned int instead of a `Buffer`. | ||
* | ||
* @example | ||
* import crc32 = require('buffer-crc32'); | ||
* | ||
* // works with buffers | ||
* const buf = Buffer.from([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]); | ||
* crc32.unsigned(buf); // -> 2488970058 | ||
*/ | ||
function unsigned(buffer: string | Buffer, partialCrc?: Buffer | number): number; | ||
} | ||
function bufferizeInt(num) { | ||
const tmp = ensureBuffer(4); | ||
tmp.writeInt32BE(num, 0); | ||
return tmp; | ||
} | ||
function _crc32(buf, previous) { | ||
buf = ensureBuffer(buf); | ||
if (Buffer.isBuffer(previous)) { | ||
previous = previous.readUInt32BE(0); | ||
} | ||
let crc = ~~previous ^ -1; | ||
for (var n = 0; n < buf.length; n++) { | ||
crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8; | ||
} | ||
return crc ^ -1; | ||
} | ||
function crc32() { | ||
return bufferizeInt(_crc32.apply(null, arguments)); | ||
} | ||
crc32.signed = function() { | ||
return _crc32.apply(null, arguments); | ||
}; | ||
crc32.unsigned = function() { | ||
return _crc32.apply(null, arguments) >>> 0; | ||
}; | ||
var bufferCrc32 = crc32; | ||
var index = /*@__PURE__*/getDefaultExportFromCjs(bufferCrc32); | ||
export { index as default }; | ||
export { crc32 as default }; |
@@ -5,3 +5,3 @@ { | ||
"description": "A pure javascript CRC32 algorithm that plays nice with binary data", | ||
"version": "1.0.0-RC2", | ||
"version": "1.0.0-RC3", | ||
"licenses": [ | ||
@@ -45,8 +45,16 @@ { | ||
"require": "./dist/index.cjs" | ||
}, | ||
"./types": { | ||
"import": "./dist/index.d.mts", | ||
"require": "./dist/index.d.cts" | ||
} | ||
}, | ||
"main": "./dist/index.cjs", | ||
"types": "./dist/index.d.cts", | ||
"files": [ | ||
"dist" | ||
"dist", | ||
"index.d.ts", | ||
"LICENSE", | ||
"README.md" | ||
] | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
9
20212
701