jazz-tools 0.17.4 → 0.17.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.
Files changed (35) hide show
  1. package/.turbo/turbo-build.log +44 -44
  2. package/CHANGELOG.md +21 -0
  3. package/dist/{chunk-NPXI4XAS.js → chunk-SJHXI5AB.js} +103 -14
  4. package/dist/chunk-SJHXI5AB.js.map +1 -0
  5. package/dist/index.js +1 -1
  6. package/dist/media/{chunk-JBLT443O.js → chunk-E5J3WLQW.js} +2 -2
  7. package/dist/media/{chunk-JBLT443O.js.map → chunk-E5J3WLQW.js.map} +1 -1
  8. package/dist/media/index.browser.js +1 -1
  9. package/dist/media/index.js +1 -1
  10. package/dist/media/index.native.js +1 -1
  11. package/dist/media/utils.d.ts.map +1 -1
  12. package/dist/react/index.js.map +1 -1
  13. package/dist/testing.js +9 -1
  14. package/dist/testing.js.map +1 -1
  15. package/dist/tools/coValues/coList.d.ts +43 -1
  16. package/dist/tools/coValues/coList.d.ts.map +1 -1
  17. package/dist/tools/implementation/schema.d.ts.map +1 -1
  18. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +15 -1
  19. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
  20. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +11 -0
  21. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
  22. package/dist/tools/testing.d.ts +9 -0
  23. package/dist/tools/testing.d.ts.map +1 -1
  24. package/package.json +4 -4
  25. package/src/media/utils.test.ts +3 -2
  26. package/src/media/utils.ts +5 -1
  27. package/src/tools/coValues/coList.ts +124 -4
  28. package/src/tools/implementation/schema.ts +3 -1
  29. package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +44 -1
  30. package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +25 -0
  31. package/src/tools/testing.ts +18 -0
  32. package/src/tools/tests/coList.test.ts +167 -0
  33. package/src/tools/tests/coMap.record.test.ts +104 -0
  34. package/src/tools/tests/coMap.test.ts +19 -1
  35. package/dist/chunk-NPXI4XAS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"coList.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/coList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coList.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/coList.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Account, CoList, Group, RefsToResolve, RefsToResolveStrict, Resolved, SubscribeListenerOptions } from "../../../internal.js";
1
+ import { Account, CoList, Group, ID, RefsToResolve, RefsToResolveStrict, Resolved, SubscribeListenerOptions } from "../../../internal.js";
2
+ import { CoValueUniqueness } from "cojson";
2
3
  import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
3
4
  import { CoListInit } from "../typeConverters/CoFieldInit.js";
4
5
  import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
@@ -14,6 +15,7 @@ export declare class CoListSchema<T extends AnyZodOrCoValueSchema> implements Co
14
15
  constructor(element: T, coValueClass: typeof CoList);
15
16
  create(items: CoListInit<T>, options?: {
16
17
  owner: Account | Group;
18
+ unique?: CoValueUniqueness["uniqueness"];
17
19
  } | Account | Group): CoListInstance<T>;
18
20
  load<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(id: string, options?: {
19
21
  resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
@@ -21,6 +23,18 @@ export declare class CoListSchema<T extends AnyZodOrCoValueSchema> implements Co
21
23
  }): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null>;
22
24
  subscribe<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(id: string, options: SubscribeListenerOptions<CoListInstanceCoValuesNullable<T>, R>, listener: (value: Resolved<CoListInstanceCoValuesNullable<T>, R>, unsubscribe: () => void) => void): () => void;
23
25
  getCoValueClass(): typeof CoList;
26
+ /** @deprecated Use `CoList.upsertUnique` and `CoList.loadUnique` instead. */
27
+ findUnique(unique: CoValueUniqueness["uniqueness"], ownerID: ID<Account> | ID<Group>, as?: Account | Group | AnonymousJazzAgent): ID<CoListInstanceCoValuesNullable<T>>;
28
+ upsertUnique<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(options: {
29
+ value: CoListInit<T>;
30
+ unique: CoValueUniqueness["uniqueness"];
31
+ owner: Account | Group;
32
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
33
+ }): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null>;
34
+ loadUnique<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(unique: CoValueUniqueness["uniqueness"], ownerID: ID<Account> | ID<Group>, options?: {
35
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
36
+ loadAs?: Account | AnonymousJazzAgent;
37
+ }): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null>;
24
38
  optional(): CoOptionalSchema<this>;
25
39
  }
26
40
  export declare function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(element: T): CoreCoListSchema<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"CoListSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,2CAA2C,EAAE,MAAM,kEAAkE,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,YAAY,CAAC,CAAC,SAAS,qBAAqB,CACvD,YAAW,gBAAgB,CAAC,CAAC,CAAC;IAMrB,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,YAAY;IALtB,aAAa,OAAiB;IAC9B,OAAO,WAAqB;gBAGnB,OAAO,EAAE,CAAC,EACT,YAAY,EAAE,OAAO,MAAM;IAGrC,MAAM,CACJ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE,GAAG,OAAO,GAAG,KAAK,GACrD,cAAc,CAAC,CAAC,CAAC;IAIpB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAC1E,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,mBAAmB,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;KACvC,GACA,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAKjE,SAAS,CACP,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAEvE,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,wBAAwB,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACvE,QAAQ,EAAE,CACR,KAAK,EAAE,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACrD,WAAW,EAAE,MAAM,IAAI,KACpB,IAAI,GACR,MAAM,IAAI;IAIb,eAAe,IAAI,OAAO,MAAM;IAIhC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC;CAGnC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,qBAAqB,EACpE,OAAO,EAAE,CAAC,GACT,gBAAgB,CAAC,CAAC,CAAC,CAMrB;AAGD,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACvD,SAAQ,iBAAiB;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,qBAAqB,IAAI,MAAM,CAClE,2BAA2B,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,qBAAqB,IACxE,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"CoListSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,18 @@ export interface CoRecordSchema<K extends z.core.$ZodString<string>, V extends A
23
23
  loadAs?: Account | AnonymousJazzAgent;
24
24
  }): Promise<Resolved<CoRecordInstanceCoValuesNullable<K, V>, R> | null>;
25
25
  subscribe<const R extends RefsToResolve<CoRecordInstanceCoValuesNullable<K, V>> = true>(id: ID<CoRecordInstanceCoValuesNullable<K, V>>, options: SubscribeListenerOptions<CoRecordInstanceCoValuesNullable<K, V>, R>, listener: (value: Resolved<CoRecordInstanceCoValuesNullable<K, V>, R>, unsubscribe: () => void) => void): () => void;
26
+ /** @deprecated Use `CoMap.upsertUnique` and `CoMap.loadUnique` instead. */
26
27
  findUnique(unique: CoValueUniqueness["uniqueness"], ownerID: ID<Account> | ID<Group>, as?: Account | Group | AnonymousJazzAgent): ID<CoRecordInstanceCoValuesNullable<K, V>>;
28
+ upsertUnique<const R extends RefsToResolve<CoRecordInstanceCoValuesNullable<K, V>> = true>(options: {
29
+ value: Simplify<CoRecordInit<K, V>>;
30
+ unique: CoValueUniqueness["uniqueness"];
31
+ owner: Account | Group;
32
+ resolve?: RefsToResolveStrict<CoRecordInstanceCoValuesNullable<K, V>, R>;
33
+ }): Promise<Resolved<CoRecordInstanceCoValuesNullable<K, V>, R> | null>;
34
+ loadUnique<const R extends RefsToResolve<CoRecordInstanceCoValuesNullable<K, V>> = true>(unique: CoValueUniqueness["uniqueness"], ownerID: ID<Account> | ID<Group>, options?: {
35
+ resolve?: RefsToResolveStrict<CoRecordInstanceCoValuesNullable<K, V>, R>;
36
+ loadAs?: Account | AnonymousJazzAgent;
37
+ }): Promise<Resolved<CoRecordInstanceCoValuesNullable<K, V>, R> | null>;
27
38
  getCoValueClass: () => typeof CoMap;
28
39
  optional(): CoOptionalSchema<this>;
29
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoRecordSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoRecordSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,15 @@ export declare function createJazzTestAccount<S extends (AccountClass<Account> &
11
11
  creationProps?: Record<string, unknown>;
12
12
  }): Promise<InstanceOfSchema<S>>;
13
13
  export declare function setActiveAccount(account: Account): void;
14
+ /**
15
+ * Run a callback without an active account.
16
+ *
17
+ * Takes care of restoring the active account after the callback is run.
18
+ *
19
+ * @param callback - The callback to run.
20
+ * @returns The result of the callback.
21
+ */
22
+ export declare function runWithoutActiveAccount<Result>(callback: () => Result): Result;
14
23
  export declare function createJazzTestGuest(): Promise<{
15
24
  guest: AnonymousJazzAgent;
16
25
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EAEvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAOvB,qBAAa,YAAa,SAAQ,YAAY;WAC/B,MAAM;CAoBpB;AAED,wBAAgB,gCAAgC,0BAiC/C;AAKD,wBAAsB,qBAAqB,CACzC,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,iBAAiB,EACrB,OAAO,CAAC,EAAE;IACV,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED,wBAAsB,mBAAmB;;GASxC;AAED,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,OAAO,IACzD,2BAA2B,CAAC,GAAG,CAAC,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,qBAAa,sBAAsB,CACjC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,OAAO,EAC3C,OAAO,CAAC,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAC7C,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IAS1C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,OAAO,EACpC,OAAO,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IA0C1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,OAAO,EAClC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EACxC,KAAK,GAAE,2BAA2B,CAAC,GAAG,CAAM;IAmBxC,aAAa,CACjB,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACvC,SAAS,CAAC,EAAE,2BAA2B;;uBAuEy7K,cAAc;;;;;;;;CAzCj/K;AAED,wBAAsB,YAAY,CAChC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,KAAK,GAAE,QAAQ,GAAG,QAAmB,EACrC,KAAK,GAAE,QAAQ,GAAG,QAAmB,iBAYtC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,UAAkB,GACnB,GAAE;IACD,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,oBAgBL"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EAEvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAOvB,qBAAa,YAAa,SAAQ,YAAY;WAC/B,MAAM;CAoBpB;AAED,wBAAgB,gCAAgC,0BAiC/C;AAKD,wBAAsB,qBAAqB,CACzC,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,iBAAiB,EACrB,OAAO,CAAC,EAAE;IACV,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAC5C,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAMR;AAED,wBAAsB,mBAAmB;;GASxC;AAED,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,OAAO,IACzD,2BAA2B,CAAC,GAAG,CAAC,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,qBAAa,sBAAsB,CACjC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,OAAO,EAC3C,OAAO,CAAC,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAC7C,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IAS1C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,OAAO,EACpC,OAAO,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IA0C1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,OAAO,EAClC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EACxC,KAAK,GAAE,2BAA2B,CAAC,GAAG,CAAM;IAmBxC,aAAa,CACjB,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACvC,SAAS,CAAC,EAAE,2BAA2B;;uBAuE2/J,cAAc;;;;;;;;CAzCnjK;AAED,wBAAsB,YAAY,CAChC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,KAAK,GAAE,QAAQ,GAAG,QAAmB,EACrC,KAAK,GAAE,QAAQ,GAAG,QAAmB,iBAYtC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,UAAkB,GACnB,GAAE;IACD,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,oBAgBL"}
package/package.json CHANGED
@@ -140,7 +140,7 @@
140
140
  },
141
141
  "type": "module",
142
142
  "license": "MIT",
143
- "version": "0.17.4",
143
+ "version": "0.17.6",
144
144
  "dependencies": {
145
145
  "@manuscripts/prosemirror-recreate-steps": "^0.1.4",
146
146
  "@scure/base": "1.2.1",
@@ -156,9 +156,9 @@
156
156
  "prosemirror-state": "^1.4.3",
157
157
  "prosemirror-transform": "^1.9.0",
158
158
  "zod": "3.25.76",
159
- "cojson": "0.17.4",
160
- "cojson-storage-indexeddb": "0.17.4",
161
- "cojson-transport-ws": "0.17.4"
159
+ "cojson": "0.17.6",
160
+ "cojson-storage-indexeddb": "0.17.6",
161
+ "cojson-transport-ws": "0.17.6"
162
162
  },
163
163
  "devDependencies": {
164
164
  "@scure/bip39": "^1.3.0",
@@ -347,7 +347,6 @@ describe("loadImageBySize", async () => {
347
347
 
348
348
  it("returns the image already loaded", async () => {
349
349
  const account = await setupJazzTestSync({ asyncPeers: true });
350
- const account2 = await createJazzTestAccount();
351
350
 
352
351
  setActiveAccount(account);
353
352
 
@@ -363,9 +362,11 @@ describe("loadImageBySize", async () => {
363
362
  group,
364
363
  );
365
364
 
365
+ const account2 = await createJazzTestAccount();
366
366
  setActiveAccount(account2);
367
367
 
368
- const result = await loadImageBySize(imageDef, 1024, 1024);
368
+ const result = await loadImageBySize(imageDef.id, 1024, 1024);
369
+ expect(result).not.toBeNull();
369
370
  expect(result?.image.id).toBe(imageDef["1024x1024"]!.id);
370
371
  expect(result?.image.isBinaryStreamEnded()).toBe(true);
371
372
  expect(result?.image.asBase64()).toStrictEqual(expect.any(String));
@@ -185,7 +185,11 @@ export async function loadImageBySize(
185
185
  const bestTarget =
186
186
  sortedSizes.find((el) => el.match > 0.95) || sortedSizes.at(-1)!;
187
187
 
188
- const file = image[bestTarget.size[2]];
188
+ // The image's `wxh` keys reference FileStream.
189
+ // image[bestTarget.size[2]] returns undefined if FileStream hasn't loaded yet.
190
+ // Since we only need the file's ID to fetch it later, we check the raw _refs
191
+ // which contain only the linked covalue's ID.
192
+ const file = image._refs[bestTarget.size[2]];
189
193
 
190
194
  if (!file) {
191
195
  return null;
@@ -1,5 +1,5 @@
1
- import type { JsonValue, RawCoList } from "cojson";
2
- import { ControlledAccount, RawAccount } from "cojson";
1
+ import type { JsonValue, RawCoList, CoValueUniqueness, RawCoID } from "cojson";
2
+ import { ControlledAccount, RawAccount, cojsonInternals } from "cojson";
3
3
  import { calcPatch } from "fast-myers-diff";
4
4
  import type {
5
5
  Account,
@@ -24,6 +24,7 @@ import {
24
24
  RegisteredSchemas,
25
25
  SchemaInit,
26
26
  accessChildByKey,
27
+ activeAccountContext,
27
28
  coField,
28
29
  coValueClassFromCoValueClassOrSchema,
29
30
  coValuesCache,
@@ -236,12 +237,21 @@ export class CoList<out Item = any> extends Array<Item> implements CoValue {
236
237
  static create<L extends CoList>(
237
238
  this: CoValueClass<L>,
238
239
  items: L[number][],
239
- options?: { owner: Account | Group } | Account | Group,
240
+ options?:
241
+ | {
242
+ owner: Account | Group;
243
+ unique?: CoValueUniqueness["uniqueness"];
244
+ }
245
+ | Account
246
+ | Group,
240
247
  ) {
241
- const { owner } = parseCoValueCreateOptions(options);
248
+ const { owner, uniqueness } = parseCoValueCreateOptions(options);
242
249
  const instance = new this({ init: items, owner });
243
250
  const raw = owner._raw.createList(
244
251
  toRawItems(items, instance._schema[ItemsSym], owner),
252
+ null,
253
+ "private",
254
+ uniqueness,
245
255
  );
246
256
 
247
257
  Object.defineProperties(instance, {
@@ -546,6 +556,116 @@ export class CoList<out Item = any> extends Array<Item> implements CoValue {
546
556
  return cl.fromRaw(this._raw) as InstanceType<Cl>;
547
557
  }
548
558
 
559
+ /** @deprecated Use `CoList.upsertUnique` and `CoList.loadUnique` instead. */
560
+ static findUnique<L extends CoList>(
561
+ this: CoValueClass<L>,
562
+ unique: CoValueUniqueness["uniqueness"],
563
+ ownerID: ID<Account> | ID<Group>,
564
+ as?: Account | Group | AnonymousJazzAgent,
565
+ ) {
566
+ return CoList._findUnique(unique, ownerID, as);
567
+ }
568
+
569
+ /** @internal */
570
+ static _findUnique<L extends CoList>(
571
+ this: CoValueClass<L>,
572
+ unique: CoValueUniqueness["uniqueness"],
573
+ ownerID: ID<Account> | ID<Group>,
574
+ as?: Account | Group | AnonymousJazzAgent,
575
+ ) {
576
+ as ||= activeAccountContext.get();
577
+
578
+ const header = {
579
+ type: "colist" as const,
580
+ ruleset: {
581
+ type: "ownedByGroup" as const,
582
+ group: ownerID as RawCoID,
583
+ },
584
+ meta: null,
585
+ uniqueness: unique,
586
+ };
587
+ const crypto =
588
+ as._type === "Anonymous" ? as.node.crypto : as._raw.core.node.crypto;
589
+ return cojsonInternals.idforHeader(header, crypto) as ID<L>;
590
+ }
591
+
592
+ /**
593
+ * Given some data, updates an existing CoList or initialises a new one if none exists.
594
+ *
595
+ * Note: This method respects resolve options, and thus can return `null` if the references cannot be resolved.
596
+ *
597
+ * @example
598
+ * ```ts
599
+ * const activeItems = await ItemList.upsertUnique(
600
+ * {
601
+ * value: [item1, item2, item3],
602
+ * unique: sourceData.identifier,
603
+ * owner: workspace,
604
+ * }
605
+ * );
606
+ * ```
607
+ *
608
+ * @param options The options for creating or loading the CoList. This includes the intended state of the CoList, its unique identifier, its owner, and the references to resolve.
609
+ * @returns Either an existing & modified CoList, or a new initialised CoList if none exists.
610
+ * @category Subscription & Loading
611
+ */
612
+ static async upsertUnique<
613
+ L extends CoList,
614
+ const R extends RefsToResolve<L> = true,
615
+ >(
616
+ this: CoValueClass<L>,
617
+ options: {
618
+ value: L[number][];
619
+ unique: CoValueUniqueness["uniqueness"];
620
+ owner: Account | Group;
621
+ resolve?: RefsToResolveStrict<L, R>;
622
+ },
623
+ ): Promise<Resolved<L, R> | null> {
624
+ let listId = CoList._findUnique(options.unique, options.owner.id);
625
+ let list: Resolved<L, R> | null = await loadCoValueWithoutMe(this, listId, {
626
+ ...options,
627
+ loadAs: options.owner._loadedAs,
628
+ skipRetry: true,
629
+ });
630
+ if (!list) {
631
+ list = (this as any).create(options.value, {
632
+ owner: options.owner,
633
+ unique: options.unique,
634
+ }) as Resolved<L, R>;
635
+ } else {
636
+ (list as L).applyDiff(options.value);
637
+ }
638
+
639
+ return await loadCoValueWithoutMe(this, listId, {
640
+ ...options,
641
+ loadAs: options.owner._loadedAs,
642
+ skipRetry: true,
643
+ });
644
+ }
645
+
646
+ /**
647
+ * Loads a CoList by its unique identifier and owner's ID.
648
+ * @param unique The unique identifier of the CoList to load.
649
+ * @param ownerID The ID of the owner of the CoList.
650
+ * @param options Additional options for loading the CoList.
651
+ * @returns The loaded CoList, or null if unavailable.
652
+ */
653
+ static loadUnique<L extends CoList, const R extends RefsToResolve<L> = true>(
654
+ this: CoValueClass<L>,
655
+ unique: CoValueUniqueness["uniqueness"],
656
+ ownerID: ID<Account> | ID<Group>,
657
+ options?: {
658
+ resolve?: RefsToResolveStrict<L, R>;
659
+ loadAs?: Account | AnonymousJazzAgent;
660
+ },
661
+ ): Promise<Resolved<L, R> | null> {
662
+ return loadCoValueWithoutMe(
663
+ this,
664
+ CoList._findUnique(unique, ownerID, options?.loadAs),
665
+ { ...options, skipRetry: true },
666
+ );
667
+ }
668
+
549
669
  /**
550
670
  * Wait for the `CoList` to be uploaded to the other peers.
551
671
  *
@@ -171,7 +171,9 @@ export function instantiateRefEncodedWithInit<V extends CoValue>(
171
171
  `Cannot automatically create CoValue from value: ${JSON.stringify(init)}. Use the CoValue schema's create() method instead.`,
172
172
  );
173
173
  }
174
- const owner = Group.create();
174
+ const node = parentOwner._raw.core.node;
175
+ const rawGroup = node.createGroup();
176
+ const owner = new Group({ fromRaw: rawGroup });
175
177
  owner.addMember(parentOwner.castAs(Group));
176
178
  // @ts-expect-error - create is a static method in all CoValue classes
177
179
  return schema.ref.create(init, owner);
@@ -2,12 +2,14 @@ import {
2
2
  Account,
3
3
  CoList,
4
4
  Group,
5
+ ID,
5
6
  RefsToResolve,
6
7
  RefsToResolveStrict,
7
8
  Resolved,
8
9
  SubscribeListenerOptions,
9
10
  coOptionalDefiner,
10
11
  } from "../../../internal.js";
12
+ import { CoValueUniqueness } from "cojson";
11
13
  import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
12
14
  import { CoListInit } from "../typeConverters/CoFieldInit.js";
13
15
  import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
@@ -29,7 +31,13 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
29
31
 
30
32
  create(
31
33
  items: CoListInit<T>,
32
- options?: { owner: Account | Group } | Account | Group,
34
+ options?:
35
+ | {
36
+ owner: Account | Group;
37
+ unique?: CoValueUniqueness["uniqueness"];
38
+ }
39
+ | Account
40
+ | Group,
33
41
  ): CoListInstance<T> {
34
42
  return this.coValueClass.create(items as any, options) as CoListInstance<T>;
35
43
  }
@@ -62,6 +70,41 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
62
70
  return this.coValueClass;
63
71
  }
64
72
 
73
+ /** @deprecated Use `CoList.upsertUnique` and `CoList.loadUnique` instead. */
74
+ findUnique(
75
+ unique: CoValueUniqueness["uniqueness"],
76
+ ownerID: ID<Account> | ID<Group>,
77
+ as?: Account | Group | AnonymousJazzAgent,
78
+ ): ID<CoListInstanceCoValuesNullable<T>> {
79
+ return this.coValueClass.findUnique(unique, ownerID, as);
80
+ }
81
+
82
+ upsertUnique<
83
+ const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
84
+ >(options: {
85
+ value: CoListInit<T>;
86
+ unique: CoValueUniqueness["uniqueness"];
87
+ owner: Account | Group;
88
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
89
+ }): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
90
+ // @ts-expect-error
91
+ return this.coValueClass.upsertUnique(options);
92
+ }
93
+
94
+ loadUnique<
95
+ const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
96
+ >(
97
+ unique: CoValueUniqueness["uniqueness"],
98
+ ownerID: ID<Account> | ID<Group>,
99
+ options?: {
100
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
101
+ loadAs?: Account | AnonymousJazzAgent;
102
+ },
103
+ ): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
104
+ // @ts-expect-error
105
+ return this.coValueClass.loadUnique(unique, ownerID, options);
106
+ }
107
+
65
108
  optional(): CoOptionalSchema<this> {
66
109
  return coOptionalDefiner(this);
67
110
  }
@@ -72,12 +72,37 @@ export interface CoRecordSchema<
72
72
  ) => void,
73
73
  ): () => void;
74
74
 
75
+ /** @deprecated Use `CoMap.upsertUnique` and `CoMap.loadUnique` instead. */
75
76
  findUnique(
76
77
  unique: CoValueUniqueness["uniqueness"],
77
78
  ownerID: ID<Account> | ID<Group>,
78
79
  as?: Account | Group | AnonymousJazzAgent,
79
80
  ): ID<CoRecordInstanceCoValuesNullable<K, V>>;
80
81
 
82
+ upsertUnique<
83
+ const R extends RefsToResolve<
84
+ CoRecordInstanceCoValuesNullable<K, V>
85
+ > = true,
86
+ >(options: {
87
+ value: Simplify<CoRecordInit<K, V>>;
88
+ unique: CoValueUniqueness["uniqueness"];
89
+ owner: Account | Group;
90
+ resolve?: RefsToResolveStrict<CoRecordInstanceCoValuesNullable<K, V>, R>;
91
+ }): Promise<Resolved<CoRecordInstanceCoValuesNullable<K, V>, R> | null>;
92
+
93
+ loadUnique<
94
+ const R extends RefsToResolve<
95
+ CoRecordInstanceCoValuesNullable<K, V>
96
+ > = true,
97
+ >(
98
+ unique: CoValueUniqueness["uniqueness"],
99
+ ownerID: ID<Account> | ID<Group>,
100
+ options?: {
101
+ resolve?: RefsToResolveStrict<CoRecordInstanceCoValuesNullable<K, V>, R>;
102
+ loadAs?: Account | AnonymousJazzAgent;
103
+ },
104
+ ): Promise<Resolved<CoRecordInstanceCoValuesNullable<K, V>, R> | null>;
105
+
81
106
  getCoValueClass: () => typeof CoMap;
82
107
 
83
108
  optional(): CoOptionalSchema<this>;
@@ -154,6 +154,24 @@ export function setActiveAccount(account: Account) {
154
154
  activeAccountContext.set(account);
155
155
  }
156
156
 
157
+ /**
158
+ * Run a callback without an active account.
159
+ *
160
+ * Takes care of restoring the active account after the callback is run.
161
+ *
162
+ * @param callback - The callback to run.
163
+ * @returns The result of the callback.
164
+ */
165
+ export function runWithoutActiveAccount<Result>(
166
+ callback: () => Result,
167
+ ): Result {
168
+ const me = Account.getMe();
169
+ activeAccountContext.set(null);
170
+ const result = callback();
171
+ activeAccountContext.set(me);
172
+ return result;
173
+ }
174
+
157
175
  export async function createJazzTestGuest() {
158
176
  const ctx = await createAnonymousJazzContext({
159
177
  crypto: await PureJSCrypto.create(),