cojson 0.7.11 → 0.7.17

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # cojson
2
2
 
3
+ ## 0.7.17
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix bugs in new storage interface
8
+
9
+ ## 0.7.14
10
+
11
+ ### Patch Changes
12
+
13
+ - Use Effect Queues and Streams instead of custom queue implementation
14
+
3
15
  ## 0.7.11
4
16
 
5
17
  ### Patch Changes
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ import { parseJSON } from "./jsonStringify.js";
16
16
  import { RawAccount, RawProfile, accountHeaderForInitialAgentSecret, } from "./coValues/account.js";
17
17
  import { expectGroup } from "./typeUtils/expectGroup.js";
18
18
  import { isAccountID } from "./typeUtils/isAccountID.js";
19
+ import { DisconnectedError, PingTimeoutError } from "./sync.js";
19
20
  import { LSMStorage, } from "./storage/index.js";
20
21
  /** @hidden */
21
22
  export const cojsonInternals = {
@@ -35,5 +36,5 @@ export const cojsonInternals = {
35
36
  idforHeader,
36
37
  StreamingHash,
37
38
  };
38
- export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, WasmCrypto, PureJSCrypto, isRawCoID, LSMStorage, };
39
+ export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, WasmCrypto, PureJSCrypto, isRawCoID, LSMStorage, DisconnectedError, PingTimeoutError, };
39
40
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,UAAU,EACV,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAqBzD,OAAO,EACH,UAAU,GAIb,MAAM,oBAAoB,CAAC;AAG5B,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;IACX,aAAa;CAChB,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,UAAU,IAAI,OAAO,EAGrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAQvB,cAAc,EACd,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,UAAU,GACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,UAAU,EACV,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAezD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAYhE,OAAO,EACH,UAAU,GAIb,MAAM,oBAAoB,CAAC;AAG5B,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;IACX,aAAa;CAChB,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,UAAU,IAAI,OAAO,EAGrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAQvB,cAAc,EACd,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACnB,CAAC"}
@@ -41,11 +41,17 @@ export function writeBlock(chunks, level, fs) {
41
41
  }
42
42
  const headerBytes = textEncoder.encode(JSON.stringify(blockHeader));
43
43
  yield* $(fs.append(file, headerBytes));
44
- console.log("full file", yield* $(fs.read(file, 0, offset + headerBytes.length)));
44
+ // console.log(
45
+ // "full file",
46
+ // yield* $(
47
+ // fs.read(file as unknown as RH, 0, offset + headerBytes.length),
48
+ // ),
49
+ // );
45
50
  const filename = `${hash.digest()}-L${level}-H${headerBytes.length}.jsonl`;
46
- console.log("renaming to" + filename);
51
+ // console.log("renaming to" + filename);
47
52
  yield* $(fs.closeAndRename(file, filename));
48
- console.log("Wrote block", filename, blockHeader);
53
+ // console.log("Wrote block", filename, blockHeader);
54
+ // console.log("IDs in block", blockHeader.map(e => e.id));
49
55
  });
50
56
  }
51
57
  export function writeToWal(handle, fs, id, chunk) {
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/storage/FileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/storage/FileSystem.ts"],"names":[],"mappings":"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"}
@@ -84,9 +84,11 @@ export function mergeChunks(chunkA, chunkB) {
84
84
  else {
85
85
  const lastNewEntry = newEntries[newEntries.length - 1];
86
86
  lastNewEntry.transactions.push(...entry.transactions);
87
+ lastNewEntry.lastSignature = entry.lastSignature;
87
88
  bytesSinceLastSignature += entry.transactions.length;
88
89
  }
89
90
  }
91
+ newSessions[sessionID] = newEntries;
90
92
  }
91
93
  else {
92
94
  return Either.right("nonContigous");
@@ -1 +1 @@
1
- {"version":3,"file":"chunksAndKnownStates.js","sourceRoot":"","sources":["../../src/storage/chunksAndKnownStates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunksAndKnownStates.js","sourceRoot":"","sources":["../../src/storage/chunksAndKnownStates.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,26 @@
1
- import { Effect, Either, SynchronizedRef } from "effect";
1
+ import { Effect, Either, Queue, Stream, SynchronizedRef } from "effect";
2
2
  import { connectedPeers } from "../streamUtils.js";
3
3
  import { chunkToKnownState, contentSinceChunk, mergeChunks, } from "./chunksAndKnownStates.js";
4
4
  import { readChunk, readHeader, textDecoder, writeBlock, writeToWal, } from "./FileSystem.js";
5
5
  export class LSMStorage {
6
6
  constructor(fs, fromLocalNode, toLocalNode) {
7
- this.headerCache = new Map();
8
7
  this.fs = fs;
9
- this.fromLocalNode = fromLocalNode.getReader();
10
- this.toLocalNode = toLocalNode.getWriter();
8
+ this.fromLocalNode = fromLocalNode;
9
+ this.toLocalNode = toLocalNode;
10
+ this.headerCache = new Map();
11
11
  this.coValues = SynchronizedRef.unsafeMake({});
12
12
  this.currentWal = SynchronizedRef.unsafeMake(undefined);
13
- void Effect.runPromise(Effect.gen(this, function* () {
14
- let done = false;
15
- while (!done) {
16
- const result = yield* Effect.promise(() => this.fromLocalNode.read());
17
- done = result.done;
18
- if (result.value) {
19
- if (result.value.action === "done") {
20
- continue;
21
- }
22
- if (result.value.action === "content") {
23
- yield* this.handleNewContent(result.value);
24
- }
25
- else {
26
- yield* this.sendNewContent(result.value.id, result.value, undefined);
27
- }
28
- }
13
+ void this.fromLocalNode.pipe(Stream.runForEach((msg) => Effect.gen(this, function* () {
14
+ if (msg.action === "done") {
15
+ return;
29
16
  }
30
- return;
31
- }));
17
+ if (msg.action === "content") {
18
+ yield* this.handleNewContent(msg);
19
+ }
20
+ else {
21
+ yield* this.sendNewContent(msg.id, msg, undefined);
22
+ }
23
+ })), Effect.runPromise);
32
24
  setTimeout(() => this.compact(), 20000);
33
25
  }
34
26
  sendNewContent(id, known, asDependencyOf) {
@@ -41,13 +33,13 @@ export class LSMStorage {
41
33
  coValue = yield* this.loadCoValue(id, this.fs);
42
34
  }
43
35
  if (!coValue) {
44
- yield* Effect.promise(() => this.toLocalNode.write({
36
+ yield* Queue.offer(this.toLocalNode, {
45
37
  id: id,
46
38
  action: "known",
47
39
  header: false,
48
40
  sessions: {},
49
41
  asDependencyOf,
50
- }));
42
+ });
51
43
  return coValues;
52
44
  }
53
45
  if (!known?.header &&
@@ -78,15 +70,15 @@ export class LSMStorage {
78
70
  }
79
71
  const newContentMessages = contentSinceChunk(id, coValue, known).map((message) => ({ ...message, asDependencyOf }));
80
72
  const ourKnown = chunkToKnownState(id, coValue);
81
- yield* Effect.promise(() => this.toLocalNode.write({
73
+ yield* Queue.offer(this.toLocalNode, {
82
74
  action: "known",
83
75
  ...ourKnown,
84
76
  asDependencyOf,
85
- }));
77
+ });
86
78
  for (const message of newContentMessages) {
87
79
  if (Object.keys(message.new).length === 0)
88
80
  continue;
89
- yield* Effect.promise(() => this.toLocalNode.write(message));
81
+ yield* Queue.offer(this.toLocalNode, message);
90
82
  }
91
83
  return { ...coValues, [id]: coValue };
92
84
  });
@@ -121,7 +113,7 @@ export class LSMStorage {
121
113
  };
122
114
  if (!coValue) {
123
115
  if (newContent.header) {
124
- console.log("Creating in WAL", newContent.id);
116
+ // console.log("Creating in WAL", newContent.id);
125
117
  yield* this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
126
118
  return {
127
119
  ...coValues,
@@ -140,14 +132,22 @@ export class LSMStorage {
140
132
  // })
141
133
  // )
142
134
  // );
143
- console.warn("Incontiguous incoming update for " + newContent.id);
135
+ yield* Effect.logWarning("Incontiguous incoming update for " + newContent.id);
144
136
  return coValues;
145
137
  }
146
138
  }
147
139
  else {
148
140
  const merged = mergeChunks(coValue, newContentAsChunk);
149
141
  if (Either.isRight(merged)) {
150
- yield* Effect.logWarning("Non-contigous new content for " + newContent.id);
142
+ yield* Effect.logWarning("Non-contigous new content for " + newContent.id, Object.entries(coValue.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
143
+ session: session,
144
+ after: entry.after,
145
+ length: entry.transactions.length,
146
+ }))), Object.entries(newContentAsChunk.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
147
+ session: session,
148
+ after: entry.after,
149
+ length: entry.transactions.length,
150
+ }))));
151
151
  // yield* Effect.promise(() =>
152
152
  // this.toLocalNode.write({
153
153
  // action: "known",
@@ -158,7 +158,7 @@ export class LSMStorage {
158
158
  return coValues;
159
159
  }
160
160
  else {
161
- console.log("Appending to WAL", newContent.id);
161
+ // console.log("Appending to WAL", newContent.id);
162
162
  yield* this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
163
163
  return { ...coValues, [newContent.id]: merged.left };
164
164
  }
@@ -174,6 +174,7 @@ export class LSMStorage {
174
174
  for (const blockFile of blockFiles) {
175
175
  let cachedHeader = this.headerCache.get(blockFile);
176
176
  const { handle, size } = yield* fs.openToRead(blockFile);
177
+ // console.log("Attempting to load", id, blockFile);
177
178
  if (!cachedHeader) {
178
179
  cachedHeader = {};
179
180
  const header = yield* readHeader(blockFile, handle, size, fs);
@@ -186,6 +187,7 @@ export class LSMStorage {
186
187
  this.headerCache.set(blockFile, cachedHeader);
187
188
  }
188
189
  const headerEntry = cachedHeader[id];
190
+ // console.log("Header entry", id, headerEntry);
189
191
  let result;
190
192
  if (headerEntry) {
191
193
  result = yield* readChunk(handle, headerEntry, fs);
@@ -202,7 +204,7 @@ export class LSMStorage {
202
204
  const walFiles = fileNames.filter((name) => name.startsWith("wal-"));
203
205
  walFiles.sort();
204
206
  const coValues = new Map();
205
- console.log("Compacting WAL files", walFiles);
207
+ yield* Effect.log("Compacting WAL files", walFiles);
206
208
  if (walFiles.length === 0)
207
209
  return;
208
210
  yield* SynchronizedRef.updateEffect(this.currentWal, (wal) => Effect.gen(this, function* () {
@@ -228,7 +230,7 @@ export class LSMStorage {
228
230
  if (existingChunk) {
229
231
  const merged = mergeChunks(existingChunk, chunk);
230
232
  if (Either.isRight(merged)) {
231
- console.warn("Non-contigous chunks in " +
233
+ yield* Effect.logWarning("Non-contigous chunks in " +
232
234
  chunk.id +
233
235
  ", " +
234
236
  fileName, existingChunk, chunk);
@@ -251,12 +253,12 @@ export class LSMStorage {
251
253
  }));
252
254
  setTimeout(() => this.compact(), 5000);
253
255
  }
254
- static asPeer({ fs, trace, localNodeName = "local", }) {
255
- const [localNodeAsPeer, storageAsPeer] = connectedPeers(localNodeName, "storage", {
256
+ static async asPeer({ fs, trace, localNodeName = "local", }) {
257
+ const [localNodeAsPeer, storageAsPeer] = await Effect.runPromise(connectedPeers(localNodeName, "storage", {
256
258
  peer1role: "client",
257
259
  peer2role: "server",
258
260
  trace,
259
- });
261
+ }));
260
262
  new LSMStorage(fs, localNodeAsPeer.incoming, localNodeAsPeer.outgoing);
261
263
  // return { ...storageAsPeer, priority: 200 };
262
264
  return storageAsPeer;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -1,113 +1,35 @@
1
- import { ReadableStream, TransformStream, WritableStream, } from "isomorphic-streams";
1
+ import { Console, Effect, Queue, Stream } from "effect";
2
2
  export function connectedPeers(peer1id, peer2id, { trace = false, peer1role = "peer", peer2role = "peer", } = {}) {
3
- const [inRx1, inTx1] = newStreamPair(peer1id + "_in");
4
- const [outRx1, outTx1] = newStreamPair(peer1id + "_out");
5
- const [inRx2, inTx2] = newStreamPair(peer2id + "_in");
6
- const [outRx2, outTx2] = newStreamPair(peer2id + "_out");
7
- void outRx2
8
- .pipeThrough(new TransformStream({
9
- transform(chunk, controller) {
10
- trace &&
11
- console.debug(`${peer2id} -> ${peer1id}`, JSON.stringify(chunk, (k, v) => k === "changes" || k === "encryptedChanges"
12
- ? v.slice(0, 20) + "..."
13
- : v, 2));
14
- controller.enqueue(chunk);
15
- },
16
- }))
17
- .pipeTo(inTx1);
18
- void outRx1
19
- .pipeThrough(new TransformStream({
20
- transform(chunk, controller) {
21
- trace &&
22
- console.debug(`${peer1id} -> ${peer2id}`, JSON.stringify(chunk, (k, v) => k === "changes" || k === "encryptedChanges"
23
- ? v.slice(0, 20) + "..."
24
- : v, 2));
25
- controller.enqueue(chunk);
26
- },
27
- }))
28
- .pipeTo(inTx2);
29
- const peer2AsPeer = {
30
- id: peer2id,
31
- incoming: inRx1,
32
- outgoing: outTx1,
33
- role: peer2role,
34
- };
35
- const peer1AsPeer = {
36
- id: peer1id,
37
- incoming: inRx2,
38
- outgoing: outTx2,
39
- role: peer1role,
40
- };
41
- return [peer1AsPeer, peer2AsPeer];
42
- }
43
- export function newStreamPair(pairName) {
44
- let queueLength = 0;
45
- let readerClosed = false;
46
- let resolveEnqueue;
47
- const enqueuePromise = new Promise((resolve) => {
48
- resolveEnqueue = resolve;
3
+ return Effect.gen(function* () {
4
+ const [from1to2Rx, from1to2Tx] = yield* newQueuePair(trace ? { traceAs: `${peer1id} -> ${peer2id}` } : undefined);
5
+ const [from2to1Rx, from2to1Tx] = yield* newQueuePair(trace ? { traceAs: `${peer2id} -> ${peer1id}` } : undefined);
6
+ const peer2AsPeer = {
7
+ id: peer2id,
8
+ incoming: from2to1Rx,
9
+ outgoing: from1to2Tx,
10
+ role: peer2role,
11
+ };
12
+ const peer1AsPeer = {
13
+ id: peer1id,
14
+ incoming: from1to2Rx,
15
+ outgoing: from2to1Tx,
16
+ role: peer1role,
17
+ };
18
+ return [peer1AsPeer, peer2AsPeer];
49
19
  });
50
- let resolveClose;
51
- const closePromise = new Promise((resolve) => {
52
- resolveClose = resolve;
53
- });
54
- let queueWasOverflowing = false;
55
- function maybeReportQueueLength() {
56
- if (queueLength >= 100) {
57
- queueWasOverflowing = true;
58
- if (queueLength % 100 === 0) {
59
- console.warn(pairName, "overflowing queue length", queueLength);
60
- }
20
+ }
21
+ export function newQueuePair(options = {}) {
22
+ return Effect.gen(function* () {
23
+ const queue = yield* Queue.unbounded();
24
+ if (options.traceAs) {
25
+ return [Stream.fromQueue(queue).pipe(Stream.tap((msg) => Console.debug(options.traceAs, JSON.stringify(msg, (k, v) => k === "changes" ||
26
+ k === "encryptedChanges"
27
+ ? v.slice(0, 20) + "..."
28
+ : v, 2)))), queue];
61
29
  }
62
30
  else {
63
- if (queueWasOverflowing) {
64
- console.debug(pairName, "ok queue length", queueLength);
65
- queueWasOverflowing = false;
66
- }
31
+ return [Stream.fromQueue(queue), queue];
67
32
  }
68
- }
69
- const readable = new ReadableStream({
70
- async start(controller) {
71
- resolveEnqueue(controller.enqueue.bind(controller));
72
- resolveClose(controller.close.bind(controller));
73
- },
74
- cancel(_reason) {
75
- console.log("Manually closing reader");
76
- readerClosed = true;
77
- },
78
- }).pipeThrough(
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- new TransformStream({
81
- transform(chunk, controller) {
82
- queueLength -= 1;
83
- maybeReportQueueLength();
84
- controller.enqueue(chunk);
85
- },
86
- }));
87
- let lastWritePromise = Promise.resolve();
88
- const writable = new WritableStream({
89
- async write(chunk) {
90
- queueLength += 1;
91
- maybeReportQueueLength();
92
- const enqueue = await enqueuePromise;
93
- if (readerClosed) {
94
- throw new Error("Reader closed");
95
- }
96
- else {
97
- // make sure write resolves before corresponding read, but make sure writes are still in order
98
- await lastWritePromise;
99
- lastWritePromise = new Promise((resolve) => {
100
- enqueue(chunk);
101
- resolve();
102
- });
103
- }
104
- },
105
- async abort(reason) {
106
- console.debug("Manually closing writer", reason);
107
- const close = await closePromise;
108
- close();
109
- },
110
33
  });
111
- return [readable, writable];
112
34
  }
113
35
  //# sourceMappingURL=streamUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"streamUtils.js","sourceRoot":"","sources":["../src/streamUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamUtils.js","sourceRoot":"","sources":["../src/streamUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxD,MAAM,UAAU,cAAc,CAC1B,OAAe,EACf,OAAe,EACf,EACI,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,MAAM,EAClB,SAAS,GAAG,MAAM,MAKlB,EAAE;IAEN,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,YAAY,CAChD,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;QACF,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,YAAY,CAChD,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;QAEF,MAAM,WAAW,GAAS;YACtB,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,MAAM,WAAW,GAAS;YACtB,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,SAAS;SAClB,CAAC;QAEF,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,UAAgC,EAAE;IAElC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAe,CAAC;QAEpD,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAClE,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,SAAS,CACV,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,SAAS;oBACf,CAAC,KAAK,kBAAkB;oBACpB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACxB,CAAC,CAAC,CAAC,EACX,CAAC,CACJ,CACJ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACf;aAAM;YACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3C;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}