@adviser/cement 0.5.27 → 0.5.29
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/utils/tee-writer.cjs +2 -2
- package/cjs/utils/tee-writer.cjs.map +1 -1
- package/cjs/utils/tee-writer.d.ts +5 -10
- package/cjs/utils/tee-writer.d.ts.map +1 -1
- package/cjs/utils/tee-writer.test.cjs +6 -9
- package/cjs/utils/tee-writer.test.cjs.map +1 -1
- 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/utils/tee-writer.d.ts +5 -10
- package/esm/utils/tee-writer.d.ts.map +1 -1
- package/esm/utils/tee-writer.js +2 -2
- package/esm/utils/tee-writer.js.map +1 -1
- package/esm/utils/tee-writer.test.js +6 -9
- package/esm/utils/tee-writer.test.js.map +1 -1
- 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/src/utils/tee-writer.ts +9 -9
- 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/utils/tee-writer.d.ts +5 -10
- package/ts/cjs/utils/tee-writer.d.ts.map +1 -1
- package/ts/cjs/utils/tee-writer.js +2 -2
- package/ts/cjs/utils/tee-writer.js.map +1 -1
- package/ts/cjs/utils/tee-writer.test.js +6 -9
- package/ts/cjs/utils/tee-writer.test.js.map +1 -1
- 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/utils/tee-writer.d.ts +5 -10
- package/ts/esm/utils/tee-writer.d.ts.map +1 -1
- package/ts/esm/utils/tee-writer.js +2 -2
- package/ts/esm/utils/tee-writer.js.map +1 -1
- package/ts/esm/utils/tee-writer.test.js +6 -9
- package/ts/esm/utils/tee-writer.test.js.map +1 -1
- 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/utils/tee-writer.cjs
CHANGED
|
@@ -27,7 +27,7 @@ async function teeWriter(peers, inStream) {
|
|
|
27
27
|
return result_js_1.Result.Err(new Error("all peers failed"));
|
|
28
28
|
}
|
|
29
29
|
const [winner, ...losers] = activeStreams;
|
|
30
|
-
await Promise.allSettled(losers.map((stream) => stream.cancel()));
|
|
31
|
-
return result_js_1.Result.Ok({ peer: winner
|
|
30
|
+
await Promise.allSettled([winner.close(), ...losers.map((stream) => stream.cancel())]);
|
|
31
|
+
return result_js_1.Result.Ok({ peer: winner });
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=tee-writer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tee-writer.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAiBjD,KAAK,oBAAoB,KAAa,EAAE,QAAoC,EAAgC;IACjH,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAgB,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,kBAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,CAAC,UAAU,CACtB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QAAA,CACX,CAAC,CACH,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,kBAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;IAC1C,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tee-writer.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAiBjD,KAAK,oBAAoB,KAAa,EAAE,QAAoC,EAAgC;IACjH,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAgB,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,kBAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,CAAC,UAAU,CACtB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QAAA,CACX,CAAC,CACH,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,kBAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;IAC1C,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,kBAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAAA,CACpC"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { Result } from "../result.js";
|
|
2
|
-
export interface PeerStream {
|
|
3
|
-
write: (chunk:
|
|
2
|
+
export interface PeerStream<C = Uint8Array> {
|
|
3
|
+
write: (chunk: C) => Promise<void>;
|
|
4
4
|
cancel: () => Promise<void>;
|
|
5
|
-
|
|
6
|
-
url: string;
|
|
7
|
-
}>;
|
|
5
|
+
close: () => Promise<void>;
|
|
8
6
|
}
|
|
9
|
-
export interface Peer {
|
|
10
|
-
begin: () => Promise<PeerStream
|
|
7
|
+
export interface Peer<C = Uint8Array> {
|
|
8
|
+
begin: () => Promise<PeerStream<C>>;
|
|
11
9
|
}
|
|
12
10
|
export interface TeeWriterOk {
|
|
13
11
|
readonly peer: PeerStream;
|
|
14
|
-
readonly commit: (name?: string) => Promise<{
|
|
15
|
-
url: string;
|
|
16
|
-
}>;
|
|
17
12
|
}
|
|
18
13
|
export declare function teeWriter(peers: Peer[], inStream: ReadableStream<Uint8Array>): Promise<Result<TeeWriterOk>>;
|
|
19
14
|
//# sourceMappingURL=tee-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tee-writer.d.ts","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"tee-writer.d.ts","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,UAAU;IACxC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAE5B;AACD,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,UAAU;IAClC,KAAK,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAE3B;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CA+BjH"}
|
|
@@ -16,7 +16,7 @@ function makePeerStream(overrides = {}) {
|
|
|
16
16
|
return {
|
|
17
17
|
write: vitest_1.vi.fn().mockResolvedValue(undefined),
|
|
18
18
|
cancel: vitest_1.vi.fn(),
|
|
19
|
-
|
|
19
|
+
close: vitest_1.vi.fn(),
|
|
20
20
|
...overrides,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
@@ -31,14 +31,12 @@ function makePeer(peerStream) {
|
|
|
31
31
|
const peer = makePeer(ps);
|
|
32
32
|
const result = await (0, tee_writer_js_1.teeWriter)([peer], makeStream([chunk1, chunk2]));
|
|
33
33
|
(0, vitest_1.expect)(result.isOk()).toBe(true);
|
|
34
|
-
const { peer: winnerPeer
|
|
34
|
+
const { peer: winnerPeer } = result.Ok();
|
|
35
35
|
(0, vitest_1.expect)(winnerPeer).toBe(ps);
|
|
36
36
|
(0, vitest_1.expect)(ps.write).toHaveBeenCalledTimes(2);
|
|
37
37
|
(0, vitest_1.expect)(ps.write).toHaveBeenNthCalledWith(1, chunk1);
|
|
38
38
|
(0, vitest_1.expect)(ps.write).toHaveBeenNthCalledWith(2, chunk2);
|
|
39
|
-
|
|
40
|
-
(0, vitest_1.expect)(commitResult).toEqual({ url: "https://example.com/blob" });
|
|
41
|
-
(0, vitest_1.expect)(ps.commit).toHaveBeenCalledWith("my-key");
|
|
39
|
+
(0, vitest_1.expect)(ps.close).toHaveBeenCalledOnce();
|
|
42
40
|
});
|
|
43
41
|
(0, vitest_1.it)("returns the first peer and cancels the rest when all succeed", async () => {
|
|
44
42
|
const ps1 = makePeerStream();
|
|
@@ -48,6 +46,7 @@ function makePeer(peerStream) {
|
|
|
48
46
|
(0, vitest_1.expect)(result.isOk()).toBe(true);
|
|
49
47
|
const { peer: winnerPeer } = result.Ok();
|
|
50
48
|
(0, vitest_1.expect)(winnerPeer).toBe(ps1);
|
|
49
|
+
(0, vitest_1.expect)(ps1.close).toHaveBeenCalledOnce();
|
|
51
50
|
(0, vitest_1.expect)(ps1.cancel).not.toHaveBeenCalled();
|
|
52
51
|
(0, vitest_1.expect)(ps2.cancel).toHaveBeenCalled();
|
|
53
52
|
(0, vitest_1.expect)(ps3.cancel).toHaveBeenCalled();
|
|
@@ -112,10 +111,8 @@ function makePeer(peerStream) {
|
|
|
112
111
|
const ps = makePeerStream();
|
|
113
112
|
const result = await (0, tee_writer_js_1.teeWriter)([makePeer(ps)], makeStream([]));
|
|
114
113
|
(0, vitest_1.expect)(result.isOk()).toBe(true);
|
|
115
|
-
|
|
116
|
-
(0, vitest_1.expect)(ps.
|
|
117
|
-
await result.Ok().commit();
|
|
118
|
-
(0, vitest_1.expect)(ps.commit).toHaveBeenCalledWith(undefined);
|
|
114
|
+
(0, vitest_1.expect)(ps.cancel).not.toHaveBeenCalled();
|
|
115
|
+
(0, vitest_1.expect)(ps.close).toHaveBeenCalledOnce();
|
|
119
116
|
});
|
|
120
117
|
});
|
|
121
118
|
(0, vitest_1.describe)("teeWriter resilience", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tee-writer.test.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tee-writer.test.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.test.ts"],"names":[],"mappings":"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"}
|
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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"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { Result } from "../result.js";
|
|
2
|
-
export interface PeerStream {
|
|
3
|
-
write: (chunk:
|
|
2
|
+
export interface PeerStream<C = Uint8Array> {
|
|
3
|
+
write: (chunk: C) => Promise<void>;
|
|
4
4
|
cancel: () => Promise<void>;
|
|
5
|
-
|
|
6
|
-
url: string;
|
|
7
|
-
}>;
|
|
5
|
+
close: () => Promise<void>;
|
|
8
6
|
}
|
|
9
|
-
export interface Peer {
|
|
10
|
-
begin: () => Promise<PeerStream
|
|
7
|
+
export interface Peer<C = Uint8Array> {
|
|
8
|
+
begin: () => Promise<PeerStream<C>>;
|
|
11
9
|
}
|
|
12
10
|
export interface TeeWriterOk {
|
|
13
11
|
readonly peer: PeerStream;
|
|
14
|
-
readonly commit: (name?: string) => Promise<{
|
|
15
|
-
url: string;
|
|
16
|
-
}>;
|
|
17
12
|
}
|
|
18
13
|
export declare function teeWriter(peers: Peer[], inStream: ReadableStream<Uint8Array>): Promise<Result<TeeWriterOk>>;
|
|
19
14
|
//# sourceMappingURL=tee-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tee-writer.d.ts","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"tee-writer.d.ts","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,UAAU;IACxC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAE5B;AACD,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,UAAU;IAClC,KAAK,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAE3B;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CA+BjH"}
|
package/esm/utils/tee-writer.js
CHANGED
|
@@ -24,7 +24,7 @@ export async function teeWriter(peers, inStream) {
|
|
|
24
24
|
return Result.Err(new Error("all peers failed"));
|
|
25
25
|
}
|
|
26
26
|
const [winner, ...losers] = activeStreams;
|
|
27
|
-
await Promise.allSettled(losers.map((stream) => stream.cancel()));
|
|
28
|
-
return Result.Ok({ peer: winner
|
|
27
|
+
await Promise.allSettled([winner.close(), ...losers.map((stream) => stream.cancel())]);
|
|
28
|
+
return Result.Ok({ peer: winner });
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=tee-writer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tee-writer.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiBxD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,QAAoC,EAAgC;IACjH,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,CAAC,UAAU,CACtB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QAAA,CACX,CAAC,CACH,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;IAC1C,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tee-writer.js","sourceRoot":"","sources":["../../../../src/utils/tee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiBxD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,QAAoC,EAAgC;IACjH,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,CAAC,UAAU,CACtB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QAAA,CACX,CAAC,CACH,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;IAC1C,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAAA,CACpC"}
|
|
@@ -14,7 +14,7 @@ function makePeerStream(overrides = {}) {
|
|
|
14
14
|
return {
|
|
15
15
|
write: vi.fn().mockResolvedValue(undefined),
|
|
16
16
|
cancel: vi.fn(),
|
|
17
|
-
|
|
17
|
+
close: vi.fn(),
|
|
18
18
|
...overrides,
|
|
19
19
|
};
|
|
20
20
|
}
|
|
@@ -29,14 +29,12 @@ describe("teeWriter", () => {
|
|
|
29
29
|
const peer = makePeer(ps);
|
|
30
30
|
const result = await teeWriter([peer], makeStream([chunk1, chunk2]));
|
|
31
31
|
expect(result.isOk()).toBe(true);
|
|
32
|
-
const { peer: winnerPeer
|
|
32
|
+
const { peer: winnerPeer } = result.Ok();
|
|
33
33
|
expect(winnerPeer).toBe(ps);
|
|
34
34
|
expect(ps.write).toHaveBeenCalledTimes(2);
|
|
35
35
|
expect(ps.write).toHaveBeenNthCalledWith(1, chunk1);
|
|
36
36
|
expect(ps.write).toHaveBeenNthCalledWith(2, chunk2);
|
|
37
|
-
|
|
38
|
-
expect(commitResult).toEqual({ url: "https://example.com/blob" });
|
|
39
|
-
expect(ps.commit).toHaveBeenCalledWith("my-key");
|
|
37
|
+
expect(ps.close).toHaveBeenCalledOnce();
|
|
40
38
|
});
|
|
41
39
|
it("returns the first peer and cancels the rest when all succeed", async () => {
|
|
42
40
|
const ps1 = makePeerStream();
|
|
@@ -46,6 +44,7 @@ describe("teeWriter", () => {
|
|
|
46
44
|
expect(result.isOk()).toBe(true);
|
|
47
45
|
const { peer: winnerPeer } = result.Ok();
|
|
48
46
|
expect(winnerPeer).toBe(ps1);
|
|
47
|
+
expect(ps1.close).toHaveBeenCalledOnce();
|
|
49
48
|
expect(ps1.cancel).not.toHaveBeenCalled();
|
|
50
49
|
expect(ps2.cancel).toHaveBeenCalled();
|
|
51
50
|
expect(ps3.cancel).toHaveBeenCalled();
|
|
@@ -110,10 +109,8 @@ describe("teeWriter", () => {
|
|
|
110
109
|
const ps = makePeerStream();
|
|
111
110
|
const result = await teeWriter([makePeer(ps)], makeStream([]));
|
|
112
111
|
expect(result.isOk()).toBe(true);
|
|
113
|
-
|
|
114
|
-
expect(ps.
|
|
115
|
-
await result.Ok().commit();
|
|
116
|
-
expect(ps.commit).toHaveBeenCalledWith(undefined);
|
|
112
|
+
expect(ps.cancel).not.toHaveBeenCalled();
|
|
113
|
+
expect(ps.close).toHaveBeenCalledOnce();
|
|
117
114
|
});
|
|
118
115
|
});
|
|
119
116
|
describe("teeWriter resilience", () => {
|