@adviser/cement 0.5.27 → 0.5.28
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/index.cjs +1 -0
- package/cjs/index.cjs.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/utils/concat-uint8.cjs +14 -0
- package/cjs/utils/concat-uint8.cjs.map +1 -0
- package/cjs/utils/concat-uint8.d.ts +2 -0
- package/cjs/utils/concat-uint8.d.ts.map +1 -0
- package/cjs/utils/concat-uint8.test.cjs +60 -0
- package/cjs/utils/concat-uint8.test.cjs.map +1 -0
- package/cjs/utils/concat-uint8.test.d.ts +2 -0
- package/cjs/utils/concat-uint8.test.d.ts.map +1 -0
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/utils/concat-uint8.d.ts +2 -0
- package/esm/utils/concat-uint8.d.ts.map +1 -0
- package/esm/utils/concat-uint8.js +11 -0
- package/esm/utils/concat-uint8.js.map +1 -0
- package/esm/utils/concat-uint8.test.d.ts +2 -0
- package/esm/utils/concat-uint8.test.d.ts.map +1 -0
- package/esm/utils/concat-uint8.test.js +58 -0
- package/esm/utils/concat-uint8.test.js.map +1 -0
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/utils/concat-uint8.ts +30 -0
- package/ts/cjs/index.d.ts +1 -0
- package/ts/cjs/index.d.ts.map +1 -1
- package/ts/cjs/index.js +1 -0
- package/ts/cjs/index.js.map +1 -1
- package/ts/cjs/utils/concat-uint8.d.ts +2 -0
- package/ts/cjs/utils/concat-uint8.d.ts.map +1 -0
- package/ts/cjs/utils/concat-uint8.js +14 -0
- package/ts/cjs/utils/concat-uint8.js.map +1 -0
- package/ts/cjs/utils/concat-uint8.test.d.ts +2 -0
- package/ts/cjs/utils/concat-uint8.test.d.ts.map +1 -0
- package/ts/cjs/utils/concat-uint8.test.js +60 -0
- package/ts/cjs/utils/concat-uint8.test.js.map +1 -0
- package/ts/cjs/version.js +1 -1
- package/ts/esm/index.d.ts +1 -0
- package/ts/esm/index.d.ts.map +1 -1
- package/ts/esm/index.js +1 -0
- package/ts/esm/index.js.map +1 -1
- package/ts/esm/utils/concat-uint8.d.ts +2 -0
- package/ts/esm/utils/concat-uint8.d.ts.map +1 -0
- package/ts/esm/utils/concat-uint8.js +11 -0
- package/ts/esm/utils/concat-uint8.js.map +1 -0
- package/ts/esm/utils/concat-uint8.test.d.ts +2 -0
- package/ts/esm/utils/concat-uint8.test.d.ts.map +1 -0
- package/ts/esm/utils/concat-uint8.test.js +58 -0
- package/ts/esm/utils/concat-uint8.test.js.map +1 -0
- package/ts/esm/version.js +1 -1
package/cjs/index.cjs
CHANGED
|
@@ -65,6 +65,7 @@ __exportStar(require("./utils/stripper.cjs"), exports);
|
|
|
65
65
|
__exportStar(require("./utils/sorted-object.cjs"), exports);
|
|
66
66
|
__exportStar(require("./utils/uint8array-equal.cjs"), exports);
|
|
67
67
|
__exportStar(require("./utils/coerce-uint8.cjs"), exports);
|
|
68
|
+
__exportStar(require("./utils/concat-uint8.cjs"), exports);
|
|
68
69
|
__exportStar(require("./utils/consume.cjs"), exports);
|
|
69
70
|
__exportStar(require("./utils/to-sorted.cjs"), exports);
|
|
70
71
|
__exportStar(require("./utils/relative-path.cjs"), exports);
|
package/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,8CAA4B;AAC5B,uDAAqC;AACrC,+CAA6B;AAC7B,4CAA0B;AAC1B,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,oDAAkC;AAClC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,4DAA0C;AAC1C,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,uDAAqC;AACrC,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,8CAA4B;AAK5B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,2DAAyC;AACzC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,sDAAoC;AACpC,2DAAyC;AACzC,8DAA4C;AAC5C,0DAAwC;AACxC,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AAEtC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,8CAA4B;AAC5B,uDAAqC;AACrC,+CAA6B;AAC7B,4CAA0B;AAC1B,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,oDAAkC;AAClC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,4DAA0C;AAC1C,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,uDAAqC;AACrC,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,8CAA4B;AAK5B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,2DAAyC;AACzC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,sDAAoC;AACpC,2DAAyC;AACzC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AAEtC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,iDAA+B"}
|
package/cjs/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.concatUint8 = concatUint8;
|
|
4
|
+
function concatUint8(...arrays) {
|
|
5
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
6
|
+
const result = new Uint8Array(total);
|
|
7
|
+
let offset = 0;
|
|
8
|
+
for (const arr of arrays) {
|
|
9
|
+
result.set(arr, offset);
|
|
10
|
+
offset += arr.length;
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=concat-uint8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":";;;AAoBA,qBAA4B,GAAG,MAAoB,EAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,wBAAgB,WAAW,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAS/D"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const cement_1 = require("@adviser/cement");
|
|
5
|
+
(0, vitest_1.describe)("concatUint8 edge cases", () => {
|
|
6
|
+
(0, vitest_1.it)("no arguments returns empty array", () => {
|
|
7
|
+
const result = (0, cement_1.concatUint8)();
|
|
8
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
9
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
10
|
+
});
|
|
11
|
+
(0, vitest_1.it)("single empty array returns empty array", () => {
|
|
12
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0));
|
|
13
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
14
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
15
|
+
});
|
|
16
|
+
(0, vitest_1.it)("multiple empty arrays returns empty array", () => {
|
|
17
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0), new Uint8Array(0), new Uint8Array(0));
|
|
18
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
19
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)("single array with one byte", () => {
|
|
22
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([42]));
|
|
23
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([42]));
|
|
24
|
+
});
|
|
25
|
+
(0, vitest_1.it)("empty array mixed with non-empty arrays", () => {
|
|
26
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0), new Uint8Array([1, 2]), new Uint8Array(0), new Uint8Array([3]));
|
|
27
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3]));
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)("all zero bytes are preserved", () => {
|
|
30
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([0, 0]), new Uint8Array([0]));
|
|
31
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([0, 0, 0]));
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)("boundary byte values (0 and 255)", () => {
|
|
34
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([0]), new Uint8Array([255]));
|
|
35
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([0, 255]));
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)("returns a new array independent from inputs", () => {
|
|
38
|
+
const a = new Uint8Array([1, 2, 3]);
|
|
39
|
+
const result = (0, cement_1.concatUint8)(a);
|
|
40
|
+
result[0] = 99;
|
|
41
|
+
(0, vitest_1.expect)(a[0]).toBe(1);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
(0, vitest_1.describe)("concatUint8 normal cases", () => {
|
|
45
|
+
(0, vitest_1.it)("two arrays", () => {
|
|
46
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6]));
|
|
47
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
48
|
+
});
|
|
49
|
+
(0, vitest_1.it)("three arrays", () => {
|
|
50
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([1]), new Uint8Array([2, 3]), new Uint8Array([4, 5, 6]));
|
|
51
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.it)("total length equals sum of input lengths", () => {
|
|
54
|
+
const a = new Uint8Array(7);
|
|
55
|
+
const b = new Uint8Array(13);
|
|
56
|
+
const result = (0, cement_1.concatUint8)(a, b);
|
|
57
|
+
(0, vitest_1.expect)(result.length).toBe(20);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=concat-uint8.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":""}
|
package/cjs/version.cjs
CHANGED
package/deno.json
CHANGED
package/esm/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,wBAAgB,WAAW,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAS/D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function concatUint8(...arrays) {
|
|
2
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
3
|
+
const result = new Uint8Array(total);
|
|
4
|
+
let offset = 0;
|
|
5
|
+
for (const arr of arrays) {
|
|
6
|
+
result.set(arr, offset);
|
|
7
|
+
offset += arr.length;
|
|
8
|
+
}
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=concat-uint8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,WAAW,CAAC,GAAG,MAAoB,EAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { it, expect, describe } from "vitest";
|
|
2
|
+
import { concatUint8 } from "@adviser/cement";
|
|
3
|
+
describe("concatUint8 edge cases", () => {
|
|
4
|
+
it("no arguments returns empty array", () => {
|
|
5
|
+
const result = concatUint8();
|
|
6
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
7
|
+
expect(result.length).toBe(0);
|
|
8
|
+
});
|
|
9
|
+
it("single empty array returns empty array", () => {
|
|
10
|
+
const result = concatUint8(new Uint8Array(0));
|
|
11
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
12
|
+
expect(result.length).toBe(0);
|
|
13
|
+
});
|
|
14
|
+
it("multiple empty arrays returns empty array", () => {
|
|
15
|
+
const result = concatUint8(new Uint8Array(0), new Uint8Array(0), new Uint8Array(0));
|
|
16
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
17
|
+
expect(result.length).toBe(0);
|
|
18
|
+
});
|
|
19
|
+
it("single array with one byte", () => {
|
|
20
|
+
const result = concatUint8(new Uint8Array([42]));
|
|
21
|
+
expect(result).toEqual(new Uint8Array([42]));
|
|
22
|
+
});
|
|
23
|
+
it("empty array mixed with non-empty arrays", () => {
|
|
24
|
+
const result = concatUint8(new Uint8Array(0), new Uint8Array([1, 2]), new Uint8Array(0), new Uint8Array([3]));
|
|
25
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3]));
|
|
26
|
+
});
|
|
27
|
+
it("all zero bytes are preserved", () => {
|
|
28
|
+
const result = concatUint8(new Uint8Array([0, 0]), new Uint8Array([0]));
|
|
29
|
+
expect(result).toEqual(new Uint8Array([0, 0, 0]));
|
|
30
|
+
});
|
|
31
|
+
it("boundary byte values (0 and 255)", () => {
|
|
32
|
+
const result = concatUint8(new Uint8Array([0]), new Uint8Array([255]));
|
|
33
|
+
expect(result).toEqual(new Uint8Array([0, 255]));
|
|
34
|
+
});
|
|
35
|
+
it("returns a new array independent from inputs", () => {
|
|
36
|
+
const a = new Uint8Array([1, 2, 3]);
|
|
37
|
+
const result = concatUint8(a);
|
|
38
|
+
result[0] = 99;
|
|
39
|
+
expect(a[0]).toBe(1);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe("concatUint8 normal cases", () => {
|
|
43
|
+
it("two arrays", () => {
|
|
44
|
+
const result = concatUint8(new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6]));
|
|
45
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
46
|
+
});
|
|
47
|
+
it("three arrays", () => {
|
|
48
|
+
const result = concatUint8(new Uint8Array([1]), new Uint8Array([2, 3]), new Uint8Array([4, 5, 6]));
|
|
49
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
50
|
+
});
|
|
51
|
+
it("total length equals sum of input lengths", () => {
|
|
52
|
+
const a = new Uint8Array(7);
|
|
53
|
+
const b = new Uint8Array(13);
|
|
54
|
+
const result = concatUint8(a, b);
|
|
55
|
+
expect(result.length).toBe(20);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=concat-uint8.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":"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"}
|
package/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.5.
|
|
1
|
+
export const VERSION = "0.5.28";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -53,6 +53,7 @@ export * from "./utils/stripper.js";
|
|
|
53
53
|
export * from "./utils/sorted-object.js";
|
|
54
54
|
export * from "./utils/uint8array-equal.js";
|
|
55
55
|
export * from "./utils/coerce-uint8.js";
|
|
56
|
+
export * from "./utils/concat-uint8.js";
|
|
56
57
|
export * from "./utils/consume.js";
|
|
57
58
|
export * from "./utils/to-sorted.js";
|
|
58
59
|
export * from "./utils/relative-path.js";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concatenates multiple Uint8Arrays into a single Uint8Array.
|
|
3
|
+
*
|
|
4
|
+
* Allocates a single buffer and copies each array into it, which is
|
|
5
|
+
* more efficient than spread-based approaches for many or large arrays.
|
|
6
|
+
*
|
|
7
|
+
* @param arrays - Zero or more Uint8Arrays to concatenate
|
|
8
|
+
* @returns A new Uint8Array containing all bytes in order
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const a = new Uint8Array([1, 2, 3]);
|
|
13
|
+
* const b = new Uint8Array([4, 5]);
|
|
14
|
+
* const c = new Uint8Array([6]);
|
|
15
|
+
*
|
|
16
|
+
* concatUint8(a, b, c); // Uint8Array([1, 2, 3, 4, 5, 6])
|
|
17
|
+
* concatUint8(); // Uint8Array([])
|
|
18
|
+
* concatUint8(a); // Uint8Array([1, 2, 3])
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function concatUint8(...arrays: Uint8Array[]): Uint8Array {
|
|
22
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
23
|
+
const result = new Uint8Array(total);
|
|
24
|
+
let offset = 0;
|
|
25
|
+
for (const arr of arrays) {
|
|
26
|
+
result.set(arr, offset);
|
|
27
|
+
offset += arr.length;
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
package/ts/cjs/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/ts/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/ts/cjs/index.js
CHANGED
|
@@ -65,6 +65,7 @@ __exportStar(require("./utils/stripper.js"), exports);
|
|
|
65
65
|
__exportStar(require("./utils/sorted-object.js"), exports);
|
|
66
66
|
__exportStar(require("./utils/uint8array-equal.js"), exports);
|
|
67
67
|
__exportStar(require("./utils/coerce-uint8.js"), exports);
|
|
68
|
+
__exportStar(require("./utils/concat-uint8.js"), exports);
|
|
68
69
|
__exportStar(require("./utils/consume.js"), exports);
|
|
69
70
|
__exportStar(require("./utils/to-sorted.js"), exports);
|
|
70
71
|
__exportStar(require("./utils/relative-path.js"), exports);
|
package/ts/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,8CAA4B;AAC5B,uDAAqC;AACrC,+CAA6B;AAC7B,4CAA0B;AAC1B,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,oDAAkC;AAClC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,4DAA0C;AAC1C,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,uDAAqC;AACrC,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,8CAA4B;AAK5B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,2DAAyC;AACzC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,sDAAoC;AACpC,2DAAyC;AACzC,8DAA4C;AAC5C,0DAAwC;AACxC,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AAEtC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,8CAA4B;AAC5B,uDAAqC;AACrC,+CAA6B;AAC7B,4CAA0B;AAC1B,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,oDAAkC;AAClC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,4DAA0C;AAC1C,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,uDAAqC;AACrC,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,gDAA8B;AAC9B,8CAA4B;AAC5B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,8CAA4B;AAK5B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,2DAAyC;AACzC,kEAAgD;AAChD,iEAA+C;AAC/C,+DAA6C;AAC7C,sDAAoC;AACpC,2DAAyC;AACzC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AAEtC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,wBAAgB,WAAW,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAS/D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.concatUint8 = concatUint8;
|
|
4
|
+
function concatUint8(...arrays) {
|
|
5
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
6
|
+
const result = new Uint8Array(total);
|
|
7
|
+
let offset = 0;
|
|
8
|
+
for (const arr of arrays) {
|
|
9
|
+
result.set(arr, offset);
|
|
10
|
+
offset += arr.length;
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=concat-uint8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":";;;AAoBA,qBAA4B,GAAG,MAAoB,EAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const cement_1 = require("@adviser/cement");
|
|
5
|
+
(0, vitest_1.describe)("concatUint8 edge cases", () => {
|
|
6
|
+
(0, vitest_1.it)("no arguments returns empty array", () => {
|
|
7
|
+
const result = (0, cement_1.concatUint8)();
|
|
8
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
9
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
10
|
+
});
|
|
11
|
+
(0, vitest_1.it)("single empty array returns empty array", () => {
|
|
12
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0));
|
|
13
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
14
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
15
|
+
});
|
|
16
|
+
(0, vitest_1.it)("multiple empty arrays returns empty array", () => {
|
|
17
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0), new Uint8Array(0), new Uint8Array(0));
|
|
18
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Uint8Array);
|
|
19
|
+
(0, vitest_1.expect)(result.length).toBe(0);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)("single array with one byte", () => {
|
|
22
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([42]));
|
|
23
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([42]));
|
|
24
|
+
});
|
|
25
|
+
(0, vitest_1.it)("empty array mixed with non-empty arrays", () => {
|
|
26
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array(0), new Uint8Array([1, 2]), new Uint8Array(0), new Uint8Array([3]));
|
|
27
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3]));
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)("all zero bytes are preserved", () => {
|
|
30
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([0, 0]), new Uint8Array([0]));
|
|
31
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([0, 0, 0]));
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)("boundary byte values (0 and 255)", () => {
|
|
34
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([0]), new Uint8Array([255]));
|
|
35
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([0, 255]));
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)("returns a new array independent from inputs", () => {
|
|
38
|
+
const a = new Uint8Array([1, 2, 3]);
|
|
39
|
+
const result = (0, cement_1.concatUint8)(a);
|
|
40
|
+
result[0] = 99;
|
|
41
|
+
(0, vitest_1.expect)(a[0]).toBe(1);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
(0, vitest_1.describe)("concatUint8 normal cases", () => {
|
|
45
|
+
(0, vitest_1.it)("two arrays", () => {
|
|
46
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6]));
|
|
47
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
48
|
+
});
|
|
49
|
+
(0, vitest_1.it)("three arrays", () => {
|
|
50
|
+
const result = (0, cement_1.concatUint8)(new Uint8Array([1]), new Uint8Array([2, 3]), new Uint8Array([4, 5, 6]));
|
|
51
|
+
(0, vitest_1.expect)(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.it)("total length equals sum of input lengths", () => {
|
|
54
|
+
const a = new Uint8Array(7);
|
|
55
|
+
const b = new Uint8Array(13);
|
|
56
|
+
const result = (0, cement_1.concatUint8)(a, b);
|
|
57
|
+
(0, vitest_1.expect)(result.length).toBe(20);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=concat-uint8.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":"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"}
|
package/ts/cjs/version.js
CHANGED
package/ts/esm/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/ts/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/ts/esm/index.js
CHANGED
|
@@ -49,6 +49,7 @@ export * from "./utils/stripper.js";
|
|
|
49
49
|
export * from "./utils/sorted-object.js";
|
|
50
50
|
export * from "./utils/uint8array-equal.js";
|
|
51
51
|
export * from "./utils/coerce-uint8.js";
|
|
52
|
+
export * from "./utils/concat-uint8.js";
|
|
52
53
|
export * from "./utils/consume.js";
|
|
53
54
|
export * from "./utils/to-sorted.js";
|
|
54
55
|
export * from "./utils/relative-path.js";
|
package/ts/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAK5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,wBAAgB,WAAW,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAS/D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function concatUint8(...arrays) {
|
|
2
|
+
const total = arrays.reduce((sum, a) => sum + a.length, 0);
|
|
3
|
+
const result = new Uint8Array(total);
|
|
4
|
+
let offset = 0;
|
|
5
|
+
for (const arr of arrays) {
|
|
6
|
+
result.set(arr, offset);
|
|
7
|
+
offset += arr.length;
|
|
8
|
+
}
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=concat-uint8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,WAAW,CAAC,GAAG,MAAoB,EAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { it, expect, describe } from "vitest";
|
|
2
|
+
import { concatUint8 } from "@adviser/cement";
|
|
3
|
+
describe("concatUint8 edge cases", () => {
|
|
4
|
+
it("no arguments returns empty array", () => {
|
|
5
|
+
const result = concatUint8();
|
|
6
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
7
|
+
expect(result.length).toBe(0);
|
|
8
|
+
});
|
|
9
|
+
it("single empty array returns empty array", () => {
|
|
10
|
+
const result = concatUint8(new Uint8Array(0));
|
|
11
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
12
|
+
expect(result.length).toBe(0);
|
|
13
|
+
});
|
|
14
|
+
it("multiple empty arrays returns empty array", () => {
|
|
15
|
+
const result = concatUint8(new Uint8Array(0), new Uint8Array(0), new Uint8Array(0));
|
|
16
|
+
expect(result).toBeInstanceOf(Uint8Array);
|
|
17
|
+
expect(result.length).toBe(0);
|
|
18
|
+
});
|
|
19
|
+
it("single array with one byte", () => {
|
|
20
|
+
const result = concatUint8(new Uint8Array([42]));
|
|
21
|
+
expect(result).toEqual(new Uint8Array([42]));
|
|
22
|
+
});
|
|
23
|
+
it("empty array mixed with non-empty arrays", () => {
|
|
24
|
+
const result = concatUint8(new Uint8Array(0), new Uint8Array([1, 2]), new Uint8Array(0), new Uint8Array([3]));
|
|
25
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3]));
|
|
26
|
+
});
|
|
27
|
+
it("all zero bytes are preserved", () => {
|
|
28
|
+
const result = concatUint8(new Uint8Array([0, 0]), new Uint8Array([0]));
|
|
29
|
+
expect(result).toEqual(new Uint8Array([0, 0, 0]));
|
|
30
|
+
});
|
|
31
|
+
it("boundary byte values (0 and 255)", () => {
|
|
32
|
+
const result = concatUint8(new Uint8Array([0]), new Uint8Array([255]));
|
|
33
|
+
expect(result).toEqual(new Uint8Array([0, 255]));
|
|
34
|
+
});
|
|
35
|
+
it("returns a new array independent from inputs", () => {
|
|
36
|
+
const a = new Uint8Array([1, 2, 3]);
|
|
37
|
+
const result = concatUint8(a);
|
|
38
|
+
result[0] = 99;
|
|
39
|
+
expect(a[0]).toBe(1);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe("concatUint8 normal cases", () => {
|
|
43
|
+
it("two arrays", () => {
|
|
44
|
+
const result = concatUint8(new Uint8Array([1, 2, 3]), new Uint8Array([4, 5, 6]));
|
|
45
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
46
|
+
});
|
|
47
|
+
it("three arrays", () => {
|
|
48
|
+
const result = concatUint8(new Uint8Array([1]), new Uint8Array([2, 3]), new Uint8Array([4, 5, 6]));
|
|
49
|
+
expect(result).toEqual(new Uint8Array([1, 2, 3, 4, 5, 6]));
|
|
50
|
+
});
|
|
51
|
+
it("total length equals sum of input lengths", () => {
|
|
52
|
+
const a = new Uint8Array(7);
|
|
53
|
+
const b = new Uint8Array(13);
|
|
54
|
+
const result = concatUint8(a, b);
|
|
55
|
+
expect(result.length).toBe(20);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=concat-uint8.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-uint8.test.js","sourceRoot":"","sources":["../../../../src/utils/concat-uint8.test.ts"],"names":[],"mappings":"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"}
|
package/ts/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.5.
|
|
1
|
+
export const VERSION = "0.5.28";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|