jazz-tools 0.15.16 → 0.16.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 +2 -2
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/jazz.class.svelte.js +5 -5
- package/.svelte-kit/__package__/jazz.svelte.d.ts +2 -2
- package/.svelte-kit/__package__/jazz.svelte.d.ts.map +1 -1
- package/.turbo/turbo-build.log +44 -44
- package/CHANGELOG.md +34 -0
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser-media-images/index.d.ts +3 -1
- package/dist/browser-media-images/index.d.ts.map +1 -1
- package/dist/browser-media-images/index.js.map +1 -1
- package/dist/{chunk-OSVAAVWQ.js → chunk-CL3ROOZM.js} +598 -598
- package/dist/chunk-CL3ROOZM.js.map +1 -0
- package/dist/index.js +8 -10
- package/dist/index.js.map +1 -1
- package/dist/react/hooks.d.ts +2 -2
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-core/hooks.d.ts +2 -2
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +3 -3
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-native-core/hooks.d.ts +2 -2
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/svelte/jazz.class.svelte.d.ts +2 -2
- package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.js +5 -5
- package/dist/svelte/jazz.svelte.d.ts +2 -2
- package/dist/svelte/jazz.svelte.d.ts.map +1 -1
- package/dist/testing.js +3 -3
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +3 -13
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/account.d.ts +2 -2
- package/dist/tools/coValues/account.d.ts.map +1 -1
- package/dist/tools/coValues/coFeed.d.ts.map +1 -1
- package/dist/tools/coValues/coList.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +8 -23
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/deepLoading.d.ts +4 -1
- package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts +4 -7
- package/dist/tools/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts +2 -2
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/coValues/interfaces.d.ts +2 -17
- package/dist/tools/coValues/interfaces.d.ts.map +1 -1
- package/dist/tools/coValues/request.d.ts +3 -3
- package/dist/tools/coValues/request.d.ts.map +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +5 -1
- package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
- package/dist/tools/exports.d.ts +3 -3
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/implementation/createContext.d.ts +4 -4
- package/dist/tools/implementation/createContext.d.ts.map +1 -1
- package/dist/tools/implementation/invites.d.ts +2 -2
- package/dist/tools/implementation/invites.d.ts.map +1 -1
- package/dist/tools/implementation/schemaUtils.d.ts +8 -0
- package/dist/tools/implementation/schemaUtils.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/coExport.d.ts +11 -1
- package/dist/tools/implementation/zodSchema/coExport.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts +22 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.d.ts +10 -0
- package/dist/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +11 -11
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +34 -24
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +17 -14
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +24 -17
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +31 -34
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts +20 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +19 -12
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts +18 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +14 -9
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/CoFieldInit.d.ts +10 -0
- package/dist/tools/implementation/zodSchema/typeConverters/CoFieldInit.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +15 -13
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +12 -15
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +17 -20
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +17 -20
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts +3 -5
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodCo.d.ts +10 -8
- package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodReExport.d.ts +4 -8
- package/dist/tools/implementation/zodSchema/zodReExport.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts +21 -30
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/dist/tools/internal.d.ts +3 -2
- package/dist/tools/internal.d.ts.map +1 -1
- package/dist/tools/lib/utilityTypes.d.ts +18 -0
- package/dist/tools/lib/utilityTypes.d.ts.map +1 -0
- package/dist/tools/subscribe/utils.d.ts.map +1 -1
- package/dist/tools/testing.d.ts +2 -2
- package/dist/tools/testing.d.ts.map +1 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +2 -2
- package/dist/worker/index.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/index.ts +2 -4
- package/src/browser-media-images/index.ts +1 -1
- package/src/react/hooks.tsx +2 -2
- package/src/react-core/hooks.ts +6 -6
- package/src/react-core/tests/useAccount.test.ts +2 -2
- package/src/react-core/tests/useCoState.test.ts +3 -2
- package/src/react-native-core/hooks.tsx +2 -2
- package/src/svelte/jazz.class.svelte.ts +10 -7
- package/src/svelte/jazz.svelte.ts +2 -2
- package/src/tools/coValues/CoValueBase.ts +8 -20
- package/src/tools/coValues/account.ts +18 -14
- package/src/tools/coValues/coFeed.ts +0 -4
- package/src/tools/coValues/coList.ts +7 -9
- package/src/tools/coValues/coMap.ts +5 -13
- package/src/tools/coValues/coPlainText.ts +4 -4
- package/src/tools/coValues/deepLoading.ts +4 -1
- package/src/tools/coValues/extensions/imageDef.ts +3 -3
- package/src/tools/coValues/inbox.ts +4 -4
- package/src/tools/coValues/interfaces.ts +4 -71
- package/src/tools/coValues/request.ts +17 -15
- package/src/tools/coValues/schemaUnion.ts +8 -4
- package/src/tools/exports.ts +3 -14
- package/src/tools/implementation/createContext.ts +9 -9
- package/src/tools/implementation/invites.ts +2 -2
- package/src/tools/implementation/schemaUtils.ts +18 -0
- package/src/tools/implementation/zodSchema/coExport.ts +14 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.ts +156 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/schemaFieldToCoFieldDef.ts +149 -0
- package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +36 -17
- package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +101 -52
- package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +54 -50
- package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +54 -46
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +190 -161
- package/src/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.ts +29 -27
- package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +28 -18
- package/src/tools/implementation/zodSchema/schemaTypes/CoValueSchema.ts +18 -0
- package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +45 -36
- package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +47 -35
- package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +43 -30
- package/src/tools/implementation/zodSchema/typeConverters/CoFieldInit.ts +13 -0
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +30 -26
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.ts +31 -28
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +89 -80
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts +95 -84
- package/src/tools/implementation/zodSchema/unionUtils.ts +47 -51
- package/src/tools/implementation/zodSchema/zodCo.ts +43 -76
- package/src/tools/implementation/zodSchema/zodReExport.ts +44 -24
- package/src/tools/implementation/zodSchema/zodSchema.ts +65 -103
- package/src/tools/internal.ts +3 -2
- package/src/tools/lib/utilityTypes.ts +16 -0
- package/src/tools/subscribe/utils.ts +4 -2
- package/src/tools/testing.ts +4 -4
- package/src/tools/tests/ContextManager.test.ts +8 -9
- package/src/tools/tests/account.test.ts +65 -3
- package/src/tools/tests/coDiscriminatedUnion.test-d.ts +38 -0
- package/src/tools/tests/coDiscriminatedUnion.test.ts +219 -1
- package/src/tools/tests/coFeed.test-d.ts +4 -3
- package/src/tools/tests/coFeed.test.ts +8 -6
- package/src/tools/tests/coList.test-d.ts +32 -3
- package/src/tools/tests/coList.test.ts +30 -2
- package/src/tools/tests/coMap.record.test-d.ts +31 -3
- package/src/tools/tests/coMap.record.test.ts +18 -9
- package/src/tools/tests/coMap.test-d.ts +36 -8
- package/src/tools/tests/coMap.test.ts +87 -6
- package/src/tools/tests/coOptional.test.ts +63 -1
- package/src/tools/tests/createContext.test.ts +7 -9
- package/src/tools/tests/deepLoading.test.ts +4 -10
- package/src/tools/tests/exportImport.test.ts +2 -2
- package/src/tools/tests/groupsAndAccounts.test.ts +5 -4
- package/src/tools/tests/inbox.test.ts +3 -2
- package/src/tools/tests/load.test.ts +3 -29
- package/src/tools/tests/schemaUnion.test.ts +2 -2
- package/src/tools/tests/subscribe.test.ts +22 -114
- package/src/tools/tests/testing.test.ts +6 -6
- package/src/tools/tests/zod.test-d.ts +27 -0
- package/src/tools/tests/zod.test.ts +88 -45
- package/src/worker/index.ts +0 -1
- package/dist/chunk-OSVAAVWQ.js.map +0 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts +0 -12
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts +0 -9
- package/dist/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts.map +0 -1
- package/src/tools/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts +0 -172
- package/src/tools/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.ts +0 -218
@@ -1,36 +1,43 @@
|
|
1
1
|
import {
|
2
2
|
Account,
|
3
|
+
AnyZodOrCoValueSchema,
|
3
4
|
CoFeed,
|
4
5
|
Group,
|
5
6
|
RefsToResolve,
|
6
7
|
RefsToResolveStrict,
|
7
8
|
Resolved,
|
9
|
+
Simplify,
|
8
10
|
SubscribeListenerOptions,
|
11
|
+
coOptionalDefiner,
|
9
12
|
} from "../../../internal.js";
|
10
13
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
11
|
-
import {
|
14
|
+
import { CoFieldInit } from "../typeConverters/CoFieldInit.js";
|
12
15
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
13
16
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
14
|
-
import {
|
17
|
+
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
18
|
+
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
15
19
|
|
16
|
-
type CoFeedInit<T extends
|
17
|
-
T
|
18
|
-
? InstanceOrPrimitiveOfSchemaCoValuesNullable<T>
|
19
|
-
: NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>
|
20
|
+
type CoFeedInit<T extends AnyZodOrCoValueSchema> = Simplify<
|
21
|
+
Array<CoFieldInit<T>>
|
20
22
|
>;
|
21
23
|
|
22
|
-
export
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
|
25
|
+
implements CoreCoFeedSchema<T>
|
26
|
+
{
|
27
|
+
collaborative = true as const;
|
28
|
+
builtin = "CoFeed" as const;
|
29
|
+
|
30
|
+
constructor(
|
31
|
+
public element: T,
|
32
|
+
private coValueClass: typeof CoFeed,
|
33
|
+
) {}
|
29
34
|
|
30
35
|
create(
|
31
36
|
init: CoFeedInit<T>,
|
32
37
|
options?: { owner: Account | Group } | Account | Group,
|
33
|
-
): CoFeedInstance<T
|
38
|
+
): CoFeedInstance<T> {
|
39
|
+
return this.coValueClass.create(init, options) as CoFeedInstance<T>;
|
40
|
+
}
|
34
41
|
|
35
42
|
load<const R extends RefsToResolve<CoFeedInstanceCoValuesNullable<T>> = true>(
|
36
43
|
id: string,
|
@@ -38,7 +45,10 @@ export type CoFeedSchema<T extends z.core.$ZodType> = z.core.$ZodCustom<
|
|
38
45
|
resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesNullable<T>, R>;
|
39
46
|
loadAs?: Account | AnonymousJazzAgent;
|
40
47
|
},
|
41
|
-
): Promise<Resolved<CoFeedInstanceCoValuesNullable<T>, R> | null
|
48
|
+
): Promise<Resolved<CoFeedInstanceCoValuesNullable<T>, R> | null> {
|
49
|
+
// @ts-expect-error
|
50
|
+
return this.coValueClass.load(id, options);
|
51
|
+
}
|
42
52
|
|
43
53
|
subscribe(
|
44
54
|
id: string,
|
@@ -57,47 +67,41 @@ export type CoFeedSchema<T extends z.core.$ZodType> = z.core.$ZodCustom<
|
|
57
67
|
unsubscribe: () => void,
|
58
68
|
) => void,
|
59
69
|
): () => void;
|
70
|
+
subscribe(...args: [any, ...any[]]) {
|
71
|
+
// @ts-expect-error
|
72
|
+
return this.coValueClass.subscribe(...args);
|
73
|
+
}
|
60
74
|
|
61
|
-
getCoValueClass
|
62
|
-
|
75
|
+
getCoValueClass(): typeof CoFeed {
|
76
|
+
return this.coValueClass;
|
77
|
+
}
|
63
78
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
): CoFeedSchema<T> {
|
68
|
-
return Object.assign(schema, {
|
69
|
-
create: (...args: [any, ...any[]]) => {
|
70
|
-
return coValueClass.create(...args);
|
71
|
-
},
|
72
|
-
load: (...args: [any, ...any[]]) => {
|
73
|
-
// @ts-expect-error
|
74
|
-
return coValueClass.load(...args);
|
75
|
-
},
|
76
|
-
subscribe: (...args: [any, ...any[]]) => {
|
77
|
-
// @ts-expect-error
|
78
|
-
return coValueClass.subscribe(...args);
|
79
|
-
},
|
80
|
-
withHelpers: (helpers: (Self: z.core.$ZodType) => object) => {
|
81
|
-
return Object.assign(schema, helpers(schema));
|
82
|
-
},
|
83
|
-
getCoValueClass: () => {
|
84
|
-
return coValueClass;
|
85
|
-
},
|
86
|
-
}) as unknown as CoFeedSchema<T>;
|
79
|
+
optional(): CoOptionalSchema<this> {
|
80
|
+
return coOptionalDefiner(this);
|
81
|
+
}
|
87
82
|
}
|
88
83
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
84
|
+
export function createCoreCoFeedSchema<T extends AnyZodOrCoValueSchema>(
|
85
|
+
element: T,
|
86
|
+
): CoreCoFeedSchema<T> {
|
87
|
+
return {
|
88
|
+
collaborative: true as const,
|
89
|
+
builtin: "CoFeed" as const,
|
90
|
+
element,
|
95
91
|
};
|
92
|
+
}
|
93
|
+
|
94
|
+
// less precise version to avoid circularity issues and allow matching against
|
95
|
+
export interface CoreCoFeedSchema<
|
96
|
+
T extends AnyZodOrCoValueSchema = AnyZodOrCoValueSchema,
|
97
|
+
> extends CoreCoValueSchema {
|
98
|
+
builtin: "CoFeed";
|
99
|
+
element: T;
|
100
|
+
}
|
96
101
|
|
97
|
-
export type CoFeedInstance<T extends
|
102
|
+
export type CoFeedInstance<T extends AnyZodOrCoValueSchema> = CoFeed<
|
98
103
|
InstanceOrPrimitiveOfSchema<T>
|
99
104
|
>;
|
100
105
|
|
101
|
-
export type CoFeedInstanceCoValuesNullable<T extends
|
102
|
-
InstanceOrPrimitiveOfSchemaCoValuesNullable<T
|
103
|
-
>;
|
106
|
+
export type CoFeedInstanceCoValuesNullable<T extends AnyZodOrCoValueSchema> =
|
107
|
+
CoFeed<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>;
|
@@ -5,25 +5,39 @@ import {
|
|
5
5
|
RefsToResolve,
|
6
6
|
RefsToResolveStrict,
|
7
7
|
Resolved,
|
8
|
+
Simplify,
|
8
9
|
SubscribeListenerOptions,
|
10
|
+
coOptionalDefiner,
|
9
11
|
} from "../../../internal.js";
|
10
12
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
13
|
+
import { CoFieldInit } from "../typeConverters/CoFieldInit.js";
|
11
14
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
12
15
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
13
|
-
import {
|
14
|
-
import {
|
16
|
+
import { AnyZodOrCoValueSchema } from "../zodSchema.js";
|
17
|
+
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
18
|
+
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
15
19
|
|
16
|
-
type CoListInit<T extends
|
17
|
-
T
|
18
|
-
? InstanceOrPrimitiveOfSchemaCoValuesNullable<T>
|
19
|
-
: NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>
|
20
|
+
type CoListInit<T extends AnyZodOrCoValueSchema> = Simplify<
|
21
|
+
Array<CoFieldInit<T>>
|
20
22
|
>;
|
21
23
|
|
22
|
-
export
|
23
|
-
|
24
|
+
export class CoListSchema<T extends AnyZodOrCoValueSchema>
|
25
|
+
implements CoreCoListSchema<T>
|
26
|
+
{
|
27
|
+
collaborative = true as const;
|
28
|
+
builtin = "CoList" as const;
|
29
|
+
|
30
|
+
constructor(
|
31
|
+
public element: T,
|
32
|
+
private coValueClass: typeof CoList,
|
33
|
+
) {}
|
34
|
+
|
35
|
+
create(
|
24
36
|
items: CoListInit<T>,
|
25
37
|
options?: { owner: Account | Group } | Account | Group,
|
26
|
-
)
|
38
|
+
): CoListInstance<T> {
|
39
|
+
return this.coValueClass.create(items, options) as CoListInstance<T>;
|
40
|
+
}
|
27
41
|
|
28
42
|
load<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(
|
29
43
|
id: string,
|
@@ -31,7 +45,10 @@ export type CoListSchema<T extends z.core.$ZodType> = AnyCoListSchema<T> & {
|
|
31
45
|
resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
|
32
46
|
loadAs?: Account | AnonymousJazzAgent;
|
33
47
|
},
|
34
|
-
): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null
|
48
|
+
): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
|
49
|
+
// @ts-expect-error
|
50
|
+
return this.coValueClass.load(id, options);
|
51
|
+
}
|
35
52
|
|
36
53
|
subscribe<
|
37
54
|
const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
|
@@ -42,49 +59,40 @@ export type CoListSchema<T extends z.core.$ZodType> = AnyCoListSchema<T> & {
|
|
42
59
|
value: Resolved<CoListInstanceCoValuesNullable<T>, R>,
|
43
60
|
unsubscribe: () => void,
|
44
61
|
) => void,
|
45
|
-
): () => void
|
62
|
+
): () => void {
|
63
|
+
return this.coValueClass.subscribe(id, options, listener);
|
64
|
+
}
|
46
65
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
helpers: (Self: S) => T,
|
51
|
-
): WithHelpers<S, T>;
|
66
|
+
getCoValueClass(): typeof CoList {
|
67
|
+
return this.coValueClass;
|
68
|
+
}
|
52
69
|
|
53
|
-
|
54
|
-
|
70
|
+
optional(): CoOptionalSchema<this> {
|
71
|
+
return coOptionalDefiner(this);
|
72
|
+
}
|
73
|
+
}
|
55
74
|
|
56
|
-
export function
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
load: (...args: [any, ...any[]]) => {
|
65
|
-
return coValueClass.load(...args);
|
66
|
-
},
|
67
|
-
subscribe: (...args: [any, ...any[]]) => {
|
68
|
-
// @ts-expect-error
|
69
|
-
return coValueClass.subscribe(...args);
|
70
|
-
},
|
71
|
-
withHelpers: (helpers: (Self: z.core.$ZodType) => object) => {
|
72
|
-
return Object.assign(schema, helpers(schema));
|
73
|
-
},
|
74
|
-
getCoValueClass: () => {
|
75
|
-
return coValueClass;
|
76
|
-
},
|
77
|
-
}) as unknown as CoListSchema<T>;
|
75
|
+
export function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(
|
76
|
+
element: T,
|
77
|
+
): CoreCoListSchema<T> {
|
78
|
+
return {
|
79
|
+
collaborative: true as const,
|
80
|
+
builtin: "CoList" as const,
|
81
|
+
element,
|
82
|
+
};
|
78
83
|
}
|
79
84
|
|
80
85
|
// less precise version to avoid circularity issues and allow matching against
|
81
|
-
export
|
82
|
-
|
86
|
+
export interface CoreCoListSchema<
|
87
|
+
T extends AnyZodOrCoValueSchema = AnyZodOrCoValueSchema,
|
88
|
+
> extends CoreCoValueSchema {
|
89
|
+
builtin: "CoList";
|
90
|
+
element: T;
|
91
|
+
}
|
83
92
|
|
84
|
-
export type CoListInstance<T extends
|
93
|
+
export type CoListInstance<T extends AnyZodOrCoValueSchema> = CoList<
|
85
94
|
InstanceOrPrimitiveOfSchema<T>
|
86
95
|
>;
|
87
96
|
|
88
|
-
export type CoListInstanceCoValuesNullable<T extends
|
89
|
-
InstanceOrPrimitiveOfSchemaCoValuesNullable<T
|
90
|
-
>;
|
97
|
+
export type CoListInstanceCoValuesNullable<T extends AnyZodOrCoValueSchema> =
|
98
|
+
CoList<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>;
|