jazz-tools 0.7.0-alpha.4 → 0.7.0-alpha.41
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.cjs +3 -10
- package/.prettierrc.js +9 -0
- package/.turbo/turbo-build.log +3 -19
- package/.turbo/turbo-lint.log +4 -0
- package/.turbo/turbo-test.log +140 -0
- package/CHANGELOG.md +243 -0
- package/README.md +10 -2
- package/dist/coValues/account.js +104 -50
- package/dist/coValues/account.js.map +1 -1
- package/dist/coValues/coList.js +165 -112
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.js +243 -163
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.js +256 -73
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/coValues/deepLoading.js +57 -0
- package/dist/coValues/deepLoading.js.map +1 -0
- package/dist/coValues/extensions/imageDef.js +14 -8
- package/dist/coValues/extensions/imageDef.js.map +1 -1
- package/dist/coValues/group.js +49 -38
- package/dist/coValues/group.js.map +1 -1
- package/dist/coValues/interfaces.js +66 -26
- package/dist/coValues/interfaces.js.map +1 -1
- package/dist/implementation/devtoolsFormatters.js +114 -0
- package/dist/implementation/devtoolsFormatters.js.map +1 -0
- package/dist/implementation/refs.js +60 -19
- package/dist/implementation/refs.js.map +1 -1
- package/dist/implementation/schema.js +44 -1
- package/dist/implementation/schema.js.map +1 -1
- package/dist/implementation/subscriptionScope.js +19 -1
- package/dist/implementation/subscriptionScope.js.map +1 -1
- package/dist/implementation/symbols.js +5 -0
- package/dist/implementation/symbols.js.map +1 -0
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/internal.js +4 -1
- package/dist/internal.js.map +1 -1
- package/dist/tests/coList.test.js +51 -52
- package/dist/tests/coList.test.js.map +1 -1
- package/dist/tests/coMap.test.js +196 -75
- package/dist/tests/coMap.test.js.map +1 -1
- package/dist/tests/coStream.test.js +95 -85
- package/dist/tests/coStream.test.js.map +1 -1
- package/dist/tests/deepLoading.test.js +188 -0
- package/dist/tests/deepLoading.test.js.map +1 -0
- package/dist/tests/groupsAndAccounts.test.js +83 -0
- package/dist/tests/groupsAndAccounts.test.js.map +1 -0
- package/package.json +17 -9
- package/src/coValues/account.ts +183 -152
- package/src/coValues/coList.ts +220 -173
- package/src/coValues/coMap.ts +322 -312
- package/src/coValues/coStream.ts +397 -135
- package/src/coValues/deepLoading.ts +215 -0
- package/src/coValues/extensions/imageDef.ts +16 -17
- package/src/coValues/group.ts +95 -111
- package/src/coValues/interfaces.ts +217 -115
- package/src/implementation/devtoolsFormatters.ts +110 -0
- package/src/implementation/inspect.ts +1 -1
- package/src/implementation/refs.ts +91 -38
- package/src/implementation/schema.ts +87 -46
- package/src/implementation/subscriptionScope.ts +44 -12
- package/src/implementation/symbols.ts +11 -0
- package/src/index.ts +13 -9
- package/src/internal.ts +6 -2
- package/src/tests/coList.test.ts +67 -66
- package/src/tests/coMap.test.ts +226 -123
- package/src/tests/coStream.test.ts +141 -131
- package/src/tests/deepLoading.test.ts +301 -0
- package/src/tests/groupsAndAccounts.test.ts +91 -0
@@ -1,9 +1,12 @@
|
|
1
1
|
export const subscriptionsScopes = new WeakMap();
|
2
|
+
const TRACE_INVALIDATIONS = false;
|
2
3
|
export class SubscriptionScope {
|
3
4
|
constructor(root, rootSchema, onUpdate) {
|
4
5
|
this.scopeID = `scope-${Math.random().toString(36).slice(2)}`;
|
5
6
|
this.entries = new Map();
|
6
7
|
this.scheduledUpdate = false;
|
8
|
+
this.cachedValues = {};
|
9
|
+
this.parents = {};
|
7
10
|
this.rootEntry = {
|
8
11
|
state: "loaded",
|
9
12
|
value: root,
|
@@ -31,11 +34,14 @@ export class SubscriptionScope {
|
|
31
34
|
});
|
32
35
|
}
|
33
36
|
}
|
34
|
-
onRefAccessedOrSet(accessedOrSetId) {
|
37
|
+
onRefAccessedOrSet(fromId, accessedOrSetId) {
|
35
38
|
// console.log("onRefAccessedOrSet", this.scopeID, accessedOrSetId);
|
36
39
|
if (!accessedOrSetId) {
|
37
40
|
return;
|
38
41
|
}
|
42
|
+
this.parents[accessedOrSetId] =
|
43
|
+
this.parents[accessedOrSetId] || new Set();
|
44
|
+
this.parents[accessedOrSetId].add(fromId);
|
39
45
|
if (!this.entries.has(accessedOrSetId)) {
|
40
46
|
const loadingEntry = {
|
41
47
|
state: "loading",
|
@@ -59,6 +65,7 @@ export class SubscriptionScope {
|
|
59
65
|
// console.log("ref update", this.scopeID, accessedOrSetId, JSON.stringify(rawUpdate))
|
60
66
|
if (!rawUpdate)
|
61
67
|
return;
|
68
|
+
this.invalidate(accessedOrSetId);
|
62
69
|
this.scheduleUpdate();
|
63
70
|
});
|
64
71
|
entry.rawUnsub = rawUnsub;
|
@@ -66,6 +73,17 @@ export class SubscriptionScope {
|
|
66
73
|
});
|
67
74
|
}
|
68
75
|
}
|
76
|
+
invalidate(id, fromChild, seen = new Set()) {
|
77
|
+
if (seen.has(id))
|
78
|
+
return;
|
79
|
+
TRACE_INVALIDATIONS &&
|
80
|
+
console.log("invalidating", fromChild, "->", id, this.cachedValues[id]);
|
81
|
+
delete this.cachedValues[id];
|
82
|
+
seen.add(id);
|
83
|
+
for (const parent of this.parents[id] || []) {
|
84
|
+
this.invalidate(parent, id, seen);
|
85
|
+
}
|
86
|
+
}
|
69
87
|
unsubscribeAll() {
|
70
88
|
for (const entry of this.entries.values()) {
|
71
89
|
if (entry.state === "loaded") {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subscriptionScope.js","sourceRoot":"","sources":["../../src/implementation/subscriptionScope.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"subscriptionScope.js","sourceRoot":"","sources":["../../src/implementation/subscriptionScope.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/implementation/symbols.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAGnD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAGnD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
|
2
|
-
export {
|
3
|
-
export {
|
4
|
-
export { CoMap, indexSignature } from "./internal.js";
|
1
|
+
export { cojsonInternals, MAX_RECOMMENDED_TX_SIZE, WasmCrypto, PureJSCrypto, } from "cojson";
|
2
|
+
export { Encoders, co } from "./internal.js";
|
3
|
+
export { CoMap } from "./internal.js";
|
5
4
|
export { CoList } from "./internal.js";
|
6
5
|
export { CoStream, BinaryCoStream } from "./internal.js";
|
7
6
|
export { Group, Profile } from "./internal.js";
|
8
|
-
export { Account } from "./internal.js";
|
7
|
+
export { Account, isControlledAccount } from "./internal.js";
|
9
8
|
export { ImageDefinition } from "./internal.js";
|
10
9
|
export { CoValueBase } from "./internal.js";
|
11
10
|
//# 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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,YAAY,GACf,MAAM,QAAQ,CAAC;AAYhB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC"}
|
package/dist/internal.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
export * from
|
1
|
+
export * from "./implementation/symbols.js";
|
2
|
+
export * from "./implementation/inspect.js";
|
2
3
|
export * from "./coValues/interfaces.js";
|
3
4
|
export * from "./coValues/coMap.js";
|
4
5
|
export * from "./coValues/account.js";
|
@@ -9,5 +10,7 @@ export * from "./implementation/errors.js";
|
|
9
10
|
export * from "./implementation/refs.js";
|
10
11
|
export * from "./implementation/schema.js";
|
11
12
|
export * from "./implementation/subscriptionScope.js";
|
13
|
+
export * from "./coValues/deepLoading.js";
|
12
14
|
export * from "./coValues/extensions/imageDef.js";
|
15
|
+
import "./implementation/devtoolsFormatters.js";
|
13
16
|
//# sourceMappingURL=internal.js.map
|
package/dist/internal.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mCAAmC,CAAC;AAElD,OAAO,wCAAwC,CAAC"}
|
@@ -1,24 +1,17 @@
|
|
1
|
-
import { expect, describe, test
|
2
|
-
import { webcrypto } from "node:crypto";
|
1
|
+
import { expect, describe, test } from "vitest";
|
3
2
|
import { connectedPeers } from "cojson/src/streamUtils.js";
|
4
3
|
import { newRandomSessionID } from "cojson/src/coValueCore.js";
|
5
4
|
import { Effect, Queue } from "effect";
|
6
|
-
import { Account, CoList,
|
7
|
-
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
9
|
-
globalThis.crypto = webcrypto;
|
10
|
-
}
|
11
|
-
beforeEach(async () => {
|
12
|
-
await jazzReady;
|
13
|
-
});
|
5
|
+
import { Account, CoList, WasmCrypto, co, isControlledAccount } from "../index.js";
|
6
|
+
const Crypto = await WasmCrypto.create();
|
14
7
|
describe("Simple CoList operations", async () => {
|
15
8
|
const me = await Account.create({
|
16
|
-
name: "Hermes Puggington",
|
9
|
+
creationProps: { name: "Hermes Puggington" },
|
10
|
+
crypto: Crypto,
|
17
11
|
});
|
18
|
-
class TestList extends CoList {
|
12
|
+
class TestList extends CoList.Of(co.string) {
|
19
13
|
}
|
20
|
-
TestList.
|
21
|
-
const list = new TestList(["bread", "butter", "onion"], { owner: me });
|
14
|
+
const list = TestList.create(["bread", "butter", "onion"], { owner: me });
|
22
15
|
test("Construction", () => {
|
23
16
|
expect(list[0]).toBe("bread");
|
24
17
|
expect(list[1]).toBe("butter");
|
@@ -33,7 +26,7 @@ describe("Simple CoList operations", async () => {
|
|
33
26
|
});
|
34
27
|
describe("Mutation", () => {
|
35
28
|
test("assignment", () => {
|
36
|
-
const list =
|
29
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
37
30
|
owner: me,
|
38
31
|
});
|
39
32
|
list[1] = "margarine";
|
@@ -45,7 +38,7 @@ describe("Simple CoList operations", async () => {
|
|
45
38
|
expect(list[1]).toBe("margarine");
|
46
39
|
});
|
47
40
|
test("push", () => {
|
48
|
-
const list =
|
41
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
49
42
|
owner: me,
|
50
43
|
});
|
51
44
|
list.push("cheese");
|
@@ -58,7 +51,7 @@ describe("Simple CoList operations", async () => {
|
|
58
51
|
]);
|
59
52
|
});
|
60
53
|
test("unshift", () => {
|
61
|
-
const list =
|
54
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
62
55
|
owner: me,
|
63
56
|
});
|
64
57
|
list.unshift("lettuce");
|
@@ -71,7 +64,7 @@ describe("Simple CoList operations", async () => {
|
|
71
64
|
]);
|
72
65
|
});
|
73
66
|
test("pop", () => {
|
74
|
-
const list =
|
67
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
75
68
|
owner: me,
|
76
69
|
});
|
77
70
|
expect(list.pop()).toBe("onion");
|
@@ -79,48 +72,46 @@ describe("Simple CoList operations", async () => {
|
|
79
72
|
expect(list._raw.asArray()).toEqual(["bread", "butter"]);
|
80
73
|
});
|
81
74
|
test("shift", () => {
|
82
|
-
const list =
|
75
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
83
76
|
owner: me,
|
84
77
|
});
|
85
78
|
expect(list.shift()).toBe("bread");
|
86
79
|
expect(list.length).toBe(2);
|
87
80
|
expect(list._raw.asArray()).toEqual(["butter", "onion"]);
|
88
81
|
});
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
82
|
+
test("splice", () => {
|
83
|
+
const list = TestList.create(["bread", "butter", "onion"], {
|
84
|
+
owner: me,
|
85
|
+
});
|
86
|
+
list.splice(1, 1, "salt", "pepper");
|
87
|
+
expect(list.length).toBe(4);
|
88
|
+
expect(list._raw.asArray()).toEqual([
|
89
|
+
"bread",
|
90
|
+
"salt",
|
91
|
+
"pepper",
|
92
|
+
"onion",
|
93
|
+
]);
|
94
|
+
});
|
102
95
|
});
|
103
96
|
});
|
104
97
|
describe("CoList resolution", async () => {
|
105
|
-
class TwiceNestedList extends CoList {
|
98
|
+
class TwiceNestedList extends CoList.Of(co.string) {
|
106
99
|
joined() {
|
107
100
|
return this.join(",");
|
108
101
|
}
|
109
102
|
}
|
110
|
-
|
111
|
-
class NestedList extends CoList {
|
103
|
+
class NestedList extends CoList.Of(co.ref(TwiceNestedList)) {
|
112
104
|
}
|
113
|
-
|
114
|
-
class TestList extends CoList {
|
105
|
+
class TestList extends CoList.Of(co.ref(NestedList)) {
|
115
106
|
}
|
116
|
-
TestList.encoding({ _item: { ref: () => NestedList } });
|
117
107
|
const initNodeAndList = async () => {
|
118
108
|
const me = await Account.create({
|
119
|
-
name: "Hermes Puggington",
|
109
|
+
creationProps: { name: "Hermes Puggington" },
|
110
|
+
crypto: Crypto,
|
120
111
|
});
|
121
|
-
const list =
|
122
|
-
|
123
|
-
|
112
|
+
const list = TestList.create([
|
113
|
+
NestedList.create([TwiceNestedList.create(["a", "b"], { owner: me })], { owner: me }),
|
114
|
+
NestedList.create([TwiceNestedList.create(["c", "d"], { owner: me })], { owner: me }),
|
124
115
|
], { owner: me });
|
125
116
|
return { me, list };
|
126
117
|
};
|
@@ -134,30 +125,33 @@ describe("CoList resolution", async () => {
|
|
134
125
|
test("Loading and availability", async () => {
|
135
126
|
const { me, list } = await initNodeAndList();
|
136
127
|
const [initialAsPeer, secondPeer] = connectedPeers("initial", "second", { peer1role: "server", peer2role: "client" });
|
128
|
+
if (!isControlledAccount(me)) {
|
129
|
+
throw ("me is not a controlled account");
|
130
|
+
}
|
137
131
|
me._raw.core.node.syncManager.addPeer(secondPeer);
|
138
132
|
const meOnSecondPeer = await Account.become({
|
139
133
|
accountID: me.id,
|
140
134
|
accountSecret: me._raw.agentSecret,
|
141
135
|
peersToLoadFrom: [initialAsPeer],
|
136
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
142
137
|
sessionID: newRandomSessionID(me.id),
|
138
|
+
crypto: Crypto,
|
143
139
|
});
|
144
|
-
const loadedList = await TestList.load(list.id,
|
140
|
+
const loadedList = await TestList.load(list.id, meOnSecondPeer, []);
|
145
141
|
expect(loadedList?.[0]).toBe(null);
|
146
142
|
expect(loadedList?._refs[0]?.id).toEqual(list[0].id);
|
147
|
-
const loadedNestedList = await NestedList.load(list[0].id,
|
148
|
-
as: meOnSecondPeer,
|
149
|
-
});
|
143
|
+
const loadedNestedList = await NestedList.load(list[0].id, meOnSecondPeer, []);
|
150
144
|
expect(loadedList?.[0]).toBeDefined();
|
151
145
|
expect(loadedList?.[0]?.[0]).toBe(null);
|
152
146
|
expect(loadedList?.[0]?._refs[0]?.id).toEqual(list[0][0].id);
|
153
147
|
expect(loadedList?._refs[0]?.value).toEqual(loadedNestedList);
|
154
|
-
const loadedTwiceNestedList = await TwiceNestedList.load(list[0][0].id,
|
148
|
+
const loadedTwiceNestedList = await TwiceNestedList.load(list[0][0].id, meOnSecondPeer, []);
|
155
149
|
expect(loadedList?.[0]?.[0]).toBeDefined();
|
156
150
|
expect(loadedList?.[0]?.[0]?.[0]).toBe("a");
|
157
151
|
expect(loadedList?.[0]?.[0]?.joined()).toBe("a,b");
|
158
152
|
expect(loadedList?.[0]?._refs[0]?.id).toEqual(list[0]?.[0]?.id);
|
159
153
|
expect(loadedList?.[0]?._refs[0]?.value).toEqual(loadedTwiceNestedList);
|
160
|
-
const otherNestedList =
|
154
|
+
const otherNestedList = NestedList.create([TwiceNestedList.create(["e", "f"], { owner: meOnSecondPeer })], { owner: meOnSecondPeer });
|
161
155
|
loadedList[0] = otherNestedList;
|
162
156
|
expect(loadedList?.[0]).toEqual(otherNestedList);
|
163
157
|
expect(loadedList?._refs[0]?.id).toEqual(otherNestedList.id);
|
@@ -165,18 +159,23 @@ describe("CoList resolution", async () => {
|
|
165
159
|
test("Subscription & auto-resolution", async () => {
|
166
160
|
const { me, list } = await initNodeAndList();
|
167
161
|
const [initialAsPeer, secondPeer] = connectedPeers("initial", "second", { peer1role: "server", peer2role: "client" });
|
162
|
+
if (!isControlledAccount(me)) {
|
163
|
+
throw ("me is not a controlled account");
|
164
|
+
}
|
168
165
|
me._raw.core.node.syncManager.addPeer(secondPeer);
|
169
166
|
const meOnSecondPeer = await Account.become({
|
170
167
|
accountID: me.id,
|
171
168
|
accountSecret: me._raw.agentSecret,
|
172
169
|
peersToLoadFrom: [initialAsPeer],
|
170
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
173
171
|
sessionID: newRandomSessionID(me.id),
|
172
|
+
crypto: Crypto,
|
174
173
|
});
|
175
174
|
await Effect.runPromise(Effect.gen(function* ($) {
|
176
175
|
const queue = yield* $(Queue.unbounded());
|
177
|
-
TestList.subscribe(list.id,
|
176
|
+
TestList.subscribe(list.id, meOnSecondPeer, [], (subscribedList) => {
|
178
177
|
console.log("subscribedList?.[0]?.[0]?.[0]", subscribedList?.[0]?.[0]?.[0]);
|
179
|
-
Effect.runPromise(Queue.offer(queue, subscribedList));
|
178
|
+
void Effect.runPromise(Queue.offer(queue, subscribedList));
|
180
179
|
});
|
181
180
|
const update1 = yield* $(Queue.take(queue));
|
182
181
|
expect(update1?.[0]).toBe(null);
|
@@ -191,10 +190,10 @@ describe("CoList resolution", async () => {
|
|
191
190
|
const update4 = yield* $(Queue.take(queue));
|
192
191
|
expect(update4?.[0]?.[0]?.[0]).toBe("x");
|
193
192
|
// When assigning a new nested value, we get an update
|
194
|
-
const newTwiceNestedList =
|
193
|
+
const newTwiceNestedList = TwiceNestedList.create(["y", "z"], {
|
195
194
|
owner: meOnSecondPeer,
|
196
195
|
});
|
197
|
-
const newNestedList =
|
196
|
+
const newNestedList = NestedList.create([newTwiceNestedList], {
|
198
197
|
owner: meOnSecondPeer,
|
199
198
|
});
|
200
199
|
update4[0] = newNestedList;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
|