jazz-tools 0.14.4 → 0.14.5
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/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +7 -0
- package/dist/{chunk-6QMAFVZO.js → chunk-52PJ4QZ3.js} +27 -17
- package/dist/chunk-52PJ4QZ3.js.map +1 -0
- package/dist/coValues/extensions/imageDef.d.ts +2 -1
- package/dist/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/implementation/zodSchema/coExport.d.ts +3 -0
- package/dist/implementation/zodSchema/coExport.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +11 -3
- package/dist/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/implementation/zodSchema/zodCo.d.ts +21 -27
- package/dist/implementation/zodSchema/zodCo.d.ts.map +1 -1
- package/dist/implementation/zodSchema/zodSchema.d.ts +1 -4
- package/dist/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/package.json +1 -1
- package/src/coValues/extensions/imageDef.ts +7 -1
- package/src/implementation/zodSchema/coExport.ts +13 -0
- package/src/implementation/zodSchema/schemaTypes/CoMapSchema.ts +20 -8
- package/src/implementation/zodSchema/zodCo.ts +9 -20
- package/src/implementation/zodSchema/zodSchema.ts +0 -5
- package/src/internal.ts +1 -0
- package/src/tests/coMap.test-d.ts +74 -1
- package/dist/chunk-6QMAFVZO.js.map +0 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
import z from "zod/v4";
|
2
|
-
import { Loaded } from "../../internal.js";
|
2
|
+
import { Loaded, co } from "../../internal.js";
|
3
3
|
/** @category Media */
|
4
4
|
export declare const ImageDefinition: import("../../internal.js").WithHelpers<import("../../internal.js").CoMapSchema<{
|
5
5
|
originalSize: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
@@ -16,4 +16,5 @@ export declare const ImageDefinition: import("../../internal.js").WithHelpers<im
|
|
16
16
|
stream: import("../coFeed.js").BinaryCoStream;
|
17
17
|
} | undefined;
|
18
18
|
}>;
|
19
|
+
export type ImageDefinition = co.loaded<typeof ImageDefinition>;
|
19
20
|
//# sourceMappingURL=imageDef.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"imageDef.d.ts","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,
|
1
|
+
{"version":3,"file":"imageDef.d.ts","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EACL,MAAM,EACN,EAAE,EAGH,MAAM,mBAAmB,CAAC;AAQ3B,sBAAsB;AACtB,eAAO,MAAM,eAAe;;;;kCAEd,MAAM;;;uEAAa,YACnB;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;;;;EA0CF,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export { Loaded as loaded } from "./zodSchema.js";
|
2
|
+
export { coMapDefiner as map, coRecordDefiner as record, coListDefiner as list, coFeedDefiner as feed, coPlainTextDefiner as plainText, coRichTextDefiner as richText, coFileStreamDefiner as fileStream, coImageDefiner as image, coAccountDefiner as account, coProfileDefiner as profile, } from "./zodCo.js";
|
3
|
+
//# sourceMappingURL=coExport.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"coExport.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/coExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,YAAY,IAAI,GAAG,EACnB,eAAe,IAAI,MAAM,EACzB,aAAa,IAAI,IAAI,EACrB,aAAa,IAAI,IAAI,EACrB,kBAAkB,IAAI,SAAS,EAC/B,iBAAiB,IAAI,QAAQ,EAC7B,mBAAmB,IAAI,UAAU,EACjC,cAAc,IAAI,KAAK,EACvB,gBAAgB,IAAI,OAAO,EAC3B,gBAAgB,IAAI,OAAO,GAC5B,MAAM,YAAY,CAAC"}
|
@@ -4,7 +4,7 @@ import { Account, CoMap, Group, RefsToResolve, RefsToResolveStrict, Resolved, Si
|
|
4
4
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
5
5
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
6
6
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
7
|
-
import {
|
7
|
+
import { WithHelpers } from "../zodSchema.js";
|
8
8
|
export type CoMapSchema<Shape extends z.core.$ZodLooseShape, Config extends z.core.$ZodObjectConfig = z.core.$ZodObjectConfig> = z.core.$ZodObject<Shape, Config> & z.$ZodTypeDiscriminable & {
|
9
9
|
collaborative: true;
|
10
10
|
create: (init: Simplify<CoMapInitZod<Shape>>, options?: {
|
@@ -24,10 +24,18 @@ export type CoMapSchema<Shape extends z.core.$ZodLooseShape, Config extends z.co
|
|
24
24
|
catchall<T extends z.core.$ZodType>(schema: T): CoMapSchema<Shape, z.core.$catchall<T>>;
|
25
25
|
withHelpers<S extends z.core.$ZodType, T extends object>(this: S, helpers: (Self: S) => T): WithHelpers<S, T>;
|
26
26
|
};
|
27
|
+
export type optionalKeys<Shape extends z.core.$ZodLooseShape> = {
|
28
|
+
[key in keyof Shape]: Shape[key] extends z.core.$ZodOptional<any> ? key : never;
|
29
|
+
}[keyof Shape];
|
30
|
+
export type requiredKeys<Shape extends z.core.$ZodLooseShape> = {
|
31
|
+
[key in keyof Shape]: Shape[key] extends z.core.$ZodOptional<any> ? never : key;
|
32
|
+
}[keyof Shape];
|
27
33
|
export type CoMapInitZod<Shape extends z.core.$ZodLooseShape> = {
|
28
|
-
[key in
|
34
|
+
[key in optionalKeys<Shape>]?: NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>>;
|
29
35
|
} & {
|
30
|
-
[key in
|
36
|
+
[key in requiredKeys<Shape>]: NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>>;
|
37
|
+
} & {
|
38
|
+
[key in keyof Shape]?: unknown;
|
31
39
|
};
|
32
40
|
export type AnyCoMapSchema<Shape extends z.core.$ZodLooseShape = z.core.$ZodLooseShape, Config extends z.core.$ZodObjectConfig = z.core.$ZodObjectConfig> = z.core.$ZodObject<Shape, Config> & {
|
33
41
|
collaborative: true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,2CAA2C,EAAE,MAAM,kEAAkE,CAAC;AAC/H,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"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"}
|
@@ -2,34 +2,28 @@ import z from "zod/v4";
|
|
2
2
|
import { AccountSchema, AnyCoMapSchema, CoFeedSchema, CoListSchema, CoMapSchema, CoProfileSchema, CoRecordSchema, FileStreamSchema, ImageDefinition, PlainTextSchema } from "../../internal.js";
|
3
3
|
import { RichTextSchema } from "./schemaTypes/RichTextSchema.js";
|
4
4
|
export declare const coMapDefiner: <Shape extends z.core.$ZodLooseShape>(shape: Shape) => CoMapSchema<Shape>;
|
5
|
-
export declare const
|
6
|
-
|
7
|
-
export declare const coRichTextDefiner: () => RichTextSchema;
|
8
|
-
export declare const co: {
|
9
|
-
map: <Shape extends z.core.$ZodLooseShape>(shape: Shape) => CoMapSchema<Shape>;
|
10
|
-
record: <K extends z.core.$ZodString<string>, V extends z.core.$ZodType>(_keyType: K, valueType: V) => CoRecordSchema<K, V>;
|
11
|
-
list: <T extends z.core.$ZodType>(element: T) => CoListSchema<T>;
|
12
|
-
feed: <T extends z.core.$ZodType>(element: T) => CoFeedSchema<T>;
|
13
|
-
plainText: () => PlainTextSchema;
|
14
|
-
richText: () => RichTextSchema;
|
15
|
-
fileStream: () => FileStreamSchema;
|
16
|
-
image: () => typeof ImageDefinition;
|
17
|
-
account: <Shape extends {
|
18
|
-
profile: AnyCoMapSchema<{
|
19
|
-
name: z.core.$ZodString<string>;
|
20
|
-
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
21
|
-
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
22
|
-
}>;
|
23
|
-
root: AnyCoMapSchema;
|
24
|
-
}>(shape?: Shape) => AccountSchema<Shape>;
|
25
|
-
profile: <Shape extends z.core.$ZodLooseShape = {
|
5
|
+
export declare const coAccountDefiner: <Shape extends {
|
6
|
+
profile: AnyCoMapSchema<{
|
26
7
|
name: z.core.$ZodString<string>;
|
27
|
-
inbox: z.core.$ZodOptional<z.core.$ZodString>;
|
28
|
-
inboxInvite: z.core.$ZodOptional<z.core.$ZodString>;
|
29
|
-
}>(shape?: Shape & {
|
30
|
-
name?: z.core.$ZodString<string>;
|
31
8
|
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
32
9
|
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
33
|
-
}
|
34
|
-
|
10
|
+
}>;
|
11
|
+
root: AnyCoMapSchema;
|
12
|
+
}>(shape?: Shape) => AccountSchema<Shape>;
|
13
|
+
export declare const coRecordDefiner: <K extends z.core.$ZodString<string>, V extends z.core.$ZodType>(_keyType: K, valueType: V) => CoRecordSchema<K, V>;
|
14
|
+
export declare const coListDefiner: <T extends z.core.$ZodType>(element: T) => CoListSchema<T>;
|
15
|
+
export declare const coProfileDefiner: <Shape extends z.core.$ZodLooseShape = {
|
16
|
+
name: z.core.$ZodString<string>;
|
17
|
+
inbox: z.core.$ZodOptional<z.core.$ZodString>;
|
18
|
+
inboxInvite: z.core.$ZodOptional<z.core.$ZodString>;
|
19
|
+
}>(shape?: Shape & {
|
20
|
+
name?: z.core.$ZodString<string>;
|
21
|
+
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
22
|
+
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
23
|
+
}) => CoProfileSchema<Shape>;
|
24
|
+
export declare const coFeedDefiner: <T extends z.core.$ZodType>(element: T) => CoFeedSchema<T>;
|
25
|
+
export declare const coFileStreamDefiner: () => FileStreamSchema;
|
26
|
+
export declare const coPlainTextDefiner: () => PlainTextSchema;
|
27
|
+
export declare const coRichTextDefiner: () => RichTextSchema;
|
28
|
+
export declare const coImageDefiner: () => typeof ImageDefinition;
|
35
29
|
//# sourceMappingURL=zodCo.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"zodCo.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodCo.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAIL,aAAa,EAEb,cAAc,EAEd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,eAAe,EACf,cAAc,EAId,gBAAgB,EAEhB,eAAe,EACf,eAAe,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,SACvD,KAAK,KACX,WAAW,CAAC,KAAK,CA2DnB,CAAC;
|
1
|
+
{"version":3,"file":"zodCo.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodCo.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAIL,aAAa,EAEb,cAAc,EAEd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,eAAe,EACf,cAAc,EAId,gBAAgB,EAEhB,eAAe,EACf,eAAe,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,SACvD,KAAK,KACX,WAAW,CAAC,KAAK,CA2DnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS;IACZ,OAAO,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtD,CAAC,CAAC;IACH,IAAI,EAAE,cAAc,CAAC;CACtB,UAEM,KAAK,KAQX,aAAa,CAAC,KAAK,CA0ErB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACnC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,YAEf,CAAC,aACA,CAAC,KACX,cAAc,CAAC,CAAC,EAAE,CAAC,CAKrB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,WAC5C,CAAC,KACT,YAAY,CAAC,CAAC,CAqChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc;UA1KxB,EAAG,IAAI,CAAC,UAAU;WAAkB,EAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UACrE;iBAAiB,EAAG,IAAI,CAAC,YAE9B,CAAC,EAAE,IAAI,CAAC,UAAU;WAyKZ,KAAK,GAAG;IACb,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;CACtD,KACA,eAAe,CAAC,KAAK,CAcvB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,WAC5C,CAAC,KACT,YAAY,CAAC,CAAC,CAgChB,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,gBAyBtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,eAmCrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,cA8BpC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,OAAO,eAExC,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { LocalNode, RawAccount } from "cojson";
|
2
2
|
import z from "zod/v4";
|
3
|
-
import { Account, AccountClass,
|
3
|
+
import { Account, AccountClass, CoValueClass, CoValueFromRaw, RefsToResolve, RefsToResolveStrict, Resolved, Simplify } from "../../internal.js";
|
4
4
|
import { AnyAccountSchema } from "./schemaTypes/AccountSchema.js";
|
5
5
|
import { AnyCoFeedSchema } from "./schemaTypes/CoFeedSchema.js";
|
6
6
|
import { AnyCoListSchema } from "./schemaTypes/CoListSchema.js";
|
@@ -11,10 +11,7 @@ import { PlainTextSchema } from "./schemaTypes/PlainTextSchema.js";
|
|
11
11
|
import { RichTextSchema } from "./schemaTypes/RichTextSchema.js";
|
12
12
|
import { InstanceOfSchema } from "./typeConverters/InstanceOfSchema.js";
|
13
13
|
import { InstanceOfSchemaCoValuesNullable } from "./typeConverters/InstanceOfSchemaCoValuesNullable.js";
|
14
|
-
import { InstanceOrPrimitiveOfSchema } from "./typeConverters/InstanceOrPrimitiveOfSchema.js";
|
15
|
-
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "./typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
16
14
|
export type WithHelpers<Base extends z.core.$ZodType, Helpers extends object> = Base & Helpers;
|
17
|
-
export type FullyOrPartiallyLoaded<S extends z.core.$ZodType | CoValueClass> = InstanceOrPrimitiveOfSchema<S> extends CoValue ? NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<S>> : InstanceOrPrimitiveOfSchema<S>;
|
18
15
|
export type ZodPrimitiveSchema = z.core.$ZodString | z.core.$ZodNumber | z.core.$ZodBoolean | z.core.$ZodNull | z.core.$ZodDate | z.core.$ZodLiteral;
|
19
16
|
export type AnyCoUnionSchema = z.core.$ZodDiscriminatedUnion<((z.core.$ZodType & {
|
20
17
|
collaborative: true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"zodSchema.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EACL,OAAO,EACP,YAAY,
|
1
|
+
{"version":3,"file":"zodSchema.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
@@ -20,7 +20,7 @@ import {
|
|
20
20
|
Profile,
|
21
21
|
SchemaUnion,
|
22
22
|
anySchemaToCoSchema,
|
23
|
-
|
23
|
+
coExport_exports,
|
24
24
|
coField,
|
25
25
|
createAnonymousJazzContext,
|
26
26
|
createCoValueObservable,
|
@@ -32,7 +32,7 @@ import {
|
|
32
32
|
randomSessionProvider,
|
33
33
|
subscribeToCoValue,
|
34
34
|
zodSchemaToCoSchema
|
35
|
-
} from "./chunk-
|
35
|
+
} from "./chunk-52PJ4QZ3.js";
|
36
36
|
|
37
37
|
// src/exports.ts
|
38
38
|
import { z } from "zod/v4";
|
@@ -346,7 +346,7 @@ export {
|
|
346
346
|
Profile,
|
347
347
|
SchemaUnion,
|
348
348
|
anySchemaToCoSchema,
|
349
|
-
co,
|
349
|
+
coExport_exports as co,
|
350
350
|
coField,
|
351
351
|
cojsonInternals3 as cojsonInternals,
|
352
352
|
consumeInviteLink,
|
package/dist/internal.d.ts
CHANGED
@@ -27,6 +27,7 @@ export * from "./implementation/createContext.js";
|
|
27
27
|
export * from "./types.js";
|
28
28
|
export * from "./implementation/zodSchema/zodSchema.js";
|
29
29
|
export * from "./implementation/zodSchema/zodCo.js";
|
30
|
+
export * as co from "./implementation/zodSchema/coExport.js";
|
30
31
|
export * from "./implementation/zodSchema/schemaTypes/CoMapSchema.js";
|
31
32
|
export * from "./implementation/zodSchema/schemaTypes/CoRecordSchema.js";
|
32
33
|
export * from "./implementation/zodSchema/schemaTypes/CoListSchema.js";
|
package/dist/internal.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mCAAmC,CAAC;AAElD,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AACvE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0EAA0E,CAAC;AACzF,cAAc,0FAA0F,CAAC;AACzG,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+EAA+E,CAAC;AAC9F,cAAc,qEAAqE,CAAC;AACpF,cAAc,sEAAsE,CAAC;AACrF,cAAc,mCAAmC,CAAC;AAElD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,wCAAwC,CAAC"}
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mCAAmC,CAAC;AAElD,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AACvE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0EAA0E,CAAC;AACzF,cAAc,0FAA0F,CAAC;AACzG,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+EAA+E,CAAC;AAC9F,cAAc,qEAAqE,CAAC;AACpF,cAAc,sEAAsE,CAAC;AACrF,cAAc,mCAAmC,CAAC;AAElD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,wCAAwC,CAAC"}
|
package/dist/testing.js
CHANGED
package/package.json
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
import z from "zod/v4";
|
2
|
-
import {
|
2
|
+
import {
|
3
|
+
Loaded,
|
4
|
+
co,
|
5
|
+
coFileStreamDefiner,
|
6
|
+
coMapDefiner,
|
7
|
+
} from "../../internal.js";
|
3
8
|
|
4
9
|
// avoiding circularity by using the standalone definers instead of `co`
|
5
10
|
const ImageDefinitionBase = coMapDefiner({
|
@@ -57,3 +62,4 @@ export const ImageDefinition = ImageDefinitionBase.withHelpers((Self) => ({
|
|
57
62
|
);
|
58
63
|
},
|
59
64
|
}));
|
65
|
+
export type ImageDefinition = co.loaded<typeof ImageDefinition>;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export { Loaded as loaded } from "./zodSchema.js";
|
2
|
+
export {
|
3
|
+
coMapDefiner as map,
|
4
|
+
coRecordDefiner as record,
|
5
|
+
coListDefiner as list,
|
6
|
+
coFeedDefiner as feed,
|
7
|
+
coPlainTextDefiner as plainText,
|
8
|
+
coRichTextDefiner as richText,
|
9
|
+
coFileStreamDefiner as fileStream,
|
10
|
+
coImageDefiner as image,
|
11
|
+
coAccountDefiner as account,
|
12
|
+
coProfileDefiner as profile,
|
13
|
+
} from "./zodCo.js";
|
@@ -13,7 +13,7 @@ import {
|
|
13
13
|
import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
|
14
14
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
15
15
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
16
|
-
import {
|
16
|
+
import { WithHelpers } from "../zodSchema.js";
|
17
17
|
|
18
18
|
export type CoMapSchema<
|
19
19
|
Shape extends z.core.$ZodLooseShape,
|
@@ -98,15 +98,27 @@ export type CoMapSchema<
|
|
98
98
|
): WithHelpers<S, T>;
|
99
99
|
};
|
100
100
|
|
101
|
-
export type
|
102
|
-
[key in keyof Shape
|
101
|
+
export type optionalKeys<Shape extends z.core.$ZodLooseShape> = {
|
102
|
+
[key in keyof Shape]: Shape[key] extends z.core.$ZodOptional<any>
|
103
103
|
? key
|
104
|
-
: never
|
105
|
-
}
|
106
|
-
|
104
|
+
: never;
|
105
|
+
}[keyof Shape];
|
106
|
+
|
107
|
+
export type requiredKeys<Shape extends z.core.$ZodLooseShape> = {
|
108
|
+
[key in keyof Shape]: Shape[key] extends z.core.$ZodOptional<any>
|
107
109
|
? never
|
108
|
-
: key
|
109
|
-
};
|
110
|
+
: key;
|
111
|
+
}[keyof Shape];
|
112
|
+
|
113
|
+
export type CoMapInitZod<Shape extends z.core.$ZodLooseShape> = {
|
114
|
+
[key in optionalKeys<Shape>]?: NonNullable<
|
115
|
+
InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>
|
116
|
+
>;
|
117
|
+
} & {
|
118
|
+
[key in requiredKeys<Shape>]: NonNullable<
|
119
|
+
InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>
|
120
|
+
>;
|
121
|
+
} & { [key in keyof Shape]?: unknown };
|
110
122
|
|
111
123
|
// less precise verion to avoid circularity issues and allow matching against
|
112
124
|
export type AnyCoMapSchema<
|
@@ -89,7 +89,7 @@ export const coMapDefiner = <Shape extends z.core.$ZodLooseShape>(
|
|
89
89
|
return coMapSchema as unknown as CoMapSchema<Shape>;
|
90
90
|
};
|
91
91
|
|
92
|
-
const coAccountDefiner = <
|
92
|
+
export const coAccountDefiner = <
|
93
93
|
Shape extends {
|
94
94
|
profile: AnyCoMapSchema<{
|
95
95
|
name: z.core.$ZodString<string>;
|
@@ -100,12 +100,12 @@ const coAccountDefiner = <
|
|
100
100
|
},
|
101
101
|
>(
|
102
102
|
shape: Shape = {
|
103
|
-
profile:
|
103
|
+
profile: coMapDefiner({
|
104
104
|
name: z.string(),
|
105
105
|
inbox: z.optional(z.string()),
|
106
106
|
inboxInvite: z.optional(z.string()),
|
107
107
|
}),
|
108
|
-
root:
|
108
|
+
root: coMapDefiner({}),
|
109
109
|
} as unknown as Shape,
|
110
110
|
): AccountSchema<Shape> => {
|
111
111
|
const objectSchema = z.object(shape).meta({
|
@@ -183,7 +183,7 @@ const coAccountDefiner = <
|
|
183
183
|
return accountSchema as unknown as AccountSchema<Shape>;
|
184
184
|
};
|
185
185
|
|
186
|
-
const coRecordDefiner = <
|
186
|
+
export const coRecordDefiner = <
|
187
187
|
K extends z.core.$ZodString<string>,
|
188
188
|
V extends z.core.$ZodType,
|
189
189
|
>(
|
@@ -196,7 +196,7 @@ const coRecordDefiner = <
|
|
196
196
|
>;
|
197
197
|
};
|
198
198
|
|
199
|
-
const coListDefiner = <T extends z.core.$ZodType>(
|
199
|
+
export const coListDefiner = <T extends z.core.$ZodType>(
|
200
200
|
element: T,
|
201
201
|
): CoListSchema<T> => {
|
202
202
|
const arraySchema = z.array(element).meta({
|
@@ -237,7 +237,7 @@ const coListDefiner = <T extends z.core.$ZodType>(
|
|
237
237
|
return coListSchema;
|
238
238
|
};
|
239
239
|
|
240
|
-
const coProfileDefiner = <
|
240
|
+
export const coProfileDefiner = <
|
241
241
|
Shape extends z.core.$ZodLooseShape = Simplify<DefaultProfileShape>,
|
242
242
|
>(
|
243
243
|
shape: Shape & {
|
@@ -261,7 +261,7 @@ const coProfileDefiner = <
|
|
261
261
|
} as CoProfileSchema<Shape>;
|
262
262
|
};
|
263
263
|
|
264
|
-
const coFeedDefiner = <T extends z.core.$ZodType>(
|
264
|
+
export const coFeedDefiner = <T extends z.core.$ZodType>(
|
265
265
|
element: T,
|
266
266
|
): CoFeedSchema<T> => {
|
267
267
|
const placeholderSchema = z.instanceof(CoFeed);
|
@@ -393,17 +393,6 @@ export const coRichTextDefiner = (): RichTextSchema => {
|
|
393
393
|
return richTextSchema;
|
394
394
|
};
|
395
395
|
|
396
|
-
export const
|
397
|
-
|
398
|
-
record: coRecordDefiner,
|
399
|
-
list: coListDefiner,
|
400
|
-
feed: coFeedDefiner,
|
401
|
-
plainText: coPlainTextDefiner,
|
402
|
-
richText: coRichTextDefiner,
|
403
|
-
fileStream: coFileStreamDefiner,
|
404
|
-
image: (): typeof ImageDefinition => {
|
405
|
-
return ImageDefinition;
|
406
|
-
},
|
407
|
-
account: coAccountDefiner,
|
408
|
-
profile: coProfileDefiner,
|
396
|
+
export const coImageDefiner = (): typeof ImageDefinition => {
|
397
|
+
return ImageDefinition;
|
409
398
|
};
|
@@ -31,11 +31,6 @@ export type WithHelpers<
|
|
31
31
|
Helpers extends object,
|
32
32
|
> = Base & Helpers;
|
33
33
|
|
34
|
-
export type FullyOrPartiallyLoaded<S extends z.core.$ZodType | CoValueClass> =
|
35
|
-
InstanceOrPrimitiveOfSchema<S> extends CoValue
|
36
|
-
? NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<S>>
|
37
|
-
: InstanceOrPrimitiveOfSchema<S>;
|
38
|
-
|
39
34
|
export type ZodPrimitiveSchema =
|
40
35
|
| z.core.$ZodString
|
41
36
|
| z.core.$ZodNumber
|
package/src/internal.ts
CHANGED
@@ -31,6 +31,7 @@ export * from "./implementation/createContext.js";
|
|
31
31
|
export * from "./types.js";
|
32
32
|
export * from "./implementation/zodSchema/zodSchema.js";
|
33
33
|
export * from "./implementation/zodSchema/zodCo.js";
|
34
|
+
export * as co from "./implementation/zodSchema/coExport.js";
|
34
35
|
export * from "./implementation/zodSchema/schemaTypes/CoMapSchema.js";
|
35
36
|
export * from "./implementation/zodSchema/schemaTypes/CoRecordSchema.js";
|
36
37
|
export * from "./implementation/zodSchema/schemaTypes/CoListSchema.js";
|
@@ -1,7 +1,13 @@
|
|
1
1
|
import { assert, describe, expectTypeOf, test } from "vitest";
|
2
2
|
import { Group, co, z } from "../exports.js";
|
3
3
|
import { Account } from "../index.js";
|
4
|
-
import {
|
4
|
+
import {
|
5
|
+
CoListSchema,
|
6
|
+
CoMapInitZod,
|
7
|
+
Loaded,
|
8
|
+
optionalKeys,
|
9
|
+
requiredKeys,
|
10
|
+
} from "../internal.js";
|
5
11
|
|
6
12
|
describe("CoMap", async () => {
|
7
13
|
describe("init", () => {
|
@@ -116,6 +122,73 @@ describe("CoMap", async () => {
|
|
116
122
|
matches(person);
|
117
123
|
});
|
118
124
|
|
125
|
+
test("CoMap create with partially loaded, reference and optional", () => {
|
126
|
+
const Dog = co.map({
|
127
|
+
name: z.string(),
|
128
|
+
breed: co.map({ type: z.literal("labrador"), value: z.string() }),
|
129
|
+
});
|
130
|
+
type Dog = co.loaded<typeof Dog>;
|
131
|
+
|
132
|
+
const Person = co.map({
|
133
|
+
name: z.string(),
|
134
|
+
age: z.number(),
|
135
|
+
dog: Dog.optional(),
|
136
|
+
});
|
137
|
+
|
138
|
+
const dog = Dog.create({
|
139
|
+
name: "Rex",
|
140
|
+
breed: Dog.def.shape.breed.create({
|
141
|
+
type: "labrador",
|
142
|
+
value: "Labrador",
|
143
|
+
}),
|
144
|
+
}) as Dog;
|
145
|
+
|
146
|
+
type R = requiredKeys<typeof Person.def.shape>;
|
147
|
+
type O = optionalKeys<typeof Person.def.shape>;
|
148
|
+
type I = CoMapInitZod<typeof Person.def.shape>;
|
149
|
+
|
150
|
+
const person = Person.create({
|
151
|
+
name: "John",
|
152
|
+
age: 20,
|
153
|
+
dog,
|
154
|
+
});
|
155
|
+
|
156
|
+
type ExpectedType = {
|
157
|
+
name: string;
|
158
|
+
age: number;
|
159
|
+
dog: Loaded<typeof Dog> | undefined;
|
160
|
+
};
|
161
|
+
|
162
|
+
function matches(value: ExpectedType) {
|
163
|
+
return value;
|
164
|
+
}
|
165
|
+
|
166
|
+
matches(person);
|
167
|
+
});
|
168
|
+
|
169
|
+
test("Comap with recursive optional reference", () => {
|
170
|
+
const Recursive = co.map({
|
171
|
+
get child(): z.ZodOptional<typeof Recursive> {
|
172
|
+
return z.optional(Recursive);
|
173
|
+
},
|
174
|
+
});
|
175
|
+
|
176
|
+
const child: Loaded<typeof Recursive> = Recursive.create({});
|
177
|
+
const parent = Recursive.create({
|
178
|
+
child: child,
|
179
|
+
});
|
180
|
+
|
181
|
+
type ExpectedType = {
|
182
|
+
child: Loaded<typeof Recursive> | undefined;
|
183
|
+
};
|
184
|
+
|
185
|
+
function matches(value: ExpectedType) {
|
186
|
+
return value;
|
187
|
+
}
|
188
|
+
|
189
|
+
matches(parent);
|
190
|
+
});
|
191
|
+
|
119
192
|
test("CoMap with self reference", () => {
|
120
193
|
const Person = co.map({
|
121
194
|
name: z.string(),
|