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
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CoList,
|
|
5
5
|
Group,
|
|
6
6
|
ID,
|
|
7
|
+
MaybeLoaded,
|
|
7
8
|
RefsToResolve,
|
|
8
9
|
RefsToResolveStrict,
|
|
9
10
|
Resolved,
|
|
@@ -15,17 +16,27 @@ import { CoValueUniqueness } from "cojson";
|
|
|
15
16
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
|
16
17
|
import { CoListSchemaInit } from "../typeConverters/CoFieldSchemaInit.js";
|
|
17
18
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
|
18
|
-
import {
|
|
19
|
+
import { InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.js";
|
|
19
20
|
import { AnyZodOrCoValueSchema } from "../zodSchema.js";
|
|
20
21
|
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
|
21
|
-
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
|
22
|
+
import { CoreCoValueSchema, CoreResolveQuery } from "./CoValueSchema.js";
|
|
23
|
+
import { withSchemaResolveQuery } from "../../schemaUtils.js";
|
|
22
24
|
|
|
23
|
-
export class CoListSchema<
|
|
24
|
-
|
|
25
|
+
export class CoListSchema<
|
|
26
|
+
T extends AnyZodOrCoValueSchema,
|
|
27
|
+
DefaultResolveQuery extends CoreResolveQuery = true,
|
|
28
|
+
> implements CoreCoListSchema<T>
|
|
25
29
|
{
|
|
26
30
|
collaborative = true as const;
|
|
27
31
|
builtin = "CoList" as const;
|
|
28
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Default resolve query to be used when loading instances of this schema.
|
|
35
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
resolveQuery: DefaultResolveQuery = true as DefaultResolveQuery;
|
|
39
|
+
|
|
29
40
|
constructor(
|
|
30
41
|
public element: T,
|
|
31
42
|
private coValueClass: typeof CoList,
|
|
@@ -55,43 +66,63 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
|
|
|
55
66
|
return this.coValueClass.create(items as any, options) as CoListInstance<T>;
|
|
56
67
|
}
|
|
57
68
|
|
|
58
|
-
load<
|
|
69
|
+
load<
|
|
70
|
+
const R extends RefsToResolve<
|
|
71
|
+
CoListInstanceCoValuesMaybeLoaded<T>
|
|
72
|
+
> = DefaultResolveQuery,
|
|
73
|
+
>(
|
|
59
74
|
id: string,
|
|
60
75
|
options?: {
|
|
61
|
-
resolve?: RefsToResolveStrict<
|
|
76
|
+
resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
|
|
62
77
|
loadAs?: Account | AnonymousJazzAgent;
|
|
63
78
|
unstable_branch?: BranchDefinition;
|
|
64
79
|
},
|
|
65
|
-
): Promise<Resolved<
|
|
80
|
+
): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
|
|
66
81
|
// @ts-expect-error
|
|
67
|
-
return this.coValueClass.load(
|
|
82
|
+
return this.coValueClass.load(
|
|
83
|
+
id,
|
|
84
|
+
// @ts-expect-error
|
|
85
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
86
|
+
);
|
|
68
87
|
}
|
|
69
88
|
|
|
70
89
|
unstable_merge<
|
|
71
|
-
const R extends RefsToResolve<
|
|
90
|
+
const R extends RefsToResolve<
|
|
91
|
+
CoListInstanceCoValuesMaybeLoaded<T>
|
|
92
|
+
> = DefaultResolveQuery,
|
|
72
93
|
>(
|
|
73
94
|
id: string,
|
|
74
|
-
options
|
|
75
|
-
resolve?: RefsToResolveStrict<
|
|
95
|
+
options: {
|
|
96
|
+
resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
|
|
76
97
|
loadAs?: Account | AnonymousJazzAgent;
|
|
77
98
|
branch: BranchDefinition;
|
|
78
99
|
},
|
|
79
100
|
): Promise<void> {
|
|
80
|
-
|
|
81
|
-
|
|
101
|
+
return unstable_mergeBranchWithResolve(
|
|
102
|
+
this.coValueClass,
|
|
103
|
+
id,
|
|
104
|
+
// @ts-expect-error
|
|
105
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
106
|
+
);
|
|
82
107
|
}
|
|
83
108
|
|
|
84
109
|
subscribe<
|
|
85
|
-
const R extends RefsToResolve<
|
|
110
|
+
const R extends RefsToResolve<
|
|
111
|
+
CoListInstanceCoValuesMaybeLoaded<T>
|
|
112
|
+
> = DefaultResolveQuery,
|
|
86
113
|
>(
|
|
87
114
|
id: string,
|
|
88
|
-
options: SubscribeListenerOptions<
|
|
115
|
+
options: SubscribeListenerOptions<CoListInstanceCoValuesMaybeLoaded<T>, R>,
|
|
89
116
|
listener: (
|
|
90
|
-
value: Resolved<
|
|
117
|
+
value: Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>,
|
|
91
118
|
unsubscribe: () => void,
|
|
92
119
|
) => void,
|
|
93
120
|
): () => void {
|
|
94
|
-
return this.coValueClass.subscribe(
|
|
121
|
+
return this.coValueClass.subscribe(
|
|
122
|
+
id,
|
|
123
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
124
|
+
listener,
|
|
125
|
+
);
|
|
95
126
|
}
|
|
96
127
|
|
|
97
128
|
getCoValueClass(): typeof CoList {
|
|
@@ -103,39 +134,65 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
|
|
|
103
134
|
unique: CoValueUniqueness["uniqueness"],
|
|
104
135
|
ownerID: ID<Account> | ID<Group>,
|
|
105
136
|
as?: Account | Group | AnonymousJazzAgent,
|
|
106
|
-
): ID<
|
|
137
|
+
): ID<CoListInstanceCoValuesMaybeLoaded<T>> {
|
|
107
138
|
return this.coValueClass.findUnique(unique, ownerID, as);
|
|
108
139
|
}
|
|
109
140
|
|
|
110
141
|
upsertUnique<
|
|
111
|
-
const R extends RefsToResolve<
|
|
142
|
+
const R extends RefsToResolve<
|
|
143
|
+
CoListInstanceCoValuesMaybeLoaded<T>
|
|
144
|
+
> = DefaultResolveQuery,
|
|
112
145
|
>(options: {
|
|
113
146
|
value: CoListSchemaInit<T>;
|
|
114
147
|
unique: CoValueUniqueness["uniqueness"];
|
|
115
148
|
owner: Account | Group;
|
|
116
|
-
resolve?: RefsToResolveStrict<
|
|
117
|
-
}): Promise<Resolved<
|
|
149
|
+
resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
|
|
150
|
+
}): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
|
|
118
151
|
// @ts-expect-error
|
|
119
|
-
return this.coValueClass.upsertUnique(
|
|
152
|
+
return this.coValueClass.upsertUnique(
|
|
153
|
+
// @ts-expect-error
|
|
154
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
155
|
+
);
|
|
120
156
|
}
|
|
121
157
|
|
|
122
158
|
loadUnique<
|
|
123
|
-
const R extends RefsToResolve<
|
|
159
|
+
const R extends RefsToResolve<
|
|
160
|
+
CoListInstanceCoValuesMaybeLoaded<T>
|
|
161
|
+
> = DefaultResolveQuery,
|
|
124
162
|
>(
|
|
125
163
|
unique: CoValueUniqueness["uniqueness"],
|
|
126
164
|
ownerID: ID<Account> | ID<Group>,
|
|
127
165
|
options?: {
|
|
128
|
-
resolve?: RefsToResolveStrict<
|
|
166
|
+
resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
|
|
129
167
|
loadAs?: Account | AnonymousJazzAgent;
|
|
130
168
|
},
|
|
131
|
-
): Promise<Resolved<
|
|
169
|
+
): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
|
|
132
170
|
// @ts-expect-error
|
|
133
|
-
return this.coValueClass.loadUnique(
|
|
171
|
+
return this.coValueClass.loadUnique(
|
|
172
|
+
unique,
|
|
173
|
+
ownerID,
|
|
174
|
+
// @ts-expect-error
|
|
175
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
176
|
+
);
|
|
134
177
|
}
|
|
135
178
|
|
|
136
179
|
optional(): CoOptionalSchema<this> {
|
|
137
180
|
return coOptionalDefiner(this);
|
|
138
181
|
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Adds a default resolve query to be used when loading instances of this schema.
|
|
185
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
186
|
+
*/
|
|
187
|
+
resolved<
|
|
188
|
+
const R extends RefsToResolve<CoListInstanceCoValuesMaybeLoaded<T>> = true,
|
|
189
|
+
>(
|
|
190
|
+
resolveQuery: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>,
|
|
191
|
+
): CoListSchema<T, R> {
|
|
192
|
+
const copy = new CoListSchema<T, R>(this.element, this.coValueClass);
|
|
193
|
+
copy.resolveQuery = resolveQuery as R;
|
|
194
|
+
return copy;
|
|
195
|
+
}
|
|
139
196
|
}
|
|
140
197
|
|
|
141
198
|
export function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(
|
|
@@ -145,6 +202,7 @@ export function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(
|
|
|
145
202
|
collaborative: true as const,
|
|
146
203
|
builtin: "CoList" as const,
|
|
147
204
|
element,
|
|
205
|
+
resolveQuery: true as const,
|
|
148
206
|
};
|
|
149
207
|
}
|
|
150
208
|
|
|
@@ -160,5 +218,5 @@ export type CoListInstance<T extends AnyZodOrCoValueSchema> = CoList<
|
|
|
160
218
|
InstanceOrPrimitiveOfSchema<T>
|
|
161
219
|
>;
|
|
162
220
|
|
|
163
|
-
export type
|
|
164
|
-
CoList<
|
|
221
|
+
export type CoListInstanceCoValuesMaybeLoaded<T extends AnyZodOrCoValueSchema> =
|
|
222
|
+
CoList<InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded<T>>;
|