jazz-tools 0.13.0 → 0.13.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.
@@ -1,10 +1,16 @@
1
- import { SessionID } from "cojson";
1
+ import { JsonValue, SessionID } from "cojson";
2
2
  import { ItemsSym, UnCo } from "../internal.js";
3
3
  import { type Account } from "./account.js";
4
4
  import { CoFeedEntry } from "./coFeed.js";
5
5
  import { type CoKeys } from "./coMap.js";
6
6
  import { type CoValue, type ID } from "./interfaces.js";
7
- type FulfillsDepthResult = "unauthorized" | "fulfilled" | "unfulfilled";
7
+ type FulfillsDepthResult = {
8
+ status: "fulfilled" | "unfulfilled";
9
+ } | {
10
+ status: "unauthorized";
11
+ path: string[];
12
+ id: JsonValue;
13
+ };
8
14
  export declare function fulfillsDepth(depth: any, value: CoValue): FulfillsDepthResult;
9
15
  type UnCoNotNull<T> = UnCo<Exclude<T, null>>;
10
16
  export type Clean<T> = UnCo<NonNullable<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"deepLoading.d.ts","sourceRoot":"","sources":["../../src/coValues/deepLoading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepLoading.d.ts","sourceRoot":"","sources":["../../src/coValues/deepLoading.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ export declare function subscribeToCoValue<V extends CoValue, const R extends Re
93
93
  resolve?: RefsToResolveStrict<V, R>;
94
94
  loadAs: Account | AnonymousJazzAgent;
95
95
  onUnavailable?: () => void;
96
- onUnauthorized?: () => void;
96
+ onUnauthorized?: (errorPath: string[]) => void;
97
97
  syncResolution?: boolean;
98
98
  }, listener: SubscribeListener<V, R>): () => void;
99
99
  export declare function createCoValueObservable<V extends CoValue, const R extends RefsToResolve<V>>(initialValue?: undefined | null): {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/coValues/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/coValues/interfaces.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ import {
35
35
  parseInviteLink,
36
36
  randomSessionProvider,
37
37
  subscribeToCoValue
38
- } from "./chunk-FKK4CPZZ.js";
38
+ } from "./chunk-YZW2QELD.js";
39
39
 
40
40
  // src/index.ts
41
41
  import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from "cojson";
package/dist/testing.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  createAnonymousJazzContext,
6
6
  createJazzContext,
7
7
  randomSessionProvider
8
- } from "./chunk-FKK4CPZZ.js";
8
+ } from "./chunk-YZW2QELD.js";
9
9
 
10
10
  // src/testing.ts
11
11
  import { LocalNode } from "cojson";
package/package.json CHANGED
@@ -17,11 +17,11 @@
17
17
  },
18
18
  "type": "module",
19
19
  "license": "MIT",
20
- "version": "0.13.0",
20
+ "version": "0.13.3",
21
21
  "dependencies": {
22
22
  "@scure/bip39": "^1.3.0",
23
23
  "fast-myers-diff": "^3.2.0",
24
- "cojson": "0.13.0"
24
+ "cojson": "0.13.2"
25
25
  },
26
26
  "devDependencies": {
27
27
  "tsup": "8.3.5",
@@ -1,4 +1,4 @@
1
- import { SessionID } from "cojson";
1
+ import { JsonValue, RawCoList, SessionID } from "cojson";
2
2
  import { ItemsSym, type Ref, RefEncoded, UnCo } from "../internal.js";
3
3
  import { type Account } from "./account.js";
4
4
  import { type CoFeed, CoFeedEntry } from "./coFeed.js";
@@ -32,12 +32,22 @@ function isOptionalField(value: CoValue, key: string): boolean {
32
32
  );
33
33
  }
34
34
 
35
- type FulfillsDepthResult = "unauthorized" | "fulfilled" | "unfulfilled";
35
+ type FulfillsDepthResult =
36
+ | {
37
+ status: "fulfilled" | "unfulfilled";
38
+ }
39
+ | {
40
+ status: "unauthorized";
41
+ path: string[];
42
+ id: JsonValue;
43
+ };
36
44
 
37
45
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
46
  export function fulfillsDepth(depth: any, value: CoValue): FulfillsDepthResult {
39
47
  if (depth === true || depth === undefined) {
40
- return "fulfilled";
48
+ return {
49
+ status: "fulfilled",
50
+ };
41
51
  }
42
52
 
43
53
  if (
@@ -48,40 +58,52 @@ export function fulfillsDepth(depth: any, value: CoValue): FulfillsDepthResult {
48
58
  const map = value as CoMap;
49
59
 
50
60
  if ("$each" in depth) {
51
- let result: FulfillsDepthResult = "fulfilled";
61
+ const result: FulfillsDepthResult = { status: "fulfilled" };
52
62
 
53
63
  for (const [key, item] of Object.entries(value)) {
54
- if (map._raw.get(key) !== undefined) {
64
+ const rawValue = map._raw.get(key);
65
+
66
+ if (rawValue !== undefined) {
55
67
  if (!item) {
56
68
  if (hasReadAccess(map, key)) {
57
- result = "unfulfilled";
69
+ result.status = "unfulfilled";
58
70
  continue;
59
71
  } else {
60
- return "unauthorized";
72
+ return {
73
+ status: "unauthorized",
74
+ path: [key],
75
+ id: rawValue,
76
+ };
61
77
  }
62
78
  }
63
79
 
64
80
  const innerResult = fulfillsDepth(depth.$each, item);
65
81
 
66
- if (innerResult === "unfulfilled") {
67
- result = "unfulfilled";
82
+ if (innerResult.status === "unfulfilled") {
83
+ result.status = "unfulfilled";
68
84
  } else if (
69
- innerResult === "unauthorized" &&
85
+ innerResult.status === "unauthorized" &&
70
86
  !isOptionalField(value, ItemsSym)
71
87
  ) {
72
- return "unauthorized"; // If any item is unauthorized, the whole thing is unauthorized
88
+ innerResult.path.unshift(key);
89
+
90
+ return innerResult; // If any item is unauthorized, the whole thing is unauthorized
73
91
  }
74
92
  } else if (!isOptionalField(value, ItemsSym)) {
75
- return "unfulfilled";
93
+ return {
94
+ status: "unfulfilled",
95
+ };
76
96
  }
77
97
  }
78
98
 
79
99
  return result;
80
100
  } else {
81
- let result: FulfillsDepthResult = "fulfilled";
101
+ const result: FulfillsDepthResult = { status: "fulfilled" };
82
102
 
83
103
  for (const key of Object.keys(depth)) {
84
- if (map._raw.get(key) === undefined) {
104
+ const rawValue = map._raw.get(key);
105
+
106
+ if (rawValue === undefined || rawValue === null) {
85
107
  if (!map._schema?.[key]) {
86
108
  // Field not defined in schema
87
109
  if (map._schema?.[ItemsSym]) {
@@ -113,22 +135,28 @@ export function fulfillsDepth(depth: any, value: CoValue): FulfillsDepthResult {
113
135
 
114
136
  if (!item) {
115
137
  if (hasReadAccess(map, key)) {
116
- result = "unfulfilled";
138
+ result.status = "unfulfilled";
117
139
  continue;
118
140
  } else {
119
- return "unauthorized";
141
+ return {
142
+ status: "unauthorized",
143
+ path: [key],
144
+ id: rawValue,
145
+ };
120
146
  }
121
147
  }
122
148
 
123
149
  const innerResult = fulfillsDepth(depth[key], item);
124
150
 
125
- if (innerResult === "unfulfilled") {
126
- result = "unfulfilled";
151
+ if (innerResult.status === "unfulfilled") {
152
+ result.status = "unfulfilled";
127
153
  } else if (
128
- innerResult === "unauthorized" &&
154
+ innerResult.status === "unauthorized" &&
129
155
  !isOptionalField(value, key)
130
156
  ) {
131
- return "unauthorized"; // If any item is unauthorized, the whole thing is unauthorized
157
+ innerResult.path.unshift(key);
158
+
159
+ return innerResult; // If any item is unauthorized, the whole thing is unauthorized
132
160
  }
133
161
  }
134
162
  }
@@ -137,77 +165,99 @@ export function fulfillsDepth(depth: any, value: CoValue): FulfillsDepthResult {
137
165
  }
138
166
  } else if (value._type === "CoList") {
139
167
  if ("$each" in depth) {
140
- let result: FulfillsDepthResult = "fulfilled";
168
+ const result: FulfillsDepthResult = { status: "fulfilled" };
141
169
 
142
170
  for (const [key, item] of (value as CoList).entries()) {
143
171
  if (hasRefValue(value, key)) {
144
172
  if (!item) {
145
173
  if (hasReadAccess(value, key)) {
146
- result = "unfulfilled";
174
+ result.status = "unfulfilled";
147
175
  continue;
148
176
  } else {
149
- return "unauthorized";
177
+ return {
178
+ status: "unauthorized",
179
+ path: [key.toString()],
180
+ id: (value._raw as RawCoList).get(key) ?? "undefined",
181
+ };
150
182
  }
151
183
  }
152
184
 
153
185
  const innerResult = fulfillsDepth(depth.$each, item);
154
186
 
155
- if (innerResult === "unfulfilled") {
156
- result = "unfulfilled";
187
+ if (innerResult.status === "unfulfilled") {
188
+ result.status = "unfulfilled";
157
189
  } else if (
158
- innerResult === "unauthorized" &&
190
+ innerResult.status === "unauthorized" &&
159
191
  !isOptionalField(value, ItemsSym)
160
192
  ) {
161
- return "unauthorized"; // If any item is unauthorized, the whole thing is unauthorized
193
+ innerResult.path.unshift(key.toString());
194
+
195
+ return innerResult; // If any item is unauthorized, the whole thing is unauthorized
162
196
  }
163
197
  } else if (!isOptionalField(value, ItemsSym)) {
164
- return "unfulfilled";
198
+ return {
199
+ status: "unfulfilled",
200
+ };
165
201
  }
166
202
  }
167
203
 
168
204
  return result;
169
205
  }
170
206
 
171
- return "fulfilled";
207
+ return {
208
+ status: "fulfilled",
209
+ };
172
210
  } else if (value._type === "CoStream") {
173
211
  if ("$each" in depth) {
174
- let result: FulfillsDepthResult = "fulfilled";
212
+ const result: FulfillsDepthResult = { status: "fulfilled" };
175
213
 
176
214
  for (const item of Object.values((value as CoFeed).perSession)) {
177
215
  if (item.ref) {
178
216
  if (!item.value) {
179
217
  if (item.ref.hasReadAccess()) {
180
- result = "unfulfilled";
218
+ result.status = "unfulfilled";
181
219
  continue;
182
220
  } else {
183
- return "unauthorized";
221
+ return {
222
+ status: "unauthorized",
223
+ path: [item.ref.id],
224
+ id: item.ref.id,
225
+ };
184
226
  }
185
227
  }
186
228
 
187
229
  const innerResult = fulfillsDepth(depth.$each, item.value);
188
230
 
189
- if (innerResult === "unfulfilled") {
190
- result = "unfulfilled";
231
+ if (innerResult.status === "unfulfilled") {
232
+ result.status = "unfulfilled";
191
233
  } else if (
192
- innerResult === "unauthorized" &&
234
+ innerResult.status === "unauthorized" &&
193
235
  !isOptionalField(value, ItemsSym)
194
236
  ) {
195
- return "unauthorized"; // If any item is unauthorized, the whole thing is unauthorized
237
+ innerResult.path.unshift(item.ref.id);
238
+
239
+ return innerResult; // If any item is unauthorized, the whole thing is unauthorized
196
240
  }
197
241
  } else if (!isOptionalField(value, ItemsSym)) {
198
- return "unfulfilled";
242
+ return {
243
+ status: "unfulfilled",
244
+ };
199
245
  }
200
246
  }
201
247
 
202
248
  return result;
203
249
  }
204
250
 
205
- return "fulfilled";
251
+ return {
252
+ status: "fulfilled",
253
+ };
206
254
  } else if (
207
255
  value._type === "BinaryCoStream" ||
208
256
  value._type === "CoPlainText"
209
257
  ) {
210
- return "fulfilled";
258
+ return {
259
+ status: "fulfilled",
260
+ };
211
261
  } else {
212
262
  console.error(value);
213
263
  throw new Error("Unexpected value type: " + value._type);
@@ -317,7 +317,7 @@ export function subscribeToCoValue<
317
317
  resolve?: RefsToResolveStrict<V, R>;
318
318
  loadAs: Account | AnonymousJazzAgent;
319
319
  onUnavailable?: () => void;
320
- onUnauthorized?: () => void;
320
+ onUnauthorized?: (errorPath: string[]) => void;
321
321
  syncResolution?: boolean;
322
322
  },
323
323
  listener: SubscribeListener<V, R>,
@@ -344,7 +344,11 @@ export function subscribeToCoValue<
344
344
  if (subscription.syncResolution) return;
345
345
 
346
346
  if (!ref.hasReadAccess()) {
347
- options.onUnauthorized?.();
347
+ console.error(
348
+ "Not enough permissions to load / subscribe to CoValue",
349
+ id,
350
+ );
351
+ options.onUnauthorized?.([]);
348
352
  return;
349
353
  }
350
354
 
@@ -365,12 +369,20 @@ export function subscribeToCoValue<
365
369
  subscription.syncResolution = false;
366
370
  }
367
371
 
368
- if (result === "unauthorized") {
369
- options.onUnauthorized?.();
372
+ if (result.status === "unauthorized") {
373
+ console.error(
374
+ "Not enough permissions to load / subscribe to CoValue",
375
+ id,
376
+ "on path",
377
+ result.path.join("."),
378
+ "unaccessible value:",
379
+ result.id,
380
+ );
381
+ options.onUnauthorized?.(result.path);
370
382
  return;
371
383
  }
372
384
 
373
- if (result === "fulfilled") {
385
+ if (result.status === "fulfilled") {
374
386
  listener(update as Resolved<V, R>, subscription.unsubscribeAll);
375
387
  }
376
388
  },
@@ -392,14 +392,25 @@ describe("Deep loading with unauthorized account", async () => {
392
392
  group.addMember(alice, "reader");
393
393
 
394
394
  test("unaccessible root", async () => {
395
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
396
+
395
397
  const map = TestMap.create({ list: TestList.create([], group) }, onlyBob);
396
398
 
397
399
  const mapOnAlice = await TestMap.load(map.id, { loadAs: alice });
398
400
 
399
401
  expect(mapOnAlice).toBe(null);
402
+
403
+ expect(errorSpy).toHaveBeenCalledWith(
404
+ "Not enough permissions to load / subscribe to CoValue",
405
+ map.id,
406
+ );
407
+
408
+ errorSpy.mockReset();
400
409
  });
401
410
 
402
411
  test("unaccessible list", async () => {
412
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
413
+
403
414
  const map = TestMap.create({ list: TestList.create([], onlyBob) }, group);
404
415
 
405
416
  const mapOnAlice = await TestMap.load(map.id, { loadAs: alice });
@@ -411,9 +422,22 @@ describe("Deep loading with unauthorized account", async () => {
411
422
  });
412
423
 
413
424
  expect(mapWithListOnAlice).toBe(null);
425
+
426
+ expect(errorSpy).toHaveBeenCalledWith(
427
+ "Not enough permissions to load / subscribe to CoValue",
428
+ map.id,
429
+ "on path",
430
+ "list",
431
+ "unaccessible value:",
432
+ map.list?.id,
433
+ );
434
+
435
+ errorSpy.mockReset();
414
436
  });
415
437
 
416
438
  test("unaccessible list element", async () => {
439
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
440
+
417
441
  const map = TestMap.create(
418
442
  {
419
443
  list: TestList.create(
@@ -437,9 +461,22 @@ describe("Deep loading with unauthorized account", async () => {
437
461
  });
438
462
 
439
463
  expect(mapOnAlice).toBe(null);
464
+
465
+ expect(errorSpy).toHaveBeenCalledWith(
466
+ "Not enough permissions to load / subscribe to CoValue",
467
+ map.id,
468
+ "on path",
469
+ "list.0",
470
+ "unaccessible value:",
471
+ map.list?.[0]?.id,
472
+ );
473
+
474
+ errorSpy.mockReset();
440
475
  });
441
476
 
442
477
  test("unaccessible optional element", async () => {
478
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
479
+
443
480
  const map = TestMap.create(
444
481
  {
445
482
  list: TestList.create([], group),
@@ -456,6 +493,17 @@ describe("Deep loading with unauthorized account", async () => {
456
493
 
457
494
  expect(mapOnAlice?.optionalRef).toBe(undefined);
458
495
  expect(mapOnAlice?.optionalRef?.value).toBe(undefined);
496
+
497
+ expect(errorSpy).toHaveBeenCalledWith(
498
+ "Not enough permissions to load / subscribe to CoValue",
499
+ map.id,
500
+ "on path",
501
+ "optionalRef",
502
+ "unaccessible value:",
503
+ map.optionalRef?.id,
504
+ );
505
+
506
+ errorSpy.mockReset();
459
507
  });
460
508
 
461
509
  test("unaccessible optional element via autoload", async () => {
@@ -485,6 +533,7 @@ describe("Deep loading with unauthorized account", async () => {
485
533
  });
486
534
 
487
535
  test("unaccessible stream", async () => {
536
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
488
537
  const map = TestMap.create(
489
538
  {
490
539
  list: TestList.create(
@@ -508,19 +557,31 @@ describe("Deep loading with unauthorized account", async () => {
508
557
  });
509
558
 
510
559
  expect(mapOnAlice).toBe(null);
560
+
561
+ expect(errorSpy).toHaveBeenCalledWith(
562
+ "Not enough permissions to load / subscribe to CoValue",
563
+ map.id,
564
+ "on path",
565
+ "list.0.stream",
566
+ "unaccessible value:",
567
+ map.list?.[0]?.stream?.id,
568
+ );
569
+
570
+ errorSpy.mockReset();
511
571
  });
512
572
 
513
573
  test("unaccessible stream element", async () => {
574
+ const errorSpy = vi.spyOn(console, "error").mockImplementation(() => {});
575
+
576
+ const value = InnermostMap.create({ value: "hello" }, onlyBob);
577
+
514
578
  const map = TestMap.create(
515
579
  {
516
580
  list: TestList.create(
517
581
  [
518
582
  InnerMap.create(
519
583
  {
520
- stream: TestStream.create(
521
- [InnermostMap.create({ value: "hello" }, onlyBob)],
522
- group,
523
- ),
584
+ stream: TestStream.create([value], group),
524
585
  },
525
586
  group,
526
587
  ),
@@ -537,6 +598,45 @@ describe("Deep loading with unauthorized account", async () => {
537
598
  });
538
599
 
539
600
  expect(mapOnAlice).toBe(null);
601
+
602
+ expect(errorSpy).toHaveBeenCalledWith(
603
+ "Not enough permissions to load / subscribe to CoValue",
604
+ map.id,
605
+ "on path",
606
+ "list.0.stream." + value.id,
607
+ "unaccessible value:",
608
+ value.id,
609
+ );
610
+
611
+ errorSpy.mockReset();
612
+ });
613
+
614
+ test("setting null via proxy", async () => {
615
+ class Lv1 extends CoMap {
616
+ lv2 = co.ref(Lv2);
617
+ }
618
+
619
+ class Lv2 extends CoMap {
620
+ lv3 = co.optional.ref(Lv3);
621
+ }
622
+
623
+ class Lv3 extends CoMap {
624
+ string = co.string;
625
+ }
626
+
627
+ const map = Lv1.create(
628
+ { lv2: Lv2.create({ lv3: Lv3.create({ string: "hello" }, bob) }, bob) },
629
+ bob,
630
+ );
631
+
632
+ map.lv2!.lv3 = null;
633
+
634
+ const loadedMap = await Lv1.load(map.id, {
635
+ resolve: { lv2: { lv3: true } },
636
+ loadAs: bob,
637
+ });
638
+
639
+ expect(loadedMap?.id).toBe(map.id);
540
640
  });
541
641
  });
542
642
 
@@ -0,0 +1,10 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ typecheck: {
6
+ enabled: true,
7
+ checker: "tsc",
8
+ },
9
+ },
10
+ });