maxcso 0.1130.3 → 0.1130.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export * from './src/maxcso/maxcsoDecompress.js';
|
|
|
5
5
|
export * from './src/maxcso/maxcsoInfo.js';
|
|
6
6
|
declare const _default: {
|
|
7
7
|
run: typeof MaxcsoBin.run;
|
|
8
|
-
uncompressedCrc32: (inputFilename: string) => Promise<string>;
|
|
8
|
+
uncompressedCrc32: (inputFilename: string, attempt?: number) => Promise<string>;
|
|
9
9
|
header: (inputFilename: string) => Promise<import("./src/maxcso/maxcsoInfo.js").CsoInfo>;
|
|
10
10
|
compress: (options: import("./src/maxcso/maxcsoCompress.js").CompressOptions) => Promise<void>;
|
|
11
11
|
decompress: (options: import("./src/maxcso/maxcsoDecompress.js").DecompressOptions) => Promise<void>;
|
|
@@ -15,7 +15,7 @@ declare const _default: {
|
|
|
15
15
|
* Given a compressed CSO/ZSO/DAX file, get its uncompressed ISO's CRC32. This is fast/cheap to
|
|
16
16
|
* calculate.
|
|
17
17
|
*/
|
|
18
|
-
uncompressedCrc32(inputFilename: string): Promise<string>;
|
|
18
|
+
uncompressedCrc32(inputFilename: string, attempt?: number): Promise<string>;
|
|
19
19
|
/**
|
|
20
20
|
* Given a compressed CSO/ZSO/DAX file, get the information stored in its file header.
|
|
21
21
|
*/
|
|
@@ -27,9 +27,16 @@ export default {
|
|
|
27
27
|
* Given a compressed CSO/ZSO/DAX file, get its uncompressed ISO's CRC32. This is fast/cheap to
|
|
28
28
|
* calculate.
|
|
29
29
|
*/
|
|
30
|
-
uncompressedCrc32(
|
|
31
|
-
return __awaiter(this,
|
|
30
|
+
uncompressedCrc32(inputFilename_1) {
|
|
31
|
+
return __awaiter(this, arguments, void 0, function* (inputFilename, attempt = 1) {
|
|
32
32
|
const output = yield MaxcsoBin.run(['--crc', inputFilename]);
|
|
33
|
+
// Try to detect failures, and then retry them automatically
|
|
34
|
+
if (!output.trim() && attempt < 5) {
|
|
35
|
+
yield new Promise((resolve) => {
|
|
36
|
+
setTimeout(resolve, Math.random() * (Math.pow(2, (attempt - 1)) * 10));
|
|
37
|
+
});
|
|
38
|
+
return this.uncompressedCrc32(inputFilename, attempt + 1);
|
|
39
|
+
}
|
|
33
40
|
const crcMatch = output.replace(/[\n\r]/g, '').match(/ ([\da-f]{8})$/);
|
|
34
41
|
if (crcMatch === null) {
|
|
35
42
|
throw new Error('failed to get CRC of uncompressed file');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxcsoInfo.js","sourceRoot":"","sources":["../../../src/maxcso/maxcsoInfo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,2BAAY,CAAA;IACZ,0BAAW,CAAA;IACX,2BAAY,CAAA;AACd,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAUD,eAAe;IACb;;;OAGG;IACG,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"maxcsoInfo.js","sourceRoot":"","sources":["../../../src/maxcso/maxcsoInfo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|