jazz-tools 0.15.16 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts +2 -2
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/jazz.class.svelte.js +5 -5
- package/.svelte-kit/__package__/jazz.svelte.d.ts +2 -2
- package/.svelte-kit/__package__/jazz.svelte.d.ts.map +1 -1
- package/.turbo/turbo-build.log +46 -46
- package/CHANGELOG.md +25 -0
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser-media-images/index.d.ts +3 -1
- package/dist/browser-media-images/index.d.ts.map +1 -1
- package/dist/browser-media-images/index.js.map +1 -1
- package/dist/{chunk-OSVAAVWQ.js → chunk-MLCNE3TL.js} +594 -598
- package/dist/chunk-MLCNE3TL.js.map +1 -0
- package/dist/index.js +8 -10
- package/dist/index.js.map +1 -1
- package/dist/react/hooks.d.ts +2 -2
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-core/hooks.d.ts +2 -2
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +3 -3
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-native-core/hooks.d.ts +2 -2
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/svelte/jazz.class.svelte.d.ts +2 -2
- package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.js +5 -5
- package/dist/svelte/jazz.svelte.d.ts +2 -2
- package/dist/svelte/jazz.svelte.d.ts.map +1 -1
- package/dist/testing.js +3 -3
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +3 -13
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/account.d.ts +2 -2
- package/dist/tools/coValues/account.d.ts.map +1 -1
- package/dist/tools/coValues/coFeed.d.ts.map +1 -1
- package/dist/tools/coValues/coList.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +5 -18
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/deepLoading.d.ts +4 -1
- package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts +4 -7
- package/dist/tools/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts +2 -2
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/coValues/interfaces.d.ts +2 -17
- package/dist/tools/coValues/interfaces.d.ts.map +1 -1
- package/dist/tools/coValues/request.d.ts +2 -2
- package/dist/tools/coValues/request.d.ts.map +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +5 -1
- package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
- package/dist/tools/exports.d.ts +3 -3
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/implementation/createContext.d.ts +4 -4
- package/dist/tools/implementation/createContext.d.ts.map +1 -1
- package/dist/tools/implementation/invites.d.ts +2 -2
- package/dist/tools/implementation/invites.d.ts.map +1 -1
- package/dist/tools/implementation/schemaUtils.d.ts +8 -0
- package/dist/tools/implementation/schemaUtils.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/coExport.d.ts +11 -1
- package/dist/tools/implementation/zodSchema/coExport.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts +22 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.d.ts +10 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +11 -11
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +34 -24
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +16 -14
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +23 -17
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +24 -16
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts +20 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +18 -12
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts +18 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +15 -13
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +12 -15
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +17 -20
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +17 -20
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts +3 -5
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodCo.d.ts +10 -8
- package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodReExport.d.ts +4 -8
- package/dist/tools/implementation/zodSchema/zodReExport.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts +21 -30
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/dist/tools/internal.d.ts +3 -2
- package/dist/tools/internal.d.ts.map +1 -1
- package/dist/tools/lib/utilityTypes.d.ts +10 -0
- package/dist/tools/lib/utilityTypes.d.ts.map +1 -0
- package/dist/tools/subscribe/utils.d.ts.map +1 -1
- package/dist/tools/testing.d.ts +2 -2
- package/dist/tools/testing.d.ts.map +1 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +2 -2
- package/dist/worker/index.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/index.ts +2 -4
- package/src/browser-media-images/index.ts +1 -1
- package/src/react/hooks.tsx +2 -2
- package/src/react-core/hooks.ts +6 -6
- package/src/react-core/tests/useAccount.test.ts +2 -2
- package/src/react-core/tests/useCoState.test.ts +3 -2
- package/src/react-native-core/hooks.tsx +2 -2
- package/src/svelte/jazz.class.svelte.ts +10 -7
- package/src/svelte/jazz.svelte.ts +2 -2
- package/src/tools/coValues/CoValueBase.ts +8 -20
- package/src/tools/coValues/account.ts +18 -14
- package/src/tools/coValues/coFeed.ts +0 -4
- package/src/tools/coValues/coList.ts +7 -9
- package/src/tools/coValues/coMap.ts +1 -6
- package/src/tools/coValues/coPlainText.ts +4 -4
- package/src/tools/coValues/deepLoading.ts +4 -1
- package/src/tools/coValues/extensions/imageDef.ts +3 -3
- package/src/tools/coValues/inbox.ts +4 -4
- package/src/tools/coValues/interfaces.ts +4 -71
- package/src/tools/coValues/request.ts +15 -13
- package/src/tools/coValues/schemaUnion.ts +8 -4
- package/src/tools/exports.ts +3 -14
- package/src/tools/implementation/createContext.ts +9 -9
- package/src/tools/implementation/invites.ts +2 -2
- package/src/tools/implementation/schemaUtils.ts +18 -0
- package/src/tools/implementation/zodSchema/coExport.ts +14 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.ts +156 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.ts +133 -0
- package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +36 -17
- package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +101 -52
- package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +54 -50
- package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +54 -46
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +187 -137
- package/src/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.ts +29 -27
- package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +28 -18
- package/src/tools/implementation/zodSchema/schemaTypes/CoValueSchema.ts +18 -0
- package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +45 -36
- package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +47 -35
- package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +43 -30
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +28 -23
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.ts +28 -25
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +86 -78
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts +91 -82
- package/src/tools/implementation/zodSchema/unionUtils.ts +47 -51
- package/src/tools/implementation/zodSchema/zodCo.ts +42 -75
- package/src/tools/implementation/zodSchema/zodReExport.ts +44 -24
- package/src/tools/implementation/zodSchema/zodSchema.ts +64 -102
- package/src/tools/internal.ts +3 -2
- package/src/tools/lib/utilityTypes.ts +7 -0
- package/src/tools/subscribe/utils.ts +4 -2
- package/src/tools/testing.ts +4 -4
- package/src/tools/tests/ContextManager.test.ts +8 -9
- package/src/tools/tests/account.test.ts +65 -3
- package/src/tools/tests/coDiscriminatedUnion.test-d.ts +38 -0
- package/src/tools/tests/coDiscriminatedUnion.test.ts +219 -1
- package/src/tools/tests/coFeed.test-d.ts +4 -3
- package/src/tools/tests/coList.test-d.ts +32 -3
- package/src/tools/tests/coList.test.ts +20 -2
- package/src/tools/tests/coMap.record.test-d.ts +31 -3
- package/src/tools/tests/coMap.record.test.ts +9 -9
- package/src/tools/tests/coMap.test-d.ts +8 -8
- package/src/tools/tests/coMap.test.ts +19 -5
- package/src/tools/tests/coOptional.test.ts +63 -1
- package/src/tools/tests/createContext.test.ts +7 -9
- package/src/tools/tests/deepLoading.test.ts +4 -10
- package/src/tools/tests/exportImport.test.ts +2 -2
- package/src/tools/tests/groupsAndAccounts.test.ts +5 -4
- package/src/tools/tests/inbox.test.ts +3 -2
- package/src/tools/tests/load.test.ts +3 -29
- package/src/tools/tests/schemaUnion.test.ts +2 -2
- package/src/tools/tests/subscribe.test.ts +22 -114
- package/src/tools/tests/testing.test.ts +6 -6
- package/src/tools/tests/zod.test-d.ts +27 -0
- package/src/tools/tests/zod.test.ts +50 -45
- package/src/worker/index.ts +0 -1
- package/dist/chunk-OSVAAVWQ.js.map +0 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts +0 -12
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts +0 -9
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts.map +0 -1
- package/src/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts +0 -172
- package/src/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.ts +0 -218
@@ -1,5 +1,5 @@
|
|
1
1
|
import { beforeEach, describe, expect, test } from "vitest";
|
2
|
-
import { Account, CoMap, Group, co, z
|
2
|
+
import { Account, CoMap, Group, co, z } from "../exports";
|
3
3
|
import { createJazzTestAccount, setupJazzTestSync } from "../testing";
|
4
4
|
|
5
5
|
describe("Jazz Test Sync", () => {
|
@@ -43,7 +43,7 @@ describe("Jazz Test Sync", () => {
|
|
43
43
|
});
|
44
44
|
|
45
45
|
const account1 = await createJazzTestAccount({
|
46
|
-
AccountSchema:
|
46
|
+
AccountSchema: CustomAccount,
|
47
47
|
isCurrentActiveAccount: true,
|
48
48
|
});
|
49
49
|
|
@@ -69,12 +69,12 @@ describe("Jazz Test Sync", () => {
|
|
69
69
|
});
|
70
70
|
|
71
71
|
const account1 = await createJazzTestAccount({
|
72
|
-
AccountSchema:
|
72
|
+
AccountSchema: CustomAccount,
|
73
73
|
isCurrentActiveAccount: true,
|
74
74
|
});
|
75
75
|
|
76
76
|
const account2 = await createJazzTestAccount({
|
77
|
-
AccountSchema:
|
77
|
+
AccountSchema: CustomAccount,
|
78
78
|
isCurrentActiveAccount: false,
|
79
79
|
});
|
80
80
|
|
@@ -91,11 +91,11 @@ describe("Jazz Test Sync", () => {
|
|
91
91
|
|
92
92
|
const promise = Promise.all([
|
93
93
|
createJazzTestAccount({
|
94
|
-
AccountSchema:
|
94
|
+
AccountSchema: CustomAccount,
|
95
95
|
isCurrentActiveAccount: true,
|
96
96
|
}),
|
97
97
|
createJazzTestAccount({
|
98
|
-
AccountSchema:
|
98
|
+
AccountSchema: CustomAccount,
|
99
99
|
isCurrentActiveAccount: true,
|
100
100
|
}),
|
101
101
|
]);
|
@@ -15,6 +15,33 @@ describe("CoValue and Zod schema compatibility", () => {
|
|
15
15
|
});
|
16
16
|
});
|
17
17
|
|
18
|
+
test("cannot use z.optional with CoValue schemas", () => {
|
19
|
+
const Dog = co.map({
|
20
|
+
name: z.string(),
|
21
|
+
breed: z.string(),
|
22
|
+
});
|
23
|
+
|
24
|
+
const Person = co.map({
|
25
|
+
// @ts-expect-error: cannot use z.optional with a CoValue schema
|
26
|
+
pet: z.optional(Dog),
|
27
|
+
});
|
28
|
+
});
|
29
|
+
|
30
|
+
test("cannot use z.discriminatedUnion with CoValue schemas as values", () => {
|
31
|
+
const Dog = co.map({
|
32
|
+
type: z.literal("dog"),
|
33
|
+
});
|
34
|
+
|
35
|
+
const Cat = co.map({
|
36
|
+
type: z.literal("cat"),
|
37
|
+
});
|
38
|
+
|
39
|
+
const Person = co.map({
|
40
|
+
// @ts-expect-error: cannot use z.discriminatedUnion with a CoValue schema
|
41
|
+
pets: z.discriminatedUnion("type", [Dog, Cat]),
|
42
|
+
});
|
43
|
+
});
|
44
|
+
|
18
45
|
test("cannot use z.union with CoValue schemas as values", () => {
|
19
46
|
const Dog = co.map({
|
20
47
|
type: z.literal("dog"),
|
@@ -368,51 +368,6 @@ describe("co.map and Zod schema compatibility", () => {
|
|
368
368
|
// expect(failedMap.result).toEqual({ status: "failed", error: "error" });
|
369
369
|
// });
|
370
370
|
|
371
|
-
it("should handle discriminated unions of CoValues", () => {
|
372
|
-
const Dog = co.map({
|
373
|
-
type: z.literal("dog"),
|
374
|
-
breed: z.string(),
|
375
|
-
});
|
376
|
-
|
377
|
-
const Cat = co.map({
|
378
|
-
type: z.literal("cat"),
|
379
|
-
name: z.string(),
|
380
|
-
});
|
381
|
-
|
382
|
-
const Person = co.map({
|
383
|
-
pet: z.discriminatedUnion("type", [Dog, Cat]),
|
384
|
-
});
|
385
|
-
|
386
|
-
const person = Person.create({
|
387
|
-
pet: Dog.create({ type: "dog", breed: "Labrador" }),
|
388
|
-
});
|
389
|
-
|
390
|
-
expect(person.pet).toEqual({ type: "dog", breed: "Labrador" });
|
391
|
-
|
392
|
-
person.pet = Cat.create({ type: "cat", name: "Whiskers" });
|
393
|
-
|
394
|
-
expect(person.pet).toEqual({ type: "cat", name: "Whiskers" });
|
395
|
-
});
|
396
|
-
|
397
|
-
it("should handle optional CoValues", () => {
|
398
|
-
const Dog = co.map({
|
399
|
-
name: z.string(),
|
400
|
-
breed: z.string(),
|
401
|
-
});
|
402
|
-
|
403
|
-
const Person = co.map({
|
404
|
-
pet: z.optional(Dog),
|
405
|
-
});
|
406
|
-
|
407
|
-
const person = Person.create({});
|
408
|
-
|
409
|
-
expect(person.pet).toBeUndefined();
|
410
|
-
|
411
|
-
person.pet = Dog.create({ name: "Rex", breed: "Labrador" });
|
412
|
-
|
413
|
-
expect(person.pet).toEqual({ name: "Rex", breed: "Labrador" });
|
414
|
-
});
|
415
|
-
|
416
371
|
// it("should handle intersections", async () => {
|
417
372
|
// const schema = co.map({
|
418
373
|
// value: z.intersection(
|
@@ -503,3 +458,53 @@ describe("co.map and Zod schema compatibility", () => {
|
|
503
458
|
});
|
504
459
|
});
|
505
460
|
});
|
461
|
+
|
462
|
+
describe("z.object() and CoValue schema compatibility", () => {
|
463
|
+
it("z.object() should throw an error when used with CoValue schema values", () => {
|
464
|
+
const coValueSchema = co.map({});
|
465
|
+
expect(() => z.object({ value: coValueSchema })).toThrow(
|
466
|
+
"z.object() does not support collaborative types as values. Use co.map() instead",
|
467
|
+
);
|
468
|
+
});
|
469
|
+
|
470
|
+
it("z.strictObject() should throw an error when used with CoValue schema values", () => {
|
471
|
+
const coValueSchema = co.map({});
|
472
|
+
expect(() => z.strictObject({ value: coValueSchema })).toThrow(
|
473
|
+
"z.strictObject() does not support collaborative types as values. Use co.map() instead",
|
474
|
+
);
|
475
|
+
});
|
476
|
+
|
477
|
+
it("z.object() should continue to work with cyclic references", () => {
|
478
|
+
const NoteItem = z.object({
|
479
|
+
type: z.literal("note"),
|
480
|
+
content: z.string(),
|
481
|
+
});
|
482
|
+
|
483
|
+
const ReferenceItem = z.object({
|
484
|
+
type: z.literal("reference"),
|
485
|
+
content: z.string(),
|
486
|
+
|
487
|
+
get child(): z.ZodDiscriminatedUnion<
|
488
|
+
[typeof NoteItem, typeof ReferenceItem]
|
489
|
+
> {
|
490
|
+
return ProjectContextItem;
|
491
|
+
},
|
492
|
+
});
|
493
|
+
|
494
|
+
const ProjectContextItem = z.discriminatedUnion("type", [
|
495
|
+
NoteItem,
|
496
|
+
ReferenceItem,
|
497
|
+
]);
|
498
|
+
|
499
|
+
const referenceItem = ReferenceItem.parse({
|
500
|
+
type: "reference",
|
501
|
+
content: "Hello",
|
502
|
+
child: {
|
503
|
+
type: "note",
|
504
|
+
content: "Hello",
|
505
|
+
},
|
506
|
+
});
|
507
|
+
|
508
|
+
expect(referenceItem.child.type).toEqual("note");
|
509
|
+
});
|
510
|
+
});
|