@nuintun/buffer 0.2.5 → 0.3.0
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/cjs/Binary.cjs +1 -1
- package/cjs/Encoding/UTF8.cjs +1 -1
- package/cjs/Encoding/Unicode.cjs +1 -1
- package/cjs/Encoding/index.cjs +1 -1
- package/cjs/errors.cjs +1 -1
- package/cjs/index.cjs +5 -5
- package/cjs/utils.cjs +10 -12
- package/cjs/utils.d.cts +5 -5
- package/esm/Binary.js +1 -1
- package/esm/Encoding/UTF8.js +1 -1
- package/esm/Encoding/Unicode.js +1 -1
- package/esm/Encoding/index.js +1 -1
- package/esm/errors.js +1 -1
- package/esm/index.js +6 -6
- package/esm/utils.d.ts +5 -5
- package/esm/utils.js +10 -12
- package/package.json +5 -5
package/cjs/Binary.cjs
CHANGED
package/cjs/Encoding/UTF8.cjs
CHANGED
package/cjs/Encoding/Unicode.cjs
CHANGED
package/cjs/Encoding/index.cjs
CHANGED
package/cjs/errors.cjs
CHANGED
package/cjs/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @nuintun/buffer
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
4
|
+
* @version 0.3.0
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A buffer tool for javascript.
|
|
7
7
|
* @see https://github.com/nuintun/Buffer#readme
|
|
@@ -61,7 +61,7 @@ class Buffer {
|
|
|
61
61
|
this.#length = input.length;
|
|
62
62
|
this.#dataView = new DataView(input.buffer);
|
|
63
63
|
} else {
|
|
64
|
-
const bytes =
|
|
64
|
+
const bytes = utils.makeUint8Array(input, pageSize);
|
|
65
65
|
this.#bytes = bytes;
|
|
66
66
|
this.#length = input;
|
|
67
67
|
this.#dataView = new DataView(bytes.buffer);
|
|
@@ -106,7 +106,7 @@ class Buffer {
|
|
|
106
106
|
length += this.#offset;
|
|
107
107
|
const bytes = this.#bytes;
|
|
108
108
|
if (length > bytes.length) {
|
|
109
|
-
const newBytes =
|
|
109
|
+
const newBytes = utils.makeUint8Array(length, this.#pageSize);
|
|
110
110
|
newBytes.set(bytes);
|
|
111
111
|
this.#bytes = newBytes;
|
|
112
112
|
this.#dataView = new DataView(newBytes.buffer);
|
|
@@ -175,7 +175,7 @@ class Buffer {
|
|
|
175
175
|
* @returns {ArrayBuffer}
|
|
176
176
|
*/
|
|
177
177
|
get buffer() {
|
|
178
|
-
return this
|
|
178
|
+
return this.bytes.buffer;
|
|
179
179
|
}
|
|
180
180
|
/**
|
|
181
181
|
* @public
|
|
@@ -184,7 +184,7 @@ class Buffer {
|
|
|
184
184
|
* @returns {Uint8Array}
|
|
185
185
|
*/
|
|
186
186
|
get bytes() {
|
|
187
|
-
return this.#bytes.
|
|
187
|
+
return this.#bytes.subarray(0, this.#length);
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
190
190
|
* @public
|
package/cjs/utils.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @nuintun/buffer
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
4
|
+
* @version 0.3.0
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A buffer tool for javascript.
|
|
7
7
|
* @see https://github.com/nuintun/Buffer#readme
|
|
@@ -13,19 +13,17 @@
|
|
|
13
13
|
* @module utils
|
|
14
14
|
*/
|
|
15
15
|
/**
|
|
16
|
-
* @function
|
|
17
|
-
* @description
|
|
18
|
-
* @param {number}
|
|
16
|
+
* @function makeUint8Array
|
|
17
|
+
* @description 创建一个合适长度的 Uint8Array
|
|
18
|
+
* @param {number} byteLength 数据字节总大小
|
|
19
19
|
* @param {number} pageSize 缓冲区页大小
|
|
20
|
-
* @returns {
|
|
20
|
+
* @returns {Uint8Array}
|
|
21
21
|
*/
|
|
22
|
-
function
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
return pages * pageSize;
|
|
26
|
-
} else {
|
|
27
|
-
return length;
|
|
22
|
+
function makeUint8Array(byteLength, pageSize) {
|
|
23
|
+
if (byteLength > pageSize) {
|
|
24
|
+
return new Uint8Array(Math.ceil(byteLength / pageSize) * pageSize);
|
|
28
25
|
}
|
|
26
|
+
return new Uint8Array(pageSize);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
exports.
|
|
29
|
+
exports.makeUint8Array = makeUint8Array;
|
package/cjs/utils.d.cts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @module utils
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* @function
|
|
6
|
-
* @description
|
|
7
|
-
* @param {number}
|
|
5
|
+
* @function makeUint8Array
|
|
6
|
+
* @description 创建一个合适长度的 Uint8Array
|
|
7
|
+
* @param {number} byteLength 数据字节总大小
|
|
8
8
|
* @param {number} pageSize 缓冲区页大小
|
|
9
|
-
* @returns {
|
|
9
|
+
* @returns {Uint8Array}
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function makeUint8Array(byteLength: number, pageSize: number): Uint8Array;
|
package/esm/Binary.js
CHANGED
package/esm/Encoding/UTF8.js
CHANGED
package/esm/Encoding/Unicode.js
CHANGED
package/esm/Encoding/index.js
CHANGED
package/esm/errors.js
CHANGED
package/esm/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @nuintun/buffer
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
4
|
+
* @version 0.3.0
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A buffer tool for javascript.
|
|
7
7
|
* @see https://github.com/nuintun/Buffer#readme
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { makeUint8Array } from './utils.js';
|
|
11
11
|
import { mapping } from './Binary.js';
|
|
12
12
|
import { unknownEndianness, readOverflow, offsetInvalid, offsetOverflow, lengthInvalid } from './errors.js';
|
|
13
13
|
import { encode, decode } from './Encoding/index.js';
|
|
@@ -59,7 +59,7 @@ class Buffer {
|
|
|
59
59
|
this.#length = input.length;
|
|
60
60
|
this.#dataView = new DataView(input.buffer);
|
|
61
61
|
} else {
|
|
62
|
-
const bytes =
|
|
62
|
+
const bytes = makeUint8Array(input, pageSize);
|
|
63
63
|
this.#bytes = bytes;
|
|
64
64
|
this.#length = input;
|
|
65
65
|
this.#dataView = new DataView(bytes.buffer);
|
|
@@ -104,7 +104,7 @@ class Buffer {
|
|
|
104
104
|
length += this.#offset;
|
|
105
105
|
const bytes = this.#bytes;
|
|
106
106
|
if (length > bytes.length) {
|
|
107
|
-
const newBytes =
|
|
107
|
+
const newBytes = makeUint8Array(length, this.#pageSize);
|
|
108
108
|
newBytes.set(bytes);
|
|
109
109
|
this.#bytes = newBytes;
|
|
110
110
|
this.#dataView = new DataView(newBytes.buffer);
|
|
@@ -173,7 +173,7 @@ class Buffer {
|
|
|
173
173
|
* @returns {ArrayBuffer}
|
|
174
174
|
*/
|
|
175
175
|
get buffer() {
|
|
176
|
-
return this
|
|
176
|
+
return this.bytes.buffer;
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
179
|
* @public
|
|
@@ -182,7 +182,7 @@ class Buffer {
|
|
|
182
182
|
* @returns {Uint8Array}
|
|
183
183
|
*/
|
|
184
184
|
get bytes() {
|
|
185
|
-
return this.#bytes.
|
|
185
|
+
return this.#bytes.subarray(0, this.#length);
|
|
186
186
|
}
|
|
187
187
|
/**
|
|
188
188
|
* @public
|
package/esm/utils.d.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @module utils
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* @function
|
|
6
|
-
* @description
|
|
7
|
-
* @param {number}
|
|
5
|
+
* @function makeUint8Array
|
|
6
|
+
* @description 创建一个合适长度的 Uint8Array
|
|
7
|
+
* @param {number} byteLength 数据字节总大小
|
|
8
8
|
* @param {number} pageSize 缓冲区页大小
|
|
9
|
-
* @returns {
|
|
9
|
+
* @returns {Uint8Array}
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function makeUint8Array(byteLength: number, pageSize: number): Uint8Array;
|
package/esm/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @nuintun/buffer
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
4
|
+
* @version 0.3.0
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A buffer tool for javascript.
|
|
7
7
|
* @see https://github.com/nuintun/Buffer#readme
|
|
@@ -11,19 +11,17 @@
|
|
|
11
11
|
* @module utils
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
|
-
* @function
|
|
15
|
-
* @description
|
|
16
|
-
* @param {number}
|
|
14
|
+
* @function makeUint8Array
|
|
15
|
+
* @description 创建一个合适长度的 Uint8Array
|
|
16
|
+
* @param {number} byteLength 数据字节总大小
|
|
17
17
|
* @param {number} pageSize 缓冲区页大小
|
|
18
|
-
* @returns {
|
|
18
|
+
* @returns {Uint8Array}
|
|
19
19
|
*/
|
|
20
|
-
function
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
return pages * pageSize;
|
|
24
|
-
} else {
|
|
25
|
-
return length;
|
|
20
|
+
function makeUint8Array(byteLength, pageSize) {
|
|
21
|
+
if (byteLength > pageSize) {
|
|
22
|
+
return new Uint8Array(Math.ceil(byteLength / pageSize) * pageSize);
|
|
26
23
|
}
|
|
24
|
+
return new Uint8Array(pageSize);
|
|
27
25
|
}
|
|
28
26
|
|
|
29
|
-
export {
|
|
27
|
+
export { makeUint8Array };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuintun/buffer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A buffer tool for javascript.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
39
|
-
"@rollup/plugin-typescript": "^12.1.
|
|
40
|
-
"dts-paths": "^1.1.
|
|
39
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
40
|
+
"dts-paths": "^1.1.10",
|
|
41
41
|
"magic-string": "^0.30.17",
|
|
42
|
-
"prettier": "^3.
|
|
42
|
+
"prettier": "^3.6.2",
|
|
43
43
|
"rimraf": "^6.0.1",
|
|
44
|
-
"rollup": "^4.
|
|
44
|
+
"rollup": "^4.45.1",
|
|
45
45
|
"typescript": "^5.8.3"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|