jazz-tools 0.7.1 → 0.7.6
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/.turbo/turbo-build.log +2 -2
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +33 -33
- package/CHANGELOG.md +177 -165
- package/LICENSE.txt +1 -1
- package/dist/coValues/account.js +41 -4
- package/dist/coValues/account.js.map +1 -1
- package/dist/coValues/coList.js +179 -8
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.js +141 -5
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.js +49 -1
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/coValues/group.js +26 -2
- package/dist/coValues/group.js.map +1 -1
- package/dist/coValues/interfaces.js +32 -48
- package/dist/coValues/interfaces.js.map +1 -1
- package/dist/implementation/schema.js.map +1 -1
- package/dist/implementation/subscriptionScope.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tests/deepLoading.test.js +2 -2
- package/dist/tests/deepLoading.test.js.map +1 -1
- package/dist/tests/groupsAndAccounts.test.js +3 -3
- package/dist/tests/groupsAndAccounts.test.js.map +1 -1
- package/package.json +1 -1
- package/src/coValues/account.ts +106 -13
- package/src/coValues/coList.ts +236 -23
- package/src/coValues/coMap.ts +194 -11
- package/src/coValues/coStream.ts +128 -11
- package/src/coValues/group.ts +78 -5
- package/src/coValues/interfaces.ts +141 -211
- package/src/implementation/schema.ts +7 -4
- package/src/implementation/subscriptionScope.ts +3 -3
- package/src/index.ts +7 -0
- package/src/tests/deepLoading.test.ts +6 -3
- package/src/tests/groupsAndAccounts.test.ts +4 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
|
package/dist/coValues/coList.js
CHANGED
@@ -1,10 +1,41 @@
|
|
1
1
|
var _a;
|
2
2
|
import { RawAccount } from "cojson";
|
3
|
-
import { Account,
|
3
|
+
import { Account, Group, InitValues, ItemsSym, Ref, SchemaInit, co, ensureCoValueLoaded, inspect, isRefEncoded, loadCoValue, loadCoValueEf, makeRefs, subscribeToCoValue, subscribeToCoValueEf, subscribeToExistingCoValue, } from "../internal.js";
|
4
4
|
import { encodeSync, decodeSync } from "@effect/schema/Schema";
|
5
|
-
/**
|
5
|
+
/**
|
6
|
+
* CoLists are collaborative versions of plain arrays.
|
7
|
+
*
|
8
|
+
* * @categoryDescription Content
|
9
|
+
* You can access items on a `CoList` as if they were normal items on a plain array, using `[]` notation, etc.
|
10
|
+
*
|
11
|
+
* Since `CoList` is a subclass of `Array`, you can use all the normal array methods like `push`, `pop`, `splice`, etc.
|
12
|
+
*
|
13
|
+
* ```ts
|
14
|
+
* colorList[0];
|
15
|
+
* colorList[3] = "yellow";
|
16
|
+
* colorList.push("Kawazaki Green");
|
17
|
+
* colorList.splice(1, 1);
|
18
|
+
* ```
|
19
|
+
*
|
20
|
+
* @category CoValues
|
21
|
+
*/
|
6
22
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
7
23
|
export class CoList extends Array {
|
24
|
+
/**
|
25
|
+
* Declare a `CoList` by subclassing `CoList.Of(...)` and passing the item schema using `co`.
|
26
|
+
*
|
27
|
+
* @example
|
28
|
+
* ```ts
|
29
|
+
* class ColorList extends CoList.Of(
|
30
|
+
* co.string
|
31
|
+
* ) {}
|
32
|
+
* class AnimalList extends CoList.Of(
|
33
|
+
* co.ref(Animal)
|
34
|
+
* ) {}
|
35
|
+
* ```
|
36
|
+
*
|
37
|
+
* @category Declaration
|
38
|
+
*/
|
8
39
|
static Of(item) {
|
9
40
|
var _b, _c;
|
10
41
|
// TODO: cache superclass for item class
|
@@ -17,19 +48,38 @@ export class CoList extends Array {
|
|
17
48
|
_b = co.items,
|
18
49
|
_c;
|
19
50
|
}
|
20
|
-
/**
|
51
|
+
/**
|
52
|
+
* @ignore
|
53
|
+
* @deprecated Use UPPERCASE `CoList.Of` instead! */
|
21
54
|
static of(..._args) {
|
22
55
|
throw new Error("Can't use Array.of with CoLists");
|
23
56
|
}
|
57
|
+
/** @internal */
|
24
58
|
get _schema() {
|
25
59
|
return this.constructor._schema;
|
26
60
|
}
|
61
|
+
/** @category Collaboration */
|
27
62
|
get _owner() {
|
28
63
|
return this._raw.group instanceof RawAccount
|
29
64
|
? Account.fromRaw(this._raw.group)
|
30
65
|
: Group.fromRaw(this._raw.group);
|
31
66
|
}
|
32
|
-
/**
|
67
|
+
/**
|
68
|
+
* If a `CoList`'s items are a `co.ref(...)`, you can use `coList._refs[i]` to access
|
69
|
+
* the `Ref` instead of the potentially loaded/null value.
|
70
|
+
*
|
71
|
+
* This allows you to always get the ID or load the value manually.
|
72
|
+
*
|
73
|
+
* @example
|
74
|
+
* ```ts
|
75
|
+
* animals._refs[0].id; // => ID<Animal>
|
76
|
+
* animals._refs[0].value;
|
77
|
+
* // => Animal | null
|
78
|
+
* const animal = await animals._refs[0].load();
|
79
|
+
* ```
|
80
|
+
*
|
81
|
+
* @category Content
|
82
|
+
**/
|
33
83
|
get _refs() {
|
34
84
|
return makeRefs((idx) => this._raw.get(idx), () => Array.from({ length: this._raw.entries().length }, (_, idx) => idx), this._loadedAs, (_idx) => this._schema[ItemsSym]);
|
35
85
|
}
|
@@ -65,6 +115,27 @@ export class CoList extends Array {
|
|
65
115
|
}
|
66
116
|
return new Proxy(this, CoListProxyHandler);
|
67
117
|
}
|
118
|
+
/**
|
119
|
+
* Create a new CoList with the given initial values and owner.
|
120
|
+
*
|
121
|
+
* The owner (a Group or Account) determines access rights to the CoMap.
|
122
|
+
*
|
123
|
+
* The CoList will immediately be persisted and synced to connected peers.
|
124
|
+
*
|
125
|
+
* @example
|
126
|
+
* ```ts
|
127
|
+
* const colours = ColorList.create(
|
128
|
+
* ["red", "green", "blue"],
|
129
|
+
* { owner: me }
|
130
|
+
* );
|
131
|
+
* const animals = AnimalList.create(
|
132
|
+
* [cat, dog, fish],
|
133
|
+
* { owner: me }
|
134
|
+
* );
|
135
|
+
* ```
|
136
|
+
*
|
137
|
+
* @category Creation
|
138
|
+
**/
|
68
139
|
static create(items, options) {
|
69
140
|
return new this({ init: items, owner: options.owner });
|
70
141
|
}
|
@@ -123,22 +194,122 @@ export class CoList extends Array {
|
|
123
194
|
[inspect]() {
|
124
195
|
return this.toJSON();
|
125
196
|
}
|
197
|
+
/** @category Internals */
|
126
198
|
static fromRaw(raw) {
|
127
199
|
return new this({ fromRaw: raw });
|
128
200
|
}
|
201
|
+
/** @internal */
|
129
202
|
static schema(def) {
|
130
203
|
this._schema || (this._schema = {});
|
131
204
|
Object.assign(this._schema, def);
|
132
205
|
}
|
206
|
+
/**
|
207
|
+
* Load a `CoList` with a given ID, as a given account.
|
208
|
+
*
|
209
|
+
* `depth` specifies if item CoValue references should be loaded as well before resolving.
|
210
|
+
* The `DeeplyLoaded` return type guarantees that corresponding referenced CoValues are loaded to the specified depth.
|
211
|
+
*
|
212
|
+
* You can pass `[]` or for shallowly loading only this CoList, or `[itemDepth]` for recursively loading referenced CoValues.
|
213
|
+
*
|
214
|
+
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
|
215
|
+
*
|
216
|
+
* @example
|
217
|
+
* ```ts
|
218
|
+
* const animalsWithVets =
|
219
|
+
* await ListOfAnimals.load(
|
220
|
+
* "co_zdsMhHtfG6VNKt7RqPUPvUtN2Ax",
|
221
|
+
* me,
|
222
|
+
* [{ vet: {} }]
|
223
|
+
* );
|
224
|
+
* ```
|
225
|
+
*
|
226
|
+
* @category Subscription & Loading
|
227
|
+
*/
|
228
|
+
static load(id, as, depth) {
|
229
|
+
return loadCoValue(this, id, as, depth);
|
230
|
+
}
|
231
|
+
/**
|
232
|
+
* Effectful version of `CoList.load()`.
|
233
|
+
*
|
234
|
+
* Needs to be run inside an `AccountCtx` context.
|
235
|
+
*
|
236
|
+
* @category Subscription & Loading
|
237
|
+
*/
|
238
|
+
static loadEf(id, depth) {
|
239
|
+
return loadCoValueEf(this, id, depth);
|
240
|
+
}
|
241
|
+
/**
|
242
|
+
* Load and subscribe to a `CoList` with a given ID, as a given account.
|
243
|
+
*
|
244
|
+
* Automatically also subscribes to updates to all referenced/nested CoValues as soon as they are accessed in the listener.
|
245
|
+
*
|
246
|
+
* `depth` specifies if item CoValue references should be loaded as well before calling `listener` for the first time.
|
247
|
+
* The `DeeplyLoaded` return type guarantees that corresponding referenced CoValues are loaded to the specified depth.
|
248
|
+
*
|
249
|
+
* You can pass `[]` or for shallowly loading only this CoList, or `[itemDepth]` for recursively loading referenced CoValues.
|
250
|
+
*
|
251
|
+
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
|
252
|
+
*
|
253
|
+
* Returns an unsubscribe function that you should call when you no longer need updates.
|
254
|
+
*
|
255
|
+
* Also see the `useCoState` hook to reactively subscribe to a CoValue in a React component.
|
256
|
+
*
|
257
|
+
* @example
|
258
|
+
* ```ts
|
259
|
+
* const unsub = ListOfAnimals.subscribe(
|
260
|
+
* "co_zdsMhHtfG6VNKt7RqPUPvUtN2Ax",
|
261
|
+
* me,
|
262
|
+
* { vet: {} },
|
263
|
+
* (animalsWithVets) => console.log(animalsWithVets)
|
264
|
+
* );
|
265
|
+
* ```
|
266
|
+
*
|
267
|
+
* @category Subscription & Loading
|
268
|
+
*/
|
269
|
+
static subscribe(id, as, depth, listener) {
|
270
|
+
return subscribeToCoValue(this, id, as, depth, listener);
|
271
|
+
}
|
272
|
+
/**
|
273
|
+
* Effectful version of `CoList.subscribe()` that returns a stream of updates.
|
274
|
+
*
|
275
|
+
* Needs to be run inside an `AccountCtx` context.
|
276
|
+
*
|
277
|
+
* @category Subscription & Loading
|
278
|
+
*/
|
279
|
+
static subscribeEf(id, depth) {
|
280
|
+
return subscribeToCoValueEf(this, id, depth);
|
281
|
+
}
|
282
|
+
/**
|
283
|
+
* Given an already loaded `CoList`, ensure that items are loaded to the specified depth.
|
284
|
+
*
|
285
|
+
* Works like `CoList.load()`, but you don't need to pass the ID or the account to load as again.
|
286
|
+
*
|
287
|
+
* @category Subscription & Loading
|
288
|
+
*/
|
289
|
+
ensureLoaded(depth) {
|
290
|
+
return ensureCoValueLoaded(this, depth);
|
291
|
+
}
|
292
|
+
/**
|
293
|
+
* Given an already loaded `CoList`, subscribe to updates to the `CoList` and ensure that items are loaded to the specified depth.
|
294
|
+
*
|
295
|
+
* Works like `CoList.subscribe()`, but you don't need to pass the ID or the account to load as again.
|
296
|
+
*
|
297
|
+
* Returns an unsubscribe function that you should call when you no longer need updates.
|
298
|
+
*
|
299
|
+
* @category Subscription & Loading
|
300
|
+
**/
|
301
|
+
subscribe(depth, listener) {
|
302
|
+
return subscribeToExistingCoValue(this, depth, listener);
|
303
|
+
}
|
304
|
+
/** @category Type Helpers */
|
305
|
+
castAs(cl) {
|
306
|
+
return cl.fromRaw(this._raw);
|
307
|
+
}
|
133
308
|
}
|
134
309
|
_a = CoList;
|
135
310
|
(() => {
|
136
311
|
_a.prototype._type = "CoList";
|
137
312
|
})();
|
138
|
-
CoList.load = CoValueBase.load;
|
139
|
-
CoList.loadEf = CoValueBase.loadEf;
|
140
|
-
CoList.subscribe = CoValueBase.subscribe;
|
141
|
-
CoList.subscribeEf = CoValueBase.subscribeEf;
|
142
313
|
function toRawItems(items, itemDescriptor) {
|
143
314
|
const rawItems = itemDescriptor === "json"
|
144
315
|
? items
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":"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"}
|
package/dist/coValues/coMap.js
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
var _a;
|
2
2
|
import { encodeSync, decodeSync } from "@effect/schema/Schema";
|
3
|
-
import { Account, CoValueBase, Ref, SchemaInit, inspect, makeRefs, subscriptionsScopes, ItemsSym, InitValues, isRefEncoded, } from "../internal.js";
|
3
|
+
import { Account, CoValueBase, Ref, SchemaInit, inspect, makeRefs, subscriptionsScopes, ItemsSym, InitValues, isRefEncoded, loadCoValue, loadCoValueEf, subscribeToCoValue, subscribeToCoValueEf, ensureCoValueLoaded, subscribeToExistingCoValue, } from "../internal.js";
|
4
4
|
/**
|
5
5
|
* CoMaps are collaborative versions of plain objects, mapping string-like keys to values.
|
6
6
|
*
|
7
7
|
* @categoryDescription Declaration
|
8
8
|
* Declare your own CoMap schemas by subclassing `CoMap` and assigning field schemas with `co`.
|
9
9
|
*
|
10
|
+
* Optional `co.ref(...)` fields must be marked with `{ optional: true }`.
|
11
|
+
*
|
10
12
|
* ```ts
|
11
13
|
* import { co, CoMap } from "jazz-tools";
|
12
14
|
*
|
@@ -14,6 +16,7 @@ import { Account, CoValueBase, Ref, SchemaInit, inspect, makeRefs, subscriptions
|
|
14
16
|
* name = co.string;
|
15
17
|
* age = co.number;
|
16
18
|
* pet = co.ref(Animal);
|
19
|
+
* car = co.ref(Car, { optional: true });
|
17
20
|
* }
|
18
21
|
* ```
|
19
22
|
*
|
@@ -39,17 +42,19 @@ export class CoMap extends CoValueBase {
|
|
39
42
|
/**
|
40
43
|
* If property `prop` is a `co.ref(...)`, you can use `coMaps._refs.prop` to access
|
41
44
|
* the `Ref` instead of the potentially loaded/null value.
|
45
|
+
*
|
42
46
|
* This allows you to always get the ID or load the value manually.
|
43
47
|
*
|
44
48
|
* @example
|
45
49
|
* ```ts
|
46
50
|
* person._refs.pet.id; // => ID<Animal>
|
47
51
|
* person._refs.pet.value;
|
48
|
-
* // => Animal |
|
52
|
+
* // => Animal | null
|
49
53
|
* const pet = await person._refs.pet.load();
|
50
54
|
* ```
|
51
55
|
*
|
52
|
-
* @category Content
|
56
|
+
* @category Content
|
57
|
+
**/
|
53
58
|
get _refs() {
|
54
59
|
return makeRefs((key) => this._raw.get(key), () => {
|
55
60
|
const keys = this._raw.keys().filter((key) => {
|
@@ -117,7 +122,24 @@ export class CoMap extends CoValueBase {
|
|
117
122
|
}
|
118
123
|
return new Proxy(this, CoMapProxyHandler);
|
119
124
|
}
|
120
|
-
/**
|
125
|
+
/**
|
126
|
+
* Create a new CoMap with the given initial values and owner.
|
127
|
+
*
|
128
|
+
* The owner (a Group or Account) determines access rights to the CoMap.
|
129
|
+
*
|
130
|
+
* The CoMap will immediately be persisted and synced to connected peers.
|
131
|
+
*
|
132
|
+
* @example
|
133
|
+
* ```ts
|
134
|
+
* const person = Person.create({
|
135
|
+
* name: "Alice",
|
136
|
+
* age: 42,
|
137
|
+
* pet: cat,
|
138
|
+
* }, { owner: friendGroup });
|
139
|
+
* ```
|
140
|
+
*
|
141
|
+
* @category Creation
|
142
|
+
**/
|
121
143
|
static create(init, options) {
|
122
144
|
return new this({ init, owner: options.owner });
|
123
145
|
}
|
@@ -172,7 +194,24 @@ export class CoMap extends CoValueBase {
|
|
172
194
|
}
|
173
195
|
return rawOwner.createMap(rawInit);
|
174
196
|
}
|
175
|
-
/**
|
197
|
+
/**
|
198
|
+
* Declare a Record-like CoMap schema, by extending `CoMap.Record(...)` and passing the value schema using `co`. Keys are always `string`.
|
199
|
+
*
|
200
|
+
* @example
|
201
|
+
* ```ts
|
202
|
+
* import { co, CoMap } from "jazz-tools";
|
203
|
+
*
|
204
|
+
* class ColorToFruitMap extends CoMap.Record(
|
205
|
+
* co.ref(Fruit)
|
206
|
+
* ) {}
|
207
|
+
*
|
208
|
+
* // assume we have map: ColorToFruitMap
|
209
|
+
* // and strawberry: Fruit
|
210
|
+
* map["red"] = strawberry;
|
211
|
+
* ```
|
212
|
+
*
|
213
|
+
* @category Declaration
|
214
|
+
*/
|
176
215
|
static Record(value) {
|
177
216
|
var _b;
|
178
217
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
@@ -185,6 +224,103 @@ export class CoMap extends CoValueBase {
|
|
185
224
|
_b = ItemsSym;
|
186
225
|
return RecordLikeCoMap;
|
187
226
|
}
|
227
|
+
/**
|
228
|
+
* Load a `CoMap` with a given ID, as a given account.
|
229
|
+
*
|
230
|
+
* `depth` specifies which (if any) fields that reference other CoValues to load as well before resolving.
|
231
|
+
* The `DeeplyLoaded` return type guarantees that corresponding referenced CoValues are loaded to the specified depth.
|
232
|
+
*
|
233
|
+
* You can pass `[]` or `{}` for shallowly loading only this CoMap, or `{ fieldA: depthA, fieldB: depthB }` for recursively loading referenced CoValues.
|
234
|
+
*
|
235
|
+
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
|
236
|
+
*
|
237
|
+
* @example
|
238
|
+
* ```ts
|
239
|
+
* const person = await Person.load(
|
240
|
+
* "co_zdsMhHtfG6VNKt7RqPUPvUtN2Ax",
|
241
|
+
* me,
|
242
|
+
* { pet: {} }
|
243
|
+
* );
|
244
|
+
* ```
|
245
|
+
*
|
246
|
+
* @category Subscription & Loading
|
247
|
+
*/
|
248
|
+
static load(id, as, depth) {
|
249
|
+
return loadCoValue(this, id, as, depth);
|
250
|
+
}
|
251
|
+
/**
|
252
|
+
* Effectful version of `CoMap.load()`.
|
253
|
+
*
|
254
|
+
* Needs to be run inside an `AccountCtx` context.
|
255
|
+
*
|
256
|
+
* @category Subscription & Loading
|
257
|
+
*/
|
258
|
+
static loadEf(id, depth) {
|
259
|
+
return loadCoValueEf(this, id, depth);
|
260
|
+
}
|
261
|
+
/**
|
262
|
+
* Load and subscribe to a `CoMap` with a given ID, as a given account.
|
263
|
+
*
|
264
|
+
* Automatically also subscribes to updates to all referenced/nested CoValues as soon as they are accessed in the listener.
|
265
|
+
*
|
266
|
+
* `depth` specifies which (if any) fields that reference other CoValues to load as well before calling `listener` for the first time.
|
267
|
+
* The `DeeplyLoaded` return type guarantees that corresponding referenced CoValues are loaded to the specified depth.
|
268
|
+
*
|
269
|
+
* You can pass `[]` or `{}` for shallowly loading only this CoMap, or `{ fieldA: depthA, fieldB: depthB }` for recursively loading referenced CoValues.
|
270
|
+
*
|
271
|
+
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
|
272
|
+
*
|
273
|
+
* Returns an unsubscribe function that you should call when you no longer need updates.
|
274
|
+
*
|
275
|
+
* Also see the `useCoState` hook to reactively subscribe to a CoValue in a React component.
|
276
|
+
*
|
277
|
+
* @example
|
278
|
+
* ```ts
|
279
|
+
* const unsub = Person.subscribe(
|
280
|
+
* "co_zdsMhHtfG6VNKt7RqPUPvUtN2Ax",
|
281
|
+
* me,
|
282
|
+
* { pet: {} },
|
283
|
+
* (person) => console.log(person)
|
284
|
+
* );
|
285
|
+
* ```
|
286
|
+
*
|
287
|
+
* @category Subscription & Loading
|
288
|
+
*/
|
289
|
+
static subscribe(id, as, depth, listener) {
|
290
|
+
return subscribeToCoValue(this, id, as, depth, listener);
|
291
|
+
}
|
292
|
+
/**
|
293
|
+
* Effectful version of `CoMap.subscribe()` that returns a stream of updates.
|
294
|
+
*
|
295
|
+
* Needs to be run inside an `AccountCtx` context.
|
296
|
+
*
|
297
|
+
* @category Subscription & Loading
|
298
|
+
*/
|
299
|
+
static subscribeEf(id, depth) {
|
300
|
+
return subscribeToCoValueEf(this, id, depth);
|
301
|
+
}
|
302
|
+
/**
|
303
|
+
* Given an already loaded `CoMap`, ensure that the specified fields are loaded to the specified depth.
|
304
|
+
*
|
305
|
+
* Works like `CoMap.load()`, but you don't need to pass the ID or the account to load as again.
|
306
|
+
*
|
307
|
+
* @category Subscription & Loading
|
308
|
+
*/
|
309
|
+
ensureLoaded(depth) {
|
310
|
+
return ensureCoValueLoaded(this, depth);
|
311
|
+
}
|
312
|
+
/**
|
313
|
+
* Given an already loaded `CoMap`, subscribe to updates to the `CoMap` and ensure that the specified fields are loaded to the specified depth.
|
314
|
+
*
|
315
|
+
* Works like `CoMap.subscribe()`, but you don't need to pass the ID or the account to load as again.
|
316
|
+
*
|
317
|
+
* Returns an unsubscribe function that you should call when you no longer need updates.
|
318
|
+
*
|
319
|
+
* @category Subscription & Loading
|
320
|
+
**/
|
321
|
+
subscribe(depth, listener) {
|
322
|
+
return subscribeToExistingCoValue(this, depth, listener);
|
323
|
+
}
|
188
324
|
}
|
189
325
|
_a = CoMap;
|
190
326
|
(() => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coMap.js","sourceRoot":"","sources":["../../src/coValues/coMap.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"coMap.js","sourceRoot":"","sources":["../../src/coValues/coMap.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
var _a;
|
2
2
|
import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from "cojson";
|
3
|
-
import { ItemsSym, Account, CoValueBase, Ref, inspect, co, InitValues, SchemaInit, isRefEncoded, } from "../internal.js";
|
3
|
+
import { ItemsSym, Account, CoValueBase, Ref, inspect, co, InitValues, SchemaInit, isRefEncoded, loadCoValue, loadCoValueEf, subscribeToCoValue, subscribeToCoValueEf, ensureCoValueLoaded, subscribeToExistingCoValue, } from "../internal.js";
|
4
4
|
import { encodeSync, decodeSync } from "@effect/schema/Schema";
|
5
5
|
/** @category CoValues */
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
@@ -91,6 +91,30 @@ export class CoStream extends CoValueBase {
|
|
91
91
|
this._schema || (this._schema = {});
|
92
92
|
Object.assign(this._schema, def);
|
93
93
|
}
|
94
|
+
/** @category Subscription & Loading */
|
95
|
+
static load(id, as, depth) {
|
96
|
+
return loadCoValue(this, id, as, depth);
|
97
|
+
}
|
98
|
+
/** @category Subscription & Loading */
|
99
|
+
static loadEf(id, depth) {
|
100
|
+
return loadCoValueEf(this, id, depth);
|
101
|
+
}
|
102
|
+
/** @category Subscription & Loading */
|
103
|
+
static subscribe(id, as, depth, listener) {
|
104
|
+
return subscribeToCoValue(this, id, as, depth, listener);
|
105
|
+
}
|
106
|
+
/** @category Subscription & Loading */
|
107
|
+
static subscribeEf(id, depth) {
|
108
|
+
return subscribeToCoValueEf(this, id, depth);
|
109
|
+
}
|
110
|
+
/** @category Subscription & Loading */
|
111
|
+
ensureLoaded(depth) {
|
112
|
+
return ensureCoValueLoaded(this, depth);
|
113
|
+
}
|
114
|
+
/** @category Subscription & Loading */
|
115
|
+
subscribe(depth, listener) {
|
116
|
+
return subscribeToExistingCoValue(this, depth, listener);
|
117
|
+
}
|
94
118
|
}
|
95
119
|
_a = CoStream;
|
96
120
|
(() => {
|
@@ -368,5 +392,29 @@ export class BinaryCoStream extends CoValueBase {
|
|
368
392
|
[inspect]() {
|
369
393
|
return this.toJSON();
|
370
394
|
}
|
395
|
+
/** @category Subscription & Loading */
|
396
|
+
static load(id, as, depth) {
|
397
|
+
return loadCoValue(this, id, as, depth);
|
398
|
+
}
|
399
|
+
/** @category Subscription & Loading */
|
400
|
+
static loadEf(id, depth) {
|
401
|
+
return loadCoValueEf(this, id, depth);
|
402
|
+
}
|
403
|
+
/** @category Subscription & Loading */
|
404
|
+
static subscribe(id, as, depth, listener) {
|
405
|
+
return subscribeToCoValue(this, id, as, depth, listener);
|
406
|
+
}
|
407
|
+
/** @category Subscription & Loading */
|
408
|
+
static subscribeEf(id, depth) {
|
409
|
+
return subscribeToCoValueEf(this, id, depth);
|
410
|
+
}
|
411
|
+
/** @category Subscription & Loading */
|
412
|
+
ensureLoaded(depth) {
|
413
|
+
return ensureCoValueLoaded(this, depth);
|
414
|
+
}
|
415
|
+
/** @category Subscription & Loading */
|
416
|
+
subscribe(depth, listener) {
|
417
|
+
return subscribeToExistingCoValue(this, depth, listener);
|
418
|
+
}
|
371
419
|
}
|
372
420
|
//# sourceMappingURL=coStream.js.map
|