extended-buffer 7.0.0 → 7.0.1
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/ExtendedBuffer.js
CHANGED
|
@@ -29,7 +29,7 @@ class ExtendedBuffer {
|
|
|
29
29
|
return this.getPointer();
|
|
30
30
|
}
|
|
31
31
|
get nativeBufferView() {
|
|
32
|
-
return this._nativeBuffer
|
|
32
|
+
return utils.nativeBufferSubarray(this._nativeBuffer, this._pointerStart, this._pointerEnd);
|
|
33
33
|
}
|
|
34
34
|
initExtendedBuffer() {
|
|
35
35
|
this._pointer = 0;
|
|
@@ -325,7 +325,7 @@ class ExtendedBuffer {
|
|
|
325
325
|
throw new errors_1.ExtendedBufferRangeError('SIZE_OUT_OF_RANGE');
|
|
326
326
|
}
|
|
327
327
|
let result;
|
|
328
|
-
const buffer = this._nativeBuffer
|
|
328
|
+
const buffer = utils.nativeBufferSubarray(this._nativeBuffer, this.nativePointer(), this.nativePointer() + size);
|
|
329
329
|
if (asNative) {
|
|
330
330
|
result = buffer_1.Buffer.from(buffer);
|
|
331
331
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.allocNativeBuffer = void 0;
|
|
4
|
+
const os = require("os");
|
|
4
5
|
const buffer_1 = require("buffer");
|
|
5
6
|
const errors_1 = require("../errors");
|
|
6
7
|
const assert_unsigned_integer_1 = require("./assert-unsigned-integer");
|
|
8
|
+
const maxBufferSize = Math.min(buffer_1.kMaxLength, os.totalmem());
|
|
9
|
+
(0, assert_unsigned_integer_1.assertUnsignedInteger)(maxBufferSize);
|
|
7
10
|
function allocNativeBuffer(size) {
|
|
8
11
|
(0, assert_unsigned_integer_1.assertUnsignedInteger)(size);
|
|
9
|
-
(
|
|
10
|
-
if (size > buffer_1.kMaxLength) {
|
|
12
|
+
if (size > maxBufferSize) {
|
|
11
13
|
throw new errors_1.ExtendedBufferRangeError('EXCEEDING_MAXIMUM_BUFFER_SIZE');
|
|
12
14
|
}
|
|
13
15
|
return buffer_1.Buffer.allocUnsafe(size);
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { assertInteger } from './assert-integer';
|
|
|
2
2
|
export { assertIntegerSize } from './assert-integer-size';
|
|
3
3
|
export { allocNativeBuffer } from './alloc-native-buffer';
|
|
4
4
|
export { reallocNativeBuffer } from './realloc-native-buffer';
|
|
5
|
+
export { nativeBufferSubarray } from './native-buffer-subarray';
|
|
5
6
|
export { assertUnsignedInteger } from './assert-unsigned-integer';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertUnsignedInteger = exports.reallocNativeBuffer = exports.allocNativeBuffer = exports.assertIntegerSize = exports.assertInteger = void 0;
|
|
3
|
+
exports.assertUnsignedInteger = exports.nativeBufferSubarray = exports.reallocNativeBuffer = exports.allocNativeBuffer = exports.assertIntegerSize = exports.assertInteger = void 0;
|
|
4
4
|
var assert_integer_1 = require("./assert-integer");
|
|
5
5
|
Object.defineProperty(exports, "assertInteger", { enumerable: true, get: function () { return assert_integer_1.assertInteger; } });
|
|
6
6
|
var assert_integer_size_1 = require("./assert-integer-size");
|
|
@@ -9,5 +9,7 @@ var alloc_native_buffer_1 = require("./alloc-native-buffer");
|
|
|
9
9
|
Object.defineProperty(exports, "allocNativeBuffer", { enumerable: true, get: function () { return alloc_native_buffer_1.allocNativeBuffer; } });
|
|
10
10
|
var realloc_native_buffer_1 = require("./realloc-native-buffer");
|
|
11
11
|
Object.defineProperty(exports, "reallocNativeBuffer", { enumerable: true, get: function () { return realloc_native_buffer_1.reallocNativeBuffer; } });
|
|
12
|
+
var native_buffer_subarray_1 = require("./native-buffer-subarray");
|
|
13
|
+
Object.defineProperty(exports, "nativeBufferSubarray", { enumerable: true, get: function () { return native_buffer_subarray_1.nativeBufferSubarray; } });
|
|
12
14
|
var assert_unsigned_integer_1 = require("./assert-unsigned-integer");
|
|
13
15
|
Object.defineProperty(exports, "assertUnsignedInteger", { enumerable: true, get: function () { return assert_unsigned_integer_1.assertUnsignedInteger; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nativeBufferSubarray = void 0;
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
5
|
+
const sliceFallback = !(buffer_1.Buffer.allocUnsafe(1).subarray(0) instanceof buffer_1.Buffer);
|
|
6
|
+
function nativeBufferSubarray(buffer, begin, end) {
|
|
7
|
+
return sliceFallback ? buffer.slice(begin, end) : buffer.subarray(begin, end);
|
|
8
|
+
}
|
|
9
|
+
exports.nativeBufferSubarray = nativeBufferSubarray;
|