convex-helpers 0.1.88 → 0.1.89
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/package.json +1 -1
- package/standardSchema.d.ts +3 -4
- package/standardSchema.d.ts.map +1 -1
- package/standardSchema.test.ts +11 -0
- package/standardSchema.ts +4 -8
- package/validators.d.ts +8 -0
- package/validators.d.ts.map +1 -1
- package/validators.js +8 -0
- package/validators.ts +8 -0
package/package.json
CHANGED
package/standardSchema.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { GenericDatabaseReader } from "convex/server";
|
|
2
|
-
import type { Validator } from "convex/values";
|
|
2
|
+
import type { Infer, Validator } from "convex/values";
|
|
3
3
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
|
-
import type { Value } from "convex/values";
|
|
5
4
|
import type { GenericDataModel } from "convex/server";
|
|
6
5
|
/**
|
|
7
6
|
* Convert a Convex validator to a Standard Schema.
|
|
@@ -9,9 +8,9 @@ import type { GenericDataModel } from "convex/server";
|
|
|
9
8
|
* @param opts - Options for the validation.
|
|
10
9
|
* @returns The Standard Schema validator with the type of the Convex validator.
|
|
11
10
|
*/
|
|
12
|
-
export declare function toStandardSchema<
|
|
11
|
+
export declare function toStandardSchema<V extends Validator<any, any, any>>(validator: V, opts?: {
|
|
13
12
|
db?: GenericDatabaseReader<GenericDataModel>;
|
|
14
13
|
allowUnknownFields?: boolean;
|
|
15
14
|
_pathPrefix?: string;
|
|
16
|
-
}): StandardSchemaV1<
|
|
15
|
+
}): StandardSchemaV1<Infer<V>>;
|
|
17
16
|
//# sourceMappingURL=standardSchema.d.ts.map
|
package/standardSchema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardSchema.d.ts","sourceRoot":"","sources":["standardSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"standardSchema.d.ts","sourceRoot":"","sources":["standardSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjE,SAAS,EAAE,CAAC,EACZ,IAAI,CAAC,EAAE;IAEL,EAAE,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAyB5B"}
|
package/standardSchema.test.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
import { toStandardSchema } from "./standardSchema.js";
|
|
2
3
|
import { v } from "convex/values";
|
|
4
|
+
import { expectTypeOf } from "vitest";
|
|
3
5
|
|
|
4
6
|
describe("toStandardSchema", () => {
|
|
5
7
|
test("conforms to StandardSchemaV1 for string", () => {
|
|
@@ -10,6 +12,15 @@ describe("toStandardSchema", () => {
|
|
|
10
12
|
expect(typeof schema["~standard"].validate).toBe("function");
|
|
11
13
|
});
|
|
12
14
|
|
|
15
|
+
test("types the same as an equivalent zod validator", () => {
|
|
16
|
+
const ours = toStandardSchema(v.string());
|
|
17
|
+
const value = ours["~standard"].validate("hello");
|
|
18
|
+
const zods = z.string();
|
|
19
|
+
const zodValue = zods["~standard"].validate("hello");
|
|
20
|
+
expectTypeOf(ours["~standard"]).toEqualTypeOf(zods["~standard"]);
|
|
21
|
+
expectTypeOf(value).toEqualTypeOf(zodValue);
|
|
22
|
+
});
|
|
23
|
+
|
|
13
24
|
test("validates string type", () => {
|
|
14
25
|
const schema = toStandardSchema(v.string());
|
|
15
26
|
expect(schema["~standard"].validate("hello")).toEqual({ value: "hello" });
|
package/standardSchema.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { GenericDatabaseReader } from "convex/server";
|
|
2
2
|
|
|
3
|
-
import type { Validator } from "convex/values";
|
|
3
|
+
import type { Infer, Validator } from "convex/values";
|
|
4
4
|
|
|
5
5
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
import { validate, ValidationError } from "./validators.js";
|
|
7
|
-
import type { Value } from "convex/values";
|
|
8
7
|
import type { GenericDataModel } from "convex/server";
|
|
9
8
|
|
|
10
9
|
/**
|
|
@@ -13,10 +12,7 @@ import type { GenericDataModel } from "convex/server";
|
|
|
13
12
|
* @param opts - Options for the validation.
|
|
14
13
|
* @returns The Standard Schema validator with the type of the Convex validator.
|
|
15
14
|
*/
|
|
16
|
-
export function toStandardSchema<
|
|
17
|
-
T extends Value,
|
|
18
|
-
V extends Validator<T, any, any>,
|
|
19
|
-
>(
|
|
15
|
+
export function toStandardSchema<V extends Validator<any, any, any>>(
|
|
20
16
|
validator: V,
|
|
21
17
|
opts?: {
|
|
22
18
|
/* If provided, v.id validation will check that the id is for the table. */
|
|
@@ -28,7 +24,7 @@ export function toStandardSchema<
|
|
|
28
24
|
are validating a value at a sub-path within some parent object. */
|
|
29
25
|
_pathPrefix?: string;
|
|
30
26
|
},
|
|
31
|
-
): StandardSchemaV1<
|
|
27
|
+
): StandardSchemaV1<Infer<V>> {
|
|
32
28
|
return {
|
|
33
29
|
"~standard": {
|
|
34
30
|
version: 1,
|
|
@@ -36,7 +32,7 @@ export function toStandardSchema<
|
|
|
36
32
|
validate: (value) => {
|
|
37
33
|
try {
|
|
38
34
|
validate(validator, value, { ...opts, throw: true });
|
|
39
|
-
return { value } as StandardSchemaV1.SuccessResult<
|
|
35
|
+
return { value } as StandardSchemaV1.SuccessResult<Infer<V>>;
|
|
40
36
|
} catch (e) {
|
|
41
37
|
if (e instanceof ValidationError) {
|
|
42
38
|
return {
|
package/validators.d.ts
CHANGED
|
@@ -238,5 +238,13 @@ export declare function validate<T extends Validator<any, any, any>>(validator:
|
|
|
238
238
|
allowUnknownFields?: boolean;
|
|
239
239
|
_pathPrefix?: string;
|
|
240
240
|
}): value is T["type"];
|
|
241
|
+
/**
|
|
242
|
+
* Parse a value, using a Convex validator. This differs from `validate` in that
|
|
243
|
+
* it strips unknown fields instead of throwing an error on them.
|
|
244
|
+
*
|
|
245
|
+
* @param validator - The Convex validator to parse the value against.
|
|
246
|
+
* @param value - The value to parse.
|
|
247
|
+
* @returns The parsed value, without fields not specified in the validator.
|
|
248
|
+
*/
|
|
241
249
|
export declare function parse<T extends Validator<any, any, any>>(validator: T, value: unknown): Infer<T>;
|
|
242
250
|
//# sourceMappingURL=validators.d.ts.map
|
package/validators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["validators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["validators.ts"],"names":[],"mappings":"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"}
|
package/validators.js
CHANGED
|
@@ -415,6 +415,14 @@ export function validate(validator, value, opts) {
|
|
|
415
415
|
}
|
|
416
416
|
return valid;
|
|
417
417
|
}
|
|
418
|
+
/**
|
|
419
|
+
* Parse a value, using a Convex validator. This differs from `validate` in that
|
|
420
|
+
* it strips unknown fields instead of throwing an error on them.
|
|
421
|
+
*
|
|
422
|
+
* @param validator - The Convex validator to parse the value against.
|
|
423
|
+
* @param value - The value to parse.
|
|
424
|
+
* @returns The parsed value, without fields not specified in the validator.
|
|
425
|
+
*/
|
|
418
426
|
export function parse(validator, value) {
|
|
419
427
|
validate(validator, value, { allowUnknownFields: true, throw: true });
|
|
420
428
|
return stripUnknownFields(validator, value);
|
package/validators.ts
CHANGED
|
@@ -543,6 +543,14 @@ export function validate<T extends Validator<any, any, any>>(
|
|
|
543
543
|
return valid;
|
|
544
544
|
}
|
|
545
545
|
|
|
546
|
+
/**
|
|
547
|
+
* Parse a value, using a Convex validator. This differs from `validate` in that
|
|
548
|
+
* it strips unknown fields instead of throwing an error on them.
|
|
549
|
+
*
|
|
550
|
+
* @param validator - The Convex validator to parse the value against.
|
|
551
|
+
* @param value - The value to parse.
|
|
552
|
+
* @returns The parsed value, without fields not specified in the validator.
|
|
553
|
+
*/
|
|
546
554
|
export function parse<T extends Validator<any, any, any>>(
|
|
547
555
|
validator: T,
|
|
548
556
|
value: unknown,
|