cojson 0.0.13 → 0.0.14

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.
@@ -1,6 +1,6 @@
1
1
  import { newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
- import { connectedPeers } from "./testUtils.js";
3
+ import { connectedPeers } from "./streamUtils.js";
4
4
  test("Can create a node while creating a new account with profile", async () => {
5
5
  const { node, accountID, accountSecret, sessionID } = LocalNode.withNewlyCreatedAccount("Hermes Puggington");
6
6
  expect(node).not.toBeNull();
@@ -1 +1 @@
1
- {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../src/account.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.test.js","sourceRoot":"","sources":["../src/account.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { CoValue, newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
3
  import { CoMap } from "./contentTypes/coMap.js";
4
4
  import { agentSecretFromBytes, agentSecretToBytes } from "./crypto.js";
5
+ import { connectedPeers } from "./streamUtils.js";
5
6
  import type { SessionID } from "./ids.js";
6
7
  import type { CoID, ContentType } from "./contentType.js";
7
8
  import type { JsonValue } from "./jsonValue.js";
@@ -12,6 +13,7 @@ declare const internals: {
12
13
  agentSecretFromBytes: typeof agentSecretFromBytes;
13
14
  agentSecretToBytes: typeof agentSecretToBytes;
14
15
  newRandomSessionID: typeof newRandomSessionID;
16
+ connectedPeers: typeof connectedPeers;
15
17
  };
16
18
  export { LocalNode, CoValue, CoMap, internals };
17
19
  export type { Value, JsonValue, ContentType, CoID, AgentSecret, SessionID, SyncMessage, };
package/dist/index.js CHANGED
@@ -2,10 +2,12 @@ import { CoValue, newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
3
  import { CoMap } from "./contentTypes/coMap.js";
4
4
  import { agentSecretFromBytes, agentSecretToBytes } from "./crypto.js";
5
+ import { connectedPeers } from "./streamUtils.js";
5
6
  const internals = {
6
7
  agentSecretFromBytes,
7
8
  agentSecretToBytes,
8
9
  newRandomSessionID,
10
+ connectedPeers
9
11
  };
10
12
  export { LocalNode, CoValue, CoMap, internals };
11
13
  //# 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,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUvE,MAAM,SAAS,GAAG;IACd,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;CACrB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUlD,MAAM,SAAS,GAAG;IACd,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;CACjB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ReadableStream, WritableStream } from "isomorphic-streams";
2
+ import { Peer, PeerID } from "./sync.js";
3
+ export declare function connectedPeers(peer1id: PeerID, peer2id: PeerID, { trace, peer1role, peer2role, }?: {
4
+ trace?: boolean;
5
+ peer1role?: Peer["role"];
6
+ peer2role?: Peer["role"];
7
+ }): [Peer, Peer];
8
+ export declare function newStreamPair<T>(): [ReadableStream<T>, WritableStream<T>];
@@ -0,0 +1,95 @@
1
+ import { ReadableStream, TransformStream, WritableStream } from "isomorphic-streams";
2
+ export function connectedPeers(peer1id, peer2id, { trace = false, peer1role = "peer", peer2role = "peer", } = {}) {
3
+ const [inRx1, inTx1] = newStreamPair();
4
+ const [outRx1, outTx1] = newStreamPair();
5
+ const [inRx2, inTx2] = newStreamPair();
6
+ const [outRx2, outTx2] = newStreamPair();
7
+ void outRx2
8
+ .pipeThrough(new TransformStream({
9
+ transform(chunk, controller) {
10
+ trace && console.log(`${peer2id} -> ${peer1id}`, JSON.stringify(chunk, null, 2));
11
+ controller.enqueue(chunk);
12
+ },
13
+ }))
14
+ .pipeTo(inTx1);
15
+ void outRx1
16
+ .pipeThrough(new TransformStream({
17
+ transform(chunk, controller) {
18
+ trace && console.log(`${peer1id} -> ${peer2id}`, JSON.stringify(chunk, null, 2));
19
+ controller.enqueue(chunk);
20
+ },
21
+ }))
22
+ .pipeTo(inTx2);
23
+ const peer2AsPeer = {
24
+ id: peer2id,
25
+ incoming: inRx1,
26
+ outgoing: outTx1,
27
+ role: peer2role,
28
+ };
29
+ const peer1AsPeer = {
30
+ id: peer1id,
31
+ incoming: inRx2,
32
+ outgoing: outTx2,
33
+ role: peer1role,
34
+ };
35
+ return [peer1AsPeer, peer2AsPeer];
36
+ }
37
+ export function newStreamPair() {
38
+ const queue = [];
39
+ let resolveNextItemReady = () => { };
40
+ let nextItemReady = new Promise((resolve) => {
41
+ resolveNextItemReady = resolve;
42
+ });
43
+ let writerClosed = false;
44
+ let readerClosed = false;
45
+ const readable = new ReadableStream({
46
+ async pull(controller) {
47
+ let retriesLeft = 3;
48
+ while (retriesLeft > 0) {
49
+ if (writerClosed) {
50
+ controller.close();
51
+ return;
52
+ }
53
+ retriesLeft--;
54
+ if (queue.length > 0) {
55
+ controller.enqueue(queue.shift());
56
+ if (queue.length === 0) {
57
+ nextItemReady = new Promise((resolve) => {
58
+ resolveNextItemReady = resolve;
59
+ });
60
+ }
61
+ return;
62
+ }
63
+ else {
64
+ await nextItemReady;
65
+ }
66
+ }
67
+ throw new Error("Should only use one retry to get next item in queue.");
68
+ },
69
+ cancel(reason) {
70
+ console.log("Manually closing reader");
71
+ readerClosed = true;
72
+ },
73
+ });
74
+ const writable = new WritableStream({
75
+ write(chunk, controller) {
76
+ if (readerClosed) {
77
+ console.log("Reader closed, not writing chunk", chunk);
78
+ throw new Error("Reader closed, not writing chunk");
79
+ }
80
+ queue.push(chunk);
81
+ if (queue.length === 1) {
82
+ // make sure that await write resolves before corresponding read
83
+ process.nextTick(() => resolveNextItemReady());
84
+ }
85
+ },
86
+ abort(reason) {
87
+ console.log("Manually closing writer");
88
+ writerClosed = true;
89
+ resolveNextItemReady();
90
+ return Promise.resolve();
91
+ },
92
+ });
93
+ return [readable, writable];
94
+ }
95
+ //# sourceMappingURL=streamUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamUtils.js","sourceRoot":"","sources":["../src/streamUtils.ts"],"names":[],"mappings":"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"}
package/dist/sync.test.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
3
  import { expectMap } from "./contentType.js";
4
- import { connectedPeers, newStreamPair, randomAnonymousAccountAndSessionID, shouldNotResolve, } from "./testUtils.js";
4
+ import { randomAnonymousAccountAndSessionID, shouldNotResolve, } from "./testUtils.js";
5
+ import { connectedPeers, newStreamPair } from "./streamUtils.js";
5
6
  test("Node replies with initial tx and header to empty subscribe", async () => {
6
7
  const [admin, session] = randomAnonymousAccountAndSessionID();
7
8
  const node = new LocalNode(admin, session);
@@ -1 +1 @@
1
- {"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../src/sync.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../src/sync.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { LocalNode } from "./node.js";
2
2
  import { AnonymousControlledAccount } from "./account.js";
3
3
  import { SessionID } from "./ids.js";
4
- import { ReadableStream, WritableStream } from "isomorphic-streams";
5
- import { Peer, PeerID } from "./sync.js";
6
4
  export declare function randomAnonymousAccountAndSessionID(): [AnonymousControlledAccount, SessionID];
7
5
  export declare function newTeam(): {
8
6
  node: LocalNode;
@@ -26,12 +24,6 @@ export declare function teamWithTwoAdminsHighLevel(): {
26
24
  team: import("./permissions.js").Team;
27
25
  otherAdmin: import("./account.js").ControlledAccount;
28
26
  };
29
- export declare function newStreamPair<T>(): [ReadableStream<T>, WritableStream<T>];
30
27
  export declare function shouldNotResolve<T>(promise: Promise<T>, ops: {
31
28
  timeout: number;
32
29
  }): Promise<void>;
33
- export declare function connectedPeers(peer1id: PeerID, peer2id: PeerID, { trace, peer1role, peer2role, }?: {
34
- trace?: boolean;
35
- peer1role?: Peer["role"];
36
- peer2role?: Peer["role"];
37
- }): [Peer, Peer];
package/dist/testUtils.js CHANGED
@@ -3,7 +3,6 @@ import { newRandomSessionID } from "./coValue.js";
3
3
  import { LocalNode } from "./node.js";
4
4
  import { expectTeamContent } from "./permissions.js";
5
5
  import { AnonymousControlledAccount } from "./account.js";
6
- import { ReadableStream, TransformStream, WritableStream } from "isomorphic-streams";
7
6
  export function randomAnonymousAccountAndSessionID() {
8
7
  const agentSecret = newRandomAgentSecret();
9
8
  const sessionID = newRandomSessionID(getAgentID(agentSecret));
@@ -52,64 +51,6 @@ export function teamWithTwoAdminsHighLevel() {
52
51
  team.addMember(otherAdmin.id, "admin");
53
52
  return { admin, node, team, otherAdmin };
54
53
  }
55
- export function newStreamPair() {
56
- const queue = [];
57
- let resolveNextItemReady = () => { };
58
- let nextItemReady = new Promise((resolve) => {
59
- resolveNextItemReady = resolve;
60
- });
61
- let writerClosed = false;
62
- let readerClosed = false;
63
- const readable = new ReadableStream({
64
- async pull(controller) {
65
- let retriesLeft = 3;
66
- while (retriesLeft > 0) {
67
- if (writerClosed) {
68
- controller.close();
69
- return;
70
- }
71
- retriesLeft--;
72
- if (queue.length > 0) {
73
- controller.enqueue(queue.shift());
74
- if (queue.length === 0) {
75
- nextItemReady = new Promise((resolve) => {
76
- resolveNextItemReady = resolve;
77
- });
78
- }
79
- return;
80
- }
81
- else {
82
- await nextItemReady;
83
- }
84
- }
85
- throw new Error("Should only use one retry to get next item in queue.");
86
- },
87
- cancel(reason) {
88
- console.log("Manually closing reader");
89
- readerClosed = true;
90
- },
91
- });
92
- const writable = new WritableStream({
93
- write(chunk, controller) {
94
- if (readerClosed) {
95
- console.log("Reader closed, not writing chunk", chunk);
96
- throw new Error("Reader closed, not writing chunk");
97
- }
98
- queue.push(chunk);
99
- if (queue.length === 1) {
100
- // make sure that await write resolves before corresponding read
101
- process.nextTick(() => resolveNextItemReady());
102
- }
103
- },
104
- abort(reason) {
105
- console.log("Manually closing writer");
106
- writerClosed = true;
107
- resolveNextItemReady();
108
- return Promise.resolve();
109
- },
110
- });
111
- return [readable, writable];
112
- }
113
54
  export function shouldNotResolve(promise, ops) {
114
55
  return new Promise((resolve, reject) => {
115
56
  promise
@@ -119,39 +60,4 @@ export function shouldNotResolve(promise, ops) {
119
60
  setTimeout(resolve, ops.timeout);
120
61
  });
121
62
  }
122
- export function connectedPeers(peer1id, peer2id, { trace = false, peer1role = "peer", peer2role = "peer", } = {}) {
123
- const [inRx1, inTx1] = newStreamPair();
124
- const [outRx1, outTx1] = newStreamPair();
125
- const [inRx2, inTx2] = newStreamPair();
126
- const [outRx2, outTx2] = newStreamPair();
127
- void outRx2
128
- .pipeThrough(new TransformStream({
129
- transform(chunk, controller) {
130
- trace && console.log(`${peer2id} -> ${peer1id}`, JSON.stringify(chunk, null, 2));
131
- controller.enqueue(chunk);
132
- },
133
- }))
134
- .pipeTo(inTx1);
135
- void outRx1
136
- .pipeThrough(new TransformStream({
137
- transform(chunk, controller) {
138
- trace && console.log(`${peer1id} -> ${peer2id}`, JSON.stringify(chunk, null, 2));
139
- controller.enqueue(chunk);
140
- },
141
- }))
142
- .pipeTo(inTx2);
143
- const peer2AsPeer = {
144
- id: peer2id,
145
- incoming: inRx1,
146
- outgoing: outTx1,
147
- role: peer2role,
148
- };
149
- const peer1AsPeer = {
150
- id: peer1id,
151
- incoming: inRx2,
152
- outgoing: outTx2,
153
- role: peer1role,
154
- };
155
- return [peer1AsPeer, peer2AsPeer];
156
- }
157
63
  //# sourceMappingURL=testUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAG,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,UAAU,kCAAkC;IAC9C,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAE9D,OAAO,CAAC,IAAI,0BAA0B,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,OAAO;IACnB,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,kCAAkC,EAAE,CAAC;IAEhE,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAI,EAAE,IAAI;QACV,GAAG,gBAAgB,EAAE;KACxB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEhE,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAExC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAI,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE1D,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEtD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACnC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,kCAAkC,EAAE,CAAC;IAGhE,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAE/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,OAAmB,EACnB,GAAwB;IAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,OAAO;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACR,MAAM,CACF,IAAI,KAAK,CACL,4CAA4C;YACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CACxB,CACJ,CACJ;aACA,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "types": "src/index.ts",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
- "version": "0.0.13",
8
+ "version": "0.0.14",
9
9
  "devDependencies": {
10
10
  "@types/jest": "^29.5.3",
11
11
  "@typescript-eslint/eslint-plugin": "^6.2.1",
@@ -1,6 +1,6 @@
1
1
  import { newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
- import { connectedPeers } from "./testUtils.js";
3
+ import { connectedPeers } from "./streamUtils.js";
4
4
 
5
5
  test("Can create a node while creating a new account with profile", async () => {
6
6
  const { node, accountID, accountSecret, sessionID } =
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@ import { CoValue, newRandomSessionID } from "./coValue.js";
2
2
  import { LocalNode } from "./node.js";
3
3
  import { CoMap } from "./contentTypes/coMap.js";
4
4
  import { agentSecretFromBytes, agentSecretToBytes } from "./crypto.js";
5
+ import { connectedPeers } from "./streamUtils.js";
5
6
 
6
7
  import type { SessionID } from "./ids.js";
7
8
  import type { CoID, ContentType } from "./contentType.js";
@@ -15,6 +16,7 @@ const internals = {
15
16
  agentSecretFromBytes,
16
17
  agentSecretToBytes,
17
18
  newRandomSessionID,
19
+ connectedPeers
18
20
  };
19
21
 
20
22
  export { LocalNode, CoValue, CoMap, internals };
@@ -0,0 +1,130 @@
1
+ import { ReadableStream, TransformStream, WritableStream } from "isomorphic-streams";
2
+ import { Peer, PeerID, SyncMessage } from "./sync.js";
3
+
4
+
5
+ export function connectedPeers(
6
+ peer1id: PeerID,
7
+ peer2id: PeerID,
8
+ {
9
+ trace = false, peer1role = "peer", peer2role = "peer",
10
+ }: {
11
+ trace?: boolean;
12
+ peer1role?: Peer["role"];
13
+ peer2role?: Peer["role"];
14
+ } = {}
15
+ ): [Peer, Peer] {
16
+ const [inRx1, inTx1] = newStreamPair<SyncMessage>();
17
+ const [outRx1, outTx1] = newStreamPair<SyncMessage>();
18
+
19
+ const [inRx2, inTx2] = newStreamPair<SyncMessage>();
20
+ const [outRx2, outTx2] = newStreamPair<SyncMessage>();
21
+
22
+ void outRx2
23
+ .pipeThrough(
24
+ new TransformStream({
25
+ transform(
26
+ chunk: SyncMessage,
27
+ controller: { enqueue: (msg: SyncMessage) => void; }
28
+ ) {
29
+ trace && console.log(`${peer2id} -> ${peer1id}`, JSON.stringify(chunk, null, 2));
30
+ controller.enqueue(chunk);
31
+ },
32
+ })
33
+ )
34
+ .pipeTo(inTx1);
35
+
36
+ void outRx1
37
+ .pipeThrough(
38
+ new TransformStream({
39
+ transform(
40
+ chunk: SyncMessage,
41
+ controller: { enqueue: (msg: SyncMessage) => void; }
42
+ ) {
43
+ trace && console.log(`${peer1id} -> ${peer2id}`, JSON.stringify(chunk, null, 2));
44
+ controller.enqueue(chunk);
45
+ },
46
+ })
47
+ )
48
+ .pipeTo(inTx2);
49
+
50
+ const peer2AsPeer: Peer = {
51
+ id: peer2id,
52
+ incoming: inRx1,
53
+ outgoing: outTx1,
54
+ role: peer2role,
55
+ };
56
+
57
+ const peer1AsPeer: Peer = {
58
+ id: peer1id,
59
+ incoming: inRx2,
60
+ outgoing: outTx2,
61
+ role: peer1role,
62
+ };
63
+
64
+ return [peer1AsPeer, peer2AsPeer];
65
+ }
66
+
67
+ export function newStreamPair<T>(): [ReadableStream<T>, WritableStream<T>] {
68
+ const queue: T[] = [];
69
+ let resolveNextItemReady: () => void = () => { };
70
+ let nextItemReady: Promise<void> = new Promise((resolve) => {
71
+ resolveNextItemReady = resolve;
72
+ });
73
+
74
+ let writerClosed = false;
75
+ let readerClosed = false;
76
+
77
+ const readable = new ReadableStream<T>({
78
+ async pull(controller) {
79
+ let retriesLeft = 3;
80
+ while (retriesLeft > 0) {
81
+ if (writerClosed) {
82
+ controller.close();
83
+ return;
84
+ }
85
+ retriesLeft--;
86
+ if (queue.length > 0) {
87
+ controller.enqueue(queue.shift()!);
88
+ if (queue.length === 0) {
89
+ nextItemReady = new Promise((resolve) => {
90
+ resolveNextItemReady = resolve;
91
+ });
92
+ }
93
+ return;
94
+ } else {
95
+ await nextItemReady;
96
+ }
97
+ }
98
+ throw new Error(
99
+ "Should only use one retry to get next item in queue."
100
+ );
101
+ },
102
+
103
+ cancel(reason) {
104
+ console.log("Manually closing reader");
105
+ readerClosed = true;
106
+ },
107
+ });
108
+
109
+ const writable = new WritableStream<T>({
110
+ write(chunk, controller) {
111
+ if (readerClosed) {
112
+ console.log("Reader closed, not writing chunk", chunk);
113
+ throw new Error("Reader closed, not writing chunk");
114
+ }
115
+ queue.push(chunk);
116
+ if (queue.length === 1) {
117
+ // make sure that await write resolves before corresponding read
118
+ process.nextTick(() => resolveNextItemReady());
119
+ }
120
+ },
121
+ abort(reason) {
122
+ console.log("Manually closing writer");
123
+ writerClosed = true;
124
+ resolveNextItemReady();
125
+ return Promise.resolve();
126
+ },
127
+ });
128
+
129
+ return [readable, writable];
130
+ }
package/src/sync.test.ts CHANGED
@@ -10,11 +10,13 @@ import {
10
10
  TransformStream,
11
11
  } from "isomorphic-streams";
12
12
  import {
13
- connectedPeers,
14
- newStreamPair,
15
13
  randomAnonymousAccountAndSessionID,
16
14
  shouldNotResolve,
17
15
  } from "./testUtils.js";
16
+ import {
17
+ connectedPeers,
18
+ newStreamPair
19
+ } from "./streamUtils.js";
18
20
  import { AccountID } from "./account.js";
19
21
 
20
22
  test("Node replies with initial tx and header to empty subscribe", async () => {
package/src/testUtils.ts CHANGED
@@ -4,8 +4,6 @@ import { LocalNode } from "./node.js";
4
4
  import { expectTeamContent } from "./permissions.js";
5
5
  import { AnonymousControlledAccount } from "./account.js";
6
6
  import { SessionID } from "./ids.js";
7
- import { ReadableStream, TransformStream, WritableStream } from "isomorphic-streams";
8
- import { Peer, PeerID, SyncMessage } from "./sync.js";
9
7
 
10
8
  export function randomAnonymousAccountAndSessionID(): [AnonymousControlledAccount, SessionID] {
11
9
  const agentSecret = newRandomAgentSecret();
@@ -80,71 +78,6 @@ export function teamWithTwoAdminsHighLevel() {
80
78
  return { admin, node, team, otherAdmin };
81
79
  }
82
80
 
83
- export function newStreamPair<T>(): [ReadableStream<T>, WritableStream<T>] {
84
- const queue: T[] = [];
85
- let resolveNextItemReady: () => void = () => {};
86
- let nextItemReady: Promise<void> = new Promise((resolve) => {
87
- resolveNextItemReady = resolve;
88
- });
89
-
90
- let writerClosed = false;
91
- let readerClosed = false;
92
-
93
- const readable = new ReadableStream<T>({
94
- async pull(controller) {
95
- let retriesLeft = 3;
96
- while (retriesLeft > 0) {
97
- if (writerClosed) {
98
- controller.close();
99
- return;
100
- }
101
- retriesLeft--;
102
- if (queue.length > 0) {
103
- controller.enqueue(queue.shift()!);
104
- if (queue.length === 0) {
105
- nextItemReady = new Promise((resolve) => {
106
- resolveNextItemReady = resolve;
107
- });
108
- }
109
- return;
110
- } else {
111
- await nextItemReady;
112
- }
113
- }
114
- throw new Error(
115
- "Should only use one retry to get next item in queue."
116
- );
117
- },
118
-
119
- cancel(reason) {
120
- console.log("Manually closing reader");
121
- readerClosed = true;
122
- },
123
- });
124
-
125
- const writable = new WritableStream<T>({
126
- write(chunk, controller) {
127
- if (readerClosed) {
128
- console.log("Reader closed, not writing chunk", chunk);
129
- throw new Error("Reader closed, not writing chunk");
130
- }
131
- queue.push(chunk);
132
- if (queue.length === 1) {
133
- // make sure that await write resolves before corresponding read
134
- process.nextTick(() => resolveNextItemReady());
135
- }
136
- },
137
- abort(reason) {
138
- console.log("Manually closing writer");
139
- writerClosed = true;
140
- resolveNextItemReady();
141
- return Promise.resolve();
142
- },
143
- });
144
-
145
- return [readable, writable];
146
- }
147
-
148
81
  export function shouldNotResolve<T>(
149
82
  promise: Promise<T>,
150
83
  ops: { timeout: number }
@@ -164,66 +97,3 @@ export function shouldNotResolve<T>(
164
97
  });
165
98
  }
166
99
 
167
- export function connectedPeers(
168
- peer1id: PeerID,
169
- peer2id: PeerID,
170
- {
171
- trace = false,
172
- peer1role = "peer",
173
- peer2role = "peer",
174
- }: {
175
- trace?: boolean;
176
- peer1role?: Peer["role"];
177
- peer2role?: Peer["role"];
178
- } = {}
179
- ): [Peer, Peer] {
180
- const [inRx1, inTx1] = newStreamPair<SyncMessage>();
181
- const [outRx1, outTx1] = newStreamPair<SyncMessage>();
182
-
183
- const [inRx2, inTx2] = newStreamPair<SyncMessage>();
184
- const [outRx2, outTx2] = newStreamPair<SyncMessage>();
185
-
186
- void outRx2
187
- .pipeThrough(
188
- new TransformStream({
189
- transform(
190
- chunk: SyncMessage,
191
- controller: { enqueue: (msg: SyncMessage) => void }
192
- ) {
193
- trace && console.log(`${peer2id} -> ${peer1id}`, JSON.stringify(chunk, null, 2));
194
- controller.enqueue(chunk);
195
- },
196
- })
197
- )
198
- .pipeTo(inTx1);
199
-
200
- void outRx1
201
- .pipeThrough(
202
- new TransformStream({
203
- transform(
204
- chunk: SyncMessage,
205
- controller: { enqueue: (msg: SyncMessage) => void }
206
- ) {
207
- trace && console.log(`${peer1id} -> ${peer2id}`, JSON.stringify(chunk, null, 2));
208
- controller.enqueue(chunk);
209
- },
210
- })
211
- )
212
- .pipeTo(inTx2);
213
-
214
- const peer2AsPeer: Peer = {
215
- id: peer2id,
216
- incoming: inRx1,
217
- outgoing: outTx1,
218
- role: peer2role,
219
- };
220
-
221
- const peer1AsPeer: Peer = {
222
- id: peer1id,
223
- incoming: inRx2,
224
- outgoing: outTx2,
225
- role: peer1role,
226
- };
227
-
228
- return [peer1AsPeer, peer2AsPeer];
229
- }