@atcute/uint8array 1.0.6 → 1.1.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/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 +28 -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 +56 -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 +29 -1
- package/dist/index.node.js.map +1 -1
- package/lib/index.bun.ts +33 -1
- package/lib/index.node.ts +38 -1
- package/lib/index.ts +62 -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,oDAe/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,35 @@ 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 = str.length;
|
|
171
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
172
|
+
if (len * 3 < min) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
176
|
+
if (len >= min && len * 3 <= max) {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
const utf8len = _byteLength(str, 'utf8');
|
|
180
|
+
return utf8len >= min && utf8len <= max;
|
|
181
|
+
};
|
|
162
182
|
export const toSha256 = async (buffer) => {
|
|
163
183
|
return toUint8Array(_hash('sha256', buffer, 'buffer'));
|
|
164
184
|
};
|
|
185
|
+
/**
|
|
186
|
+
* generates cryptographically secure random bytes
|
|
187
|
+
* @param size number of bytes to generate
|
|
188
|
+
* @returns buffer filled with random bytes
|
|
189
|
+
*/
|
|
190
|
+
export const randomBytes = (size) => {
|
|
191
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
192
|
+
};
|
|
165
193
|
//# 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,
|
|
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,iFAa1B,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
|
@@ -218,6 +218,9 @@ export const decodeUtf8From = (from, offset = 0, length = from.length) => {
|
|
|
218
218
|
if (result !== null)
|
|
219
219
|
return result;
|
|
220
220
|
}
|
|
221
|
+
if (offset === 0 && length === from.length) {
|
|
222
|
+
return textDecoder.decode(from);
|
|
223
|
+
}
|
|
221
224
|
return textDecoder.decode(from.subarray(offset, offset + length));
|
|
222
225
|
};
|
|
223
226
|
/**
|
|
@@ -263,10 +266,63 @@ export const getUtf8Length = (str) => {
|
|
|
263
266
|
}
|
|
264
267
|
return u8pos;
|
|
265
268
|
};
|
|
269
|
+
/**
|
|
270
|
+
* checks if a string's UTF-8 byte length is within a given range.
|
|
271
|
+
* includes early-exit optimization when exceeding max length.
|
|
272
|
+
* @param str string to measure
|
|
273
|
+
* @param min minimum byte length (inclusive)
|
|
274
|
+
* @param max maximum byte length (inclusive)
|
|
275
|
+
* @returns true if byte length is within [min, max]
|
|
276
|
+
*/
|
|
277
|
+
export const isUtf8LengthInRange = (str, min, max) => {
|
|
278
|
+
const len = str.length;
|
|
279
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
280
|
+
if (len * 3 < min) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
284
|
+
if (len >= min && len * 3 <= max) {
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
let u16pos = 0;
|
|
288
|
+
let u8pos = 0;
|
|
289
|
+
while (u16pos < len) {
|
|
290
|
+
const code = str.charCodeAt(u16pos);
|
|
291
|
+
if (code < 0x80) {
|
|
292
|
+
u16pos += 1;
|
|
293
|
+
u8pos += 1;
|
|
294
|
+
}
|
|
295
|
+
else if (code < 0x800) {
|
|
296
|
+
u16pos += 1;
|
|
297
|
+
u8pos += 2;
|
|
298
|
+
}
|
|
299
|
+
else if (code < 0xd800 || code > 0xdbff) {
|
|
300
|
+
u16pos += 1;
|
|
301
|
+
u8pos += 3;
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
u16pos += 2;
|
|
305
|
+
u8pos += 4;
|
|
306
|
+
}
|
|
307
|
+
// early exit once we exceed max
|
|
308
|
+
if (u8pos > max) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return u8pos >= min;
|
|
313
|
+
};
|
|
266
314
|
/**
|
|
267
315
|
* get a SHA-256 digest of this buffer
|
|
268
316
|
*/
|
|
269
317
|
export const toSha256 = async (buffer) => {
|
|
270
318
|
return new Uint8Array(await subtle.digest('SHA-256', buffer));
|
|
271
319
|
};
|
|
320
|
+
/**
|
|
321
|
+
* generates cryptographically secure random bytes
|
|
322
|
+
* @param size number of bytes to generate
|
|
323
|
+
* @returns buffer filled with random bytes
|
|
324
|
+
*/
|
|
325
|
+
export const randomBytes = (size) => {
|
|
326
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
327
|
+
};
|
|
272
328
|
//# 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,oDAe/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,35 @@ 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 = str.length;
|
|
166
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
167
|
+
if (len * 3 < min) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
171
|
+
if (len >= min && len * 3 <= max) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
const utf8len = _byteLength(str, 'utf8');
|
|
175
|
+
return utf8len >= min && utf8len <= max;
|
|
176
|
+
};
|
|
157
177
|
export const toSha256 = async (buffer) => {
|
|
158
178
|
return toUint8Array(_hash('sha256', buffer, 'buffer'));
|
|
159
179
|
};
|
|
180
|
+
/**
|
|
181
|
+
* generates cryptographically secure random bytes
|
|
182
|
+
* @param size number of bytes to generate
|
|
183
|
+
* @returns buffer filled with random bytes
|
|
184
|
+
*/
|
|
185
|
+
export const randomBytes = (size) => {
|
|
186
|
+
return _randomFillSync(toUint8Array(_allocUnsafe(size)));
|
|
187
|
+
};
|
|
160
188
|
//# 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,39 @@ 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 = str.length;
|
|
166
|
+
|
|
167
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
168
|
+
if (len * 3 < min) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
173
|
+
if (len >= min && len * 3 <= max) {
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const utf8len = _byteLength(str, 'utf8');
|
|
178
|
+
return utf8len >= min && utf8len <= max;
|
|
179
|
+
};
|
|
180
|
+
|
|
158
181
|
export const toSha256 = async (buffer: Uint8Array): Promise<Uint8Array<ArrayBuffer>> => {
|
|
159
182
|
return toUint8Array(_hash('sha256', buffer, 'buffer')) as Uint8Array<ArrayBuffer>;
|
|
160
183
|
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* generates cryptographically secure random bytes
|
|
187
|
+
* @param size number of bytes to generate
|
|
188
|
+
* @returns buffer filled with random bytes
|
|
189
|
+
*/
|
|
190
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
191
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
192
|
+
};
|
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,39 @@ 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 = str.length;
|
|
164
|
+
|
|
165
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
166
|
+
if (len * 3 < min) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
171
|
+
if (len >= min && len * 3 <= max) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const utf8len = _byteLength(str, 'utf8');
|
|
176
|
+
return utf8len >= min && utf8len <= max;
|
|
177
|
+
};
|
|
178
|
+
|
|
151
179
|
export const toSha256 = async (buffer: Uint8Array): Promise<Uint8Array<ArrayBuffer>> => {
|
|
152
180
|
return toUint8Array(_hash('sha256', buffer, 'buffer')) as Uint8Array<ArrayBuffer>;
|
|
153
181
|
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* generates cryptographically secure random bytes
|
|
185
|
+
* @param size number of bytes to generate
|
|
186
|
+
* @returns buffer filled with random bytes
|
|
187
|
+
*/
|
|
188
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
189
|
+
return _randomFillSync(toUint8Array(_allocUnsafe(size))) as Uint8Array<ArrayBuffer>;
|
|
190
|
+
};
|
package/lib/index.ts
CHANGED
|
@@ -222,6 +222,9 @@ export const decodeUtf8From = (
|
|
|
222
222
|
const result = _shortString(from, offset, length);
|
|
223
223
|
if (result !== null) return result;
|
|
224
224
|
}
|
|
225
|
+
if (offset === 0 && length === from.length) {
|
|
226
|
+
return textDecoder.decode(from);
|
|
227
|
+
}
|
|
225
228
|
return textDecoder.decode(from.subarray(offset, offset + length));
|
|
226
229
|
};
|
|
227
230
|
|
|
@@ -273,9 +276,68 @@ export const getUtf8Length = (str: string): number => {
|
|
|
273
276
|
return u8pos;
|
|
274
277
|
};
|
|
275
278
|
|
|
279
|
+
/**
|
|
280
|
+
* checks if a string's UTF-8 byte length is within a given range.
|
|
281
|
+
* includes early-exit optimization when exceeding max length.
|
|
282
|
+
* @param str string to measure
|
|
283
|
+
* @param min minimum byte length (inclusive)
|
|
284
|
+
* @param max maximum byte length (inclusive)
|
|
285
|
+
* @returns true if byte length is within [min, max]
|
|
286
|
+
*/
|
|
287
|
+
export const isUtf8LengthInRange = (str: string, min: number, max: number): boolean => {
|
|
288
|
+
const len = str.length;
|
|
289
|
+
|
|
290
|
+
// fast path: if max possible UTF-8 length is below min, fail
|
|
291
|
+
if (len * 3 < min) {
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// fast path: if UTF-16 length satisfies min and max possible satisfies max
|
|
296
|
+
if (len >= min && len * 3 <= max) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
let u16pos = 0;
|
|
301
|
+
let u8pos = 0;
|
|
302
|
+
|
|
303
|
+
while (u16pos < len) {
|
|
304
|
+
const code = str.charCodeAt(u16pos);
|
|
305
|
+
|
|
306
|
+
if (code < 0x80) {
|
|
307
|
+
u16pos += 1;
|
|
308
|
+
u8pos += 1;
|
|
309
|
+
} else if (code < 0x800) {
|
|
310
|
+
u16pos += 1;
|
|
311
|
+
u8pos += 2;
|
|
312
|
+
} else if (code < 0xd800 || code > 0xdbff) {
|
|
313
|
+
u16pos += 1;
|
|
314
|
+
u8pos += 3;
|
|
315
|
+
} else {
|
|
316
|
+
u16pos += 2;
|
|
317
|
+
u8pos += 4;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// early exit once we exceed max
|
|
321
|
+
if (u8pos > max) {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return u8pos >= min;
|
|
327
|
+
};
|
|
328
|
+
|
|
276
329
|
/**
|
|
277
330
|
* get a SHA-256 digest of this buffer
|
|
278
331
|
*/
|
|
279
332
|
export const toSha256 = async (buffer: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>> => {
|
|
280
333
|
return new Uint8Array(await subtle.digest('SHA-256', buffer));
|
|
281
334
|
};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* generates cryptographically secure random bytes
|
|
338
|
+
* @param size number of bytes to generate
|
|
339
|
+
* @returns buffer filled with random bytes
|
|
340
|
+
*/
|
|
341
|
+
export const randomBytes = (size: number): Uint8Array<ArrayBuffer> => {
|
|
342
|
+
return crypto.getRandomValues(new Uint8Array(size));
|
|
343
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@atcute/uint8array",
|
|
4
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
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.9"
|
|
27
30
|
},
|
|
28
31
|
"scripts": {
|
|
29
32
|
"build": "tsgo --project tsconfig.build.json",
|