()
| 31 | |
| 32 | let _crcTable: Uint32Array | undefined; |
| 33 | function crc32Table(): Uint32Array { |
| 34 | if (_crcTable) return _crcTable; |
| 35 | const t = new Uint32Array(256); |
| 36 | for (let i = 0; i < 256; i++) { |
| 37 | let c = i; |
| 38 | for (let k = 0; k < 8; k++) c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1; |
| 39 | t[i] = c; |
| 40 | } |
| 41 | _crcTable = t; |
| 42 | return t; |
| 43 | } |
| 44 | |
| 45 | function makeChunk(type: string, data: Buffer): Buffer { |
| 46 | const typeBuffer = Buffer.from(type, "ascii"); |