@gmod/bam 5.0.2 → 5.0.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/CHANGELOG.md +12 -0
- package/dist/long.d.ts +3 -0
- package/dist/long.js +18 -0
- package/dist/long.js.map +1 -0
- package/dist/util.d.ts +4 -3
- package/dist/util.js +6 -8
- package/dist/util.js.map +1 -1
- package/esm/long.d.ts +3 -0
- package/esm/long.js +14 -0
- package/esm/long.js.map +1 -0
- package/esm/util.d.ts +4 -3
- package/esm/util.js +6 -5
- package/esm/util.js.map +1 -1
- package/package.json +1 -3
- package/src/long.ts +16 -0
- package/src/util.ts +6 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [5.0.5](https://github.com/GMOD/bam-js/compare/v5.0.4...v5.0.5) (2024-12-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## [5.0.4](https://github.com/GMOD/bam-js/compare/v5.0.2...v5.0.4) (2024-12-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [5.0.3](https://github.com/GMOD/bam-js/compare/v5.0.2...v5.0.3) (2024-12-18)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
1
13
|
## [5.0.2](https://github.com/GMOD/bam-js/compare/v5.0.1...v5.0.2) (2024-12-17)
|
|
2
14
|
|
|
3
15
|
|
package/dist/long.d.ts
ADDED
package/dist/long.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL = void 0;
|
|
4
|
+
exports.longFromBytesToUnsigned = longFromBytesToUnsigned;
|
|
5
|
+
exports.TWO_PWR_16_DBL = 1 << 16;
|
|
6
|
+
exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL * exports.TWO_PWR_16_DBL;
|
|
7
|
+
function longFromBytesToUnsigned(source, i = 0) {
|
|
8
|
+
const low = source[i] |
|
|
9
|
+
(source[i + 1] << 8) |
|
|
10
|
+
(source[i + 2] << 16) |
|
|
11
|
+
(source[i + 3] << 24);
|
|
12
|
+
const high = source[i + 4] |
|
|
13
|
+
(source[i + 5] << 8) |
|
|
14
|
+
(source[i + 6] << 16) |
|
|
15
|
+
(source[i + 7] << 24);
|
|
16
|
+
return (high >>> 0) * exports.TWO_PWR_32_DBL + (low >>> 0);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=long.js.map
|
package/dist/long.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long.js","sourceRoot":"","sources":["../src/long.ts"],"names":[],"mappings":";;;AAGA,0DAYC;AAfY,QAAA,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;AACxB,QAAA,cAAc,GAAG,sBAAc,GAAG,sBAAc,CAAA;AAE7D,SAAgB,uBAAuB,CAAC,MAAkB,EAAE,CAAC,GAAG,CAAC;IAC/D,MAAM,GAAG,GACP,MAAM,CAAC,CAAC,CAAC;QACT,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACvB,MAAM,IAAI,GACR,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,sBAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
package/dist/util.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import VirtualOffset from './virtualOffset';
|
|
|
3
3
|
export declare function timeout(ms: number): Promise<unknown>;
|
|
4
4
|
/**
|
|
5
5
|
* Properly check if the given AbortSignal is aborted.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* with a `code` attribute
|
|
6
|
+
*
|
|
7
|
+
* Per the standard, if the signal reads as aborted, this function throws
|
|
8
|
+
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
9
|
+
* set to `ERR_ABORTED`.
|
|
9
10
|
*
|
|
10
11
|
* For convenience, passing `undefined` is a no-op
|
|
11
12
|
*
|
package/dist/util.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.timeout = timeout;
|
|
7
4
|
exports.checkAbortSignal = checkAbortSignal;
|
|
@@ -14,15 +11,16 @@ exports.findFirstData = findFirstData;
|
|
|
14
11
|
exports.parseNameBytes = parseNameBytes;
|
|
15
12
|
exports.sum = sum;
|
|
16
13
|
exports.concatUint8Array = concatUint8Array;
|
|
17
|
-
const long_1 =
|
|
14
|
+
const long_1 = require("./long");
|
|
18
15
|
function timeout(ms) {
|
|
19
16
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
20
17
|
}
|
|
21
18
|
/**
|
|
22
19
|
* Properly check if the given AbortSignal is aborted.
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* with a `code` attribute
|
|
20
|
+
*
|
|
21
|
+
* Per the standard, if the signal reads as aborted, this function throws
|
|
22
|
+
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
23
|
+
* set to `ERR_ABORTED`.
|
|
26
24
|
*
|
|
27
25
|
* For convenience, passing `undefined` is a no-op
|
|
28
26
|
*
|
|
@@ -96,7 +94,7 @@ function optimizeChunks(chunks, lowest) {
|
|
|
96
94
|
}
|
|
97
95
|
function parsePseudoBin(bytes, offset) {
|
|
98
96
|
return {
|
|
99
|
-
lineCount: long_1.
|
|
97
|
+
lineCount: (0, long_1.longFromBytesToUnsigned)(bytes, offset),
|
|
100
98
|
};
|
|
101
99
|
}
|
|
102
100
|
function findFirstData(firstDataLine, virtualOffset) {
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAIA,0BAEC;AAcD,4CAgBC;AAQD,0CAGC;AAED,wCAKC;AAaD,4BAEC;AAED,wCAgCC;AAED,wCAIC;AAED,sCASC;AAED,wCAwBC;AAED,kBAMC;AACD,4CAQC;AAlKD,iCAAgD;AAGhD,SAAgB,OAAO,CAAC,EAAU;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,8BAA8B;QAC9B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;YAC9B,YAAY;YACZ,CAAC,CAAC,IAAI,GAAG,aAAa,CAAA;YACtB,MAAM,CAAC,CAAA;QACT,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,MAAoB;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,SAAgB,cAAc,CAAC,MAAa,EAAE,MAAa;IACzD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK;QAC7D,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAChE,CAAA;AACH,CAAC;AAaD,SAAgB,QAAQ,CAAC,MAA8B,EAAE;IACvD,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,GAAG,EAAe,CAAC,CAAC,CAAC,GAAG,CAAA;AAC/D,CAAC;AAED,SAAgB,cAAc,CAAC,MAAe,EAAE,MAAsB;IACpE,MAAM,YAAY,GAAY,EAAE,CAAA;IAChC,IAAI,SAA4B,CAAA;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAA;QACzD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACxB,SAAS,GAAG,KAAK,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7C,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACxB,SAAS,GAAG,KAAK,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAgB,cAAc,CAAC,KAAiB,EAAE,MAAc;IAC9D,OAAO;QACL,SAAS,EAAE,IAAA,8BAAuB,EAAC,KAAK,EAAE,MAAM,CAAC;KAClD,CAAA;AACH,CAAC;AAED,SAAgB,aAAa,CAC3B,aAAwC,EACxC,aAA4B;IAE5B,OAAO,aAAa;QAClB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,aAAa;QACjB,CAAC,CAAC,aAAa,CAAA;AACnB,CAAC;AAED,SAAgB,cAAc,CAC5B,UAAsB,EACtB,eAAwC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9C,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,OAAO,GAAG,EAAE,CAAA;gBAChB,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC/B,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;gBAChC,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;YAClC,CAAC;YACD,aAAa,GAAG,CAAC,GAAG,CAAC,CAAA;YACrB,SAAS,IAAI,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACrC,CAAC;AAED,SAAgB,GAAG,CAAC,KAAmB;IACrC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,GAAG,IAAI,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AACD,SAAgB,gBAAgB,CAAC,IAAkB;IACjD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;IACxB,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
package/esm/long.d.ts
ADDED
package/esm/long.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const TWO_PWR_16_DBL = 1 << 16;
|
|
2
|
+
export const TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;
|
|
3
|
+
export function longFromBytesToUnsigned(source, i = 0) {
|
|
4
|
+
const low = source[i] |
|
|
5
|
+
(source[i + 1] << 8) |
|
|
6
|
+
(source[i + 2] << 16) |
|
|
7
|
+
(source[i + 3] << 24);
|
|
8
|
+
const high = source[i + 4] |
|
|
9
|
+
(source[i + 5] << 8) |
|
|
10
|
+
(source[i + 6] << 16) |
|
|
11
|
+
(source[i + 7] << 24);
|
|
12
|
+
return (high >>> 0) * TWO_PWR_32_DBL + (low >>> 0);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=long.js.map
|
package/esm/long.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long.js","sourceRoot":"","sources":["../src/long.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAA;AAE7D,MAAM,UAAU,uBAAuB,CAAC,MAAkB,EAAE,CAAC,GAAG,CAAC;IAC/D,MAAM,GAAG,GACP,MAAM,CAAC,CAAC,CAAC;QACT,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACvB,MAAM,IAAI,GACR,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
package/esm/util.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import VirtualOffset from './virtualOffset';
|
|
|
3
3
|
export declare function timeout(ms: number): Promise<unknown>;
|
|
4
4
|
/**
|
|
5
5
|
* Properly check if the given AbortSignal is aborted.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* with a `code` attribute
|
|
6
|
+
*
|
|
7
|
+
* Per the standard, if the signal reads as aborted, this function throws
|
|
8
|
+
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
9
|
+
* set to `ERR_ABORTED`.
|
|
9
10
|
*
|
|
10
11
|
* For convenience, passing `undefined` is a no-op
|
|
11
12
|
*
|
package/esm/util.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { longFromBytesToUnsigned } from './long';
|
|
2
2
|
export function timeout(ms) {
|
|
3
3
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* Properly check if the given AbortSignal is aborted.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* with a `code` attribute
|
|
7
|
+
*
|
|
8
|
+
* Per the standard, if the signal reads as aborted, this function throws
|
|
9
|
+
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
10
|
+
* set to `ERR_ABORTED`.
|
|
10
11
|
*
|
|
11
12
|
* For convenience, passing `undefined` is a no-op
|
|
12
13
|
*
|
|
@@ -80,7 +81,7 @@ export function optimizeChunks(chunks, lowest) {
|
|
|
80
81
|
}
|
|
81
82
|
export function parsePseudoBin(bytes, offset) {
|
|
82
83
|
return {
|
|
83
|
-
lineCount:
|
|
84
|
+
lineCount: longFromBytesToUnsigned(bytes, offset),
|
|
84
85
|
};
|
|
85
86
|
}
|
|
86
87
|
export function findFirstData(firstDataLine, virtualOffset) {
|
package/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gmod/bam",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.5",
|
|
4
4
|
"description": "Parser for BAM and BAM index (bai) files",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "GMOD/bam-js",
|
|
@@ -42,11 +42,9 @@
|
|
|
42
42
|
"@gmod/bgzf-filehandle": "^2.0.1",
|
|
43
43
|
"crc": "^4.3.2",
|
|
44
44
|
"generic-filehandle2": "^1.0.0",
|
|
45
|
-
"long": "^4.0.0",
|
|
46
45
|
"quick-lru": "^4.0.0"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
|
-
"@types/long": "^4.0.0",
|
|
50
48
|
"@types/node": "^20.11.19",
|
|
51
49
|
"@typescript-eslint/eslint-plugin": "^8.1.0",
|
|
52
50
|
"@typescript-eslint/parser": "^8.1.0",
|
package/src/long.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const TWO_PWR_16_DBL = 1 << 16
|
|
2
|
+
export const TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL
|
|
3
|
+
|
|
4
|
+
export function longFromBytesToUnsigned(source: Uint8Array, i = 0) {
|
|
5
|
+
const low =
|
|
6
|
+
source[i] |
|
|
7
|
+
(source[i + 1] << 8) |
|
|
8
|
+
(source[i + 2] << 16) |
|
|
9
|
+
(source[i + 3] << 24)
|
|
10
|
+
const high =
|
|
11
|
+
source[i + 4] |
|
|
12
|
+
(source[i + 5] << 8) |
|
|
13
|
+
(source[i + 6] << 16) |
|
|
14
|
+
(source[i + 7] << 24)
|
|
15
|
+
return (high >>> 0) * TWO_PWR_32_DBL + (low >>> 0)
|
|
16
|
+
}
|
package/src/util.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Long from 'long'
|
|
2
1
|
import Chunk from './chunk'
|
|
2
|
+
import { longFromBytesToUnsigned } from './long'
|
|
3
3
|
import VirtualOffset from './virtualOffset'
|
|
4
4
|
|
|
5
5
|
export function timeout(ms: number) {
|
|
@@ -8,9 +8,10 @@ export function timeout(ms: number) {
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Properly check if the given AbortSignal is aborted.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* with a `code` attribute
|
|
11
|
+
*
|
|
12
|
+
* Per the standard, if the signal reads as aborted, this function throws
|
|
13
|
+
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
14
|
+
* set to `ERR_ABORTED`.
|
|
14
15
|
*
|
|
15
16
|
* For convenience, passing `undefined` is a no-op
|
|
16
17
|
*
|
|
@@ -104,10 +105,7 @@ export function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset) {
|
|
|
104
105
|
|
|
105
106
|
export function parsePseudoBin(bytes: Uint8Array, offset: number) {
|
|
106
107
|
return {
|
|
107
|
-
lineCount:
|
|
108
|
-
Array.prototype.slice.call(bytes, offset, offset + 8),
|
|
109
|
-
true,
|
|
110
|
-
).toNumber(),
|
|
108
|
+
lineCount: longFromBytesToUnsigned(bytes, offset),
|
|
111
109
|
}
|
|
112
110
|
}
|
|
113
111
|
|