jazz-tools 0.7.0-alpha.9 → 0.7.3
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 +3 -10
- package/.prettierrc.js +9 -0
- package/.turbo/turbo-build.log +14 -15
- package/.turbo/turbo-lint.log +4 -0
- package/.turbo/turbo-test.log +140 -0
- package/CHANGELOG.md +331 -27
- package/LICENSE.txt +1 -1
- package/README.md +10 -2
- package/dist/coValues/account.js +86 -41
- package/dist/coValues/account.js.map +1 -1
- package/dist/coValues/coList.js +75 -48
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.js +167 -44
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.js +192 -35
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/coValues/deepLoading.js +60 -0
- package/dist/coValues/deepLoading.js.map +1 -0
- package/dist/coValues/extensions/imageDef.js +10 -7
- package/dist/coValues/extensions/imageDef.js.map +1 -1
- package/dist/coValues/group.js +73 -13
- package/dist/coValues/group.js.map +1 -1
- package/dist/coValues/interfaces.js +58 -35
- 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 +58 -18
- package/dist/implementation/refs.js.map +1 -1
- package/dist/implementation/schema.js +58 -0
- package/dist/implementation/schema.js.map +1 -0
- 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 +5 -2
- package/dist/internal.js.map +1 -1
- package/dist/tests/coList.test.js +51 -48
- package/dist/tests/coList.test.js.map +1 -1
- package/dist/tests/coMap.test.js +131 -74
- package/dist/tests/coMap.test.js.map +1 -1
- package/dist/tests/coStream.test.js +56 -41
- 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 +186 -128
- package/src/coValues/coList.ts +156 -107
- package/src/coValues/coMap.ts +272 -148
- package/src/coValues/coStream.ts +388 -87
- package/src/coValues/deepLoading.ts +229 -0
- package/src/coValues/extensions/imageDef.ts +17 -13
- package/src/coValues/group.ts +166 -59
- package/src/coValues/interfaces.ts +189 -160
- package/src/implementation/devtoolsFormatters.ts +110 -0
- package/src/implementation/inspect.ts +1 -1
- package/src/implementation/refs.ts +80 -28
- package/src/implementation/schema.ts +141 -0
- package/src/implementation/subscriptionScope.ts +48 -12
- package/src/implementation/symbols.ts +11 -0
- package/src/index.ts +19 -8
- package/src/internal.ts +7 -3
- package/src/tests/coList.test.ts +77 -62
- package/src/tests/coMap.test.ts +201 -114
- package/src/tests/coStream.test.ts +113 -84
- package/src/tests/deepLoading.test.ts +304 -0
- package/src/tests/groupsAndAccounts.test.ts +91 -0
- package/dist/implementation/encoding.js +0 -26
- package/dist/implementation/encoding.js.map +0 -1
- package/src/implementation/encoding.ts +0 -105
@@ -1,7 +1,9 @@
|
|
1
1
|
var _a;
|
2
|
-
import { cojsonInternals } from "cojson";
|
3
|
-
import { ItemsSym, Account, CoValueBase, Ref, inspect,
|
4
|
-
import {
|
2
|
+
import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from "cojson";
|
3
|
+
import { ItemsSym, Account, CoValueBase, Ref, inspect, co, InitValues, SchemaInit, isRefEncoded, loadCoValue, loadCoValueEf, subscribeToCoValue, subscribeToCoValueEf, ensureCoValueLoaded, subscribeToExistingCoValue, } from "../internal.js";
|
4
|
+
import { encodeSync, decodeSync } from "@effect/schema/Schema";
|
5
|
+
/** @category CoValues */
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
5
7
|
export class CoStream extends CoValueBase {
|
6
8
|
static Of(item) {
|
7
9
|
var _b, _c;
|
@@ -11,11 +13,11 @@ export class CoStream extends CoValueBase {
|
|
11
13
|
this[_b] = item;
|
12
14
|
}
|
13
15
|
},
|
14
|
-
_b =
|
16
|
+
_b = co.items,
|
15
17
|
_c;
|
16
18
|
}
|
17
|
-
get
|
18
|
-
return this.constructor.
|
19
|
+
get _schema() {
|
20
|
+
return this.constructor._schema;
|
19
21
|
}
|
20
22
|
get byMe() {
|
21
23
|
return this[this._loadedAs.id];
|
@@ -23,7 +25,7 @@ export class CoStream extends CoValueBase {
|
|
23
25
|
get inCurrentSession() {
|
24
26
|
return this.perSession[this._loadedAs.sessionID];
|
25
27
|
}
|
26
|
-
constructor(
|
28
|
+
constructor(options) {
|
27
29
|
super();
|
28
30
|
if ("fromRaw" in options) {
|
29
31
|
Object.defineProperties(this, {
|
@@ -36,35 +38,38 @@ export class CoStream extends CoValueBase {
|
|
36
38
|
}
|
37
39
|
else {
|
38
40
|
this[InitValues] = {
|
39
|
-
init,
|
41
|
+
init: options.init,
|
40
42
|
owner: options.owner,
|
41
43
|
};
|
42
44
|
}
|
43
45
|
return new Proxy(this, CoStreamProxyHandler);
|
44
46
|
}
|
47
|
+
static create(init, options) {
|
48
|
+
return new this({ init, owner: options.owner });
|
49
|
+
}
|
45
50
|
push(...items) {
|
46
51
|
for (const item of items) {
|
47
52
|
this.pushItem(item);
|
48
53
|
}
|
49
54
|
}
|
50
55
|
pushItem(item) {
|
51
|
-
const itemDescriptor = this.
|
56
|
+
const itemDescriptor = this._schema[ItemsSym];
|
52
57
|
if (itemDescriptor === "json") {
|
53
58
|
this._raw.push(item);
|
54
59
|
}
|
55
60
|
else if ("encoded" in itemDescriptor) {
|
56
|
-
this._raw.push(
|
61
|
+
this._raw.push(encodeSync(itemDescriptor.encoded)(item));
|
57
62
|
}
|
58
|
-
else if (
|
63
|
+
else if (isRefEncoded(itemDescriptor)) {
|
59
64
|
this._raw.push(item.id);
|
60
65
|
}
|
61
66
|
}
|
62
67
|
toJSON() {
|
63
|
-
const itemDescriptor = this.
|
68
|
+
const itemDescriptor = this._schema[ItemsSym];
|
64
69
|
const mapper = itemDescriptor === "json"
|
65
70
|
? (v) => v
|
66
71
|
: "encoded" in itemDescriptor
|
67
|
-
?
|
72
|
+
? encodeSync(itemDescriptor.encoded)
|
68
73
|
: (v) => v && v.id;
|
69
74
|
return {
|
70
75
|
id: this.id,
|
@@ -82,9 +87,33 @@ export class CoStream extends CoValueBase {
|
|
82
87
|
[inspect]() {
|
83
88
|
return this.toJSON();
|
84
89
|
}
|
85
|
-
static
|
86
|
-
this.
|
87
|
-
Object.assign(this.
|
90
|
+
static schema(def) {
|
91
|
+
this._schema || (this._schema = {});
|
92
|
+
Object.assign(this._schema, def);
|
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);
|
88
117
|
}
|
89
118
|
}
|
90
119
|
_a = CoStream;
|
@@ -98,21 +127,33 @@ function entryFromRawEntry(accessFrom, rawEntry, loadedAs, accountID, itemField)
|
|
98
127
|
return rawEntry.value;
|
99
128
|
}
|
100
129
|
else if ("encoded" in itemField) {
|
101
|
-
return
|
130
|
+
return decodeSync(itemField.encoded)(rawEntry.value);
|
131
|
+
}
|
132
|
+
else if (isRefEncoded(itemField)) {
|
133
|
+
return this.ref?.accessFrom(accessFrom, rawEntry.by +
|
134
|
+
rawEntry.tx.sessionID +
|
135
|
+
rawEntry.tx.txIndex +
|
136
|
+
".value");
|
102
137
|
}
|
103
|
-
else
|
104
|
-
|
138
|
+
else {
|
139
|
+
throw new Error("Invalid item field schema");
|
105
140
|
}
|
106
141
|
},
|
107
142
|
get ref() {
|
108
|
-
if (itemField !== "json" &&
|
143
|
+
if (itemField !== "json" && isRefEncoded(itemField)) {
|
109
144
|
const rawId = rawEntry.value;
|
110
145
|
return new Ref(rawId, loadedAs, itemField);
|
111
146
|
}
|
147
|
+
else {
|
148
|
+
return undefined;
|
149
|
+
}
|
112
150
|
},
|
113
151
|
get by() {
|
114
152
|
return (accountID &&
|
115
|
-
new Ref(accountID, loadedAs, { ref:
|
153
|
+
new Ref(accountID, loadedAs, { ref: Account, optional: false })?.accessFrom(accessFrom, rawEntry.by +
|
154
|
+
rawEntry.tx.sessionID +
|
155
|
+
rawEntry.tx.txIndex +
|
156
|
+
".by"));
|
116
157
|
},
|
117
158
|
madeAt: rawEntry.at,
|
118
159
|
tx: rawEntry.tx,
|
@@ -141,10 +182,25 @@ export const CoStreamProxyHandler = {
|
|
141
182
|
const rawEntry = target._raw.lastItemBy(key);
|
142
183
|
if (!rawEntry)
|
143
184
|
return;
|
144
|
-
|
185
|
+
const entry = entryFromRawEntry(receiver, rawEntry, target._loadedAs, key, target._schema[ItemsSym]);
|
186
|
+
Object.defineProperty(entry, "all", {
|
187
|
+
get: () => {
|
188
|
+
const allRawEntries = target._raw.itemsBy(key);
|
189
|
+
return (function* () {
|
190
|
+
while (true) {
|
191
|
+
const rawEntry = allRawEntries.next();
|
192
|
+
if (rawEntry.done)
|
193
|
+
return;
|
194
|
+
yield entryFromRawEntry(receiver, rawEntry.value, target._loadedAs, key, target._schema[ItemsSym]);
|
195
|
+
}
|
196
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
197
|
+
})();
|
198
|
+
},
|
199
|
+
});
|
200
|
+
return entry;
|
145
201
|
}
|
146
202
|
else if (key === "perSession") {
|
147
|
-
return new Proxy(
|
203
|
+
return new Proxy({}, CoStreamPerSessionProxyHandler(target, receiver));
|
148
204
|
}
|
149
205
|
else {
|
150
206
|
return Reflect.get(target, key, receiver);
|
@@ -155,8 +211,8 @@ export const CoStreamProxyHandler = {
|
|
155
211
|
if (key === ItemsSym &&
|
156
212
|
typeof value === "object" &&
|
157
213
|
SchemaInit in value) {
|
158
|
-
(_b = target.constructor).
|
159
|
-
target.constructor.
|
214
|
+
(_b = target.constructor)._schema || (_b._schema = {});
|
215
|
+
target.constructor._schema[ItemsSym] =
|
160
216
|
value[SchemaInit];
|
161
217
|
init(target);
|
162
218
|
return true;
|
@@ -171,8 +227,8 @@ export const CoStreamProxyHandler = {
|
|
171
227
|
key === ItemsSym &&
|
172
228
|
typeof descriptor.value === "object" &&
|
173
229
|
SchemaInit in descriptor.value) {
|
174
|
-
(_b = target.constructor).
|
175
|
-
target.constructor.
|
230
|
+
(_b = target.constructor)._schema || (_b._schema = {});
|
231
|
+
target.constructor._schema[ItemsSym] =
|
176
232
|
descriptor.value[SchemaInit];
|
177
233
|
init(target);
|
178
234
|
return true;
|
@@ -201,25 +257,58 @@ export const CoStreamProxyHandler = {
|
|
201
257
|
}
|
202
258
|
},
|
203
259
|
};
|
204
|
-
const CoStreamPerSessionProxyHandler = {
|
205
|
-
get(
|
260
|
+
const CoStreamPerSessionProxyHandler = (innerTarget, accessFrom) => ({
|
261
|
+
get(_target, key, receiver) {
|
206
262
|
if (typeof key === "string" && key.includes("session")) {
|
207
263
|
const sessionID = key;
|
208
|
-
const rawEntry =
|
264
|
+
const rawEntry = innerTarget._raw.lastItemIn(sessionID);
|
209
265
|
if (!rawEntry)
|
210
266
|
return;
|
211
267
|
const by = cojsonInternals.accountOrAgentIDfromSessionID(sessionID);
|
212
|
-
|
268
|
+
const entry = entryFromRawEntry(accessFrom, rawEntry, innerTarget._loadedAs, cojsonInternals.isAccountID(by)
|
213
269
|
? by
|
214
|
-
: undefined,
|
270
|
+
: undefined, innerTarget._schema[ItemsSym]);
|
271
|
+
Object.defineProperty(entry, "all", {
|
272
|
+
get: () => {
|
273
|
+
const allRawEntries = innerTarget._raw.itemsIn(sessionID);
|
274
|
+
return (function* () {
|
275
|
+
while (true) {
|
276
|
+
const rawEntry = allRawEntries.next();
|
277
|
+
if (rawEntry.done)
|
278
|
+
return;
|
279
|
+
yield entryFromRawEntry(accessFrom, rawEntry.value, innerTarget._loadedAs, cojsonInternals.isAccountID(by)
|
280
|
+
? by
|
281
|
+
: undefined, innerTarget._schema[ItemsSym]);
|
282
|
+
}
|
283
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
284
|
+
})();
|
285
|
+
},
|
286
|
+
});
|
287
|
+
return entry;
|
215
288
|
}
|
216
289
|
else {
|
217
|
-
return Reflect.get(
|
290
|
+
return Reflect.get(innerTarget, key, receiver);
|
218
291
|
}
|
219
292
|
},
|
220
|
-
|
293
|
+
ownKeys() {
|
294
|
+
return innerTarget._raw.sessions();
|
295
|
+
},
|
296
|
+
getOwnPropertyDescriptor(target, key) {
|
297
|
+
if (typeof key === "string" && key.startsWith("co_")) {
|
298
|
+
return {
|
299
|
+
configurable: true,
|
300
|
+
enumerable: true,
|
301
|
+
writable: false,
|
302
|
+
};
|
303
|
+
}
|
304
|
+
else {
|
305
|
+
return Reflect.getOwnPropertyDescriptor(target, key);
|
306
|
+
}
|
307
|
+
},
|
308
|
+
});
|
309
|
+
/** @category CoValues */
|
221
310
|
export class BinaryCoStream extends CoValueBase {
|
222
|
-
constructor(
|
311
|
+
constructor(options) {
|
223
312
|
super();
|
224
313
|
let raw;
|
225
314
|
if ("fromRaw" in options) {
|
@@ -234,9 +323,13 @@ export class BinaryCoStream extends CoValueBase {
|
|
234
323
|
value: raw.id,
|
235
324
|
enumerable: false,
|
236
325
|
},
|
326
|
+
_type: { value: "BinaryCoStream", enumerable: false },
|
237
327
|
_raw: { value: raw, enumerable: false },
|
238
328
|
});
|
239
329
|
}
|
330
|
+
static create(options) {
|
331
|
+
return new this(options);
|
332
|
+
}
|
240
333
|
getChunks(options) {
|
241
334
|
return this._raw.getBinaryChunks(options?.allowUnfinished);
|
242
335
|
}
|
@@ -249,6 +342,46 @@ export class BinaryCoStream extends CoValueBase {
|
|
249
342
|
end() {
|
250
343
|
this._raw.endBinaryStream();
|
251
344
|
}
|
345
|
+
toBlob(options) {
|
346
|
+
const chunks = this.getChunks({
|
347
|
+
allowUnfinished: options?.allowUnfinished,
|
348
|
+
});
|
349
|
+
if (!chunks) {
|
350
|
+
return undefined;
|
351
|
+
}
|
352
|
+
return new Blob(chunks.chunks, { type: chunks.mimeType });
|
353
|
+
}
|
354
|
+
static async loadAsBlob(id, as, options) {
|
355
|
+
const stream = await this.load(id, as, []);
|
356
|
+
return stream?.toBlob({
|
357
|
+
allowUnfinished: options?.allowUnfinished,
|
358
|
+
});
|
359
|
+
}
|
360
|
+
static async createFromBlob(blob, options) {
|
361
|
+
const stream = this.create({ owner: options.owner });
|
362
|
+
const start = Date.now();
|
363
|
+
const data = new Uint8Array(await blob.arrayBuffer());
|
364
|
+
stream.start({
|
365
|
+
mimeType: blob.type,
|
366
|
+
totalSizeBytes: blob.size,
|
367
|
+
fileName: blob instanceof File ? blob.name : undefined,
|
368
|
+
});
|
369
|
+
const chunkSize = MAX_RECOMMENDED_TX_SIZE;
|
370
|
+
let lastProgressUpdate = Date.now();
|
371
|
+
for (let idx = 0; idx < data.length; idx += chunkSize) {
|
372
|
+
stream.push(data.slice(idx, idx + chunkSize));
|
373
|
+
if (Date.now() - lastProgressUpdate > 100) {
|
374
|
+
options.onProgress?.(idx / data.length);
|
375
|
+
lastProgressUpdate = Date.now();
|
376
|
+
}
|
377
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
378
|
+
}
|
379
|
+
stream.end();
|
380
|
+
const end = Date.now();
|
381
|
+
console.debug("Finished creating binary stream in", (end - start) / 1000, "s - Throughput in MB/s", (1000 * (blob.size / (end - start))) / (1024 * 1024));
|
382
|
+
options.onProgress?.(1);
|
383
|
+
return stream;
|
384
|
+
}
|
252
385
|
toJSON() {
|
253
386
|
return {
|
254
387
|
id: this.id,
|
@@ -259,5 +392,29 @@ export class BinaryCoStream extends CoValueBase {
|
|
259
392
|
[inspect]() {
|
260
393
|
return this.toJSON();
|
261
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
|
+
}
|
262
419
|
}
|
263
420
|
//# sourceMappingURL=coStream.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { ItemsSym, } from "../internal.js";
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
3
|
+
export function fulfillsDepth(depth, value) {
|
4
|
+
if (value._type === "CoMap" ||
|
5
|
+
value._type === "Group" ||
|
6
|
+
value._type === "Account") {
|
7
|
+
if (Array.isArray(depth) && depth.length === 1) {
|
8
|
+
return Object.entries(value).every(([key, item]) => {
|
9
|
+
return value._refs[key]
|
10
|
+
? item && fulfillsDepth(depth[0], item)
|
11
|
+
: value._schema[ItemsSym].optional;
|
12
|
+
});
|
13
|
+
}
|
14
|
+
else {
|
15
|
+
for (const key of Object.keys(depth)) {
|
16
|
+
const map = value;
|
17
|
+
if (!map._refs[key] && map._schema[key].optional) {
|
18
|
+
continue;
|
19
|
+
}
|
20
|
+
if (!map[key]) {
|
21
|
+
return false;
|
22
|
+
}
|
23
|
+
if (!fulfillsDepth(depth[key], map[key])) {
|
24
|
+
return false;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
return true;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
else if (value._type === "CoList") {
|
31
|
+
if (depth.length === 0) {
|
32
|
+
return true;
|
33
|
+
}
|
34
|
+
else {
|
35
|
+
const itemDepth = depth[0];
|
36
|
+
return value.every((item, i) => value._refs[i]
|
37
|
+
? item && fulfillsDepth(itemDepth, item)
|
38
|
+
: value._schema[ItemsSym].optional);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
else if (value._type === "CoStream") {
|
42
|
+
if (depth.length === 0) {
|
43
|
+
return true;
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
const itemDepth = depth[0];
|
47
|
+
return Object.values(value.perSession).every((entry) => entry.ref
|
48
|
+
? entry.value && fulfillsDepth(itemDepth, entry.value)
|
49
|
+
: value._schema[ItemsSym].optional);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
else if (value._type === "BinaryCoStream") {
|
53
|
+
return true;
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
console.error(value);
|
57
|
+
throw new Error("Unexpected value type: " + value._type);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
//# sourceMappingURL=deepLoading.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deepLoading.js","sourceRoot":"","sources":["../../src/coValues/deepLoading.ts"],"names":[],"mappings":"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"}
|
@@ -1,17 +1,20 @@
|
|
1
1
|
var _a;
|
2
|
-
import { BinaryCoStream, CoMap,
|
2
|
+
import { BinaryCoStream, CoMap, co, subscriptionsScopes, } from "../../internal.js";
|
3
|
+
/** @category Media */
|
3
4
|
export class ImageDefinition extends CoMap {
|
4
5
|
constructor() {
|
5
6
|
super(...arguments);
|
6
|
-
this.originalSize =
|
7
|
-
this.placeholderDataURL =
|
8
|
-
this[_a] =
|
7
|
+
this.originalSize = co.json();
|
8
|
+
this.placeholderDataURL = co.string;
|
9
|
+
this[_a] = co.ref(BinaryCoStream);
|
9
10
|
}
|
10
|
-
|
11
|
+
highestResAvailable(options) {
|
11
12
|
if (!subscriptionsScopes.get(this)) {
|
12
13
|
console.warn("highestResAvailable() only makes sense when used within a subscription.");
|
13
14
|
}
|
14
|
-
const resolutions = Object.keys(this).filter((key) => key.match(/^\d+x\d+$/)
|
15
|
+
const resolutions = Object.keys(this).filter((key) => key.match(/^\d+x\d+$/) &&
|
16
|
+
(options?.maxWidth === undefined ||
|
17
|
+
Number(key.split("x")[0]) <= options.maxWidth));
|
15
18
|
resolutions.sort((a, b) => {
|
16
19
|
const aWidth = Number(a.split("x")[0]);
|
17
20
|
const bWidth = Number(b.split("x")[0]);
|
@@ -35,5 +38,5 @@ export class ImageDefinition extends CoMap {
|
|
35
38
|
});
|
36
39
|
}
|
37
40
|
}
|
38
|
-
_a =
|
41
|
+
_a = co.items;
|
39
42
|
//# sourceMappingURL=imageDef.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"imageDef.js","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,cAAc,EACd,KAAK,EACL,
|
1
|
+
{"version":3,"file":"imageDef.js","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,cAAc,EACd,KAAK,EACL,EAAE,EACF,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAA1C;;QACI,iBAAY,GAAG,EAAE,CAAC,IAAI,EAAoB,CAAC;QAC3C,uBAAkB,GAAI,EAAE,CAAC,MAAM,CAAC;QAEhC,QAAU,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IA8CxC,CAAC;IA3CG,mBAAmB,CAAC,OAEnB;QACG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACR,yEAAyE,CAC5E,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;YACtB,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS;gBAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAC9B,CAAC;QAE7B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,MAAM,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,0BAA6D,CAAC;QAElE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;gBACpD,0BAA0B,GAAG,UAAU,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CACH,0BAA0B,IAAI;oBAC1B,GAAG,EAAE,0BAA0B;oBAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;iBAC5C,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,CACH,0BAA0B,IAAI;YAC1B,GAAG,EAAE,0BAA0B;YAC/B,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAE;SAC5C,CACJ,CAAC;IACN,CAAC;CACJ;KA9CI,EAAE,CAAC,KAAK"}
|
package/dist/coValues/group.js
CHANGED
@@ -1,33 +1,36 @@
|
|
1
1
|
var _a;
|
2
|
-
import { Account, CoMap, CoValueBase, Ref,
|
2
|
+
import { Account, CoMap, CoValueBase, Ref, co, isControlledAccount, AccountAndGroupProxyHandler, MembersSym, loadCoValue, loadCoValueEf, subscribeToCoValue, subscribeToCoValueEf, ensureCoValueLoaded, subscribeToExistingCoValue, } from "../internal.js";
|
3
|
+
/** @category Identity & Permissions */
|
3
4
|
export class Profile extends CoMap {
|
4
5
|
constructor() {
|
5
6
|
super(...arguments);
|
6
|
-
this.name =
|
7
|
+
this.name = co.string;
|
7
8
|
}
|
8
9
|
}
|
10
|
+
/** @category Identity & Permissions */
|
9
11
|
export class Group extends CoValueBase {
|
10
|
-
get
|
11
|
-
return this.constructor.
|
12
|
+
get _schema() {
|
13
|
+
return this.constructor._schema;
|
12
14
|
}
|
13
15
|
get _refs() {
|
14
16
|
const profileID = this._raw.get("profile");
|
15
17
|
const rootID = this._raw.get("root");
|
16
18
|
return {
|
17
19
|
profile: profileID &&
|
18
|
-
new Ref(profileID, this._loadedAs, this.
|
20
|
+
new Ref(profileID, this._loadedAs, this._schema.profile),
|
19
21
|
root: rootID &&
|
20
|
-
new Ref(rootID, this._loadedAs, this.
|
22
|
+
new Ref(rootID, this._loadedAs, this._schema.root),
|
21
23
|
};
|
22
24
|
}
|
23
|
-
constructor
|
25
|
+
/** @deprecated Don't use constructor directly, use .create */
|
26
|
+
constructor(options) {
|
24
27
|
super();
|
25
28
|
let raw;
|
26
29
|
if (options && "fromRaw" in options) {
|
27
30
|
raw = options.fromRaw;
|
28
31
|
}
|
29
32
|
else {
|
30
|
-
const initOwner = options
|
33
|
+
const initOwner = options.owner;
|
31
34
|
if (!initOwner)
|
32
35
|
throw new Error("No owner provided");
|
33
36
|
if (initOwner instanceof Account &&
|
@@ -48,11 +51,63 @@ export class Group extends CoValueBase {
|
|
48
51
|
});
|
49
52
|
return new Proxy(this, AccountAndGroupProxyHandler);
|
50
53
|
}
|
54
|
+
static create(options) {
|
55
|
+
return new this(options);
|
56
|
+
}
|
51
57
|
myRole() {
|
52
58
|
return this._raw.myRole();
|
53
59
|
}
|
54
60
|
addMember(member, role) {
|
55
61
|
this._raw.addMember(member === "everyone" ? member : member._raw, role);
|
62
|
+
return this;
|
63
|
+
}
|
64
|
+
get members() {
|
65
|
+
return this._raw
|
66
|
+
.keys()
|
67
|
+
.filter((key) => {
|
68
|
+
return key === "everyone" || key.startsWith("co_");
|
69
|
+
})
|
70
|
+
.map((id) => {
|
71
|
+
const role = this._raw.get(id);
|
72
|
+
const accountID = id === "everyone"
|
73
|
+
? undefined
|
74
|
+
: id;
|
75
|
+
const ref = accountID &&
|
76
|
+
new Ref(accountID, this._loadedAs, this._schema[MembersSym]);
|
77
|
+
const accessRef = () => ref?.accessFrom(this, "members." + id);
|
78
|
+
return {
|
79
|
+
id: id,
|
80
|
+
role,
|
81
|
+
ref,
|
82
|
+
get account() {
|
83
|
+
return accessRef();
|
84
|
+
},
|
85
|
+
};
|
86
|
+
});
|
87
|
+
}
|
88
|
+
/** @category Subscription & Loading */
|
89
|
+
static load(id, as, depth) {
|
90
|
+
return loadCoValue(this, id, as, depth);
|
91
|
+
}
|
92
|
+
/** @category Subscription & Loading */
|
93
|
+
static loadEf(id, depth) {
|
94
|
+
return loadCoValueEf(this, id, depth);
|
95
|
+
}
|
96
|
+
/** @category Subscription & Loading */
|
97
|
+
static subscribe(id, as, depth, listener) {
|
98
|
+
return subscribeToCoValue(this, id, as, depth, listener);
|
99
|
+
}
|
100
|
+
/** @category Subscription & Loading */
|
101
|
+
static subscribeEf(id, depth) {
|
102
|
+
return subscribeToCoValueEf(this, id, depth);
|
103
|
+
}
|
104
|
+
/** @category Subscription & Loading */
|
105
|
+
ensureLoaded(depth) {
|
106
|
+
return ensureCoValueLoaded(this, depth);
|
107
|
+
}
|
108
|
+
/** @category Subscription & Loading */
|
109
|
+
subscribe(depth, listener) {
|
110
|
+
return subscribeToExistingCoValue(this, depth, listener);
|
56
111
|
}
|
57
112
|
}
|
58
113
|
_a = Group;
|
@@ -60,12 +115,17 @@ _a = Group;
|
|
60
115
|
_a.prototype._type = "Group";
|
61
116
|
})();
|
62
117
|
(() => {
|
63
|
-
_a.
|
64
|
-
profile:
|
65
|
-
root:
|
118
|
+
_a._schema = {
|
119
|
+
profile: "json",
|
120
|
+
root: "json",
|
121
|
+
[MembersSym]: {
|
122
|
+
ref: () => Account,
|
123
|
+
optional: false,
|
124
|
+
},
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
66
126
|
};
|
67
|
-
Object.defineProperty(_a.prototype, "
|
68
|
-
get: () => _a.
|
127
|
+
Object.defineProperty(_a.prototype, "_schema", {
|
128
|
+
get: () => _a._schema,
|
69
129
|
});
|
70
130
|
})();
|
71
131
|
//# sourceMappingURL=group.js.map
|