1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-03 09:39:16 +02:00

Update TS types

This commit is contained in:
Jeff Schiller 2024-02-04 21:22:21 -08:00
parent 440478c520
commit 14f82a83bc
9 changed files with 49 additions and 28 deletions

View file

@ -22,19 +22,17 @@ describe('bitjs.archive.compress', () => {
let inputFileInfos = new Map();
let decompressedFileSize = 0;
before(() => {
for (const fileName of INPUT_FILENAMES) {
const fullFilename = `${PATH}${fileName}`;
const fd = fs.openSync(fullFilename, 'r');
const lastModTime = fs.fstatSync(fd).mtimeMs;
const nodeBuf = fs.readFileSync(fullFilename);
const fileData = new Uint8Array(
nodeBuf.buffer.slice(nodeBuf.byteOffset, nodeBuf.byteOffset + nodeBuf.length));
inputFileInfos.set(fileName, {fileName, lastModTime, fileData});
decompressedFileSize += fileData.byteLength;
fs.closeSync(fd);
}
});
for (const fileName of INPUT_FILENAMES) {
const fullFilename = `${PATH}${fileName}`;
const fd = fs.openSync(fullFilename, 'r');
const lastModTime = fs.fstatSync(fd).mtimeMs;
const nodeBuf = fs.readFileSync(fullFilename);
const fileData = new Uint8Array(
nodeBuf.buffer.slice(nodeBuf.byteOffset, nodeBuf.byteOffset + nodeBuf.length));
inputFileInfos.set(fileName, {fileName, lastModTime, fileData});
decompressedFileSize += fileData.byteLength;
fs.closeSync(fd);
}
it('zipper throws for invalid compression method', async () => {
expect(() => new Zipper({zipCompressionMethod: 42})).throws();

View file

@ -29,13 +29,11 @@ describe('bitjs.archive.decompress', () => {
/** @type {Map<string, ArrayBuffer>} */
let inputArrayBuffers = new Map();
before(() => {
for (const inputFile of INPUT_FILES) {
const nodeBuf = fs.readFileSync(`${PATH}${inputFile}`);
const ab = nodeBuf.buffer.slice(nodeBuf.byteOffset, nodeBuf.byteOffset + nodeBuf.length);
inputArrayBuffers.set(inputFile, ab);
}
});
for (const inputFile of INPUT_FILES) {
const nodeBuf = fs.readFileSync(`${PATH}${inputFile}`);
const ab = nodeBuf.buffer.slice(nodeBuf.byteOffset, nodeBuf.byteOffset + nodeBuf.length);
inputArrayBuffers.set(inputFile, ab);
}
for (const outFile of ARCHIVE_FILES) {
it(outFile, async () => {
@ -71,7 +69,7 @@ describe('bitjs.archive.decompress', () => {
}
describe('gunzip', () => {
it('can unzip a file', async () => {
it('can gunzip a file', async () => {
const bufs = new Map(inputArrayBuffers);
const nodeBuf = fs.readFileSync(`${PATH}sample-1-slowest.txt.gz`);
const ab = nodeBuf.buffer.slice(nodeBuf.byteOffset, nodeBuf.byteOffset + nodeBuf.length);

View file

@ -155,6 +155,25 @@ export class Untarrer extends Unarchiver {
*/
constructor(ab: ArrayBuffer, options?: UnarchiverOptions);
}
/**
* IMPORTANT NOTES for Gunzipper:
* 1) A Gunzipper will only ever emit one EXTRACT event, because a gzipped file only ever contains
* a single file.
* 2) If the gzipped file does not include the original filename as a FNAME block, then the
* UnarchivedFile in the UnarchiveExtractEvent will not include a filename. It will be up to the
* client to re-assemble the filename (if needed).
* 3) update() is not supported on a Gunzipper, since the current implementation relies on runtime
* support for DecompressionStream('gzip') which can throw hard-to-detect errors reading only
* only part of a file.
* 4) PROGRESS events are not yet supported in Gunzipper.
*/
export class Gunzipper extends Unarchiver {
/**
* @param {ArrayBuffer} ab
* @param {UnarchiverOptions} options
*/
constructor(ab: ArrayBuffer, options?: UnarchiverOptions);
}
export type UnarchivedFile = {
filename: string;
fileData: Uint8Array;

View file

@ -1 +1 @@
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../archive/decompress.js"],"names":[],"mappings":"AAmUA;;;;;;;;;;GAUG;AACH,kCARW,WAAW,YAGX,iBAAiB,GAAC,MAAM,GAGtB,UAAU,CAkBtB;AAhUD;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAgBE;;;;;;;OAOG;IACH,yBAPW,WAAW,YAGX,iBAAiB,GAAC,MAAM,EA0BlC;IA7CD;;;;;OAKG;IACH,cAAM;IAEN;;;;OAIG;IACH,sBAAc;IAoBZ;;;;OAIG;IACH,cAHU,WAAW,CAGA;IAErB;;;OAGG;IACH,YAFU,OAAO,CAEkB;IAGrC;;;;;OAKG;IACH,qCAJW,UAAU,GAAC,SAAS,GAAC,QAAQ,YAC7B,kCAAkC,QAK5C;IAED;;;;OAIG;IACH,2BAHoB,qBAAqB,WAC5B,UAAU,CAKtB;IAED;;;;OAIG;IACH,0BAHoB,oBAAoB,WAC3B,UAAU,CAKtB;IAED;;;;OAIG;IACH,4BAHoB,sBAAsB,WAC7B,UAAU,CAKtB;IAED;;;;OAIG;IACH,yBAHa,MAAM,CAKlB;IAED;;;;OAIG;IACH,+BAHa,MAAM,CAKlB;IAED;;;;;OAKG;IACH,8BAsBC;IAED;;;;;OAKG;IACH,yBAaC;IAED;;;;;OAKG;IACH,SAJa,QAAQ,IAAI,CAAC,CAgCzB;IAGD;;;;;;;;OAQG;IACH,WAPW,WAAW,qBAGX,OAAO,oBAgBjB;IAED;;OAEG;IACH,aAOC;CACF;AAID;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;;cAzRa,MAAM;cACN,UAAU;;;;;;YAKV,OAAO"}
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../archive/decompress.js"],"names":[],"mappings":"AA4VA;;;;;;;;;;GAUG;AACH,kCARW,WAAW,YAGX,iBAAiB,GAAC,MAAM,GAGtB,UAAU,CAoBtB;AA3VD;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAgBE;;;;;;;OAOG;IACH,yBAPW,WAAW,YAGX,iBAAiB,GAAC,MAAM,EA0BlC;IA7CD;;;;;OAKG;IACH,cAAM;IAEN;;;;OAIG;IACH,sBAAc;IAoBZ;;;;OAIG;IACH,cAHU,WAAW,CAGA;IAErB;;;OAGG;IACH,YAFU,OAAO,CAEkB;IAGrC;;;;;OAKG;IACH,qCAJW,UAAU,GAAC,SAAS,GAAC,QAAQ,YAC7B,kCAAkC,QAK5C;IAED;;;;OAIG;IACH,2BAHoB,qBAAqB,WAC5B,UAAU,CAKtB;IAED;;;;OAIG;IACH,0BAHoB,oBAAoB,WAC3B,UAAU,CAKtB;IAED;;;;OAIG;IACH,4BAHoB,sBAAsB,WAC7B,UAAU,CAKtB;IAED;;;;OAIG;IACH,yBAHa,MAAM,CAKlB;IAED;;;;OAIG;IACH,+BAHa,MAAM,CAKlB;IAED;;;;;OAKG;IACH,8BAsBC;IAED;;;;;OAKG;IACH,yBAaC;IAED;;;;;OAKG;IACH,SAJa,QAAQ,IAAI,CAAC,CAgCzB;IAGD;;;;;;;;OAQG;IACH,WAPW,WAAW,qBAGX,OAAO,oBAgBjB;IAED;;OAEG;IACH,aAOC;CACF;AAID;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;AAED;;;;;;;;;;;GAWG;AACH;IACE;;;OAGG;IACH,gBAHW,WAAW,YACX,iBAAiB,EAI3B;CAIF;;cAlTa,MAAM;cACN,UAAU;;;;;;YAKV,OAAO"}

View file

@ -6,7 +6,7 @@
*
* Bit reading always proceeds from the first byte in the buffer, to the
* second byte, and so on. The MTL flag controls which bit is considered
* first *inside* the byte.
* first *inside* the byte. The default is least-to-most direction.
*
* An Example for how Most-To-Least vs Least-to-Most mode works:
*

View file

@ -12,10 +12,16 @@ export class ByteBuffer {
*/
public data: Uint8Array;
/**
* Points to the byte that will next be written.
* @type {number}
* @public
*/
public ptr: number;
/**
* Returns an exact copy of all the data that has been written to the ByteBuffer.
* @returns {Uint8Array}
*/
getData(): Uint8Array;
/**
* @param {number} b The byte to insert.
*/

View file

@ -1 +1 @@
{"version":3,"file":"bytebuffer.d.ts","sourceRoot":"","sources":["../../io/bytebuffer.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IACE;;OAEG;IACH,sBAFW,MAAM,EAkBhB;IAXC;;;OAGG;IACH,aAHU,UAAU,CAGgB;IAEpC;;;OAGG;IACH,YAHU,MAAM,CAGJ;IAId;;OAEG;IACH,cAFW,MAAM,QAKhB;IAED;;OAEG;IACH,mBAFW,MAAO,MAAM,CAAC,GAAC,UAAU,GAAC,SAAS,QAM7C;IAED;;;;;OAKG;IACH,iBAHW,MAAM,YACN,MAAM,QAuBhB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,YACN,MAAM,QAqBhB;IAED;;OAEG;IACH,sBAFW,MAAM,QAUhB;CACF"}
{"version":3,"file":"bytebuffer.d.ts","sourceRoot":"","sources":["../../io/bytebuffer.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IACE;;OAEG;IACH,sBAFW,MAAM,EAmBhB;IAZC;;;OAGG;IACH,aAHU,UAAU,CAGgB;IAEpC;;;;OAIG;IACH,YAHU,MAAM,CAGJ;IAGd;;;OAGG;IACH,WAFa,UAAU,CAMtB;IAED;;OAEG;IACH,cAFW,MAAM,QAShB;IAED;;OAEG;IACH,mBAFW,MAAO,MAAM,CAAC,GAAC,UAAU,GAAC,SAAS,QAU7C;IAED;;;;;OAKG;IACH,iBAHW,MAAM,YACN,MAAM,QAuBhB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,YACN,MAAM,QAqBhB;IAED;;OAEG;IACH,sBAFW,MAAM,QAUhB;CACF"}

View file

@ -42,15 +42,15 @@ export class ByteStream {
* @private
*/
private littleEndian_;
/** @returns {boolean} Whether the stream is little-endian. */
/** @returns {boolean} Whether the stream is little-endian (least significant byte is first). */
isLittleEndian(): boolean;
/**
* Big-Endian is sometimes called Motorola-style.
* Big-Endian means the most significant byte is first. it is sometimes called Motorola-style.
* @param {boolean=} val The value to set. If not present, the stream is set to big-endian.
*/
setBigEndian(val?: boolean | undefined): void;
/**
* Little-Endian is sometimes called Intel-style.
* Little-Endian means the least significant byte is ifrst. is sometimes called Intel-style.
* @param {boolean=} val The value to set. If not present, the stream is set to little-endian.
*/
setLittleEndian(val?: boolean | undefined): void;

View file

@ -1 +1 @@
{"version":3,"file":"bytestream.d.ts","sourceRoot":"","sources":["../../io/bytestream.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH;IACE;;;;OAIG;IACH,gBAJW,WAAW,eACX,MAAM,2BACN,MAAM,cA4ChB;IAlCC;;;;OAIG;IACH,cAA+C;IAE/C;;;;OAIG;IACH,eAAgB;IAEhB;;;;OAIG;IACH,YAAY;IAEZ;;;;OAIG;IACH,mBAAmB;IAEnB;;;;OAIG;IACH,sBAAyB;IAG3B,8DAA8D;IAC9D,kBADc,OAAO,CAGpB;IAED;;;OAGG;IACH,mBAFW,OAAO,oBAIjB;IAED;;;OAGG;IACH,sBAFW,OAAO,oBAIjB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,qBAOC;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAmClB;IAGD;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,MAAM,CAUlB;IAGD;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;;OAMG;IACH,aAJW,MAAM,gBACN,OAAO,GACL,UAAU,CAyCtB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,UAAU,CAItB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CA6BlB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;;OAIG;IACH,QAHW,MAAM,GACJ,UAAU,CAkBtB;IAED;;;OAGG;IACH,SAFW,WAAW,QAWrB;IAED;;;;;;;OAOG;IACH,OAFa,UAAU,CAUtB;CACF"}
{"version":3,"file":"bytestream.d.ts","sourceRoot":"","sources":["../../io/bytestream.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH;IACE;;;;OAIG;IACH,gBAJW,WAAW,eACX,MAAM,2BACN,MAAM,cA4ChB;IAlCC;;;;OAIG;IACH,cAA+C;IAE/C;;;;OAIG;IACH,eAAgB;IAEhB;;;;OAIG;IACH,YAAY;IAEZ;;;;OAIG;IACH,mBAAmB;IAEnB;;;;OAIG;IACH,sBAAyB;IAG3B,gGAAgG;IAChG,kBADc,OAAO,CAGpB;IAED;;;OAGG;IACH,mBAFW,OAAO,oBAIjB;IAED;;;OAGG;IACH,sBAFW,OAAO,oBAIjB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,qBAOC;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAmClB;IAGD;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,MAAM,CAUlB;IAGD;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAGD;;;;;;OAMG;IACH,aAJW,MAAM,gBACN,OAAO,GACL,UAAU,CAyCtB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,UAAU,CAItB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CA6BlB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;;OAIG;IACH,QAHW,MAAM,GACJ,UAAU,CAkBtB;IAED;;;OAGG;IACH,SAFW,WAAW,QAWrB;IAED;;;;;;;OAOG;IACH,OAFa,UAAU,CAUtB;CACF"}