cojson 0.2.2 → 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/.eslintrc.cjs +1 -0
- package/dist/account.d.ts +8 -8
- package/dist/account.js +2 -2
- package/dist/account.js.map +1 -1
- package/dist/coValue.d.ts +22 -27
- package/dist/coValue.js +21 -0
- package/dist/coValue.js.map +1 -1
- package/dist/coValueCore.d.ts +7 -7
- package/dist/coValueCore.js +11 -14
- package/dist/coValueCore.js.map +1 -1
- package/dist/coValues/coList.d.ts +107 -42
- package/dist/coValues/coList.js +163 -72
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.d.ts +109 -50
- package/dist/coValues/coMap.js +161 -109
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.d.ts +78 -33
- package/dist/coValues/coStream.js +134 -53
- 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 +59 -23
- package/dist/group.js +83 -25
- package/dist/group.js.map +1 -1
- package/dist/index.d.ts +14 -11
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/{node.d.ts → localNode.d.ts} +23 -11
- package/dist/{node.js → localNode.js} +80 -42
- package/dist/localNode.js.map +1 -0
- package/dist/media.d.ts +1 -2
- 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 +31 -0
- package/dist/queries.js +77 -0
- package/dist/queries.js.map +1 -0
- package/dist/sync.d.ts +1 -1
- package/dist/sync.js +1 -1
- package/dist/sync.js.map +1 -1
- package/dist/{testUtils.d.ts → tests/testUtils.d.ts} +9 -9
- package/dist/{testUtils.js → tests/testUtils.js} +9 -7
- package/dist/tests/testUtils.js.map +1 -0
- package/package.json +2 -2
- package/src/account.ts +6 -6
- package/src/coValue.ts +65 -34
- package/src/coValueCore.ts +18 -22
- package/src/coValues/coList.ts +272 -122
- package/src/coValues/coMap.ts +349 -152
- package/src/coValues/coStream.ts +258 -94
- package/src/crypto.ts +37 -24
- package/src/group.ts +112 -46
- package/src/index.ts +42 -30
- package/src/{node.ts → localNode.ts} +117 -66
- package/src/media.ts +1 -2
- 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 +142 -0
- package/src/sync.ts +2 -2
- package/src/{account.test.ts → tests/account.test.ts} +6 -9
- package/src/{coValue.test.ts → tests/coValue.test.ts} +120 -114
- package/src/{coValueCore.test.ts → tests/coValueCore.test.ts} +7 -7
- package/src/{crypto.test.ts → tests/crypto.test.ts} +19 -21
- package/src/{group.test.ts → tests/group.test.ts} +2 -2
- package/src/{permissions.test.ts → tests/permissions.test.ts} +260 -247
- package/src/tests/queries.test.ts +318 -0
- package/src/{sync.test.ts → tests/sync.test.ts} +39 -39
- package/src/{testUtils.ts → tests/testUtils.ts} +10 -8
- 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/dist/testUtils.js.map +0 -1
- package/src/coValues/static.ts +0 -31
package/dist/coValues/coList.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { isCoValue } from "../coValue.js";
|
|
1
2
|
import { accountOrAgentIDfromSessionID } from "../coValueCore.js";
|
|
2
|
-
import { isAccountID } from "../account.js";
|
|
3
3
|
import { parseJSON } from "../jsonStringify.js";
|
|
4
|
-
export class
|
|
4
|
+
export class CoListView {
|
|
5
5
|
/** @internal */
|
|
6
6
|
constructor(core) {
|
|
7
|
+
/** @category 6. Meta */
|
|
7
8
|
this.type = "colist";
|
|
8
9
|
this.id = core.id;
|
|
9
10
|
this.core = core;
|
|
@@ -11,16 +12,6 @@ export class CoList {
|
|
|
11
12
|
this.beforeEnd = [];
|
|
12
13
|
this.insertions = {};
|
|
13
14
|
this.deletionsByInsertion = {};
|
|
14
|
-
this.fillOpsFromCoValue();
|
|
15
|
-
}
|
|
16
|
-
get meta() {
|
|
17
|
-
return this.core.header.meta;
|
|
18
|
-
}
|
|
19
|
-
get group() {
|
|
20
|
-
return this.core.getGroup();
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
fillOpsFromCoValue() {
|
|
24
15
|
this.insertions = {};
|
|
25
16
|
this.deletionsByInsertion = {};
|
|
26
17
|
this.afterStart = [];
|
|
@@ -117,7 +108,27 @@ export class CoList {
|
|
|
117
108
|
}
|
|
118
109
|
}
|
|
119
110
|
}
|
|
120
|
-
/**
|
|
111
|
+
/** @category 6. Meta */
|
|
112
|
+
get meta() {
|
|
113
|
+
return this.core.header.meta;
|
|
114
|
+
}
|
|
115
|
+
/** @category 6. Meta */
|
|
116
|
+
get group() {
|
|
117
|
+
return this.core.getGroup();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Not yet implemented
|
|
121
|
+
*
|
|
122
|
+
* @category 4. Time travel
|
|
123
|
+
*/
|
|
124
|
+
atTime(_time) {
|
|
125
|
+
throw new Error("Not yet implemented");
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get the item currently at `idx`.
|
|
129
|
+
*
|
|
130
|
+
* @category 1. Reading
|
|
131
|
+
*/
|
|
121
132
|
get(idx) {
|
|
122
133
|
const entry = this.entries()[idx];
|
|
123
134
|
if (!entry) {
|
|
@@ -125,10 +136,15 @@ export class CoList {
|
|
|
125
136
|
}
|
|
126
137
|
return entry.value;
|
|
127
138
|
}
|
|
128
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* Returns the current items in the CoList as an array.
|
|
141
|
+
*
|
|
142
|
+
* @category 1. Reading
|
|
143
|
+
**/
|
|
129
144
|
asArray() {
|
|
130
145
|
return this.entries().map((entry) => entry.value);
|
|
131
146
|
}
|
|
147
|
+
/** @internal */
|
|
132
148
|
entries() {
|
|
133
149
|
const arr = [];
|
|
134
150
|
for (const opID of this.afterStart) {
|
|
@@ -160,58 +176,80 @@ export class CoList {
|
|
|
160
176
|
this.fillArrayFromOpID(successor, arr);
|
|
161
177
|
}
|
|
162
178
|
}
|
|
163
|
-
/**
|
|
164
|
-
|
|
179
|
+
/**
|
|
180
|
+
* Returns the current items in the CoList as an array. (alias of `asArray`)
|
|
181
|
+
*
|
|
182
|
+
* @category 1. Reading
|
|
183
|
+
*/
|
|
184
|
+
toJSON() {
|
|
185
|
+
return this.asArray();
|
|
186
|
+
}
|
|
187
|
+
/** @category 5. Edit history */
|
|
188
|
+
editAt(idx) {
|
|
165
189
|
const entry = this.entries()[idx];
|
|
166
190
|
if (!entry) {
|
|
167
191
|
return undefined;
|
|
168
192
|
}
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
map(mapper) {
|
|
182
|
-
return this.entries().map((entry, idx) => mapper(entry.value, idx));
|
|
183
|
-
}
|
|
184
|
-
filter(predicate) {
|
|
185
|
-
return this.entries()
|
|
186
|
-
.filter((entry, idx) => predicate(entry.value, idx))
|
|
187
|
-
.map((entry) => entry.value);
|
|
193
|
+
const madeAt = new Date(entry.madeAt);
|
|
194
|
+
const by = accountOrAgentIDfromSessionID(entry.opID.sessionID);
|
|
195
|
+
const value = entry.value;
|
|
196
|
+
return {
|
|
197
|
+
by,
|
|
198
|
+
tx: {
|
|
199
|
+
sessionID: entry.opID.sessionID,
|
|
200
|
+
txIndex: entry.opID.txIndex,
|
|
201
|
+
},
|
|
202
|
+
at: madeAt,
|
|
203
|
+
value,
|
|
204
|
+
};
|
|
188
205
|
}
|
|
189
|
-
|
|
190
|
-
|
|
206
|
+
/** @category 5. Edit history */
|
|
207
|
+
deletionEdits() {
|
|
208
|
+
const edits = [];
|
|
209
|
+
for (const sessionID in this.deletionsByInsertion) {
|
|
210
|
+
const sessionEntry = this.deletionsByInsertion[sessionID];
|
|
211
|
+
for (const txIdx in sessionEntry) {
|
|
212
|
+
const txEntry = sessionEntry[Number(txIdx)];
|
|
213
|
+
for (const changeIdx in txEntry) {
|
|
214
|
+
const changeEntry = txEntry[Number(changeIdx)];
|
|
215
|
+
for (const deletion of changeEntry || []) {
|
|
216
|
+
const madeAt = new Date(deletion.madeAt);
|
|
217
|
+
const by = accountOrAgentIDfromSessionID(deletion.deletionID.sessionID);
|
|
218
|
+
edits.push({
|
|
219
|
+
by,
|
|
220
|
+
tx: deletion.deletionID,
|
|
221
|
+
at: madeAt,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return edits;
|
|
191
228
|
}
|
|
229
|
+
/** @category 3. Subscription */
|
|
192
230
|
subscribe(listener) {
|
|
193
231
|
return this.core.subscribe((content) => {
|
|
194
232
|
listener(content);
|
|
195
233
|
});
|
|
196
234
|
}
|
|
197
|
-
edit(changer) {
|
|
198
|
-
const editable = new WriteableCoList(this.core);
|
|
199
|
-
changer(editable);
|
|
200
|
-
return new CoList(this.core);
|
|
201
|
-
}
|
|
202
235
|
}
|
|
203
|
-
export class
|
|
204
|
-
/**
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
/** Appends a new item after index `after`.
|
|
236
|
+
export class CoList extends CoListView {
|
|
237
|
+
/** Returns a new version of this CoList with `item` appended after the item currently at index `after`.
|
|
238
|
+
*
|
|
239
|
+
* If `privacy` is `"private"` **(default)**, `item` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
209
240
|
*
|
|
210
|
-
* If `privacy` is `"
|
|
241
|
+
* If `privacy` is `"trusting"`, `item` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
211
242
|
*
|
|
212
|
-
*
|
|
213
|
-
|
|
243
|
+
* @category 2. Editing
|
|
244
|
+
**/
|
|
245
|
+
append(item, after, privacy = "private") {
|
|
214
246
|
const entries = this.entries();
|
|
247
|
+
after =
|
|
248
|
+
after === undefined
|
|
249
|
+
? entries.length > 0
|
|
250
|
+
? entries.length - 1
|
|
251
|
+
: 0
|
|
252
|
+
: 0;
|
|
215
253
|
let opIDBefore;
|
|
216
254
|
if (entries.length > 0) {
|
|
217
255
|
const entryBefore = entries[after];
|
|
@@ -229,31 +267,24 @@ export class WriteableCoList extends CoList {
|
|
|
229
267
|
this.core.makeTransaction([
|
|
230
268
|
{
|
|
231
269
|
op: "app",
|
|
232
|
-
value,
|
|
270
|
+
value: isCoValue(item) ? item.id : item,
|
|
233
271
|
after: opIDBefore,
|
|
234
272
|
},
|
|
235
273
|
], privacy);
|
|
236
|
-
this.
|
|
237
|
-
}
|
|
238
|
-
/** Pushes a new item to the end of the list.
|
|
239
|
-
*
|
|
240
|
-
* If `privacy` is `"private"` **(default)**, both `value` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
241
|
-
*
|
|
242
|
-
* If `privacy` is `"trusting"`, both `value` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers. */
|
|
243
|
-
push(value, privacy = "private") {
|
|
244
|
-
// TODO: optimize
|
|
245
|
-
const entries = this.entries();
|
|
246
|
-
this.append(entries.length > 0 ? entries.length - 1 : 0, value, privacy);
|
|
274
|
+
return new CoList(this.core);
|
|
247
275
|
}
|
|
248
276
|
/**
|
|
249
|
-
*
|
|
277
|
+
* Returns a new version of this CoList with `item` prepended before the item currently at index `before`.
|
|
250
278
|
*
|
|
251
|
-
* If `privacy` is `"private"` **(default)**,
|
|
279
|
+
* If `privacy` is `"private"` **(default)**, `item` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
252
280
|
*
|
|
253
|
-
* If `privacy` is `"trusting"`,
|
|
281
|
+
* If `privacy` is `"trusting"`, `item` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
282
|
+
*
|
|
283
|
+
* @category 2. Editing
|
|
254
284
|
*/
|
|
255
|
-
prepend(
|
|
285
|
+
prepend(item, before, privacy = "private") {
|
|
256
286
|
const entries = this.entries();
|
|
287
|
+
before = before === undefined ? 0 : before;
|
|
257
288
|
let opIDAfter;
|
|
258
289
|
if (entries.length > 0) {
|
|
259
290
|
const entryAfter = entries[before];
|
|
@@ -276,17 +307,20 @@ export class WriteableCoList extends CoList {
|
|
|
276
307
|
this.core.makeTransaction([
|
|
277
308
|
{
|
|
278
309
|
op: "pre",
|
|
279
|
-
value,
|
|
310
|
+
value: isCoValue(item) ? item.id : item,
|
|
280
311
|
before: opIDAfter,
|
|
281
312
|
},
|
|
282
313
|
], privacy);
|
|
283
|
-
this.
|
|
314
|
+
return new CoList(this.core);
|
|
284
315
|
}
|
|
285
|
-
/**
|
|
316
|
+
/** Returns a new version of this CoList with the item at index `at` deleted from the list.
|
|
286
317
|
*
|
|
287
318
|
* If `privacy` is `"private"` **(default)**, the fact of this deletion is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
288
319
|
*
|
|
289
|
-
* If `privacy` is `"trusting"`, the fact of this deletion is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
320
|
+
* If `privacy` is `"trusting"`, the fact of this deletion is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
321
|
+
*
|
|
322
|
+
* @category 2. Editing
|
|
323
|
+
**/
|
|
290
324
|
delete(at, privacy = "private") {
|
|
291
325
|
const entries = this.entries();
|
|
292
326
|
const entry = entries[at];
|
|
@@ -299,7 +333,64 @@ export class WriteableCoList extends CoList {
|
|
|
299
333
|
insertion: entry.opID,
|
|
300
334
|
},
|
|
301
335
|
], privacy);
|
|
302
|
-
this.
|
|
336
|
+
return new CoList(this.core);
|
|
337
|
+
}
|
|
338
|
+
/** @category 2. Editing */
|
|
339
|
+
mutate(mutator) {
|
|
340
|
+
const mutable = new MutableCoList(this.core);
|
|
341
|
+
mutator(mutable);
|
|
342
|
+
return new CoList(this.core);
|
|
343
|
+
}
|
|
344
|
+
/** @deprecated Use `mutate` instead. */
|
|
345
|
+
edit(mutator) {
|
|
346
|
+
return this.mutate(mutator);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
export class MutableCoList extends CoListView {
|
|
350
|
+
/** Appends `item` after the item currently at index `after`.
|
|
351
|
+
*
|
|
352
|
+
* If `privacy` is `"private"` **(default)**, `item` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
353
|
+
*
|
|
354
|
+
* If `privacy` is `"trusting"`, `item` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
355
|
+
*
|
|
356
|
+
* @category 2. Mutating
|
|
357
|
+
**/
|
|
358
|
+
append(item, after, privacy = "private") {
|
|
359
|
+
const listAfter = CoList.prototype.append.call(this, item, after, privacy);
|
|
360
|
+
this.afterStart = listAfter.afterStart;
|
|
361
|
+
this.beforeEnd = listAfter.beforeEnd;
|
|
362
|
+
this.insertions = listAfter.insertions;
|
|
363
|
+
this.deletionsByInsertion = listAfter.deletionsByInsertion;
|
|
364
|
+
}
|
|
365
|
+
/** Prepends `item` before the item currently at index `before`.
|
|
366
|
+
*
|
|
367
|
+
* If `privacy` is `"private"` **(default)**, `item` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
368
|
+
*
|
|
369
|
+
* If `privacy` is `"trusting"`, `item` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
370
|
+
*
|
|
371
|
+
* * @category 2. Mutating
|
|
372
|
+
**/
|
|
373
|
+
prepend(item, before, privacy = "private") {
|
|
374
|
+
const listAfter = CoList.prototype.prepend.call(this, item, before, privacy);
|
|
375
|
+
this.afterStart = listAfter.afterStart;
|
|
376
|
+
this.beforeEnd = listAfter.beforeEnd;
|
|
377
|
+
this.insertions = listAfter.insertions;
|
|
378
|
+
this.deletionsByInsertion = listAfter.deletionsByInsertion;
|
|
379
|
+
}
|
|
380
|
+
/** Deletes the item at index `at` from the list.
|
|
381
|
+
*
|
|
382
|
+
* If `privacy` is `"private"` **(default)**, the fact of this deletion is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
|
|
383
|
+
*
|
|
384
|
+
* If `privacy` is `"trusting"`, the fact of this deletion is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
385
|
+
*
|
|
386
|
+
* * @category 2. Mutating
|
|
387
|
+
**/
|
|
388
|
+
delete(at, privacy = "private") {
|
|
389
|
+
const listAfter = CoList.prototype.delete.call(this, at, privacy);
|
|
390
|
+
this.afterStart = listAfter.afterStart;
|
|
391
|
+
this.beforeEnd = listAfter.beforeEnd;
|
|
392
|
+
this.insertions = listAfter.insertions;
|
|
393
|
+
this.deletionsByInsertion = listAfter.deletionsByInsertion;
|
|
303
394
|
}
|
|
304
395
|
}
|
|
305
396
|
//# sourceMappingURL=coList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":"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"}
|
package/dist/coValues/coMap.d.ts
CHANGED
|
@@ -1,82 +1,141 @@
|
|
|
1
|
-
import { JsonObject, JsonValue } from
|
|
2
|
-
import { TransactionID } from
|
|
3
|
-
import { CoID,
|
|
4
|
-
import { CoValueCore } from
|
|
5
|
-
import { AccountID } from
|
|
6
|
-
import { Group } from
|
|
7
|
-
type MapOp<K extends string, V extends JsonValue | undefined> = {
|
|
1
|
+
import { JsonObject, JsonValue } from "../jsonValue.js";
|
|
2
|
+
import { AgentID, TransactionID } from "../ids.js";
|
|
3
|
+
import { CoID, CoValue } from "../coValue.js";
|
|
4
|
+
import { CoValueCore } from "../coValueCore.js";
|
|
5
|
+
import { AccountID } from "../account.js";
|
|
6
|
+
import { Group } from "../group.js";
|
|
7
|
+
type MapOp<K extends string, V extends JsonValue | CoValue | undefined> = {
|
|
8
8
|
txID: TransactionID;
|
|
9
9
|
madeAt: number;
|
|
10
10
|
changeIdx: number;
|
|
11
11
|
} & MapOpPayload<K, V>;
|
|
12
|
-
export type MapOpPayload<K extends string, V extends JsonValue | undefined> = {
|
|
12
|
+
export type MapOpPayload<K extends string, V extends JsonValue | CoValue | undefined> = {
|
|
13
13
|
op: "set";
|
|
14
14
|
key: K;
|
|
15
|
-
value: V
|
|
15
|
+
value: V extends CoValue ? CoID<V> : Exclude<V, CoValue>;
|
|
16
16
|
} | {
|
|
17
17
|
op: "del";
|
|
18
18
|
key: K;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
21
|
-
[key: string]: JsonValue | undefined;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/** A collaborative map with precise shape `M` and optional static metadata `Meta` */
|
|
27
|
-
export declare class CoMap<M extends {
|
|
28
|
-
[key: string]: JsonValue | undefined;
|
|
29
|
-
}, Meta extends JsonObject | null = null> implements ReadableCoValue {
|
|
30
|
-
id: CoID<CoMap<M, Meta>>;
|
|
20
|
+
export declare class CoMapView<Shape extends {
|
|
21
|
+
[key: string]: JsonValue | CoValue | undefined;
|
|
22
|
+
}, Meta extends JsonObject | null = null> implements CoValue {
|
|
23
|
+
/** @category 6. Meta */
|
|
24
|
+
id: CoID<this>;
|
|
25
|
+
/** @category 6. Meta */
|
|
31
26
|
type: "comap";
|
|
27
|
+
/** @category 6. Meta */
|
|
32
28
|
core: CoValueCore;
|
|
33
29
|
/** @internal */
|
|
34
30
|
ops: {
|
|
35
|
-
[
|
|
31
|
+
[Key in keyof Shape & string]?: MapOp<Key, Shape[Key]>[];
|
|
36
32
|
};
|
|
37
33
|
/** @internal */
|
|
34
|
+
atTimeFilter?: number;
|
|
35
|
+
/** @category 6. Meta */
|
|
36
|
+
readonly _shape: Shape;
|
|
37
|
+
/** @internal */
|
|
38
38
|
constructor(core: CoValueCore);
|
|
39
|
+
/** @category 6. Meta */
|
|
39
40
|
get meta(): Meta;
|
|
41
|
+
/** @category 6. Meta */
|
|
40
42
|
get group(): Group;
|
|
43
|
+
/** @category 4. Time travel */
|
|
44
|
+
atTime(time: number): this;
|
|
41
45
|
/** @internal */
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
timeFilteredOps<K extends keyof Shape & string>(key: K): MapOp<K, Shape[K]>[] | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Get all keys currently in the map.
|
|
49
|
+
*
|
|
50
|
+
* @category 1. Reading */
|
|
51
|
+
keys(): (keyof Shape & string)[];
|
|
52
|
+
/**
|
|
53
|
+
* Returns the current value for the given key.
|
|
54
|
+
*
|
|
55
|
+
* @category 1. Reading
|
|
56
|
+
**/
|
|
57
|
+
get<K extends keyof Shape & string>(key: K): (Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>) | undefined;
|
|
58
|
+
/** @category 1. Reading */
|
|
59
|
+
asObject(): {
|
|
60
|
+
[K in keyof Shape & string]: Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>;
|
|
61
|
+
};
|
|
62
|
+
/** @category 1. Reading */
|
|
63
|
+
toJSON(): {
|
|
64
|
+
[K in keyof Shape & string]: Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>;
|
|
65
|
+
};
|
|
66
|
+
/** @category 5. Edit history */
|
|
67
|
+
nthEditAt<K extends keyof Shape & string>(key: K, n: number): {
|
|
68
|
+
by: AccountID | AgentID;
|
|
69
|
+
tx: TransactionID;
|
|
70
|
+
at: Date;
|
|
71
|
+
value?: Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>;
|
|
54
72
|
} | undefined;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
73
|
+
/** @category 5. Edit history */
|
|
74
|
+
lastEditAt<K extends keyof Shape & string>(key: K): {
|
|
75
|
+
by: AccountID | AgentID;
|
|
76
|
+
tx: TransactionID;
|
|
77
|
+
at: Date;
|
|
78
|
+
value?: Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>;
|
|
79
|
+
} | undefined;
|
|
80
|
+
/** @category 5. Edit history */
|
|
81
|
+
editsAt<K extends keyof Shape & string>(key: K): Generator<{
|
|
82
|
+
by: `sealer_z${string}/signer_z${string}` | AccountID;
|
|
83
|
+
tx: TransactionID;
|
|
84
|
+
at: Date;
|
|
85
|
+
value?: (Shape[K] extends CoValue ? CoID<Shape[K]> : Exclude<Shape[K], CoValue>) | undefined;
|
|
86
|
+
}, void, unknown>;
|
|
87
|
+
/** @category 3. Subscription */
|
|
88
|
+
subscribe(listener: (coMap: this) => void): () => void;
|
|
63
89
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
90
|
+
/** A collaborative map with precise shape `Shape` and optional static metadata `Meta` */
|
|
91
|
+
export declare class CoMap<Shape extends {
|
|
92
|
+
[key: string]: JsonValue | CoValue | undefined;
|
|
93
|
+
}, Meta extends JsonObject | null = null> extends CoMapView<Shape, Meta> implements CoValue {
|
|
94
|
+
/** Returns a new version of this CoMap with a new value for the given key.
|
|
95
|
+
*
|
|
96
|
+
* If `privacy` is `"private"` **(default)**, both `key` and `value` are encrypted in the transaction, only readable by other members of the group this `CoMap` belongs to. Not even sync servers can see the content in plaintext.
|
|
97
|
+
*
|
|
98
|
+
* If `privacy` is `"trusting"`, both `key` and `value` are stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
99
|
+
*
|
|
100
|
+
* @category 2. Editing
|
|
101
|
+
**/
|
|
102
|
+
set<K extends keyof Shape & string>(key: K, value: Shape[K] extends CoValue ? Shape[K] | CoID<Shape[K]> : Shape[K], privacy?: "private" | "trusting"): this;
|
|
103
|
+
set(kv: {
|
|
104
|
+
[K in keyof Shape & string]?: Shape[K] extends CoValue ? Shape[K] | CoID<Shape[K]> : Shape[K];
|
|
105
|
+
}, privacy?: "private" | "trusting"): this;
|
|
106
|
+
/** Returns a new version of this CoMap with the given key deleted (setting it to undefined).
|
|
107
|
+
*
|
|
108
|
+
* If `privacy` is `"private"` **(default)**, `key` is encrypted in the transaction, only readable by other members of the group this `CoMap` belongs to. Not even sync servers can see the content in plaintext.
|
|
109
|
+
*
|
|
110
|
+
* If `privacy` is `"trusting"`, `key` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
111
|
+
*
|
|
112
|
+
* @category 2. Editing
|
|
113
|
+
**/
|
|
114
|
+
delete(key: keyof Shape & string, privacy?: "private" | "trusting"): this;
|
|
115
|
+
/** @category 2. Editing */
|
|
116
|
+
mutate(mutator: (mutable: MutableCoMap<Shape, Meta>) => void): this;
|
|
117
|
+
/** @deprecated Use `mutate` instead. */
|
|
118
|
+
edit(mutator: (mutable: MutableCoMap<Shape, Meta>) => void): this;
|
|
119
|
+
}
|
|
120
|
+
export declare class MutableCoMap<Shape extends {
|
|
121
|
+
[key: string]: JsonValue | CoValue | undefined;
|
|
122
|
+
}, Meta extends JsonObject | null = null> extends CoMapView<Shape, Meta> implements CoValue {
|
|
69
123
|
/** Sets a new value for the given key.
|
|
70
124
|
*
|
|
71
125
|
* If `privacy` is `"private"` **(default)**, both `key` and `value` are encrypted in the transaction, only readable by other members of the group this `CoMap` belongs to. Not even sync servers can see the content in plaintext.
|
|
72
126
|
*
|
|
73
|
-
* If `privacy` is `"trusting"`, both `key` and `value` are stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
74
|
-
|
|
127
|
+
* If `privacy` is `"trusting"`, both `key` and `value` are stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
128
|
+
*
|
|
129
|
+
* @category 2. Mutation
|
|
130
|
+
*/
|
|
131
|
+
set<K extends keyof Shape & string>(key: K, value: Shape[K] extends CoValue ? Shape[K] | CoID<Shape[K]> : Shape[K], privacy?: "private" | "trusting"): void;
|
|
75
132
|
/** Deletes the value for the given key (setting it to undefined).
|
|
76
133
|
*
|
|
77
134
|
* If `privacy` is `"private"` **(default)**, `key` is encrypted in the transaction, only readable by other members of the group this `CoMap` belongs to. Not even sync servers can see the content in plaintext.
|
|
78
135
|
*
|
|
79
|
-
* If `privacy` is `"trusting"`, `key` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
80
|
-
|
|
136
|
+
* If `privacy` is `"trusting"`, `key` is stored in plaintext in the transaction, visible to everyone who gets a hold of it, including sync servers.
|
|
137
|
+
* @category 2. Mutation
|
|
138
|
+
*/
|
|
139
|
+
delete(key: keyof Shape & string, privacy?: "private" | "trusting"): void;
|
|
81
140
|
}
|
|
82
141
|
export {};
|