1 | import { u8aToU8a } from './toU8a.js';
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | export function u8aConcat(...list) {
|
20 | const u8as = new Array(list.length);
|
21 | let length = 0;
|
22 | for (let i = 0; i < list.length; i++) {
|
23 | u8as[i] = u8aToU8a(list[i]);
|
24 | length += u8as[i].length;
|
25 | }
|
26 | return u8aConcatStrict(u8as, length);
|
27 | }
|
28 |
|
29 |
|
30 |
|
31 |
|
32 | export function u8aConcatStrict(u8as, length = 0) {
|
33 | let offset = 0;
|
34 | if (!length) {
|
35 | for (let i = 0; i < u8as.length; i++) {
|
36 | length += u8as[i].length;
|
37 | }
|
38 | }
|
39 | const result = new Uint8Array(length);
|
40 | for (let i = 0; i < u8as.length; i++) {
|
41 | result.set(u8as[i], offset);
|
42 | offset += u8as[i].length;
|
43 | }
|
44 | return result;
|
45 | } |
\ | No newline at end of file |