jazz-tools 0.18.38 → 0.19.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 +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 +57 -57
- package/CHANGELOG.md +22 -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-P3YLNFN4.js} +504 -232
- package/dist/chunk-P3YLNFN4.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 +66 -36
- 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 +14 -6
- 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 +2 -2
- 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 +5 -4
- 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/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 +6 -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 +16 -11
- 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 +98 -51
- package/src/tools/coValues/group.ts +3 -2
- package/src/tools/coValues/inbox.ts +11 -10
- package/src/tools/coValues/interfaces.ts +49 -27
- package/src/tools/coValues/request.ts +8 -6
- package/src/tools/coValues/schemaUnion.ts +2 -1
- 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 +19 -9
- 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/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 +55 -44
- 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 +8 -4
- 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 +314 -117
- 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 +723 -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
|
@@ -17,7 +17,9 @@ import {
|
|
|
17
17
|
TypeSym,
|
|
18
18
|
activeAccountContext,
|
|
19
19
|
coValueClassFromCoValueClassOrSchema,
|
|
20
|
+
CoValueLoadingState,
|
|
20
21
|
exportCoValue,
|
|
22
|
+
MaybeLoaded,
|
|
21
23
|
} from "../internal.js";
|
|
22
24
|
import {
|
|
23
25
|
createJazzTestAccount,
|
|
@@ -26,7 +28,7 @@ import {
|
|
|
26
28
|
runWithoutActiveAccount,
|
|
27
29
|
setupJazzTestSync,
|
|
28
30
|
} from "../testing.js";
|
|
29
|
-
import { setupTwoNodes, waitFor } from "./utils.js";
|
|
31
|
+
import { assertLoaded, setupTwoNodes, waitFor } from "./utils.js";
|
|
30
32
|
|
|
31
33
|
const Crypto = await WasmCrypto.create();
|
|
32
34
|
|
|
@@ -501,7 +503,7 @@ describe("CoMap", async () => {
|
|
|
501
503
|
});
|
|
502
504
|
|
|
503
505
|
expect(loadedPersonA).not.toBeNull();
|
|
504
|
-
|
|
506
|
+
assertLoaded(loadedPersonA);
|
|
505
507
|
|
|
506
508
|
const personB = Person.create({
|
|
507
509
|
name: "Jane",
|
|
@@ -848,9 +850,11 @@ describe("CoMap", async () => {
|
|
|
848
850
|
loadAs: clientAccount,
|
|
849
851
|
});
|
|
850
852
|
|
|
851
|
-
|
|
853
|
+
assertLoaded(loadedPerson);
|
|
852
854
|
expect(loadedPerson.$jazz.has("name")).toBe(true);
|
|
853
|
-
expect(loadedPerson.name).
|
|
855
|
+
expect(loadedPerson.name.$jazz.loadingState).toBe(
|
|
856
|
+
CoValueLoadingState.LOADING,
|
|
857
|
+
);
|
|
854
858
|
});
|
|
855
859
|
|
|
856
860
|
test("should return true even if the viewer doesn't have access to the referenced CoValue", async () => {
|
|
@@ -872,9 +876,11 @@ describe("CoMap", async () => {
|
|
|
872
876
|
loadAs: userB,
|
|
873
877
|
});
|
|
874
878
|
|
|
875
|
-
|
|
879
|
+
assertLoaded(loadedPerson);
|
|
876
880
|
expect(loadedPerson.$jazz.has("name")).toBe(true);
|
|
877
|
-
expect(loadedPerson.name).
|
|
881
|
+
expect(loadedPerson.name.$jazz.loadingState).toBe(
|
|
882
|
+
CoValueLoadingState.LOADING,
|
|
883
|
+
);
|
|
878
884
|
});
|
|
879
885
|
});
|
|
880
886
|
|
|
@@ -939,7 +945,7 @@ describe("CoMap resolution", async () => {
|
|
|
939
945
|
},
|
|
940
946
|
});
|
|
941
947
|
|
|
942
|
-
|
|
948
|
+
assertLoaded(loadedPerson);
|
|
943
949
|
expect(loadedPerson.dog.name).toEqual("Rex");
|
|
944
950
|
});
|
|
945
951
|
|
|
@@ -963,8 +969,9 @@ describe("CoMap resolution", async () => {
|
|
|
963
969
|
|
|
964
970
|
const loadedPerson = await Person.load(person.$jazz.id);
|
|
965
971
|
|
|
966
|
-
|
|
967
|
-
|
|
972
|
+
assertLoaded(loadedPerson);
|
|
973
|
+
assertLoaded(loadedPerson.dog);
|
|
974
|
+
expect(loadedPerson.dog.name).toEqual("Rex");
|
|
968
975
|
});
|
|
969
976
|
|
|
970
977
|
test("loading a remotely available map with deep resolve", async () => {
|
|
@@ -1000,7 +1007,7 @@ describe("CoMap resolution", async () => {
|
|
|
1000
1007
|
loadAs: userB,
|
|
1001
1008
|
});
|
|
1002
1009
|
|
|
1003
|
-
|
|
1010
|
+
assertLoaded(loadedPerson);
|
|
1004
1011
|
expect(loadedPerson.dog.name).toEqual("Rex");
|
|
1005
1012
|
});
|
|
1006
1013
|
|
|
@@ -1033,10 +1040,11 @@ describe("CoMap resolution", async () => {
|
|
|
1033
1040
|
loadAs: userB,
|
|
1034
1041
|
});
|
|
1035
1042
|
|
|
1036
|
-
|
|
1043
|
+
assertLoaded(loadedPerson);
|
|
1037
1044
|
|
|
1038
1045
|
await waitFor(() => {
|
|
1039
|
-
|
|
1046
|
+
assertLoaded(loadedPerson.dog);
|
|
1047
|
+
expect(loadedPerson.dog.name).toEqual("Rex");
|
|
1040
1048
|
});
|
|
1041
1049
|
});
|
|
1042
1050
|
|
|
@@ -1084,7 +1092,9 @@ describe("CoMap resolution", async () => {
|
|
|
1084
1092
|
skipRetry: true,
|
|
1085
1093
|
});
|
|
1086
1094
|
|
|
1087
|
-
expect(loadedPerson).
|
|
1095
|
+
expect(loadedPerson.$jazz.loadingState).toBe(
|
|
1096
|
+
CoValueLoadingState.UNAVAILABLE,
|
|
1097
|
+
);
|
|
1088
1098
|
});
|
|
1089
1099
|
|
|
1090
1100
|
test("loading a remotely available map with skipRetry set to false", async () => {
|
|
@@ -1145,10 +1155,11 @@ describe("CoMap resolution", async () => {
|
|
|
1145
1155
|
const loadedPerson = await promise;
|
|
1146
1156
|
|
|
1147
1157
|
expect(resolved).toBe(true);
|
|
1148
|
-
|
|
1158
|
+
assertLoaded(loadedPerson);
|
|
1149
1159
|
|
|
1150
1160
|
await waitFor(() => {
|
|
1151
|
-
|
|
1161
|
+
assertLoaded(loadedPerson.dog);
|
|
1162
|
+
expect(loadedPerson.dog.name).toEqual("Rex");
|
|
1152
1163
|
});
|
|
1153
1164
|
});
|
|
1154
1165
|
|
|
@@ -1205,13 +1216,13 @@ describe("CoMap resolution", async () => {
|
|
|
1205
1216
|
loadAs: userB,
|
|
1206
1217
|
});
|
|
1207
1218
|
|
|
1208
|
-
|
|
1219
|
+
assertLoaded(loadedPerson);
|
|
1209
1220
|
|
|
1210
1221
|
expect(loadedPerson.$jazz.refs.dog.id).toBe(person.dog.$jazz.id);
|
|
1211
1222
|
|
|
1212
1223
|
const dog = await loadedPerson.$jazz.refs.dog.load();
|
|
1213
1224
|
|
|
1214
|
-
|
|
1225
|
+
assertLoaded(dog);
|
|
1215
1226
|
|
|
1216
1227
|
expect(dog.name).toEqual("Rex");
|
|
1217
1228
|
});
|
|
@@ -1293,13 +1304,17 @@ describe("CoMap resolution", async () => {
|
|
|
1293
1304
|
|
|
1294
1305
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
1295
1306
|
|
|
1296
|
-
|
|
1307
|
+
assert(updates[0]);
|
|
1308
|
+
assertLoaded(updates[0].dog);
|
|
1309
|
+
expect(updates[0].dog.name).toEqual("Rex");
|
|
1297
1310
|
|
|
1298
|
-
person.dog
|
|
1311
|
+
person.dog.$jazz.set("name", "Fido");
|
|
1299
1312
|
|
|
1300
1313
|
await waitFor(() => expect(spy).toHaveBeenCalledTimes(2));
|
|
1301
1314
|
|
|
1302
|
-
|
|
1315
|
+
assert(updates[1]);
|
|
1316
|
+
assertLoaded(updates[1].dog);
|
|
1317
|
+
expect(updates[1].dog.name).toEqual("Fido");
|
|
1303
1318
|
|
|
1304
1319
|
expect(spy).toHaveBeenCalledTimes(2);
|
|
1305
1320
|
});
|
|
@@ -1338,15 +1353,19 @@ describe("CoMap resolution", async () => {
|
|
|
1338
1353
|
expect(spy).toHaveBeenCalled();
|
|
1339
1354
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
1340
1355
|
|
|
1341
|
-
|
|
1356
|
+
assert(updates[0]);
|
|
1357
|
+
assertLoaded(updates[0].dog);
|
|
1358
|
+
expect(updates[0].dog.name).toEqual("Rex");
|
|
1342
1359
|
|
|
1343
1360
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
1344
1361
|
|
|
1345
|
-
person.dog
|
|
1362
|
+
person.dog.$jazz.set("name", "Fido");
|
|
1346
1363
|
|
|
1347
1364
|
expect(spy).toHaveBeenCalledTimes(2);
|
|
1348
1365
|
|
|
1349
|
-
|
|
1366
|
+
assert(updates[1]);
|
|
1367
|
+
assertLoaded(updates[1].dog);
|
|
1368
|
+
expect(updates[1].dog.name).toEqual("Fido");
|
|
1350
1369
|
|
|
1351
1370
|
expect(spy).toHaveBeenCalledTimes(2);
|
|
1352
1371
|
});
|
|
@@ -1452,14 +1471,18 @@ describe("CoMap resolution", async () => {
|
|
|
1452
1471
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
1453
1472
|
|
|
1454
1473
|
await waitFor(() => {
|
|
1455
|
-
|
|
1474
|
+
assert(updates[0]);
|
|
1475
|
+
assertLoaded(updates[0].dog);
|
|
1476
|
+
expect(updates[0].dog.name).toEqual("Rex");
|
|
1456
1477
|
});
|
|
1457
1478
|
|
|
1458
|
-
person.dog
|
|
1479
|
+
person.dog.$jazz.set("name", "Fido");
|
|
1459
1480
|
|
|
1460
1481
|
await waitFor(() => expect(spy).toHaveBeenCalledTimes(3));
|
|
1461
1482
|
|
|
1462
|
-
|
|
1483
|
+
assert(updates[1]);
|
|
1484
|
+
assertLoaded(updates[1].dog);
|
|
1485
|
+
expect(updates[1].dog.name).toEqual("Fido");
|
|
1463
1486
|
|
|
1464
1487
|
expect(spy).toHaveBeenCalledTimes(3);
|
|
1465
1488
|
});
|
|
@@ -1833,7 +1856,7 @@ describe("CoMap Typescript validation", async () => {
|
|
|
1833
1856
|
|
|
1834
1857
|
const loadedMap = await serverNode.load(map.$jazz.raw.id);
|
|
1835
1858
|
|
|
1836
|
-
expect(loadedMap).not.toBe(
|
|
1859
|
+
expect(loadedMap).not.toBe(CoValueLoadingState.UNAVAILABLE);
|
|
1837
1860
|
});
|
|
1838
1861
|
|
|
1839
1862
|
test("complex discriminated union", () => {
|
|
@@ -2022,9 +2045,10 @@ describe("CoMap migration", () => {
|
|
|
2022
2045
|
|
|
2023
2046
|
const loadedPerson = await Person.load(person.$jazz.id);
|
|
2024
2047
|
|
|
2025
|
-
|
|
2026
|
-
expect(loadedPerson
|
|
2027
|
-
expect(loadedPerson
|
|
2048
|
+
assertLoaded(loadedPerson);
|
|
2049
|
+
expect(loadedPerson.name).toEqual("Bob");
|
|
2050
|
+
expect(loadedPerson.age).toEqual(20);
|
|
2051
|
+
expect(loadedPerson.version).toEqual(2);
|
|
2028
2052
|
});
|
|
2029
2053
|
|
|
2030
2054
|
test("should handle group updates", async () => {
|
|
@@ -2051,8 +2075,9 @@ describe("CoMap migration", () => {
|
|
|
2051
2075
|
|
|
2052
2076
|
const loadedPerson = await Person.load(person.$jazz.id);
|
|
2053
2077
|
|
|
2054
|
-
|
|
2055
|
-
expect(loadedPerson
|
|
2078
|
+
assertLoaded(loadedPerson);
|
|
2079
|
+
expect(loadedPerson.name).toEqual("Bob");
|
|
2080
|
+
expect(loadedPerson.version).toEqual(2);
|
|
2056
2081
|
|
|
2057
2082
|
const anotherAccount = await createJazzTestAccount();
|
|
2058
2083
|
|
|
@@ -2060,7 +2085,8 @@ describe("CoMap migration", () => {
|
|
|
2060
2085
|
loadAs: anotherAccount,
|
|
2061
2086
|
});
|
|
2062
2087
|
|
|
2063
|
-
|
|
2088
|
+
assertLoaded(loadedPersonFromAnotherAccount);
|
|
2089
|
+
expect(loadedPersonFromAnotherAccount.name).toEqual("Bob");
|
|
2064
2090
|
});
|
|
2065
2091
|
|
|
2066
2092
|
test("should throw an error if a migration is async", async () => {
|
|
@@ -2146,11 +2172,12 @@ describe("CoMap migration", () => {
|
|
|
2146
2172
|
});
|
|
2147
2173
|
|
|
2148
2174
|
// Migration should run on both the person and their friend
|
|
2149
|
-
|
|
2150
|
-
expect(loaded
|
|
2151
|
-
expect(loaded
|
|
2152
|
-
expect(loaded
|
|
2153
|
-
expect(loaded
|
|
2175
|
+
assertLoaded(loaded);
|
|
2176
|
+
expect(loaded.name).toEqual("Bob");
|
|
2177
|
+
expect(loaded.age).toEqual(20);
|
|
2178
|
+
expect(loaded.version).toEqual(2);
|
|
2179
|
+
expect(loaded.friend?.name).toEqual("Charlie");
|
|
2180
|
+
expect(loaded.friend?.version).toEqual(2);
|
|
2154
2181
|
});
|
|
2155
2182
|
|
|
2156
2183
|
test("should wait for the full streaming before running the migration", async () => {
|
|
@@ -2527,7 +2554,7 @@ describe("Updating a nested reference", () => {
|
|
|
2527
2554
|
},
|
|
2528
2555
|
});
|
|
2529
2556
|
|
|
2530
|
-
|
|
2557
|
+
assertLoaded(loadedGame);
|
|
2531
2558
|
|
|
2532
2559
|
// Create a play selection
|
|
2533
2560
|
const playSelection = PlaySelection.create({ value: "rock", group }, group);
|
|
@@ -2595,7 +2622,7 @@ describe("Updating a nested reference", () => {
|
|
|
2595
2622
|
},
|
|
2596
2623
|
});
|
|
2597
2624
|
|
|
2598
|
-
|
|
2625
|
+
assertLoaded(loadedGame);
|
|
2599
2626
|
|
|
2600
2627
|
// Create a play selection
|
|
2601
2628
|
const playSelection = PlaySelection.create({ value: "scissors" });
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { cojsonInternals } from "cojson";
|
|
2
2
|
import { assert, beforeEach, describe, expect, test } from "vitest";
|
|
3
3
|
import {
|
|
4
|
+
assertLoaded,
|
|
4
5
|
setupJazzTestSync,
|
|
5
6
|
createJazzTestAccount,
|
|
6
7
|
runWithoutActiveAccount,
|
|
7
8
|
} from "../testing";
|
|
8
9
|
import {
|
|
10
|
+
CoValueLoadingState,
|
|
9
11
|
Group,
|
|
10
12
|
co,
|
|
11
13
|
activeAccountContext,
|
|
@@ -104,7 +106,8 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
104
106
|
},
|
|
105
107
|
owner: group,
|
|
106
108
|
});
|
|
107
|
-
|
|
109
|
+
assertLoaded(alice);
|
|
110
|
+
expect(alice.name).toEqual("Alice");
|
|
108
111
|
});
|
|
109
112
|
|
|
110
113
|
test("manual upserting pattern", async () => {
|
|
@@ -128,7 +131,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
128
131
|
{ identifier: sourceData.identifier },
|
|
129
132
|
workspace.$jazz.id,
|
|
130
133
|
);
|
|
131
|
-
if (!activeEvent) {
|
|
134
|
+
if (!activeEvent.$isLoaded) {
|
|
132
135
|
activeEvent = Event.create(
|
|
133
136
|
{
|
|
134
137
|
title: sourceData.title,
|
|
@@ -215,7 +218,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
215
218
|
const workspaceOnAlice = await Group.load(workspace.$jazz.id, {
|
|
216
219
|
loadAs: alice,
|
|
217
220
|
});
|
|
218
|
-
|
|
221
|
+
assertLoaded(workspaceOnAlice);
|
|
219
222
|
|
|
220
223
|
const eventOnAlice = await Event.upsertUnique({
|
|
221
224
|
value: {
|
|
@@ -226,7 +229,10 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
226
229
|
unique: sourceData.identifier,
|
|
227
230
|
owner: workspaceOnAlice,
|
|
228
231
|
});
|
|
229
|
-
expect(eventOnAlice).
|
|
232
|
+
expect(eventOnAlice.$isLoaded).toBe(false);
|
|
233
|
+
expect(eventOnAlice.$jazz.loadingState).toBe(
|
|
234
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
235
|
+
);
|
|
230
236
|
});
|
|
231
237
|
|
|
232
238
|
test("upserting without an active account", async () => {
|
|
@@ -264,7 +270,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
264
270
|
external_id: sourceData._id,
|
|
265
271
|
});
|
|
266
272
|
|
|
267
|
-
|
|
273
|
+
assertLoaded(activeEvent);
|
|
268
274
|
|
|
269
275
|
expect(activeEvent.$jazz.owner).toEqual(account);
|
|
270
276
|
});
|
|
@@ -350,8 +356,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
350
356
|
},
|
|
351
357
|
},
|
|
352
358
|
});
|
|
353
|
-
|
|
354
|
-
expect(myOrg).not.toBeNull();
|
|
359
|
+
assertLoaded(myOrg);
|
|
355
360
|
expect(myOrg.name).toEqual("My organisation");
|
|
356
361
|
expect(myOrg.projects.length).toBe(1);
|
|
357
362
|
expect(myOrg.projects[0]).toMatchObject({
|
|
@@ -375,8 +380,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
375
380
|
unique: { unique: "First project" },
|
|
376
381
|
owner: workspace,
|
|
377
382
|
});
|
|
378
|
-
|
|
379
|
-
expect(initialProject).not.toBeNull();
|
|
383
|
+
assertLoaded(initialProject);
|
|
380
384
|
expect(initialProject.name).toEqual("My project");
|
|
381
385
|
|
|
382
386
|
const myOrg = await Organisation.upsertUnique({
|
|
@@ -392,8 +396,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
392
396
|
},
|
|
393
397
|
},
|
|
394
398
|
});
|
|
395
|
-
|
|
396
|
-
expect(myOrg).not.toBeNull();
|
|
399
|
+
assertLoaded(myOrg);
|
|
397
400
|
expect(myOrg.name).toEqual("My organisation");
|
|
398
401
|
expect(myOrg.projects.length).toBe(1);
|
|
399
402
|
expect(myOrg.projects.at(0)?.name).toEqual("My project");
|
|
@@ -406,8 +409,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
406
409
|
owner: workspace,
|
|
407
410
|
});
|
|
408
411
|
|
|
409
|
-
|
|
410
|
-
expect(updatedProject).not.toBeNull();
|
|
412
|
+
assertLoaded(updatedProject);
|
|
411
413
|
expect(updatedProject).toEqual(initialProject);
|
|
412
414
|
expect(updatedProject.name).toEqual("My updated project");
|
|
413
415
|
expect(myOrg.projects.length).toBe(1);
|
|
@@ -432,8 +434,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
432
434
|
unique: { unique: "First project" },
|
|
433
435
|
owner: publicAccess,
|
|
434
436
|
});
|
|
435
|
-
|
|
436
|
-
expect(initialProject).not.toBeNull();
|
|
437
|
+
assertLoaded(initialProject);
|
|
437
438
|
expect(initialProject.name).toEqual("My project");
|
|
438
439
|
|
|
439
440
|
const fullProjectList = co
|
|
@@ -449,12 +450,12 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
449
450
|
.load(fullProjectList.$jazz.id, {
|
|
450
451
|
loadAs: account,
|
|
451
452
|
});
|
|
452
|
-
|
|
453
|
+
assertLoaded(shallowProjectList);
|
|
453
454
|
|
|
454
455
|
const publicAccessAsNewAccount = await Group.load(publicAccess.$jazz.id, {
|
|
455
456
|
loadAs: account,
|
|
456
457
|
});
|
|
457
|
-
|
|
458
|
+
assertLoaded(publicAccessAsNewAccount);
|
|
458
459
|
|
|
459
460
|
const updatedOrg = await Organisation.upsertUnique({
|
|
460
461
|
value: {
|
|
@@ -470,7 +471,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
470
471
|
},
|
|
471
472
|
});
|
|
472
473
|
|
|
473
|
-
|
|
474
|
+
assertLoaded(updatedOrg);
|
|
474
475
|
|
|
475
476
|
expect(updatedOrg.projects.$jazz.id).toEqual(fullProjectList.$jazz.id);
|
|
476
477
|
expect(updatedOrg.projects.length).toBe(1);
|
|
@@ -495,7 +496,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
495
496
|
unique: { unique: "First project" },
|
|
496
497
|
owner: publicAccess,
|
|
497
498
|
});
|
|
498
|
-
|
|
499
|
+
assertLoaded(initialProject);
|
|
499
500
|
|
|
500
501
|
const myOrg = await Organisation.upsertUnique({
|
|
501
502
|
value: {
|
|
@@ -510,7 +511,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
510
511
|
},
|
|
511
512
|
},
|
|
512
513
|
});
|
|
513
|
-
|
|
514
|
+
assertLoaded(myOrg);
|
|
514
515
|
|
|
515
516
|
const fullProjectList = co
|
|
516
517
|
.list(Project)
|
|
@@ -525,12 +526,12 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
525
526
|
.load(fullProjectList.$jazz.id, {
|
|
526
527
|
loadAs: account,
|
|
527
528
|
});
|
|
528
|
-
|
|
529
|
+
assertLoaded(shallowProjectList);
|
|
529
530
|
|
|
530
531
|
const publicAccessAsNewAccount = await Group.load(publicAccess.$jazz.id, {
|
|
531
532
|
loadAs: account,
|
|
532
533
|
});
|
|
533
|
-
|
|
534
|
+
assertLoaded(publicAccessAsNewAccount);
|
|
534
535
|
|
|
535
536
|
const updatedOrg = await Organisation.upsertUnique({
|
|
536
537
|
value: {
|
|
@@ -546,7 +547,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
546
547
|
},
|
|
547
548
|
});
|
|
548
549
|
|
|
549
|
-
|
|
550
|
+
assertLoaded(updatedOrg);
|
|
550
551
|
|
|
551
552
|
expect(updatedOrg.projects.$jazz.id).toEqual(fullProjectList.$jazz.id);
|
|
552
553
|
expect(updatedOrg.projects.length).toBe(1);
|
|
@@ -572,7 +573,7 @@ describe("Creating and finding unique CoMaps", async () => {
|
|
|
572
573
|
await Promise.all(promises);
|
|
573
574
|
|
|
574
575
|
const result = await Project.loadUnique("concurrent", owner.$jazz.id);
|
|
575
|
-
|
|
576
|
+
assertLoaded(result);
|
|
576
577
|
|
|
577
578
|
expect(result.name).toBe(`Project 2`);
|
|
578
579
|
});
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
co,
|
|
9
9
|
} from "../internal.js";
|
|
10
10
|
import { createJazzTestAccount, setupJazzTestSync } from "../testing.js";
|
|
11
|
-
import { setupTwoNodes, waitFor } from "./utils.js";
|
|
11
|
+
import { assertLoaded, setupTwoNodes, waitFor } from "./utils.js";
|
|
12
12
|
|
|
13
13
|
let me: ControlledAccount;
|
|
14
14
|
|
|
@@ -508,7 +508,7 @@ describe("CoVector loading & availability", async () => {
|
|
|
508
508
|
loadAs: alice,
|
|
509
509
|
});
|
|
510
510
|
|
|
511
|
-
|
|
511
|
+
assertLoaded(loadedVector);
|
|
512
512
|
expect(loadedVector.length).toBe(3);
|
|
513
513
|
expect(loadedVector[0]).toBe(9);
|
|
514
514
|
expect(loadedVector[1]).toBe(8);
|
|
@@ -541,7 +541,7 @@ describe("CoVector loading & availability", async () => {
|
|
|
541
541
|
loadAs: alice,
|
|
542
542
|
});
|
|
543
543
|
|
|
544
|
-
|
|
544
|
+
assertLoaded(loadedVector);
|
|
545
545
|
expect(loadedVector).toBeInstanceOf(CoVector);
|
|
546
546
|
expect(loadedVector.length).toBe(elementsForKb(kb));
|
|
547
547
|
expect(loadedVector.every((item) => item === 0.5)).toBe(true);
|
|
@@ -696,14 +696,16 @@ describe("CoVector in subscription", async () => {
|
|
|
696
696
|
|
|
697
697
|
expect(updatesCallback).toHaveBeenCalledTimes(1);
|
|
698
698
|
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
);
|
|
702
|
-
|
|
699
|
+
assert(updates[0]?.[0]);
|
|
700
|
+
assertLoaded(updates[0][0]);
|
|
701
|
+
assert(updates[0]?.[1]);
|
|
702
|
+
assertLoaded(updates[0][1]);
|
|
703
|
+
expect(updates[0][0].content).toEqual("Call GET to retrieve document");
|
|
704
|
+
expect(updates[0][1].content).toEqual(
|
|
703
705
|
"Call POST to create a new document",
|
|
704
706
|
);
|
|
705
|
-
expect(updates[0]
|
|
706
|
-
expect(updates[0]
|
|
707
|
+
expect(updates[0][0].embedding?.toString()).toBe("1,2,3");
|
|
708
|
+
expect(updates[0][1].embedding?.toString()).toBe("4,5,6");
|
|
707
709
|
|
|
708
710
|
// Update the second document's embedding
|
|
709
711
|
docs[1]!.$jazz.set(
|
|
@@ -713,8 +715,12 @@ describe("CoVector in subscription", async () => {
|
|
|
713
715
|
|
|
714
716
|
await waitFor(() => expect(updatesCallback).toHaveBeenCalledTimes(2));
|
|
715
717
|
|
|
716
|
-
|
|
717
|
-
|
|
718
|
+
assert(updates[1]?.[0]);
|
|
719
|
+
assertLoaded(updates[1][0]);
|
|
720
|
+
assert(updates[1]?.[1]);
|
|
721
|
+
assertLoaded(updates[1][1]);
|
|
722
|
+
expect(updates[1][0].embedding?.toString()).toBe("1,2,3");
|
|
723
|
+
expect(updates[1][1].embedding?.toString()).toBe("7,8,9");
|
|
718
724
|
|
|
719
725
|
expect(updatesCallback).toHaveBeenCalledTimes(2);
|
|
720
726
|
});
|
|
@@ -838,8 +844,12 @@ describe("CoVector in subscription", async () => {
|
|
|
838
844
|
await waitFor(() => expect(updatesCallback).toHaveBeenCalled());
|
|
839
845
|
|
|
840
846
|
await waitFor(() => {
|
|
841
|
-
|
|
842
|
-
|
|
847
|
+
assert(updates[0]?.[0]);
|
|
848
|
+
assertLoaded(updates[0][0]);
|
|
849
|
+
assert(updates[0]?.[1]);
|
|
850
|
+
assertLoaded(updates[0][1]);
|
|
851
|
+
expect(updates[0][0].embedding?.toString()).toBe("1,2,3");
|
|
852
|
+
expect(updates[0][1].embedding?.toString()).toBe("4,5,6");
|
|
843
853
|
});
|
|
844
854
|
|
|
845
855
|
// Update the second document's embedding
|
|
@@ -850,8 +860,12 @@ describe("CoVector in subscription", async () => {
|
|
|
850
860
|
|
|
851
861
|
await waitFor(() => expect(updatesCallback).toHaveBeenCalledTimes(7));
|
|
852
862
|
|
|
853
|
-
|
|
854
|
-
|
|
863
|
+
assert(updates[1]?.[0]);
|
|
864
|
+
assertLoaded(updates[1][0]);
|
|
865
|
+
assert(updates[1]?.[1]);
|
|
866
|
+
assertLoaded(updates[1][1]);
|
|
867
|
+
expect(updates[1][0].embedding?.toString()).toBe("1,2,3");
|
|
868
|
+
expect(updates[1][1].embedding?.toString()).toBe("7,8,9");
|
|
855
869
|
|
|
856
870
|
expect(updatesCallback).toHaveBeenCalledTimes(7);
|
|
857
871
|
});
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
getPeerConnectedToTestSyncServer,
|
|
24
24
|
setupJazzTestSync,
|
|
25
25
|
} from "../testing";
|
|
26
|
-
import { loadCoValueOrFail } from "./utils";
|
|
26
|
+
import { assertLoaded, loadCoValueOrFail } from "./utils";
|
|
27
27
|
const Crypto = await WasmCrypto.create();
|
|
28
28
|
|
|
29
29
|
KvStoreContext.getInstance().initialize(new InMemoryKVStore());
|
|
@@ -190,7 +190,8 @@ describe("createContext methods", () => {
|
|
|
190
190
|
});
|
|
191
191
|
|
|
192
192
|
expect(context.account).toBeDefined();
|
|
193
|
-
|
|
193
|
+
assertLoaded(context.account.profile);
|
|
194
|
+
expect(context.account.profile.name).toBe("New User");
|
|
194
195
|
});
|
|
195
196
|
|
|
196
197
|
test("uses initial agent secret when provided", async () => {
|
|
@@ -322,7 +323,8 @@ describe("createContext methods", () => {
|
|
|
322
323
|
sessionProvider: randomSessionProvider,
|
|
323
324
|
});
|
|
324
325
|
|
|
325
|
-
|
|
326
|
+
assertLoaded(context.account.profile);
|
|
327
|
+
expect(context.account.profile.name).toBe("Custom User");
|
|
326
328
|
});
|
|
327
329
|
|
|
328
330
|
test("uses initial agent secret when provided", async () => {
|