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
|
@@ -4,26 +4,38 @@ import {
|
|
|
4
4
|
BranchDefinition,
|
|
5
5
|
CoFeed,
|
|
6
6
|
Group,
|
|
7
|
+
MaybeLoaded,
|
|
7
8
|
RefsToResolve,
|
|
8
9
|
RefsToResolveStrict,
|
|
9
10
|
Resolved,
|
|
10
11
|
SubscribeListenerOptions,
|
|
11
12
|
coOptionalDefiner,
|
|
13
|
+
parseSubscribeRestArgs,
|
|
12
14
|
unstable_mergeBranchWithResolve,
|
|
13
15
|
} from "../../../internal.js";
|
|
14
16
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
|
15
17
|
import { CoFeedSchemaInit } from "../typeConverters/CoFieldSchemaInit.js";
|
|
16
18
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
|
17
|
-
import {
|
|
19
|
+
import { InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.js";
|
|
18
20
|
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
|
19
|
-
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
|
21
|
+
import { CoreCoValueSchema, CoreResolveQuery } from "./CoValueSchema.js";
|
|
22
|
+
import { withSchemaResolveQuery } from "../../schemaUtils.js";
|
|
20
23
|
|
|
21
|
-
export class CoFeedSchema<
|
|
22
|
-
|
|
24
|
+
export class CoFeedSchema<
|
|
25
|
+
T extends AnyZodOrCoValueSchema,
|
|
26
|
+
DefaultResolveQuery extends CoreResolveQuery = true,
|
|
27
|
+
> implements CoreCoFeedSchema<T>
|
|
23
28
|
{
|
|
24
29
|
collaborative = true as const;
|
|
25
30
|
builtin = "CoFeed" as const;
|
|
26
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Default resolve query to be used when loading instances of this schema.
|
|
34
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
resolveQuery: DefaultResolveQuery = true as DefaultResolveQuery;
|
|
38
|
+
|
|
27
39
|
constructor(
|
|
28
40
|
public element: T,
|
|
29
41
|
private coValueClass: typeof CoFeed,
|
|
@@ -45,52 +57,76 @@ export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
|
|
|
45
57
|
return this.coValueClass.create(init as any, options) as CoFeedInstance<T>;
|
|
46
58
|
}
|
|
47
59
|
|
|
48
|
-
load<
|
|
60
|
+
load<
|
|
61
|
+
const R extends RefsToResolve<
|
|
62
|
+
CoFeedInstanceCoValuesMaybeLoaded<T>
|
|
63
|
+
// @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
|
|
64
|
+
> = DefaultResolveQuery,
|
|
65
|
+
>(
|
|
49
66
|
id: string,
|
|
50
67
|
options?: {
|
|
51
|
-
resolve?: RefsToResolveStrict<
|
|
68
|
+
resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>;
|
|
52
69
|
loadAs?: Account | AnonymousJazzAgent;
|
|
53
70
|
unstable_branch?: BranchDefinition;
|
|
54
71
|
},
|
|
55
|
-
): Promise<Resolved<
|
|
72
|
+
): Promise<MaybeLoaded<Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>>> {
|
|
56
73
|
// @ts-expect-error
|
|
57
|
-
return this.coValueClass.load(
|
|
74
|
+
return this.coValueClass.load(
|
|
75
|
+
id,
|
|
76
|
+
// @ts-expect-error
|
|
77
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
78
|
+
);
|
|
58
79
|
}
|
|
59
80
|
|
|
60
81
|
unstable_merge<
|
|
61
|
-
const R extends RefsToResolve<
|
|
82
|
+
const R extends RefsToResolve<
|
|
83
|
+
CoFeedInstanceCoValuesMaybeLoaded<T>
|
|
84
|
+
// @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
|
|
85
|
+
> = DefaultResolveQuery,
|
|
62
86
|
>(
|
|
63
87
|
id: string,
|
|
64
|
-
options
|
|
65
|
-
resolve?: RefsToResolveStrict<
|
|
88
|
+
options: {
|
|
89
|
+
resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>;
|
|
66
90
|
loadAs?: Account | AnonymousJazzAgent;
|
|
67
91
|
branch: BranchDefinition;
|
|
68
92
|
},
|
|
69
93
|
): Promise<void> {
|
|
70
|
-
|
|
71
|
-
|
|
94
|
+
return unstable_mergeBranchWithResolve(
|
|
95
|
+
this.coValueClass,
|
|
96
|
+
id,
|
|
97
|
+
// @ts-expect-error
|
|
98
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
99
|
+
);
|
|
72
100
|
}
|
|
73
101
|
|
|
74
102
|
subscribe(
|
|
75
103
|
id: string,
|
|
76
104
|
listener: (
|
|
77
|
-
value: Resolved<
|
|
105
|
+
value: Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, true>,
|
|
78
106
|
unsubscribe: () => void,
|
|
79
107
|
) => void,
|
|
80
108
|
): () => void;
|
|
81
109
|
subscribe<
|
|
82
|
-
const R extends RefsToResolve<
|
|
110
|
+
const R extends RefsToResolve<
|
|
111
|
+
CoFeedInstanceCoValuesMaybeLoaded<T>
|
|
112
|
+
// @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
|
|
113
|
+
> = DefaultResolveQuery,
|
|
83
114
|
>(
|
|
84
115
|
id: string,
|
|
85
|
-
options: SubscribeListenerOptions<
|
|
116
|
+
options: SubscribeListenerOptions<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
|
|
86
117
|
listener: (
|
|
87
|
-
value: Resolved<
|
|
118
|
+
value: Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
|
|
88
119
|
unsubscribe: () => void,
|
|
89
120
|
) => void,
|
|
90
121
|
): () => void;
|
|
91
|
-
subscribe(
|
|
92
|
-
|
|
93
|
-
return this.coValueClass.subscribe(
|
|
122
|
+
subscribe(id: string, ...args: any) {
|
|
123
|
+
const { options, listener } = parseSubscribeRestArgs(args);
|
|
124
|
+
return this.coValueClass.subscribe(
|
|
125
|
+
id,
|
|
126
|
+
// @ts-expect-error
|
|
127
|
+
withSchemaResolveQuery(options, this.resolveQuery),
|
|
128
|
+
listener,
|
|
129
|
+
);
|
|
94
130
|
}
|
|
95
131
|
|
|
96
132
|
getCoValueClass(): typeof CoFeed {
|
|
@@ -100,6 +136,20 @@ export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
|
|
|
100
136
|
optional(): CoOptionalSchema<this> {
|
|
101
137
|
return coOptionalDefiner(this);
|
|
102
138
|
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Adds a default resolve query to be used when loading instances of this schema.
|
|
142
|
+
* This resolve query will be used when no resolve query is provided to the load method.
|
|
143
|
+
*/
|
|
144
|
+
resolved<
|
|
145
|
+
const R extends RefsToResolve<CoFeedInstanceCoValuesMaybeLoaded<T>> = true,
|
|
146
|
+
>(
|
|
147
|
+
resolveQuery: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
|
|
148
|
+
): CoFeedSchema<T, R> {
|
|
149
|
+
const copy = new CoFeedSchema<T, R>(this.element, this.coValueClass);
|
|
150
|
+
copy.resolveQuery = resolveQuery as R;
|
|
151
|
+
return copy;
|
|
152
|
+
}
|
|
103
153
|
}
|
|
104
154
|
|
|
105
155
|
export function createCoreCoFeedSchema<T extends AnyZodOrCoValueSchema>(
|
|
@@ -109,6 +159,7 @@ export function createCoreCoFeedSchema<T extends AnyZodOrCoValueSchema>(
|
|
|
109
159
|
collaborative: true as const,
|
|
110
160
|
builtin: "CoFeed" as const,
|
|
111
161
|
element,
|
|
162
|
+
resolveQuery: true as const,
|
|
112
163
|
};
|
|
113
164
|
}
|
|
114
165
|
|
|
@@ -124,5 +175,5 @@ export type CoFeedInstance<T extends AnyZodOrCoValueSchema> = CoFeed<
|
|
|
124
175
|
InstanceOrPrimitiveOfSchema<T>
|
|
125
176
|
>;
|
|
126
177
|
|
|
127
|
-
export type
|
|
128
|
-
CoFeed<
|
|
178
|
+
export type CoFeedInstanceCoValuesMaybeLoaded<T extends AnyZodOrCoValueSchema> =
|
|
179
|
+
CoFeed<InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded<T>>;
|
|
@@ -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>>;
|