jazz-tools 0.18.38 → 0.19.1
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 +8 -8
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/jazz.class.svelte.js +39 -14
- package/.svelte-kit/__package__/media/image.svelte +6 -5
- package/.svelte-kit/__package__/media/image.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts +2 -0
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.js +19 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts +2 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.js +16 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts +2 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.js +42 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte +23 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts +12 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
- package/.turbo/turbo-build.log +62 -62
- package/CHANGELOG.md +32 -0
- package/dist/better-auth/database-adapter/index.js +14 -11
- package/dist/better-auth/database-adapter/index.js.map +1 -1
- package/dist/better-auth/database-adapter/repository/generic.d.ts +1 -1
- package/dist/better-auth/database-adapter/repository/generic.d.ts.map +1 -1
- package/dist/better-auth/database-adapter/repository/user.d.ts.map +1 -1
- package/dist/{chunk-OSQ7S47Q.js → chunk-NCNM6UDZ.js} +563 -252
- package/dist/chunk-NCNM6UDZ.js.map +1 -0
- package/dist/index.js +14 -6
- package/dist/index.js.map +1 -1
- package/dist/media/{chunk-K6GCHLQU.js → chunk-3LKBM3G3.js} +23 -15
- package/dist/media/chunk-3LKBM3G3.js.map +1 -0
- package/dist/media/create-image/browser.d.ts +2 -2
- package/dist/media/create-image/react-native.d.ts +2 -2
- package/dist/media/create-image/server.d.ts +2 -2
- package/dist/media/create-image-factory.d.ts +2 -2
- package/dist/media/index.browser.js +1 -1
- package/dist/media/index.js +1 -1
- package/dist/media/index.native.js +1 -1
- package/dist/media/index.server.js +1 -1
- package/dist/media/utils.d.ts.map +1 -1
- package/dist/react/hooks.d.ts +1 -1
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +31 -15
- package/dist/react/index.js.map +1 -1
- package/dist/react/media/image.d.ts.map +1 -1
- package/dist/react-core/hooks.d.ts +126 -224
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +65 -63
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-core/subscription-provider.d.ts.map +1 -1
- package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts +2 -0
- package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts.map +1 -0
- package/dist/react-core/tests/useAccount.selector.test.d.ts +2 -0
- package/dist/react-core/tests/useAccount.selector.test.d.ts.map +1 -0
- package/dist/react-core/tests/useCoState.selector.test.d.ts +2 -0
- package/dist/react-core/tests/useCoState.selector.test.d.ts.map +1 -0
- package/dist/react-native-core/hooks.d.ts +1 -1
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js +7 -5
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/react-native-core/media/image.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.d.ts +8 -8
- package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.js +39 -14
- package/dist/svelte/media/image.svelte +6 -5
- package/dist/svelte/media/image.svelte.d.ts.map +1 -1
- package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts +2 -0
- package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
- package/dist/svelte/tests/AccountCoState.svelte.test-d.js +19 -0
- package/dist/svelte/tests/CoState.svelte.test-d.d.ts +2 -0
- package/dist/svelte/tests/CoState.svelte.test-d.d.ts.map +1 -0
- package/dist/svelte/tests/CoState.svelte.test-d.js +16 -0
- package/dist/svelte/tests/CoState.svelte.test.d.ts +2 -0
- package/dist/svelte/tests/CoState.svelte.test.d.ts.map +1 -0
- package/dist/svelte/tests/CoState.svelte.test.js +42 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte +23 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts +12 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
- package/dist/testing.js +3 -1
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +4 -1
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/account.d.ts +6 -6
- package/dist/tools/coValues/account.d.ts.map +1 -1
- package/dist/tools/coValues/coFeed.d.ts +5 -5
- package/dist/tools/coValues/coFeed.d.ts.map +1 -1
- package/dist/tools/coValues/coList.d.ts +9 -8
- package/dist/tools/coValues/coList.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +17 -17
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/coPlainText.d.ts +3 -3
- package/dist/tools/coValues/coPlainText.d.ts.map +1 -1
- package/dist/tools/coValues/coVector.d.ts +3 -3
- package/dist/tools/coValues/coVector.d.ts.map +1 -1
- package/dist/tools/coValues/deepLoading.d.ts +71 -40
- package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/tools/coValues/group.d.ts +2 -2
- package/dist/tools/coValues/group.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/coValues/interfaces.d.ts +17 -9
- package/dist/tools/coValues/interfaces.d.ts.map +1 -1
- package/dist/tools/coValues/request.d.ts.map +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +6 -9
- 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/refs.d.ts +3 -3
- package/dist/tools/implementation/refs.d.ts.map +1 -1
- package/dist/tools/implementation/schema.d.ts +2 -2
- package/dist/tools/implementation/schema.d.ts.map +1 -1
- package/dist/tools/implementation/schemaUtils.d.ts +8 -0
- package/dist/tools/implementation/schemaUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +33 -18
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +19 -7
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +23 -12
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +29 -18
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +39 -22
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +30 -19
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts +5 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts +6 -5
- package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +3 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts +22 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +4 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts +9 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts +7 -6
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/dist/tools/internal.d.ts +3 -3
- package/dist/tools/internal.d.ts.map +1 -1
- package/dist/tools/lib/utils.d.ts +14 -0
- package/dist/tools/lib/utils.d.ts.map +1 -0
- package/dist/tools/lib/utils.test.d.ts +2 -0
- package/dist/tools/lib/utils.test.d.ts.map +1 -0
- package/dist/tools/subscribe/CoValueCoreSubscription.d.ts +3 -2
- package/dist/tools/subscribe/CoValueCoreSubscription.d.ts.map +1 -1
- package/dist/tools/subscribe/JazzError.d.ts +4 -3
- package/dist/tools/subscribe/JazzError.d.ts.map +1 -1
- package/dist/tools/subscribe/SubscriptionScope.d.ts +7 -5
- package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
- package/dist/tools/subscribe/index.d.ts.map +1 -1
- package/dist/tools/subscribe/types.d.ts +23 -3
- package/dist/tools/subscribe/types.d.ts.map +1 -1
- package/dist/tools/subscribe/utils.d.ts.map +1 -1
- package/dist/tools/testing.d.ts +3 -2
- package/dist/tools/testing.d.ts.map +1 -1
- package/dist/tools/tests/schema.resolved.test.d.ts +2 -0
- package/dist/tools/tests/schema.resolved.test.d.ts.map +1 -0
- package/dist/tools/tests/utils.d.ts +2 -1
- package/dist/tools/tests/utils.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/better-auth/database-adapter/index.ts +2 -2
- package/src/better-auth/database-adapter/repository/account.ts +3 -3
- package/src/better-auth/database-adapter/repository/generic.ts +9 -6
- package/src/better-auth/database-adapter/repository/user.ts +6 -2
- package/src/better-auth/database-adapter/schema.ts +1 -1
- package/src/better-auth/database-adapter/tests/index.test.ts +3 -4
- package/src/inspector/tests/viewer/history-view.test.tsx +6 -2
- package/src/media/utils.test.ts +5 -0
- package/src/media/utils.ts +25 -16
- package/src/react/hooks.tsx +2 -2
- package/src/react/index.ts +2 -2
- package/src/react/media/image.tsx +10 -2
- package/src/react/tests/useAcceptInvite.test.ts +3 -1
- package/src/react-core/hooks.ts +226 -304
- package/src/react-core/subscription-provider.tsx +14 -7
- package/src/react-core/tests/createCoValueSubscriptionContext.test.tsx +233 -0
- package/src/react-core/tests/subscription.bench.tsx +32 -15
- package/src/react-core/tests/{useAccountWithSelector.test.ts → useAccount.selector.test.ts} +72 -24
- package/src/react-core/tests/useAccount.test.ts +92 -106
- package/src/react-core/tests/{useCoStateWithSelector.test.ts → useCoState.selector.test.ts} +23 -8
- package/src/react-core/tests/useCoState.test.ts +173 -49
- package/src/react-core/tests/useInboxSender.test.ts +3 -1
- package/src/react-core/tests/usePassPhraseAuth.test.ts +11 -82
- package/src/react-core/tests/useSubscriptionSelector.test.ts +48 -14
- package/src/react-native-core/hooks.tsx +2 -2
- package/src/react-native-core/media/image.tsx +3 -1
- package/src/svelte/jazz.class.svelte.ts +103 -27
- package/src/svelte/media/image.svelte +6 -5
- package/src/svelte/tests/AccountCoState.svelte.test-d.ts +23 -0
- package/src/svelte/tests/CoState.svelte.test-d.ts +20 -0
- package/src/svelte/tests/CoState.svelte.test.ts +57 -0
- package/src/svelte/tests/TestCoStateWrapper.svelte +23 -0
- package/src/tools/coValues/CoValueBase.ts +12 -0
- package/src/tools/coValues/account.ts +17 -12
- package/src/tools/coValues/coFeed.ts +38 -15
- package/src/tools/coValues/coList.ts +17 -12
- package/src/tools/coValues/coMap.ts +15 -14
- package/src/tools/coValues/coPlainText.ts +6 -3
- package/src/tools/coValues/coVector.ts +6 -5
- package/src/tools/coValues/deepLoading.ts +147 -86
- package/src/tools/coValues/group.ts +3 -2
- package/src/tools/coValues/inbox.ts +11 -10
- package/src/tools/coValues/interfaces.ts +52 -30
- package/src/tools/coValues/request.ts +8 -6
- package/src/tools/coValues/schemaUnion.ts +20 -14
- package/src/tools/exports.ts +11 -1
- package/src/tools/implementation/refs.ts +19 -13
- package/src/tools/implementation/schema.ts +5 -4
- package/src/tools/implementation/schemaUtils.ts +15 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.ts +4 -4
- package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +131 -95
- package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +86 -16
- package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +73 -22
- package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +86 -28
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +204 -148
- package/src/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.ts +1 -0
- package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +71 -27
- package/src/tools/implementation/zodSchema/schemaTypes/CoValueSchema.ts +7 -0
- package/src/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.ts +8 -6
- package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/GroupSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +3 -0
- package/src/tools/implementation/zodSchema/typeConverters/{InstanceOfSchemaCoValuesNullable.ts → InstanceOfSchemaCoValuesMaybeLoaded.ts} +47 -39
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +4 -0
- package/src/tools/implementation/zodSchema/typeConverters/{InstanceOrPrimitiveOfSchemaCoValuesNullable.ts → InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.ts} +7 -3
- package/src/tools/implementation/zodSchema/unionUtils.ts +35 -4
- package/src/tools/implementation/zodSchema/zodSchema.ts +15 -7
- package/src/tools/internal.ts +3 -3
- package/src/tools/lib/utils.test.ts +56 -0
- package/src/tools/lib/utils.ts +32 -0
- package/src/tools/subscribe/CoValueCoreSubscription.ts +13 -8
- package/src/tools/subscribe/JazzError.ts +8 -2
- package/src/tools/subscribe/SubscriptionScope.ts +57 -57
- package/src/tools/subscribe/index.ts +12 -4
- package/src/tools/subscribe/types.ts +36 -2
- package/src/tools/subscribe/utils.ts +2 -1
- package/src/tools/testing.ts +5 -0
- package/src/tools/tests/CoValueCoreSubscription.test.ts +10 -4
- package/src/tools/tests/ContextManager.test.ts +12 -5
- package/src/tools/tests/account.test.ts +22 -12
- package/src/tools/tests/coDiscriminatedUnion.test.ts +354 -8
- package/src/tools/tests/coFeed.branch.test.ts +48 -32
- package/src/tools/tests/coFeed.test-d.ts +17 -10
- package/src/tools/tests/coFeed.test.ts +52 -30
- package/src/tools/tests/coList.branch.test.ts +21 -21
- package/src/tools/tests/coList.test-d.ts +39 -23
- package/src/tools/tests/coList.test.ts +51 -25
- package/src/tools/tests/coList.unique.test.ts +34 -29
- package/src/tools/tests/coMap.branch.test.ts +20 -21
- package/src/tools/tests/coMap.record.test-d.ts +28 -26
- package/src/tools/tests/coMap.record.test.ts +30 -20
- package/src/tools/tests/coMap.test-d.ts +31 -29
- package/src/tools/tests/coMap.test.ts +67 -40
- package/src/tools/tests/coMap.unique.test.ts +25 -24
- package/src/tools/tests/coVector.test.ts +29 -15
- package/src/tools/tests/createContext.test.ts +5 -3
- package/src/tools/tests/deepLoading.test.ts +369 -176
- package/src/tools/tests/exportImport.test.ts +16 -15
- package/src/tools/tests/groupsAndAccounts.test.ts +39 -16
- package/src/tools/tests/inbox.test.ts +3 -1
- package/src/tools/tests/load.test.ts +29 -23
- package/src/tools/tests/patterns/quest.test.ts +3 -2
- package/src/tools/tests/patterns/requestToJoin.test.ts +17 -17
- package/src/tools/tests/request.test.ts +12 -2
- package/src/tools/tests/schema.resolved.test.ts +792 -0
- package/src/tools/tests/schemaUnion.test.ts +7 -3
- package/src/tools/tests/subscribe.test.ts +39 -21
- package/src/tools/tests/testing.test.ts +3 -2
- package/src/tools/tests/utils.ts +15 -2
- package/dist/chunk-OSQ7S47Q.js.map +0 -1
- package/dist/media/chunk-K6GCHLQU.js.map +0 -1
- package/dist/react-core/tests/useAccountWithSelector.test.d.ts +0 -2
- package/dist/react-core/tests/useAccountWithSelector.test.d.ts.map +0 -1
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts +0 -2
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts.map +0 -1
- package/dist/tools/implementation/errors.d.ts +0 -2
- package/dist/tools/implementation/errors.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +0 -19
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +0 -5
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +0 -1
- package/dist/tools/lib/id.d.ts +0 -2
- package/dist/tools/lib/id.d.ts.map +0 -1
- package/src/tools/implementation/errors.ts +0 -1
- package/src/tools/lib/id.ts +0 -3
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
z,
|
|
11
11
|
} from "../exports.js";
|
|
12
12
|
import { createJazzTestAccount } from "../testing.js";
|
|
13
|
+
import { assertLoaded } from "./utils.js";
|
|
13
14
|
|
|
14
15
|
const RedButtonWidget = co.map({
|
|
15
16
|
type: z.literal("button"),
|
|
@@ -87,9 +88,12 @@ describe("SchemaUnion", () => {
|
|
|
87
88
|
},
|
|
88
89
|
);
|
|
89
90
|
|
|
90
|
-
|
|
91
|
-
expect(
|
|
92
|
-
|
|
91
|
+
assertLoaded(loadedButtonWidget);
|
|
92
|
+
expect(loadedButtonWidget.type).toBe("button");
|
|
93
|
+
assertLoaded(loadedSliderWidget);
|
|
94
|
+
expect(loadedSliderWidget.type).toBe("slider");
|
|
95
|
+
assertLoaded(loadedCheckboxWidget);
|
|
96
|
+
expect(loadedCheckboxWidget.type).toBe("checkbox");
|
|
93
97
|
});
|
|
94
98
|
|
|
95
99
|
it("should integrate with subscribeToCoValue correctly", async () => {
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from "vitest";
|
|
10
10
|
import { Account, Group, cojsonInternals, z } from "../index.js";
|
|
11
11
|
import {
|
|
12
|
+
CoValueLoadingState,
|
|
12
13
|
Loaded,
|
|
13
14
|
co,
|
|
14
15
|
coValueClassFromCoValueClassOrSchema,
|
|
@@ -19,7 +20,7 @@ import {
|
|
|
19
20
|
getPeerConnectedToTestSyncServer,
|
|
20
21
|
setupJazzTestSync,
|
|
21
22
|
} from "../testing.js";
|
|
22
|
-
import { setupAccount, waitFor } from "./utils.js";
|
|
23
|
+
import { assertLoaded, setupAccount, waitFor } from "./utils.js";
|
|
23
24
|
import { getSubscriptionScope } from "../subscribe/index.js";
|
|
24
25
|
|
|
25
26
|
cojsonInternals.setCoValueLoadingRetryDelay(300);
|
|
@@ -85,9 +86,10 @@ describe("subscribeToCoValue", () => {
|
|
|
85
86
|
expect(updateFn).toHaveBeenCalled();
|
|
86
87
|
});
|
|
87
88
|
|
|
88
|
-
expect(result).not.toBeNull();
|
|
89
89
|
expect(result?.$jazz.id).toBe(chatRoom.$jazz.id);
|
|
90
|
-
expect(result?.messages).toEqual(
|
|
90
|
+
expect(result?.messages.$jazz.loadingState).toEqual(
|
|
91
|
+
CoValueLoadingState.LOADING,
|
|
92
|
+
);
|
|
91
93
|
expect(result?.name).toBe("General");
|
|
92
94
|
|
|
93
95
|
updateFn.mockClear();
|
|
@@ -906,8 +908,8 @@ describe("subscribeToCoValue", () => {
|
|
|
906
908
|
|
|
907
909
|
spy.mockClear();
|
|
908
910
|
|
|
909
|
-
|
|
910
|
-
|
|
911
|
+
assertLoaded(personOnWriter1);
|
|
912
|
+
assertLoaded(personOnWriter2);
|
|
911
913
|
personOnWriter1.$jazz.set("name", "writer1");
|
|
912
914
|
personOnWriter2.$jazz.set("name", "writer2");
|
|
913
915
|
|
|
@@ -992,7 +994,7 @@ describe("subscribeToCoValue", () => {
|
|
|
992
994
|
});
|
|
993
995
|
|
|
994
996
|
assert(result);
|
|
995
|
-
expect(result[0]).toBe(
|
|
997
|
+
expect(result[0]?.$jazz.loadingState).toBe(CoValueLoadingState.LOADING);
|
|
996
998
|
|
|
997
999
|
updateFn.mockClear();
|
|
998
1000
|
|
|
@@ -1072,30 +1074,40 @@ describe("subscribeToCoValue", () => {
|
|
|
1072
1074
|
onTestFinished(unsubscribe);
|
|
1073
1075
|
|
|
1074
1076
|
await waitFor(() => {
|
|
1075
|
-
|
|
1076
|
-
expect(result
|
|
1077
|
+
assert(result?.[0]);
|
|
1078
|
+
expect(result[0].name).toBe("Guido");
|
|
1079
|
+
assertLoaded(result[0].dog);
|
|
1080
|
+
expect(result[0].dog.name).toBe("Giggino");
|
|
1077
1081
|
});
|
|
1078
1082
|
|
|
1079
1083
|
await waitFor(() => {
|
|
1080
|
-
|
|
1081
|
-
expect(result
|
|
1084
|
+
assert(result?.[1]);
|
|
1085
|
+
expect(result[1].name).toBe("John");
|
|
1086
|
+
assertLoaded(result[1].dog);
|
|
1087
|
+
expect(result[1].dog.name).toBe("Rex");
|
|
1082
1088
|
});
|
|
1083
1089
|
|
|
1084
1090
|
await waitFor(() => {
|
|
1085
|
-
|
|
1086
|
-
expect(result
|
|
1091
|
+
assert(result?.[2]);
|
|
1092
|
+
expect(result[2].name).toBe("Jane");
|
|
1093
|
+
assertLoaded(result[2].dog);
|
|
1094
|
+
expect(result[2].dog.name).toBe("Bella");
|
|
1087
1095
|
});
|
|
1088
1096
|
|
|
1089
1097
|
list[0]!.$jazz.set("dog", Dog.create({ name: "Ninja" }));
|
|
1090
1098
|
|
|
1091
1099
|
await waitFor(() => {
|
|
1092
|
-
expect(result?.[0]?.dog).toBe(
|
|
1100
|
+
expect(result?.[0]?.dog.$jazz.loadingState).toBe(
|
|
1101
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
1102
|
+
);
|
|
1093
1103
|
});
|
|
1094
1104
|
|
|
1095
1105
|
list[1]!.$jazz.set("dog", Dog.create({ name: "Pinkie" }, everyone));
|
|
1096
1106
|
|
|
1097
1107
|
await waitFor(() => {
|
|
1098
|
-
|
|
1108
|
+
assert(result?.[1]);
|
|
1109
|
+
assertLoaded(result[1].dog);
|
|
1110
|
+
expect(result[1].dog.name).toBe("Pinkie");
|
|
1099
1111
|
});
|
|
1100
1112
|
|
|
1101
1113
|
expect(onUnavailable).not.toHaveBeenCalled();
|
|
@@ -1168,18 +1180,24 @@ describe("subscribeToCoValue", () => {
|
|
|
1168
1180
|
onTestFinished(unsubscribe);
|
|
1169
1181
|
|
|
1170
1182
|
await waitFor(() => {
|
|
1171
|
-
|
|
1172
|
-
expect(result
|
|
1183
|
+
assert(result?.[0]);
|
|
1184
|
+
expect(result[0].name).toBe("Guido");
|
|
1185
|
+
assertLoaded(result[0].dog);
|
|
1186
|
+
expect(result[0].dog.name).toBe("Giggino");
|
|
1173
1187
|
});
|
|
1174
1188
|
|
|
1175
1189
|
await waitFor(() => {
|
|
1176
|
-
|
|
1177
|
-
expect(result
|
|
1190
|
+
assert(result?.[1]);
|
|
1191
|
+
expect(result[1].name).toBe("John");
|
|
1192
|
+
assertLoaded(result[1].dog);
|
|
1193
|
+
expect(result[1].dog.name).toBe("Rex");
|
|
1178
1194
|
});
|
|
1179
1195
|
|
|
1180
1196
|
await waitFor(() => {
|
|
1181
|
-
|
|
1182
|
-
expect(result
|
|
1197
|
+
assert(result?.[2]);
|
|
1198
|
+
expect(result[2].name).toBe("Jane");
|
|
1199
|
+
assertLoaded(result[2].dog);
|
|
1200
|
+
expect(result[2].dog.name).toBe("Bella");
|
|
1183
1201
|
});
|
|
1184
1202
|
|
|
1185
1203
|
expect(onUnavailable).not.toHaveBeenCalled();
|
|
@@ -1312,7 +1330,7 @@ describe("getSubscriptionScope", () => {
|
|
|
1312
1330
|
describe("when the coValue already has a subscription scope", () => {
|
|
1313
1331
|
it("returns that subscription scope", async () => {
|
|
1314
1332
|
const loadedPerson = await Person.load(person.$jazz.id);
|
|
1315
|
-
|
|
1333
|
+
assertLoaded(loadedPerson);
|
|
1316
1334
|
const subscriptionScope = loadedPerson.$jazz._subscriptionScope;
|
|
1317
1335
|
expect(subscriptionScope).toBeDefined();
|
|
1318
1336
|
expect(getSubscriptionScope(loadedPerson)).toBe(subscriptionScope);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, test } from "vitest";
|
|
2
2
|
import { Account, CoMap, Group, co, z } from "../exports";
|
|
3
3
|
import { createJazzTestAccount, setupJazzTestSync } from "../testing";
|
|
4
|
+
import { assertLoaded } from "./utils";
|
|
4
5
|
|
|
5
6
|
describe("Jazz Test Sync", () => {
|
|
6
7
|
beforeEach(async () => {
|
|
@@ -20,8 +21,8 @@ describe("Jazz Test Sync", () => {
|
|
|
20
21
|
|
|
21
22
|
// Verify account2 can see the group
|
|
22
23
|
const loadedMap = await CoMap.load(map.$jazz.id, { loadAs: account2 });
|
|
23
|
-
|
|
24
|
-
expect(loadedMap
|
|
24
|
+
assertLoaded(loadedMap);
|
|
25
|
+
expect(loadedMap.$jazz.raw.get("test")).toBe("value");
|
|
25
26
|
});
|
|
26
27
|
|
|
27
28
|
test("correctly set the globalMe before starting the migration", async () => {
|
package/src/tools/tests/utils.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assert } from "vitest";
|
|
1
2
|
import { AccountClass, isControlledAccount } from "../coValues/account";
|
|
2
3
|
|
|
3
4
|
import { CoID, LocalNode, RawCoValue } from "cojson";
|
|
@@ -8,7 +9,13 @@ import {
|
|
|
8
9
|
createJazzContextFromExistingCredentials,
|
|
9
10
|
randomSessionProvider,
|
|
10
11
|
} from "../index";
|
|
11
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
CoValue,
|
|
14
|
+
CoValueFromRaw,
|
|
15
|
+
CoValueLoadingState,
|
|
16
|
+
MaybeLoaded,
|
|
17
|
+
LoadedAndRequired,
|
|
18
|
+
} from "../internal";
|
|
12
19
|
|
|
13
20
|
const Crypto = await WasmCrypto.create();
|
|
14
21
|
|
|
@@ -133,8 +140,14 @@ export async function loadCoValueOrFail<V extends RawCoValue>(
|
|
|
133
140
|
id: CoID<V>,
|
|
134
141
|
): Promise<V> {
|
|
135
142
|
const value = await node.load(id);
|
|
136
|
-
if (value ===
|
|
143
|
+
if (value === CoValueLoadingState.UNAVAILABLE) {
|
|
137
144
|
throw new Error("CoValue not found");
|
|
138
145
|
}
|
|
139
146
|
return value;
|
|
140
147
|
}
|
|
148
|
+
|
|
149
|
+
export function assertLoaded<T extends MaybeLoaded<CoValue>>(
|
|
150
|
+
coValue: T,
|
|
151
|
+
): asserts coValue is LoadedAndRequired<T> {
|
|
152
|
+
assert(coValue.$isLoaded, "CoValue is not loaded");
|
|
153
|
+
}
|