jazz-tools 0.16.3 → 0.16.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 +30 -30
- package/CHANGELOG.md +29 -0
- package/dist/{chunk-RAMDW4VL.js → chunk-H3BIFFQG.js} +32 -10
- package/dist/chunk-H3BIFFQG.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/testing.js +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/interfaces.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +20 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/unionUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/tools/coValues/group.ts +3 -3
- package/src/tools/coValues/interfaces.ts +2 -3
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +59 -2
- package/src/tools/implementation/zodSchema/unionUtils.ts +7 -2
- package/src/tools/implementation/zodSchema/zodSchema.ts +1 -1
- package/src/tools/tests/coDiscriminatedUnion.test.ts +50 -0
- package/src/tools/tests/coMap.test-d.ts +143 -0
- package/src/tools/tests/coMap.test.ts +100 -53
- package/src/tools/tests/load.test.ts +19 -0
- package/dist/chunk-RAMDW4VL.js.map +0 -1
package/dist/index.js
CHANGED
package/dist/testing.js
CHANGED
@@ -36,12 +36,12 @@ export declare class Group extends CoValueBase implements CoValue {
|
|
36
36
|
*/
|
37
37
|
addMember(member: Group, role?: "reader" | "writer" | "admin" | "inherit"): void;
|
38
38
|
addMember(member: Group | Account, role: "reader" | "writer" | "admin"): void;
|
39
|
-
removeMember(member: Everyone | Account):
|
39
|
+
removeMember(member: Everyone | Account): void;
|
40
40
|
/** @category Identity & Permissions
|
41
41
|
* Revokes membership from members a parent group.
|
42
42
|
* @param member The group that will lose access to this group.
|
43
43
|
*/
|
44
|
-
removeMember(member: Group):
|
44
|
+
removeMember(member: Group): void;
|
45
45
|
private getMembersFromKeys;
|
46
46
|
/**
|
47
47
|
* Returns all members of the group, including inherited members from parent
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,IAAI,EACL,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EACP,YAAY,EACZ,EAAE,EAEF,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,wBAAwB,EAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EAEP,WAAW,EACX,OAAO,EACP,GAAG,EAWJ,MAAM,gBAAgB,CAAC;AAExB,uCAAuC;AACvC,qBAAa,KAAM,SAAQ,WAAY,YAAW,OAAO;IAC/C,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IAIf,IAAI,EAAE,QAAQ,CAAC;IAGvB,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;IACpB,IAAI,OAAO,IAAI;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAEA;IAYO,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B,IAAI,KAAK,IAAI;QACX,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;KAC9B,CA6BA;IAED,8DAA8D;gBAClD,OAAO,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE;IA4BvE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,EAC3B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAKxC,MAAM,IAAI,IAAI,GAAG,SAAS;IAI1B,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,IAAI;IAC1E,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IACnD;;;;OAIG;IACH,SAAS,CACP,MAAM,EAAE,KAAK,EACb,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAC/C,IAAI;IACP,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI;IAc7E,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/group.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,UAAU,
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"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"}
|
@@ -5,8 +5,9 @@ import { CoMapSchemaInit } from "../typeConverters/CoFieldInit.js";
|
|
5
5
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
6
6
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
7
7
|
import { z } from "../zodReExport.js";
|
8
|
-
import { AnyZodOrCoValueSchema } from "../zodSchema.js";
|
8
|
+
import { AnyZodOrCoValueSchema, AnyZodSchema } from "../zodSchema.js";
|
9
9
|
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
10
|
+
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
10
11
|
export interface CoMapSchema<Shape extends z.core.$ZodLooseShape, CatchAll extends AnyZodOrCoValueSchema | unknown = unknown, Owner extends Account | Group = Account | Group> extends CoreCoMapSchema<Shape, CatchAll> {
|
11
12
|
create: (init: CoMapSchemaInit<Shape>, options?: {
|
12
13
|
owner: Owner;
|
@@ -34,6 +35,21 @@ export interface CoMapSchema<Shape extends z.core.$ZodLooseShape, CatchAll exten
|
|
34
35
|
withMigration(migration: (value: Resolved<Simplify<CoMapInstanceCoValuesNullable<Shape>> & CoMap, true>) => undefined): CoMapSchema<Shape, CatchAll, Owner>;
|
35
36
|
getCoValueClass: () => typeof CoMap;
|
36
37
|
optional(): CoOptionalSchema<this>;
|
38
|
+
/**
|
39
|
+
* Creates a new CoMap schema by picking the specified keys from the original schema.
|
40
|
+
*
|
41
|
+
* @param keys - The keys to pick from the original schema.
|
42
|
+
* @returns A new CoMap schema with the picked keys.
|
43
|
+
*/
|
44
|
+
pick<Keys extends keyof Shape>(keys: {
|
45
|
+
[key in Keys]: true;
|
46
|
+
}): CoMapSchema<Simplify<Pick<Shape, Keys>>, unknown, Owner>;
|
47
|
+
/**
|
48
|
+
* Creates a new CoMap schema by making all fields optional.
|
49
|
+
*
|
50
|
+
* @returns A new CoMap schema with all fields optional.
|
51
|
+
*/
|
52
|
+
partial(): CoMapSchema<PartialShape<Shape>, CatchAll, Owner>;
|
37
53
|
}
|
38
54
|
export declare function createCoreCoMapSchema<Shape extends z.core.$ZodLooseShape, CatchAll extends AnyZodOrCoValueSchema | unknown = unknown>(shape: Shape, catchAll?: CatchAll): CoreCoMapSchema<Shape, CatchAll>;
|
39
55
|
export declare function enrichCoMapSchema<Shape extends z.core.$ZodLooseShape, CatchAll extends AnyZodOrCoValueSchema | unknown>(schema: CoreCoMapSchema<Shape, CatchAll>, coValueClass: typeof CoMap): CoMapSchema<Shape, CatchAll>;
|
@@ -55,4 +71,7 @@ export type CoMapInstanceShape<Shape extends z.core.$ZodLooseShape, CatchAll ext
|
|
55
71
|
export type CoMapInstanceCoValuesNullable<Shape extends z.core.$ZodLooseShape> = {
|
56
72
|
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>;
|
57
73
|
};
|
74
|
+
export type PartialShape<Shape extends z.core.$ZodLooseShape> = Simplify<{
|
75
|
+
-readonly [key in keyof Shape]: Shape[key] extends AnyZodSchema ? z.ZodOptional<Shape[key]> : Shape[key] extends CoreCoValueSchema ? CoOptionalSchema<Shape[key]> : never;
|
76
|
+
}>;
|
58
77
|
//# sourceMappingURL=CoMapSchema.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,KAAK,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,wBAAwB,
|
1
|
+
{"version":3,"file":"CoMapSchema.d.ts","sourceRoot":"","sources":["../../../../../src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"unionUtils.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/unionUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAErB,KAAK,EACL,8BAA8B,EAE9B,2BAA2B,EAE3B,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAO3B,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,
|
1
|
+
{"version":3,"file":"unionUtils.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/unionUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAErB,KAAK,EACL,8BAA8B,EAE9B,2BAA2B,EAE3B,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAO3B,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,8BAA8B,CAAC,2BAA2B,CAAC,mCA+FpE;AAsBD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,WAMtE"}
|
@@ -21,7 +21,7 @@ type AccountClassEssentials = {
|
|
21
21
|
fromNode: <A extends Account>(this: AccountClass<A>, node: LocalNode) => A;
|
22
22
|
};
|
23
23
|
export type AnyCoreCoValueSchema = CoreCoMapSchema | CoreAccountSchema | CoreCoRecordSchema | CoreCoListSchema | CoreCoFeedSchema | CoreCoDiscriminatedUnionSchema<any> | CoreCoOptionalSchema | CorePlainTextSchema | CoreRichTextSchema | CoreFileStreamSchema;
|
24
|
-
type AnyZodSchema = z.core.$ZodType;
|
24
|
+
export type AnyZodSchema = z.core.$ZodType;
|
25
25
|
export type AnyZodOrCoValueSchema = AnyZodSchema | CoreCoValueSchema;
|
26
26
|
export type Loaded<T extends CoValueClassOrSchema, R extends ResolveQuery<T> = true> = Resolved<NonNullable<InstanceOfSchemaCoValuesNullable<T>>, R>;
|
27
27
|
export type ResolveQuery<T extends CoValueClassOrSchema> = RefsToResolve<NonNullable<InstanceOfSchemaCoValuesNullable<T>>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"zodSchema.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/zodSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC/B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,GACjB,CAAC,CAAC,IAAI,CAAC,UAAU,GACjB,CAAC,CAAC,IAAI,CAAC,WAAW,GAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,GACf,CAAC,CAAC,IAAI,CAAC,QAAQ,GACf,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAEvB,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEpE,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,iBAAiB,IACjE,CAAC,SAAS,iBAAiB,CAAC,MAAM,KAAK,SAAS,gBAAgB,CAAC,GAC7D,aAAa,CAAC,KAAK,CAAC,GACpB,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC5C,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,CAAC,SAAS,eAAe,CAAC,MAAM,KAAK,EAAE,MAAM,MAAM,CAAC,GAClD,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,GAC1B,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,mBAAmB,GAC3B,eAAe,GACf,CAAC,SAAS,kBAAkB,GAC1B,cAAc,GACd,CAAC,SAAS,oBAAoB,GAC5B,gBAAgB,GAChB,CAAC,SAAS,oBAAoB,CAAC,MAAM,KAAK,CAAC,GACzC,gBAAgB,CAAC,KAAK,CAAC,GACvB,CAAC,SAAS,8BAA8B,CAAC,MAAM,OAAO,CAAC,GACrD,0BAA0B,CAAC,OAAO,CAAC,GACnC,KAAK,CAAC;AAE9B,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,oBAAoB,IAClE,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GACvB,CAAC,GACD,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAChD,CAAC,CAAC,SAAS,iBAAiB,GAAG,sBAAsB,GAAG,EAAE,CAAC,CAAC;AAEpE,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,KAAK,CAAC,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,8BAA8B,CAAC,GAAG,CAAC,GACnC,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,
|
1
|
+
{"version":3,"file":"zodSchema.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementation/zodSchema/zodSchema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -139,7 +139,7 @@
|
|
139
139
|
},
|
140
140
|
"type": "module",
|
141
141
|
"license": "MIT",
|
142
|
-
"version": "0.16.
|
142
|
+
"version": "0.16.5",
|
143
143
|
"dependencies": {
|
144
144
|
"@manuscripts/prosemirror-recreate-steps": "^0.1.4",
|
145
145
|
"@scure/base": "1.2.1",
|
@@ -158,9 +158,9 @@
|
|
158
158
|
"prosemirror-state": "^1.4.3",
|
159
159
|
"prosemirror-transform": "^1.9.0",
|
160
160
|
"zod": "3.25.76",
|
161
|
-
"cojson": "0.16.
|
162
|
-
"cojson-storage-indexeddb": "0.16.
|
163
|
-
"cojson-transport-ws": "0.16.
|
161
|
+
"cojson": "0.16.5",
|
162
|
+
"cojson-storage-indexeddb": "0.16.5",
|
163
|
+
"cojson-transport-ws": "0.16.5"
|
164
164
|
},
|
165
165
|
"devDependencies": {
|
166
166
|
"@scure/bip39": "^1.3.0",
|
@@ -167,15 +167,15 @@ export class Group extends CoValueBase implements CoValue {
|
|
167
167
|
}
|
168
168
|
}
|
169
169
|
|
170
|
-
removeMember(member: Everyone | Account):
|
170
|
+
removeMember(member: Everyone | Account): void;
|
171
171
|
/** @category Identity & Permissions
|
172
172
|
* Revokes membership from members a parent group.
|
173
173
|
* @param member The group that will lose access to this group.
|
174
174
|
*/
|
175
|
-
removeMember(member: Group):
|
175
|
+
removeMember(member: Group): void;
|
176
176
|
removeMember(member: Group | Everyone | Account) {
|
177
177
|
if (member !== "everyone" && member._type === "Group") {
|
178
|
-
|
178
|
+
this._raw.revokeExtend(member._raw);
|
179
179
|
} else {
|
180
180
|
return this._raw.removeMember(
|
181
181
|
member === "everyone" ? member : member._raw,
|
@@ -2,7 +2,6 @@ import {
|
|
2
2
|
type CoValueUniqueness,
|
3
3
|
type CojsonInternalTypes,
|
4
4
|
type RawCoValue,
|
5
|
-
emptyKnownState,
|
6
5
|
} from "cojson";
|
7
6
|
import { AvailableCoValueCore } from "cojson/dist/coValueCore/coValueCore.js";
|
8
7
|
import {
|
@@ -546,9 +545,9 @@ function loadContentPiecesFromCoValue(
|
|
546
545
|
}
|
547
546
|
}
|
548
547
|
|
549
|
-
const pieces = core.verified.newContentSince(
|
548
|
+
const pieces = core.verified.newContentSince(undefined) ?? [];
|
550
549
|
|
551
|
-
for (const piece of pieces
|
550
|
+
for (const piece of pieces) {
|
552
551
|
contentPieces.push(piece);
|
553
552
|
}
|
554
553
|
}
|
@@ -10,6 +10,7 @@ import {
|
|
10
10
|
Resolved,
|
11
11
|
Simplify,
|
12
12
|
SubscribeListenerOptions,
|
13
|
+
coMapDefiner,
|
13
14
|
coOptionalDefiner,
|
14
15
|
hydrateCoreCoValueSchema,
|
15
16
|
isAnyCoValueSchema,
|
@@ -20,8 +21,9 @@ import { CoMapSchemaInit } from "../typeConverters/CoFieldInit.js";
|
|
20
21
|
import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
|
21
22
|
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
22
23
|
import { z } from "../zodReExport.js";
|
23
|
-
import { AnyZodOrCoValueSchema } from "../zodSchema.js";
|
24
|
+
import { AnyZodOrCoValueSchema, AnyZodSchema } from "../zodSchema.js";
|
24
25
|
import { CoOptionalSchema } from "./CoOptionalSchema.js";
|
26
|
+
import { CoreCoValueSchema } from "./CoValueSchema.js";
|
25
27
|
|
26
28
|
export interface CoMapSchema<
|
27
29
|
Shape extends z.core.$ZodLooseShape,
|
@@ -133,6 +135,23 @@ export interface CoMapSchema<
|
|
133
135
|
getCoValueClass: () => typeof CoMap;
|
134
136
|
|
135
137
|
optional(): CoOptionalSchema<this>;
|
138
|
+
|
139
|
+
/**
|
140
|
+
* Creates a new CoMap schema by picking the specified keys from the original schema.
|
141
|
+
*
|
142
|
+
* @param keys - The keys to pick from the original schema.
|
143
|
+
* @returns A new CoMap schema with the picked keys.
|
144
|
+
*/
|
145
|
+
pick<Keys extends keyof Shape>(
|
146
|
+
keys: { [key in Keys]: true },
|
147
|
+
): CoMapSchema<Simplify<Pick<Shape, Keys>>, unknown, Owner>;
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Creates a new CoMap schema by making all fields optional.
|
151
|
+
*
|
152
|
+
* @returns A new CoMap schema with all fields optional.
|
153
|
+
*/
|
154
|
+
partial(): CoMapSchema<PartialShape<Shape>, CatchAll, Owner>;
|
136
155
|
}
|
137
156
|
|
138
157
|
export function createCoreCoMapSchema<
|
@@ -218,10 +237,40 @@ export function enrichCoMapSchema<
|
|
218
237
|
getCoValueClass: () => {
|
219
238
|
return coValueClass;
|
220
239
|
},
|
221
|
-
|
222
240
|
optional: () => {
|
223
241
|
return coOptionalDefiner(coValueSchema);
|
224
242
|
},
|
243
|
+
pick: <Keys extends keyof Shape>(keys: { [key in Keys]: true }) => {
|
244
|
+
const keysSet = new Set(Object.keys(keys));
|
245
|
+
const pickedShape: Record<string, AnyZodOrCoValueSchema> = {};
|
246
|
+
|
247
|
+
for (const [key, value] of Object.entries(coValueSchema.shape)) {
|
248
|
+
if (keysSet.has(key)) {
|
249
|
+
pickedShape[key] = value;
|
250
|
+
}
|
251
|
+
}
|
252
|
+
|
253
|
+
return coMapDefiner(pickedShape);
|
254
|
+
},
|
255
|
+
partial: () => {
|
256
|
+
const partialShape: Record<string, AnyZodOrCoValueSchema> = {};
|
257
|
+
|
258
|
+
for (const [key, value] of Object.entries(coValueSchema.shape)) {
|
259
|
+
if (isAnyCoValueSchema(value)) {
|
260
|
+
partialShape[key] = coOptionalDefiner(value);
|
261
|
+
} else {
|
262
|
+
partialShape[key] = z.optional(coValueSchema.shape[key]);
|
263
|
+
}
|
264
|
+
}
|
265
|
+
|
266
|
+
const partialCoMapSchema = coMapDefiner(partialShape);
|
267
|
+
if (coValueSchema.catchAll) {
|
268
|
+
return partialCoMapSchema.catchall(
|
269
|
+
coValueSchema.catchAll as unknown as AnyZodOrCoValueSchema,
|
270
|
+
);
|
271
|
+
}
|
272
|
+
return partialCoMapSchema;
|
273
|
+
},
|
225
274
|
}) as unknown as CoMapSchema<Shape, CatchAll>;
|
226
275
|
return coValueSchema;
|
227
276
|
}
|
@@ -262,3 +311,11 @@ export type CoMapInstanceCoValuesNullable<Shape extends z.core.$ZodLooseShape> =
|
|
262
311
|
Shape[key]
|
263
312
|
>;
|
264
313
|
};
|
314
|
+
|
315
|
+
export type PartialShape<Shape extends z.core.$ZodLooseShape> = Simplify<{
|
316
|
+
-readonly [key in keyof Shape]: Shape[key] extends AnyZodSchema
|
317
|
+
? z.ZodOptional<Shape[key]>
|
318
|
+
: Shape[key] extends CoreCoValueSchema
|
319
|
+
? CoOptionalSchema<Shape[key]>
|
320
|
+
: never;
|
321
|
+
}>;
|
@@ -81,8 +81,7 @@ export function schemaUnionDiscriminatorFor(
|
|
81
81
|
continue;
|
82
82
|
}
|
83
83
|
}
|
84
|
-
|
85
|
-
if (discriminatorDef._zod.def.type !== "literal") {
|
84
|
+
if (discriminatorDef._zod?.def.type !== "literal") {
|
86
85
|
break;
|
87
86
|
}
|
88
87
|
|
@@ -141,3 +140,9 @@ export function isUnionOfPrimitivesDeeply(schema: AnyZodOrCoValueSchema) {
|
|
141
140
|
return !isAnyCoValueSchema(schema);
|
142
141
|
}
|
143
142
|
}
|
143
|
+
|
144
|
+
function isCoDiscriminatedUnion(
|
145
|
+
def: any,
|
146
|
+
): def is CoreCoDiscriminatedUnionSchema<any> {
|
147
|
+
return def.builtin === "CoDiscriminatedUnion";
|
148
|
+
}
|
@@ -101,7 +101,7 @@ export type AnyCoreCoValueSchema =
|
|
101
101
|
| CoreRichTextSchema
|
102
102
|
| CoreFileStreamSchema;
|
103
103
|
|
104
|
-
type AnyZodSchema = z.core.$ZodType;
|
104
|
+
export type AnyZodSchema = z.core.$ZodType;
|
105
105
|
|
106
106
|
export type AnyZodOrCoValueSchema = AnyZodSchema | CoreCoValueSchema;
|
107
107
|
|
@@ -308,4 +308,54 @@ describe("co.discriminatedUnion", () => {
|
|
308
308
|
|
309
309
|
expect(updates[0]?.name).toEqual("Rex");
|
310
310
|
});
|
311
|
+
|
312
|
+
test("should work when one of the options has a dicriminated union field", async () => {
|
313
|
+
const Collie = co.map({
|
314
|
+
type: z.literal("collie"),
|
315
|
+
});
|
316
|
+
const BorderCollie = co.map({
|
317
|
+
type: z.literal("border-collie"),
|
318
|
+
});
|
319
|
+
const Breed = co.discriminatedUnion("type", [Collie, BorderCollie]);
|
320
|
+
|
321
|
+
const Dog = co.map({
|
322
|
+
type: z.literal("dog"),
|
323
|
+
breed: Breed,
|
324
|
+
});
|
325
|
+
|
326
|
+
const Animal = co.discriminatedUnion("type", [Dog]);
|
327
|
+
|
328
|
+
const animal = Dog.create({
|
329
|
+
type: "dog",
|
330
|
+
breed: {
|
331
|
+
type: "collie",
|
332
|
+
},
|
333
|
+
});
|
334
|
+
|
335
|
+
const loadedAnimal = await Animal.load(animal.id);
|
336
|
+
|
337
|
+
expect(loadedAnimal?.breed?.type).toEqual("collie");
|
338
|
+
});
|
339
|
+
|
340
|
+
test("should work with a nested co.discriminatedUnion", async () => {
|
341
|
+
const Collie = co.map({
|
342
|
+
type: z.literal("collie"),
|
343
|
+
});
|
344
|
+
const BorderCollie = co.map({
|
345
|
+
type: z.literal("border-collie"),
|
346
|
+
});
|
347
|
+
const Breed = co.discriminatedUnion("type", [Collie, BorderCollie]);
|
348
|
+
|
349
|
+
const Dog = co.discriminatedUnion("type", [Breed]);
|
350
|
+
|
351
|
+
const Animal = co.discriminatedUnion("type", [Dog]);
|
352
|
+
|
353
|
+
const animal = Collie.create({
|
354
|
+
type: "collie",
|
355
|
+
});
|
356
|
+
|
357
|
+
const loadedAnimal = await Animal.load(animal.id);
|
358
|
+
|
359
|
+
expect(loadedAnimal?.type).toEqual("collie");
|
360
|
+
});
|
311
361
|
});
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { assert, describe, expectTypeOf, test } from "vitest";
|
2
|
+
import { ZodNumber, ZodOptional, ZodString } from "zod/v4";
|
2
3
|
import { Group, co, z } from "../exports.js";
|
3
4
|
import { Account } from "../index.js";
|
4
5
|
import { CoMap, Loaded } from "../internal.js";
|
@@ -350,6 +351,148 @@ describe("CoMap", async () => {
|
|
350
351
|
matchesNarrowed(mapWithEnum.child);
|
351
352
|
}
|
352
353
|
});
|
354
|
+
|
355
|
+
test("CoMap.pick()", () => {
|
356
|
+
const Person = co.map({
|
357
|
+
name: z.string(),
|
358
|
+
age: z.number(),
|
359
|
+
dog: co.map({
|
360
|
+
name: z.string(),
|
361
|
+
breed: z.string(),
|
362
|
+
}),
|
363
|
+
});
|
364
|
+
|
365
|
+
const PersonWithoutDog = Person.pick({
|
366
|
+
name: true,
|
367
|
+
age: true,
|
368
|
+
});
|
369
|
+
|
370
|
+
type ExpectedType = co.Map<{
|
371
|
+
name: ZodString;
|
372
|
+
age: ZodNumber;
|
373
|
+
}>;
|
374
|
+
|
375
|
+
function matches(value: ExpectedType) {
|
376
|
+
return value;
|
377
|
+
}
|
378
|
+
|
379
|
+
matches(PersonWithoutDog);
|
380
|
+
});
|
381
|
+
|
382
|
+
test("CoMap.pick() with a recursive reference", () => {
|
383
|
+
const Person = co.map({
|
384
|
+
name: z.string(),
|
385
|
+
age: z.number(),
|
386
|
+
dog: co.map({
|
387
|
+
name: z.string(),
|
388
|
+
breed: z.string(),
|
389
|
+
}),
|
390
|
+
get friend() {
|
391
|
+
return Person.pick({
|
392
|
+
name: true,
|
393
|
+
age: true,
|
394
|
+
}).optional();
|
395
|
+
},
|
396
|
+
});
|
397
|
+
|
398
|
+
type ExpectedType = co.Map<{
|
399
|
+
name: ZodString;
|
400
|
+
age: ZodNumber;
|
401
|
+
dog: co.Map<{
|
402
|
+
name: ZodString;
|
403
|
+
breed: ZodString;
|
404
|
+
}>;
|
405
|
+
friend: co.Optional<
|
406
|
+
co.Map<{
|
407
|
+
name: ZodString;
|
408
|
+
age: ZodNumber;
|
409
|
+
}>
|
410
|
+
>;
|
411
|
+
}>;
|
412
|
+
|
413
|
+
function matches(value: ExpectedType) {
|
414
|
+
return value;
|
415
|
+
}
|
416
|
+
|
417
|
+
matches(Person);
|
418
|
+
});
|
419
|
+
|
420
|
+
test("CoMap.partial()", () => {
|
421
|
+
const Person = co.map({
|
422
|
+
name: z.string(),
|
423
|
+
age: z.number(),
|
424
|
+
dog: co.map({
|
425
|
+
name: z.string(),
|
426
|
+
breed: z.string(),
|
427
|
+
}),
|
428
|
+
});
|
429
|
+
|
430
|
+
const PersonPartial = Person.partial();
|
431
|
+
|
432
|
+
type ExpectedType = co.Map<{
|
433
|
+
name: ZodOptional<ZodString>;
|
434
|
+
age: ZodOptional<ZodNumber>;
|
435
|
+
dog: co.Optional<
|
436
|
+
co.Map<{
|
437
|
+
name: ZodString;
|
438
|
+
breed: ZodString;
|
439
|
+
}>
|
440
|
+
>;
|
441
|
+
}>;
|
442
|
+
|
443
|
+
function matches(value: ExpectedType) {
|
444
|
+
return value;
|
445
|
+
}
|
446
|
+
|
447
|
+
matches(PersonPartial);
|
448
|
+
});
|
449
|
+
|
450
|
+
test("CoMap.partial() with a recursive reference", () => {
|
451
|
+
const Person = co.map({
|
452
|
+
get draft() {
|
453
|
+
return Person.partial()
|
454
|
+
.pick({
|
455
|
+
name: true,
|
456
|
+
age: true,
|
457
|
+
dog: true,
|
458
|
+
})
|
459
|
+
.optional();
|
460
|
+
},
|
461
|
+
name: z.string(),
|
462
|
+
age: z.number(),
|
463
|
+
dog: co.map({
|
464
|
+
name: z.string(),
|
465
|
+
breed: z.string(),
|
466
|
+
}),
|
467
|
+
});
|
468
|
+
|
469
|
+
type ExpectedType = co.Map<{
|
470
|
+
draft: co.Optional<
|
471
|
+
co.Map<{
|
472
|
+
name: ZodOptional<ZodString>;
|
473
|
+
age: ZodOptional<ZodNumber>;
|
474
|
+
dog: co.Optional<
|
475
|
+
co.Map<{
|
476
|
+
name: ZodString;
|
477
|
+
breed: ZodString;
|
478
|
+
}>
|
479
|
+
>;
|
480
|
+
}>
|
481
|
+
>;
|
482
|
+
name: ZodString;
|
483
|
+
age: ZodNumber;
|
484
|
+
dog: co.Map<{
|
485
|
+
name: ZodString;
|
486
|
+
breed: ZodString;
|
487
|
+
}>;
|
488
|
+
}>;
|
489
|
+
|
490
|
+
function matches(value: ExpectedType) {
|
491
|
+
return value;
|
492
|
+
}
|
493
|
+
|
494
|
+
matches(Person);
|
495
|
+
});
|
353
496
|
});
|
354
497
|
|
355
498
|
describe("CoMap resolution", async () => {
|