cojson 0.2.3 → 0.3.0-alpha.0
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/dist/account.d.ts +1 -1
- package/dist/coValue.d.ts +5 -13
- package/dist/coValue.js +14 -7
- package/dist/coValue.js.map +1 -1
- package/dist/coValueCore.d.ts +6 -6
- package/dist/coValueCore.js +11 -14
- package/dist/coValueCore.js.map +1 -1
- package/dist/coValues/coList.d.ts +99 -34
- package/dist/coValues/coList.js +162 -72
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.d.ts +96 -31
- package/dist/coValues/coMap.js +157 -114
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.d.ts +67 -23
- package/dist/coValues/coStream.js +131 -59
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/crypto.d.ts +8 -3
- package/dist/crypto.js +6 -6
- package/dist/crypto.js.map +1 -1
- package/dist/group.d.ts +57 -23
- package/dist/group.js +75 -33
- package/dist/group.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/{node.d.ts → localNode.d.ts} +16 -8
- package/dist/{node.js → localNode.js} +48 -40
- package/dist/localNode.js.map +1 -0
- package/dist/permissions.js +6 -3
- package/dist/permissions.js.map +1 -1
- package/dist/queriedCoValues/queriedCoList.d.ts +66 -0
- package/dist/queriedCoValues/queriedCoList.js +120 -0
- package/dist/queriedCoValues/queriedCoList.js.map +1 -0
- package/dist/queriedCoValues/queriedCoMap.d.ts +47 -0
- package/dist/queriedCoValues/queriedCoMap.js +83 -0
- package/dist/queriedCoValues/queriedCoMap.js.map +1 -0
- package/dist/queriedCoValues/queriedCoStream.d.ts +40 -0
- package/dist/queriedCoValues/queriedCoStream.js +72 -0
- package/dist/queriedCoValues/queriedCoStream.js.map +1 -0
- package/dist/queries.d.ts +29 -112
- package/dist/queries.js +44 -227
- package/dist/queries.js.map +1 -1
- package/dist/sync.d.ts +1 -1
- package/dist/sync.js +1 -1
- package/dist/sync.js.map +1 -1
- package/dist/tests/testUtils.d.ts +1 -1
- package/dist/tests/testUtils.js +3 -3
- package/dist/tests/testUtils.js.map +1 -1
- package/package.json +2 -2
- package/src/account.ts +1 -1
- package/src/coValue.ts +25 -20
- package/src/coValueCore.ts +17 -21
- package/src/coValues/coList.ts +242 -128
- package/src/coValues/coMap.ts +293 -162
- package/src/coValues/coStream.ts +227 -94
- package/src/crypto.ts +37 -24
- package/src/group.ts +90 -63
- package/src/index.ts +35 -25
- package/src/{node.ts → localNode.ts} +64 -64
- package/src/permissions.ts +15 -18
- package/src/queriedCoValues/queriedCoList.ts +248 -0
- package/src/queriedCoValues/queriedCoMap.ts +180 -0
- package/src/queriedCoValues/queriedCoStream.ts +125 -0
- package/src/queries.ts +83 -460
- package/src/sync.ts +2 -2
- package/src/tests/account.test.ts +3 -6
- package/src/tests/coValue.test.ts +116 -110
- package/src/tests/coValueCore.test.ts +1 -1
- package/src/tests/crypto.test.ts +19 -21
- package/src/tests/permissions.test.ts +255 -242
- package/src/tests/queries.test.ts +57 -40
- package/src/tests/sync.test.ts +30 -30
- package/src/tests/testUtils.ts +3 -3
- package/dist/coValues/static.d.ts +0 -14
- package/dist/coValues/static.js +0 -20
- package/dist/coValues/static.js.map +0 -1
- package/dist/node.js.map +0 -1
- package/src/coValues/static.ts +0 -31
|
@@ -42,21 +42,19 @@ test("Queries with maps work", async () => {
|
|
|
42
42
|
},
|
|
43
43
|
isMe: true,
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
tx: map.lastEditAt("hello")!.tx,
|
|
46
|
+
at: new Date(map.lastEditAt("hello")!.at),
|
|
46
47
|
});
|
|
47
48
|
if (queriedMap.subMap) {
|
|
48
49
|
expect(queriedMap.subMap.type).toBe("comap");
|
|
49
|
-
expect(queriedMap.subMap.id).toEqual(
|
|
50
|
+
expect(queriedMap.subMap.id).toEqual("foreignID");
|
|
50
51
|
expect(queriedMap.subMap.core).toEqual(subMap.core);
|
|
51
52
|
expect(queriedMap.subMap.group).toBeInstanceOf(Group);
|
|
52
53
|
expect(queriedMap.subMap.group.id).toBe(group.id);
|
|
53
54
|
expect(queriedMap.subMap.meta).toBe(null);
|
|
54
|
-
expect(queriedMap.subMap.shadowed.id).toBe("foreignID");
|
|
55
55
|
if (queriedMap.subMap.hello === "moon") {
|
|
56
56
|
// console.log("got to 'moon'");
|
|
57
|
-
queriedMap.subMap.
|
|
58
|
-
subMap.set("hello", "sun");
|
|
59
|
-
});
|
|
57
|
+
queriedMap.subMap.set("hello", "sun");
|
|
60
58
|
} else if (
|
|
61
59
|
queriedMap.subMap.hello === "sun" &&
|
|
62
60
|
queriedMap.subMap.edits.hello?.by?.profile?.name ===
|
|
@@ -72,9 +70,7 @@ test("Queries with maps work", async () => {
|
|
|
72
70
|
});
|
|
73
71
|
});
|
|
74
72
|
|
|
75
|
-
map = map.
|
|
76
|
-
map.set("hello", "world");
|
|
77
|
-
});
|
|
73
|
+
map = map.set("hello", "world");
|
|
78
74
|
|
|
79
75
|
let subMap = group.createMap<
|
|
80
76
|
CoMap<{
|
|
@@ -83,18 +79,14 @@ test("Queries with maps work", async () => {
|
|
|
83
79
|
}>
|
|
84
80
|
>();
|
|
85
81
|
|
|
86
|
-
map = map.
|
|
87
|
-
map.set("subMap", subMap);
|
|
88
|
-
});
|
|
82
|
+
map = map.set("subMap", subMap);
|
|
89
83
|
|
|
90
|
-
subMap = subMap.
|
|
84
|
+
subMap = subMap.mutate((subMap) => {
|
|
91
85
|
subMap.set("hello", "world");
|
|
92
86
|
subMap.set("id", "foreignID");
|
|
93
87
|
});
|
|
94
88
|
|
|
95
|
-
subMap = subMap.
|
|
96
|
-
subMap.set("hello", "moon");
|
|
97
|
-
});
|
|
89
|
+
subMap = subMap.set("hello", "moon");
|
|
98
90
|
|
|
99
91
|
await done;
|
|
100
92
|
});
|
|
@@ -133,9 +125,8 @@ test("Queries with lists work", () => {
|
|
|
133
125
|
at: expect.any(Date),
|
|
134
126
|
});
|
|
135
127
|
if (queriedList.length === 3) {
|
|
136
|
-
queriedList.
|
|
137
|
-
|
|
138
|
-
});
|
|
128
|
+
queriedList.append("sun");
|
|
129
|
+
|
|
139
130
|
} else if (
|
|
140
131
|
queriedList.length === 4 &&
|
|
141
132
|
queriedList.edits[3]?.by?.profile?.name ===
|
|
@@ -151,10 +142,10 @@ test("Queries with lists work", () => {
|
|
|
151
142
|
});
|
|
152
143
|
});
|
|
153
144
|
|
|
154
|
-
list = list.
|
|
155
|
-
list.
|
|
156
|
-
list.
|
|
157
|
-
list.
|
|
145
|
+
list = list.mutate((list) => {
|
|
146
|
+
list.append("hello");
|
|
147
|
+
list.append("world");
|
|
148
|
+
list.append("moon");
|
|
158
149
|
});
|
|
159
150
|
|
|
160
151
|
return done;
|
|
@@ -182,17 +173,47 @@ test("List of nested maps works", () => {
|
|
|
182
173
|
});
|
|
183
174
|
});
|
|
184
175
|
|
|
185
|
-
list = list.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
);
|
|
191
|
-
});
|
|
176
|
+
list = list.append(
|
|
177
|
+
group.createMap<CoMap<{ hello: "world" }>>({
|
|
178
|
+
hello: "world",
|
|
179
|
+
})
|
|
180
|
+
);
|
|
192
181
|
|
|
193
182
|
return done;
|
|
194
183
|
});
|
|
195
184
|
|
|
185
|
+
test("Can call .map on a quieried coList", async () => {
|
|
186
|
+
const { node } = LocalNode.withNewlyCreatedAccount("Hermes Puggington");
|
|
187
|
+
|
|
188
|
+
const group = node.createGroup();
|
|
189
|
+
|
|
190
|
+
let list = group.createList<CoList<string>>();
|
|
191
|
+
|
|
192
|
+
const done = new Promise<void>((resolve) => {
|
|
193
|
+
|
|
194
|
+
const unsubQuery = node.query(list.id, (queriedList) => {
|
|
195
|
+
|
|
196
|
+
if (queriedList && queriedList[0]) {
|
|
197
|
+
// console.log("update", queriedList);
|
|
198
|
+
expect(queriedList.map((item) => item + "!!!")).toEqual([
|
|
199
|
+
"hello!!!",
|
|
200
|
+
"world!!!",
|
|
201
|
+
]);
|
|
202
|
+
// console.log("final update", queriedList);
|
|
203
|
+
resolve();
|
|
204
|
+
unsubQuery();
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
list = list.mutate((list) => {
|
|
210
|
+
list.append("hello");
|
|
211
|
+
list.append("world");
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
await done;
|
|
215
|
+
});
|
|
216
|
+
|
|
196
217
|
test("Queries with streams work", () => {
|
|
197
218
|
const { node, accountID } =
|
|
198
219
|
LocalNode.withNewlyCreatedAccount("Hermes Puggington");
|
|
@@ -204,7 +225,7 @@ test("Queries with streams work", () => {
|
|
|
204
225
|
const done = new Promise<void>((resolve) => {
|
|
205
226
|
const unsubQuery = node.query(stream.id, (queriedStream) => {
|
|
206
227
|
if (queriedStream) {
|
|
207
|
-
console.log("update", queriedStream);
|
|
228
|
+
// console.log("update", queriedStream);
|
|
208
229
|
if (queriedStream.me?.by?.profile?.name) {
|
|
209
230
|
expect(queriedStream.type).toBe("costream");
|
|
210
231
|
expect(queriedStream.id).toEqual(stream.id);
|
|
@@ -251,7 +272,7 @@ test("Queries with streams work", () => {
|
|
|
251
272
|
[accountID]: expectedEntry,
|
|
252
273
|
});
|
|
253
274
|
expect(queriedStream.me).toMatchObject(expectedEntry);
|
|
254
|
-
console.log("final update", queriedStream);
|
|
275
|
+
// console.log("final update", queriedStream);
|
|
255
276
|
resolve();
|
|
256
277
|
unsubQuery();
|
|
257
278
|
}
|
|
@@ -259,10 +280,8 @@ test("Queries with streams work", () => {
|
|
|
259
280
|
});
|
|
260
281
|
});
|
|
261
282
|
|
|
262
|
-
stream = stream.
|
|
263
|
-
|
|
264
|
-
stream.push("world");
|
|
265
|
-
});
|
|
283
|
+
stream = stream.push("hello");
|
|
284
|
+
stream = stream.push("world");
|
|
266
285
|
|
|
267
286
|
return done;
|
|
268
287
|
});
|
|
@@ -293,9 +312,7 @@ test("Streams of nested maps work", () => {
|
|
|
293
312
|
hello: "world",
|
|
294
313
|
});
|
|
295
314
|
|
|
296
|
-
stream = stream.
|
|
297
|
-
list.push(map);
|
|
298
|
-
});
|
|
315
|
+
stream = stream.push(map);
|
|
299
316
|
|
|
300
317
|
return done;
|
|
301
|
-
});
|
|
318
|
+
});
|
package/src/tests/sync.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { newRandomSessionID } from "../coValueCore.js";
|
|
2
|
-
import { LocalNode } from "../
|
|
2
|
+
import { LocalNode } from "../localNode.js";
|
|
3
3
|
import { SyncMessage } from "../sync.js";
|
|
4
4
|
import { expectMap } from "../coValue.js";
|
|
5
5
|
import { MapOpPayload } from "../coValues/coMap.js";
|
|
@@ -32,7 +32,7 @@ test("Node replies with initial tx and header to empty subscribe", async () => {
|
|
|
32
32
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
33
33
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
34
34
|
|
|
35
|
-
node.
|
|
35
|
+
node.syncManager.addPeer({
|
|
36
36
|
id: "test",
|
|
37
37
|
incoming: inRx,
|
|
38
38
|
outgoing: outTx,
|
|
@@ -114,7 +114,7 @@ test("Node replies with only new tx to subscribe with some known state", async (
|
|
|
114
114
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
115
115
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
116
116
|
|
|
117
|
-
node.
|
|
117
|
+
node.syncManager.addPeer({
|
|
118
118
|
id: "test",
|
|
119
119
|
incoming: inRx,
|
|
120
120
|
outgoing: outTx,
|
|
@@ -191,7 +191,7 @@ test("After subscribing, node sends own known state and new txs to peer", async
|
|
|
191
191
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
192
192
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
193
193
|
|
|
194
|
-
node.
|
|
194
|
+
node.syncManager.addPeer({
|
|
195
195
|
id: "test",
|
|
196
196
|
incoming: inRx,
|
|
197
197
|
outgoing: outTx,
|
|
@@ -312,7 +312,7 @@ test("Client replies with known new content to tellKnownState from server", asyn
|
|
|
312
312
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
313
313
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
314
314
|
|
|
315
|
-
node.
|
|
315
|
+
node.syncManager.addPeer({
|
|
316
316
|
id: "test",
|
|
317
317
|
incoming: inRx,
|
|
318
318
|
outgoing: outTx,
|
|
@@ -387,7 +387,7 @@ test("No matter the optimistic known state, node respects invalid known state me
|
|
|
387
387
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
388
388
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
389
389
|
|
|
390
|
-
node.
|
|
390
|
+
node.syncManager.addPeer({
|
|
391
391
|
id: "test",
|
|
392
392
|
incoming: inRx,
|
|
393
393
|
outgoing: outTx,
|
|
@@ -491,7 +491,7 @@ test("If we add a peer, but it never subscribes to a coValue, it won't get any m
|
|
|
491
491
|
const [inRx, _inTx] = newStreamPair<SyncMessage>();
|
|
492
492
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
493
493
|
|
|
494
|
-
node.
|
|
494
|
+
node.syncManager.addPeer({
|
|
495
495
|
id: "test",
|
|
496
496
|
incoming: inRx,
|
|
497
497
|
outgoing: outTx,
|
|
@@ -520,7 +520,7 @@ test("If we add a server peer, all updates to all coValues are sent to it, even
|
|
|
520
520
|
const [inRx, _inTx] = newStreamPair<SyncMessage>();
|
|
521
521
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
522
522
|
|
|
523
|
-
node.
|
|
523
|
+
node.syncManager.addPeer({
|
|
524
524
|
id: "test",
|
|
525
525
|
incoming: inRx,
|
|
526
526
|
outgoing: outTx,
|
|
@@ -592,7 +592,7 @@ test("If we add a server peer, newly created coValues are auto-subscribed to", a
|
|
|
592
592
|
const [inRx, _inTx] = newStreamPair<SyncMessage>();
|
|
593
593
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
594
594
|
|
|
595
|
-
node.
|
|
595
|
+
node.syncManager.addPeer({
|
|
596
596
|
id: "test",
|
|
597
597
|
incoming: inRx,
|
|
598
598
|
outgoing: outTx,
|
|
@@ -646,7 +646,7 @@ test("When we connect a new server peer, we try to sync all existing coValues to
|
|
|
646
646
|
const [inRx, _inTx] = newStreamPair<SyncMessage>();
|
|
647
647
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
648
648
|
|
|
649
|
-
node.
|
|
649
|
+
node.syncManager.addPeer({
|
|
650
650
|
id: "test",
|
|
651
651
|
incoming: inRx,
|
|
652
652
|
outgoing: outTx,
|
|
@@ -682,7 +682,7 @@ test("When receiving a subscribe with a known state that is ahead of our own, pe
|
|
|
682
682
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
683
683
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
684
684
|
|
|
685
|
-
node.
|
|
685
|
+
node.syncManager.addPeer({
|
|
686
686
|
id: "test",
|
|
687
687
|
incoming: inRx,
|
|
688
688
|
outgoing: outTx,
|
|
@@ -723,7 +723,7 @@ test.skip("When replaying creation and transactions of a coValue as new content,
|
|
|
723
723
|
const [inRx1, inTx1] = newStreamPair<SyncMessage>();
|
|
724
724
|
const [outRx1, outTx1] = newStreamPair<SyncMessage>();
|
|
725
725
|
|
|
726
|
-
node1.
|
|
726
|
+
node1.syncManager.addPeer({
|
|
727
727
|
id: "test2",
|
|
728
728
|
incoming: inRx1,
|
|
729
729
|
outgoing: outTx1,
|
|
@@ -738,7 +738,7 @@ test.skip("When replaying creation and transactions of a coValue as new content,
|
|
|
738
738
|
const [inRx2, inTx2] = newStreamPair<SyncMessage>();
|
|
739
739
|
const [outRx2, outTx2] = newStreamPair<SyncMessage>();
|
|
740
740
|
|
|
741
|
-
node2.
|
|
741
|
+
node2.syncManager.addPeer({
|
|
742
742
|
id: "test1",
|
|
743
743
|
incoming: inRx2,
|
|
744
744
|
outgoing: outTx2,
|
|
@@ -769,7 +769,7 @@ test.skip("When replaying creation and transactions of a coValue as new content,
|
|
|
769
769
|
expect(groupTellKnownStateMsg.value).toMatchObject(groupStateEx(group));
|
|
770
770
|
|
|
771
771
|
expect(
|
|
772
|
-
node2.
|
|
772
|
+
node2.syncManager.peers["test1"]!.optimisticKnownStates[
|
|
773
773
|
group.underlyingMap.core.id
|
|
774
774
|
]
|
|
775
775
|
).toBeDefined();
|
|
@@ -850,8 +850,8 @@ test.skip("When loading a coValue on one node, the server node it is requested f
|
|
|
850
850
|
|
|
851
851
|
const [node1asPeer, node2asPeer] = connectedPeers("peer1", "peer2");
|
|
852
852
|
|
|
853
|
-
node1.
|
|
854
|
-
node2.
|
|
853
|
+
node1.syncManager.addPeer(node2asPeer);
|
|
854
|
+
node2.syncManager.addPeer(node1asPeer);
|
|
855
855
|
|
|
856
856
|
await node2.loadCoValue(map.core.id);
|
|
857
857
|
|
|
@@ -883,8 +883,8 @@ test("Can sync a coValue through a server to another client", async () => {
|
|
|
883
883
|
peer2role: "client",
|
|
884
884
|
});
|
|
885
885
|
|
|
886
|
-
client1.
|
|
887
|
-
server.
|
|
886
|
+
client1.syncManager.addPeer(serverAsPeer);
|
|
887
|
+
server.syncManager.addPeer(client1AsPeer);
|
|
888
888
|
|
|
889
889
|
const client2 = new LocalNode(admin, newRandomSessionID(admin.id));
|
|
890
890
|
|
|
@@ -894,8 +894,8 @@ test("Can sync a coValue through a server to another client", async () => {
|
|
|
894
894
|
{ peer1role: "server", peer2role: "client" }
|
|
895
895
|
);
|
|
896
896
|
|
|
897
|
-
client2.
|
|
898
|
-
server.
|
|
897
|
+
client2.syncManager.addPeer(serverAsOtherPeer);
|
|
898
|
+
server.syncManager.addPeer(client2AsPeer);
|
|
899
899
|
|
|
900
900
|
const mapOnClient2 = await client2.loadCoValue(map.core.id);
|
|
901
901
|
|
|
@@ -926,8 +926,8 @@ test("Can sync a coValue with private transactions through a server to another c
|
|
|
926
926
|
peer2role: "client",
|
|
927
927
|
});
|
|
928
928
|
|
|
929
|
-
client1.
|
|
930
|
-
server.
|
|
929
|
+
client1.syncManager.addPeer(serverAsPeer);
|
|
930
|
+
server.syncManager.addPeer(client1AsPeer);
|
|
931
931
|
|
|
932
932
|
const client2 = new LocalNode(admin, newRandomSessionID(admin.id));
|
|
933
933
|
|
|
@@ -937,8 +937,8 @@ test("Can sync a coValue with private transactions through a server to another c
|
|
|
937
937
|
{ trace: true, peer1role: "server", peer2role: "client" }
|
|
938
938
|
);
|
|
939
939
|
|
|
940
|
-
client2.
|
|
941
|
-
server.
|
|
940
|
+
client2.syncManager.addPeer(serverAsOtherPeer);
|
|
941
|
+
server.syncManager.addPeer(client2AsPeer);
|
|
942
942
|
|
|
943
943
|
const mapOnClient2 = await client2.loadCoValue(map.core.id);
|
|
944
944
|
|
|
@@ -956,7 +956,7 @@ test("When a peer's incoming/readable stream closes, we remove the peer", async
|
|
|
956
956
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
957
957
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
958
958
|
|
|
959
|
-
node.
|
|
959
|
+
node.syncManager.addPeer({
|
|
960
960
|
id: "test",
|
|
961
961
|
incoming: inRx,
|
|
962
962
|
outgoing: outTx,
|
|
@@ -998,7 +998,7 @@ test("When a peer's incoming/readable stream closes, we remove the peer", async
|
|
|
998
998
|
|
|
999
999
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
1000
1000
|
|
|
1001
|
-
expect(node.
|
|
1001
|
+
expect(node.syncManager.peers["test"]).toBeUndefined();
|
|
1002
1002
|
});
|
|
1003
1003
|
|
|
1004
1004
|
test("When a peer's outgoing/writable stream closes, we remove the peer", async () => {
|
|
@@ -1010,7 +1010,7 @@ test("When a peer's outgoing/writable stream closes, we remove the peer", async
|
|
|
1010
1010
|
const [inRx, inTx] = newStreamPair<SyncMessage>();
|
|
1011
1011
|
const [outRx, outTx] = newStreamPair<SyncMessage>();
|
|
1012
1012
|
|
|
1013
|
-
node.
|
|
1013
|
+
node.syncManager.addPeer({
|
|
1014
1014
|
id: "test",
|
|
1015
1015
|
incoming: inRx,
|
|
1016
1016
|
outgoing: outTx,
|
|
@@ -1057,7 +1057,7 @@ test("When a peer's outgoing/writable stream closes, we remove the peer", async
|
|
|
1057
1057
|
|
|
1058
1058
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
1059
1059
|
|
|
1060
|
-
expect(node.
|
|
1060
|
+
expect(node.syncManager.peers["test"]).toBeUndefined();
|
|
1061
1061
|
});
|
|
1062
1062
|
|
|
1063
1063
|
test("If we start loading a coValue before connecting to a peer that has it, it will load it once we connect", async () => {
|
|
@@ -1080,13 +1080,13 @@ test("If we start loading a coValue before connecting to a peer that has it, it
|
|
|
1080
1080
|
trace: true,
|
|
1081
1081
|
});
|
|
1082
1082
|
|
|
1083
|
-
node1.
|
|
1083
|
+
node1.syncManager.addPeer(node2asPeer);
|
|
1084
1084
|
|
|
1085
1085
|
const mapOnNode2Promise = node2.loadCoValue(map.core.id);
|
|
1086
1086
|
|
|
1087
1087
|
expect(node2.coValues[map.core.id]?.state).toEqual("loading");
|
|
1088
1088
|
|
|
1089
|
-
node2.
|
|
1089
|
+
node2.syncManager.addPeer(node1asPeer);
|
|
1090
1090
|
|
|
1091
1091
|
const mapOnNode2 = await mapOnNode2Promise;
|
|
1092
1092
|
|
package/src/tests/testUtils.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AgentSecret, createdNowUnique, getAgentID, newRandomAgentSecret } from "../crypto.js";
|
|
2
2
|
import { newRandomSessionID } from "../coValueCore.js";
|
|
3
|
-
import { LocalNode } from "../
|
|
3
|
+
import { LocalNode } from "../localNode.js";
|
|
4
4
|
import { expectGroupContent } from "../group.js";
|
|
5
5
|
import { AnonymousControlledAccount } from "../account.js";
|
|
6
6
|
import { SessionID } from "../ids.js";
|
|
@@ -29,7 +29,7 @@ export function newGroup() {
|
|
|
29
29
|
|
|
30
30
|
const groupContent = expectGroupContent(group.getCurrentContent());
|
|
31
31
|
|
|
32
|
-
groupContent.
|
|
32
|
+
groupContent.mutate((editable) => {
|
|
33
33
|
editable.set(admin.id, "admin", "trusting");
|
|
34
34
|
expect(editable.get(admin.id)).toEqual("admin");
|
|
35
35
|
});
|
|
@@ -44,7 +44,7 @@ export function groupWithTwoAdmins() {
|
|
|
44
44
|
|
|
45
45
|
let content = expectGroupContent(group.getCurrentContent());
|
|
46
46
|
|
|
47
|
-
content.
|
|
47
|
+
content.mutate((editable) => {
|
|
48
48
|
editable.set(otherAdmin.id, "admin", "trusting");
|
|
49
49
|
expect(editable.get(otherAdmin.id)).toEqual("admin");
|
|
50
50
|
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { JsonObject } from '../jsonValue.js';
|
|
2
|
-
import { CoID, CoValue } from '../coValue.js';
|
|
3
|
-
import { CoValueCore } from '../coValueCore.js';
|
|
4
|
-
import { Group } from '../index.js';
|
|
5
|
-
export declare class Static<T extends JsonObject> implements CoValue {
|
|
6
|
-
id: CoID<this>;
|
|
7
|
-
type: "static";
|
|
8
|
-
core: CoValueCore;
|
|
9
|
-
constructor(core: CoValueCore);
|
|
10
|
-
get meta(): T;
|
|
11
|
-
get group(): Group;
|
|
12
|
-
toJSON(): JsonObject;
|
|
13
|
-
subscribe(_listener: (st: this) => void): () => void;
|
|
14
|
-
}
|
package/dist/coValues/static.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class Static {
|
|
2
|
-
constructor(core) {
|
|
3
|
-
this.type = "static";
|
|
4
|
-
this.id = core.id;
|
|
5
|
-
this.core = core;
|
|
6
|
-
}
|
|
7
|
-
get meta() {
|
|
8
|
-
return this.core.header.meta;
|
|
9
|
-
}
|
|
10
|
-
get group() {
|
|
11
|
-
return this.core.getGroup();
|
|
12
|
-
}
|
|
13
|
-
toJSON() {
|
|
14
|
-
throw new Error("Method not implemented.");
|
|
15
|
-
}
|
|
16
|
-
subscribe(_listener) {
|
|
17
|
-
throw new Error("Method not implemented.");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=static.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/coValues/static.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,MAAM;IAKf,YAAY,IAAiB;QAH7B,SAAI,GAAG,QAAiB,CAAC;QAIrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAgB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC;IACtC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,SAA6B;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ"}
|
package/dist/node.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/src/coValues/static.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { JsonObject } from '../jsonValue.js';
|
|
2
|
-
import { CoID, CoValue } from '../coValue.js';
|
|
3
|
-
import { CoValueCore } from '../coValueCore.js';
|
|
4
|
-
import { Group } from '../index.js';
|
|
5
|
-
|
|
6
|
-
export class Static<T extends JsonObject> implements CoValue{
|
|
7
|
-
id: CoID<this>;
|
|
8
|
-
type = "static" as const;
|
|
9
|
-
core: CoValueCore;
|
|
10
|
-
|
|
11
|
-
constructor(core: CoValueCore) {
|
|
12
|
-
this.id = core.id as CoID<this>;
|
|
13
|
-
this.core = core;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
get meta(): T {
|
|
17
|
-
return this.core.header.meta as T;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
get group(): Group {
|
|
21
|
-
return this.core.getGroup();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
toJSON(): JsonObject {
|
|
25
|
-
throw new Error("Method not implemented.");
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
subscribe(_listener: (st: this) => void): () => void {
|
|
29
|
-
throw new Error("Method not implemented.");
|
|
30
|
-
}
|
|
31
|
-
}
|