@atcute/uint8array 1.0.6 → 1.1.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/README.md +7 -1
- package/dist/index.bun.d.ts +14 -0
- package/dist/index.bun.d.ts.map +1 -1
- package/dist/index.bun.js +19 -0
- package/dist/index.bun.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +14 -0
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +20 -1
- package/dist/index.node.js.map +1 -1
- package/lib/index.bun.ts +21 -1
- package/lib/index.node.ts +26 -1
- package/lib/index.ts +59 -0
- package/package.json +7 -4
package/README.md
CHANGED
package/dist/index.bun.d.ts
CHANGED
|
@@ -20,5 +20,19 @@ export declare const decodeUtf8From: (from: Uint8Array<ArrayBufferLike>, offset?
|
|
|
20
20
|
* @returns byte length when encoded as UTF-8
|
|
21
21
|
*/
|
|
22
22
|
export declare const getUtf8Length: (str: string) => number;
|
|
23
|
+
/**
|
|
24
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
25
|
+
* @param str string to measure
|
|
26
|
+
* @param min minimum byte length (inclusive)
|
|
27
|
+
* @param max maximum byte length (inclusive)
|
|
28
|
+
* @returns true if byte length is within [min, max]
|
|
29
|
+
*/
|
|
30
|
+
export declare const isUtf8LengthInRange: (str: string, min: number, max: number) => boolean;
|
|
23
31
|
export declare const toSha256: (buffer: Uint8Array<ArrayBufferLike>) => Promise<Uint8Array<ArrayBuffer>>;
|
|
32
|
+
/**
|
|
33
|
+
* generates cryptographically secure random bytes
|
|
34
|
+
* @param size number of bytes to generate
|
|
35
|
+
* @returns buffer filled with random bytes
|
|
36
|
+
*/
|
|
37
|
+
export declare const randomBytes: (size: number) => Uint8Array<ArrayBuffer>;
|
|
24
38
|
//# sourceMappingURL=index.bun.d.ts.map
|
package/dist/index.bun.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.bun.d.ts","sourceRoot":"","sources":["../lib/index.bun.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.bun.d.ts","sourceRoot":"","sources":["../lib/index.bun.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,KAAK,2CAEjB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,WAAW,CAAgB,CAAC;AAEnF,eAAO,MAAM,OAAO,4EAEnB,CAAC;AAEF,eAAO,MAAM,MAAM,6EAElB,CAAC;AAEF,eAAO,MAAM,gBAAgB,6EAE5B,CAAC;AAEF,eAAO,MAAM,MAAM,+FAGlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,CAAC,WAAW,CAAwC,CAAC;AAEzG,eAAO,MAAM,cAAc,oHAc1B,CAAC;AAyEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iFAU1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,yBAEzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,oDAG/B,CAAC;AAEF,eAAO,MAAM,QAAQ,2EAEpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,2CAEvB,CAAC"}
|
package/dist/index.bun.js
CHANGED
|
@@ -159,7 +159,26 @@ export const decodeUtf8From = (from, offset = 0, length = from.length) => {
|
|
|
159
159
|
export const getUtf8Length = (str) => {
|
|
160
160
|
return _byteLength(str, 'utf8');
|
|
161
161
|
};
|
|
162
|
+
/**
|
|
163
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
164
|
+
* @param str string to measure
|
|
165
|
+
* @param min minimum byte length (inclusive)
|
|
166
|
+
* @param max maximum byte length (inclusive)
|
|
167
|
+
* @returns true if byte length is within [min, max]
|
|
168
|
+
*/
|
|
169
|
+
export const isUtf8LengthInRange = (str, min, max) => {
|
|
170
|
+
const len = _byteLength(str, 'utf8');
|
|
171
|
+
return len >= min && len <= max;
|
|
172
|
+
};
|
|
162
173
|
export const toSha256 = async (buffer) => {
|
|
163
174
|
return toUint8Array(_hash('sha256', buffer, 'buffer'));
|
|
164
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* generates cryptographically secure random bytes
|
|
178
|
+
* @param size number of bytes to generate
|
|
179
|
+
* @returns buffer filled with random bytes
|
|
180
|
+
*/
|
|
181
|
+
export const randomBytes = (size) => {
|
|
182
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
183
|
+
};
|
|
165
184
|
//# sourceMappingURL=index.bun.js.map
|
package/dist/index.bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.bun.js","sourceRoot":"","sources":["../lib/index.bun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.bun.js","sourceRoot":"","sources":["../lib/index.bun.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -45,8 +45,23 @@ export declare const decodeUtf8From: (from: Uint8Array<ArrayBufferLike>, offset?
|
|
|
45
45
|
* @returns byte length when encoded as UTF-8
|
|
46
46
|
*/
|
|
47
47
|
export declare const getUtf8Length: (str: string) => number;
|
|
48
|
+
/**
|
|
49
|
+
* checks if a string's UTF-8 byte length is within a given range.
|
|
50
|
+
* includes early-exit optimization when exceeding max length.
|
|
51
|
+
* @param str string to measure
|
|
52
|
+
* @param min minimum byte length (inclusive)
|
|
53
|
+
* @param max maximum byte length (inclusive)
|
|
54
|
+
* @returns true if byte length is within [min, max]
|
|
55
|
+
*/
|
|
56
|
+
export declare const isUtf8LengthInRange: (str: string, min: number, max: number) => boolean;
|
|
48
57
|
/**
|
|
49
58
|
* get a SHA-256 digest of this buffer
|
|
50
59
|
*/
|
|
51
60
|
export declare const toSha256: (buffer: Uint8Array<ArrayBuffer>) => Promise<Uint8Array<ArrayBuffer>>;
|
|
61
|
+
/**
|
|
62
|
+
* generates cryptographically secure random bytes
|
|
63
|
+
* @param size number of bytes to generate
|
|
64
|
+
* @returns buffer filled with random bytes
|
|
65
|
+
*/
|
|
66
|
+
export declare const randomBytes: (size: number) => Uint8Array<ArrayBuffer>;
|
|
52
67
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,KAAK,2CAEjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2CAAQ,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,4EAyBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,6EAelB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,6EAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,+FAuBlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,0CAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,oHAc1B,CAAC;AAyEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iFAU1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,yBAyCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,uEAEpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,KAAK,2CAEjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2CAAQ,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,4EAyBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,6EAelB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,6EAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,+FAuBlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,0CAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,oHAc1B,CAAC;AAyEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iFAU1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,yBAyCzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,oDAwC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,uEAEpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,2CAEvB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -263,10 +263,63 @@ export const getUtf8Length = (str) => {
|
|
|
263
263
|
}
|
|
264
264
|
return u8pos;
|
|
265
265
|
};
|
|
266
|
+
/**
|
|
267
|
+
* checks if a string's UTF-8 byte length is within a given range.
|
|
268
|
+
* includes early-exit optimization when exceeding max length.
|
|
269
|
+
* @param str string to measure
|
|
270
|
+
* @param min minimum byte length (inclusive)
|
|
271
|
+
* @param max maximum byte length (inclusive)
|
|
272
|
+
* @returns true if byte length is within [min, max]
|
|
273
|
+
*/
|
|
274
|
+
export const isUtf8LengthInRange = (str, min, max) => {
|
|
275
|
+
const len = str.length;
|
|
276
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
277
|
+
if (len * 3 < min) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
281
|
+
if (len >= min && len * 3 <= max) {
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
let u16pos = 0;
|
|
285
|
+
let u8pos = 0;
|
|
286
|
+
while (u16pos < len) {
|
|
287
|
+
const code = str.charCodeAt(u16pos);
|
|
288
|
+
if (code < 0x80) {
|
|
289
|
+
u16pos += 1;
|
|
290
|
+
u8pos += 1;
|
|
291
|
+
}
|
|
292
|
+
else if (code < 0x800) {
|
|
293
|
+
u16pos += 1;
|
|
294
|
+
u8pos += 2;
|
|
295
|
+
}
|
|
296
|
+
else if (code < 0xd800 || code > 0xdbff) {
|
|
297
|
+
u16pos += 1;
|
|
298
|
+
u8pos += 3;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
u16pos += 2;
|
|
302
|
+
u8pos += 4;
|
|
303
|
+
}
|
|
304
|
+
// early exit once we exceed max
|
|
305
|
+
if (u8pos > max) {
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return u8pos >= min;
|
|
310
|
+
};
|
|
266
311
|
/**
|
|
267
312
|
* get a SHA-256 digest of this buffer
|
|
268
313
|
*/
|
|
269
314
|
export const toSha256 = async (buffer) => {
|
|
270
315
|
return new Uint8Array(await subtle.digest('SHA-256', buffer));
|
|
271
316
|
};
|
|
317
|
+
/**
|
|
318
|
+
* generates cryptographically secure random bytes
|
|
319
|
+
* @param size number of bytes to generate
|
|
320
|
+
* @returns buffer filled with random bytes
|
|
321
|
+
*/
|
|
322
|
+
export const randomBytes = (size) => {
|
|
323
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
324
|
+
};
|
|
272
325
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.node.d.ts
CHANGED
|
@@ -20,5 +20,19 @@ export declare const decodeUtf8From: (from: Uint8Array<ArrayBufferLike>, offset?
|
|
|
20
20
|
* @returns byte length when encoded as UTF-8
|
|
21
21
|
*/
|
|
22
22
|
export declare const getUtf8Length: (str: string) => number;
|
|
23
|
+
/**
|
|
24
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
25
|
+
* @param str string to measure
|
|
26
|
+
* @param min minimum byte length (inclusive)
|
|
27
|
+
* @param max maximum byte length (inclusive)
|
|
28
|
+
* @returns true if byte length is within [min, max]
|
|
29
|
+
*/
|
|
30
|
+
export declare const isUtf8LengthInRange: (str: string, min: number, max: number) => boolean;
|
|
23
31
|
export declare const toSha256: (buffer: Uint8Array<ArrayBufferLike>) => Promise<Uint8Array<ArrayBuffer>>;
|
|
32
|
+
/**
|
|
33
|
+
* generates cryptographically secure random bytes
|
|
34
|
+
* @param size number of bytes to generate
|
|
35
|
+
* @returns buffer filled with random bytes
|
|
36
|
+
*/
|
|
37
|
+
export declare const randomBytes: (size: number) => Uint8Array<ArrayBuffer>;
|
|
24
38
|
//# sourceMappingURL=index.node.d.ts.map
|
package/dist/index.node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../lib/index.node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../lib/index.node.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,KAAK,2CAEjB,CAAC;AAEF,eAAO,MAAM,WAAW,2CAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,4EAEnB,CAAC;AAEF,eAAO,MAAM,MAAM,6EAElB,CAAC;AAEF,eAAO,MAAM,gBAAgB,6EAE5B,CAAC;AAEF,eAAO,MAAM,MAAM,+FAElB,CAAC;AAEF,eAAO,MAAM,UAAU,0CAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,oHAE1B,CAAC;AAyEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iFAU1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,yBAEzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,oDAG/B,CAAC;AAEF,eAAO,MAAM,QAAQ,2EAEpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,2CAEvB,CAAC"}
|
package/dist/index.node.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Buffer as NodeBuffer } from 'node:buffer';
|
|
2
|
-
import { hash as _hash, timingSafeEqual as _timingSafeEqual } from 'node:crypto';
|
|
2
|
+
import { hash as _hash, randomFillSync as _randomFillSync, timingSafeEqual as _timingSafeEqual, } from 'node:crypto';
|
|
3
3
|
const _alloc = /*#__PURE__*/ NodeBuffer.alloc;
|
|
4
4
|
const _allocUnsafe = /*#__PURE__*/ NodeBuffer.allocUnsafe;
|
|
5
5
|
const _concat = /*#__PURE__*/ NodeBuffer.concat;
|
|
@@ -154,7 +154,26 @@ export const decodeUtf8From = (from, offset = 0, length = from.length) => {
|
|
|
154
154
|
export const getUtf8Length = (str) => {
|
|
155
155
|
return _byteLength(str, 'utf8');
|
|
156
156
|
};
|
|
157
|
+
/**
|
|
158
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
159
|
+
* @param str string to measure
|
|
160
|
+
* @param min minimum byte length (inclusive)
|
|
161
|
+
* @param max maximum byte length (inclusive)
|
|
162
|
+
* @returns true if byte length is within [min, max]
|
|
163
|
+
*/
|
|
164
|
+
export const isUtf8LengthInRange = (str, min, max) => {
|
|
165
|
+
const len = _byteLength(str, 'utf8');
|
|
166
|
+
return len >= min && len <= max;
|
|
167
|
+
};
|
|
157
168
|
export const toSha256 = async (buffer) => {
|
|
158
169
|
return toUint8Array(_hash('sha256', buffer, 'buffer'));
|
|
159
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* generates cryptographically secure random bytes
|
|
173
|
+
* @param size number of bytes to generate
|
|
174
|
+
* @returns buffer filled with random bytes
|
|
175
|
+
*/
|
|
176
|
+
export const randomBytes = (size) => {
|
|
177
|
+
return _randomFillSync(toUint8Array(_allocUnsafe(size)));
|
|
178
|
+
};
|
|
160
179
|
//# sourceMappingURL=index.node.js.map
|
package/dist/index.node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.js","sourceRoot":"","sources":["../lib/index.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.node.js","sourceRoot":"","sources":["../lib/index.node.ts"],"names":[],"mappings":"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"}
|
package/lib/index.bun.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { allocUnsafe as _allocUnsafe, concatArrayBuffers as _concat } from 'bun';
|
|
2
|
-
|
|
3
2
|
import { Buffer as NodeBuffer } from 'node:buffer';
|
|
4
3
|
import { hash as _hash, timingSafeEqual as _timingSafeEqual } from 'node:crypto';
|
|
5
4
|
|
|
@@ -155,6 +154,27 @@ export const getUtf8Length = (str: string): number => {
|
|
|
155
154
|
return _byteLength(str, 'utf8');
|
|
156
155
|
};
|
|
157
156
|
|
|
157
|
+
/**
|
|
158
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
159
|
+
* @param str string to measure
|
|
160
|
+
* @param min minimum byte length (inclusive)
|
|
161
|
+
* @param max maximum byte length (inclusive)
|
|
162
|
+
* @returns true if byte length is within [min, max]
|
|
163
|
+
*/
|
|
164
|
+
export const isUtf8LengthInRange = (str: string, min: number, max: number): boolean => {
|
|
165
|
+
const len = _byteLength(str, 'utf8');
|
|
166
|
+
return len >= min && len <= max;
|
|
167
|
+
};
|
|
168
|
+
|
|
158
169
|
export const toSha256 = async (buffer: Uint8Array): Promise<Uint8Array<ArrayBuffer>> => {
|
|
159
170
|
return toUint8Array(_hash('sha256', buffer, 'buffer')) as Uint8Array<ArrayBuffer>;
|
|
160
171
|
};
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* generates cryptographically secure random bytes
|
|
175
|
+
* @param size number of bytes to generate
|
|
176
|
+
* @returns buffer filled with random bytes
|
|
177
|
+
*/
|
|
178
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
179
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
180
|
+
};
|
package/lib/index.node.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Buffer as NodeBuffer } from 'node:buffer';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
hash as _hash,
|
|
4
|
+
randomFillSync as _randomFillSync,
|
|
5
|
+
timingSafeEqual as _timingSafeEqual,
|
|
6
|
+
} from 'node:crypto';
|
|
3
7
|
|
|
4
8
|
const _alloc = /*#__PURE__*/ NodeBuffer.alloc;
|
|
5
9
|
const _allocUnsafe = /*#__PURE__*/ NodeBuffer.allocUnsafe;
|
|
@@ -148,6 +152,27 @@ export const getUtf8Length = (str: string): number => {
|
|
|
148
152
|
return _byteLength(str, 'utf8');
|
|
149
153
|
};
|
|
150
154
|
|
|
155
|
+
/**
|
|
156
|
+
* checks if a string's UTF-8 byte length is within a given range
|
|
157
|
+
* @param str string to measure
|
|
158
|
+
* @param min minimum byte length (inclusive)
|
|
159
|
+
* @param max maximum byte length (inclusive)
|
|
160
|
+
* @returns true if byte length is within [min, max]
|
|
161
|
+
*/
|
|
162
|
+
export const isUtf8LengthInRange = (str: string, min: number, max: number): boolean => {
|
|
163
|
+
const len = _byteLength(str, 'utf8');
|
|
164
|
+
return len >= min && len <= max;
|
|
165
|
+
};
|
|
166
|
+
|
|
151
167
|
export const toSha256 = async (buffer: Uint8Array): Promise<Uint8Array<ArrayBuffer>> => {
|
|
152
168
|
return toUint8Array(_hash('sha256', buffer, 'buffer')) as Uint8Array<ArrayBuffer>;
|
|
153
169
|
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* generates cryptographically secure random bytes
|
|
173
|
+
* @param size number of bytes to generate
|
|
174
|
+
* @returns buffer filled with random bytes
|
|
175
|
+
*/
|
|
176
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
177
|
+
return _randomFillSync(toUint8Array(_allocUnsafe(size))) as Uint8Array<ArrayBuffer>;
|
|
178
|
+
};
|
package/lib/index.ts
CHANGED
|
@@ -273,9 +273,68 @@ export const getUtf8Length = (str: string): number => {
|
|
|
273
273
|
return u8pos;
|
|
274
274
|
};
|
|
275
275
|
|
|
276
|
+
/**
|
|
277
|
+
* checks if a string's UTF-8 byte length is within a given range.
|
|
278
|
+
* includes early-exit optimization when exceeding max length.
|
|
279
|
+
* @param str string to measure
|
|
280
|
+
* @param min minimum byte length (inclusive)
|
|
281
|
+
* @param max maximum byte length (inclusive)
|
|
282
|
+
* @returns true if byte length is within [min, max]
|
|
283
|
+
*/
|
|
284
|
+
export const isUtf8LengthInRange = (str: string, min: number, max: number): boolean => {
|
|
285
|
+
const len = str.length;
|
|
286
|
+
|
|
287
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
288
|
+
if (len * 3 < min) {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
293
|
+
if (len >= min && len * 3 <= max) {
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
let u16pos = 0;
|
|
298
|
+
let u8pos = 0;
|
|
299
|
+
|
|
300
|
+
while (u16pos < len) {
|
|
301
|
+
const code = str.charCodeAt(u16pos);
|
|
302
|
+
|
|
303
|
+
if (code < 0x80) {
|
|
304
|
+
u16pos += 1;
|
|
305
|
+
u8pos += 1;
|
|
306
|
+
} else if (code < 0x800) {
|
|
307
|
+
u16pos += 1;
|
|
308
|
+
u8pos += 2;
|
|
309
|
+
} else if (code < 0xd800 || code > 0xdbff) {
|
|
310
|
+
u16pos += 1;
|
|
311
|
+
u8pos += 3;
|
|
312
|
+
} else {
|
|
313
|
+
u16pos += 2;
|
|
314
|
+
u8pos += 4;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// early exit once we exceed max
|
|
318
|
+
if (u8pos > max) {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
return u8pos >= min;
|
|
324
|
+
};
|
|
325
|
+
|
|
276
326
|
/**
|
|
277
327
|
* get a SHA-256 digest of this buffer
|
|
278
328
|
*/
|
|
279
329
|
export const toSha256 = async (buffer: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>> => {
|
|
280
330
|
return new Uint8Array(await subtle.digest('SHA-256', buffer));
|
|
281
331
|
};
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* generates cryptographically secure random bytes
|
|
335
|
+
* @param size number of bytes to generate
|
|
336
|
+
* @returns buffer filled with random bytes
|
|
337
|
+
*/
|
|
338
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
339
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
340
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@atcute/uint8array",
|
|
4
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
5
4
|
"description": "uint8array utilities",
|
|
6
5
|
"license": "0BSD",
|
|
7
6
|
"repository": {
|
|
@@ -14,6 +13,8 @@
|
|
|
14
13
|
"!lib/**/*.bench.ts",
|
|
15
14
|
"!lib/**/*.test.ts"
|
|
16
15
|
],
|
|
16
|
+
"type": "module",
|
|
17
|
+
"sideEffects": false,
|
|
17
18
|
"exports": {
|
|
18
19
|
".": {
|
|
19
20
|
"bun": "./dist/index.bun.js",
|
|
@@ -21,9 +22,11 @@
|
|
|
21
22
|
"default": "./dist/index.js"
|
|
22
23
|
}
|
|
23
24
|
},
|
|
24
|
-
"
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
25
28
|
"devDependencies": {
|
|
26
|
-
"@types/bun": "^1.3.
|
|
29
|
+
"@types/bun": "^1.3.5"
|
|
27
30
|
},
|
|
28
31
|
"scripts": {
|
|
29
32
|
"build": "tsgo --project tsconfig.build.json",
|