zodvex 0.7.2 → 0.7.3
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/dist/internal/custom.d.ts +6 -6
- package/dist/internal/custom.d.ts.map +1 -1
- package/dist/internal/functionContracts.d.ts +1 -1
- package/dist/internal/functionContracts.d.ts.map +1 -1
- package/dist/internal/init.d.ts +24 -3
- package/dist/internal/init.d.ts.map +1 -1
- package/dist/legacy/index.js +13 -12
- package/dist/legacy/index.js.map +1 -1
- package/dist/mini/server/index.js +13 -12
- package/dist/mini/server/index.js.map +1 -1
- package/dist/server/index.js +13 -12
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/custom.ts +32 -11
- package/src/internal/functionContracts.ts +11 -9
- package/src/internal/init.ts +36 -8
|
@@ -33,7 +33,7 @@ type Registration<FuncType extends 'query' | 'mutation' | 'action', Visibility e
|
|
|
33
33
|
*
|
|
34
34
|
* This is our own Zod-aware CustomBuilder type that properly handles Zod validators.
|
|
35
35
|
*/
|
|
36
|
-
export type CustomBuilder<FuncType extends 'query' | 'mutation' | 'action',
|
|
36
|
+
export type CustomBuilder<FuncType extends 'query' | 'mutation' | 'action', CustomArgs extends Record<string, any>, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, InputCtx, Visibility extends FunctionVisibility, ExtraArgs extends Record<string, any>> = {
|
|
37
37
|
<ArgsValidator extends ZodValidator | $ZodObject | void, ReturnsZodValidator extends $ZodType | ZodValidator | void = void, ReturnValue extends ReturnValueInput<ReturnsZodValidator> = any>(func: ({
|
|
38
38
|
/**
|
|
39
39
|
* Specify the arguments to the function as a Zod validator.
|
|
@@ -55,11 +55,11 @@ export type CustomBuilder<FuncType extends 'query' | 'mutation' | 'action', Cust
|
|
|
55
55
|
[key in keyof ExtraArgs as key extends 'args' | 'handler' | 'skipConvexValidation' | 'returns' ? never : key]: ExtraArgs[key];
|
|
56
56
|
}) | {
|
|
57
57
|
(ctx: Overwrite<InputCtx, CustomCtx>, ...args: ArgsForHandlerType<ArgsOutput<ArgsValidator>, CustomMadeArgs>): ReturnValue;
|
|
58
|
-
}): Registration<FuncType, Visibility, ArgsArrayToObject<
|
|
58
|
+
}): Registration<FuncType, Visibility, ArgsArrayToObject<CustomArgs extends Record<string, never> ? ArgsInput<ArgsValidator> : ArgsInput<ArgsValidator> extends [infer A] ? [Expand<A & CustomArgs>] : [CustomArgs]>, ReturnsZodValidator extends void ? ReturnValue : ReturnValueOutput<ReturnsZodValidator>>;
|
|
59
59
|
};
|
|
60
60
|
export declare function customFnBuilder<Ctx extends Record<string, any>, Builder extends (fn: any) => any, CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, ExtraArgs extends Record<string, any> = Record<string, any>>(builder: Builder, customization: Customization<Ctx, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): (fn: any) => any;
|
|
61
|
-
export declare function zCustomQuery<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Visibility extends FunctionVisibility, DataModel extends GenericDataModel, ExtraArgs extends Record<string, any> = Record<string, any>>(query: QueryBuilder<DataModel, Visibility>, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'query', CustomArgsValidator
|
|
62
|
-
export declare function zCustomQuery<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Visibility extends FunctionVisibility, ExtraArgs extends Record<string, any> = Record<string, any>>(query: QueryBuilder<any, Visibility>, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'query', CustomArgsValidator
|
|
63
|
-
export declare function zCustomMutation<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Builder extends (fn: any) => any, Visibility extends FunctionVisibility = 'public', ExtraArgs extends Record<string, any> = Record<string, any>>(mutation: Builder, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'mutation', CustomArgsValidator
|
|
64
|
-
export declare function zCustomAction<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Builder extends (fn: any) => any, Visibility extends FunctionVisibility = 'public', ExtraArgs extends Record<string, any> = Record<string, any>>(action: Builder, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'action', CustomArgsValidator
|
|
61
|
+
export declare function zCustomQuery<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Visibility extends FunctionVisibility, DataModel extends GenericDataModel, ExtraArgs extends Record<string, any> = Record<string, any>>(query: QueryBuilder<DataModel, Visibility>, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'query', import('convex/values').ObjectType<CustomArgsValidator>, CustomCtx, CustomMadeArgs, GenericQueryCtx<DataModel>, Visibility, ExtraArgs>;
|
|
62
|
+
export declare function zCustomQuery<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Visibility extends FunctionVisibility, ExtraArgs extends Record<string, any> = Record<string, any>>(query: QueryBuilder<any, Visibility>, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'query', import('convex/values').ObjectType<CustomArgsValidator>, CustomCtx, CustomMadeArgs, any, Visibility, ExtraArgs>;
|
|
63
|
+
export declare function zCustomMutation<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Builder extends (fn: any) => any, Visibility extends FunctionVisibility = 'public', ExtraArgs extends Record<string, any> = Record<string, any>>(mutation: Builder, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'mutation', import('convex/values').ObjectType<CustomArgsValidator>, CustomCtx, CustomMadeArgs, ExtractCtx<Builder>, Visibility, ExtraArgs>;
|
|
64
|
+
export declare function zCustomAction<CustomArgsValidator extends PropertyValidators, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, Builder extends (fn: any) => any, Visibility extends FunctionVisibility = 'public', ExtraArgs extends Record<string, any> = Record<string, any>>(action: Builder, customization: Customization<any, CustomArgsValidator, CustomCtx, CustomMadeArgs, ExtraArgs>): CustomBuilder<'action', import('convex/values').ObjectType<CustomArgsValidator>, CustomCtx, CustomMadeArgs, ExtractCtx<Builder>, Visibility, ExtraArgs>;
|
|
65
65
|
//# sourceMappingURL=custom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../src/internal/custom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../src/internal/custom.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export declare function createConvexReturnsValidator(schema?: $ZodType, options?
|
|
|
28
28
|
export declare function assertFunctionSchemas(argsSchema: $ZodType, returnsSchema?: $ZodType): void;
|
|
29
29
|
export declare function parseFunctionArgsOrThrow(zodSchema: $ZodType, argsObject: unknown): any;
|
|
30
30
|
export declare function parseObjectArgsOrThrow(argsSchema: $ZodObject, rawArgs: Record<string, unknown>): Record<string, unknown>;
|
|
31
|
-
export declare function runCustomizationInput(customInput: (ctx: unknown, args: unknown, extra?: unknown) => unknown, ctx: unknown, allArgs: Record<string, unknown>, inputArgs: Record<string, unknown>, extra: Record<string, unknown
|
|
31
|
+
export declare function runCustomizationInput(customInput: (ctx: unknown, args: unknown, extra?: unknown) => unknown, ctx: unknown, allArgs: Record<string, unknown>, inputArgs: Record<string, unknown>, extra: Record<string, unknown>, argsSchema?: $ZodObject): Promise<CustomInputResult | undefined>;
|
|
32
32
|
export declare function applyCustomizationResult(ctx: Record<string, unknown>, baseArgs: Record<string, unknown>, added?: CustomInputResult): {
|
|
33
33
|
finalCtx: Record<string, unknown>;
|
|
34
34
|
finalArgs: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionContracts.d.ts","sourceRoot":"","sources":["../../src/internal/functionContracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,YAAY,EAAkC,MAAM,WAAW,CAAA;AAM7F,OAAO,EAIL,UAAU,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAA;AACjF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAA;CAClF,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAGxF;AAaD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CAMN;AAgCD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,GAAG;IACxE,SAAS,EAAE,QAAQ,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC,CAmBA;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG;IAC7E,aAAa,EAAE,YAAY,CAAA;IAC3B,UAAU,EAAE,UAAU,CAAA;CACvB,CAiBA;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxE,GAAG,CAQL;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,IAAI,CAK1F;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,GAAG,CAMtF;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,EACtE,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"functionContracts.d.ts","sourceRoot":"","sources":["../../src/internal/functionContracts.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/init.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ActionBuilder, FunctionVisibility, GenericActionCtx, GenericDataModel, GenericMutationCtx, GenericQueryCtx, MutationBuilder, QueryBuilder } from 'convex/server';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Customization } from 'convex-helpers/server/customFunctions';
|
|
2
|
+
import type { z } from 'zod';
|
|
4
3
|
import type { CustomBuilder } from './custom';
|
|
5
4
|
import type { ZodvexDatabaseReader, ZodvexDatabaseWriter } from './db';
|
|
5
|
+
import type { ZodValidator } from './mapping';
|
|
6
6
|
import type { ZodTableMap } from './schema';
|
|
7
7
|
import type { AnyRegistry, Overwrite } from './types';
|
|
8
|
+
import type { $ZodObject } from './zod-core';
|
|
8
9
|
/**
|
|
9
10
|
* The context type received by query handlers when wrapDb: true.
|
|
10
11
|
* Replaces ctx.db with ZodvexDatabaseReader while preserving auth, storage, etc.
|
|
@@ -37,6 +38,26 @@ type InternalCustomization = {
|
|
|
37
38
|
args: Record<string, never>;
|
|
38
39
|
input: (ctx: any, args: any, extra?: any) => any;
|
|
39
40
|
};
|
|
41
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* A `.withContext()` customization for zodvex builders. Unlike convex-helpers'
|
|
44
|
+
* `Customization` (which types `args` as Convex `PropertyValidators`), the
|
|
45
|
+
* declared `args` are **zod** — they run through the same zod→Convex + codec
|
|
46
|
+
* pipeline as consumer args, so `input` receives the **decoded runtime** values
|
|
47
|
+
* (`z.output`), and the resulting function registers the wire validator. See #72.
|
|
48
|
+
*/
|
|
49
|
+
type ZodWithContextCustomization<InputCtx, ZArgs extends ZodValidator, CustomCtx extends Record<string, any>, CustomMadeArgs extends Record<string, any>, ExtraArgs extends Record<string, any>> = {
|
|
50
|
+
args?: ZArgs;
|
|
51
|
+
input?: (ctx: InputCtx, args: z.output<$ZodObject<ZArgs>>, extra?: ExtraArgs) => MaybePromise<{
|
|
52
|
+
ctx: CustomCtx;
|
|
53
|
+
args?: CustomMadeArgs;
|
|
54
|
+
onSuccess?: (params: {
|
|
55
|
+
ctx: unknown;
|
|
56
|
+
args: unknown;
|
|
57
|
+
result: unknown;
|
|
58
|
+
}) => unknown;
|
|
59
|
+
}>;
|
|
60
|
+
};
|
|
40
61
|
/**
|
|
41
62
|
* A zodvex builder: callable CustomBuilder + .withContext() for composing
|
|
42
63
|
* user customizations on top of the codec layer.
|
|
@@ -45,7 +66,7 @@ type InternalCustomization = {
|
|
|
45
66
|
* To compose multiple customizations, compose them before passing to .withContext().
|
|
46
67
|
*/
|
|
47
68
|
export type ZodvexBuilder<FuncType extends 'query' | 'mutation' | 'action', CodecCtx extends Record<string, any>, InputCtx extends Record<string, any>, Visibility extends FunctionVisibility> = CustomBuilder<FuncType, Record<string, never>, CodecCtx, Record<string, never>, InputCtx, Visibility, Record<string, any>> & {
|
|
48
|
-
withContext: <
|
|
69
|
+
withContext: <ZArgs extends ZodValidator = Record<string, never>, CustomCtx extends Record<string, any> = Record<string, never>, CustomMadeArgs extends Record<string, any> = Record<string, never>, ExtraArgs extends Record<string, any> = Record<string, any>>(customization: ZodWithContextCustomization<Overwrite<InputCtx, CodecCtx>, ZArgs, CustomCtx, CustomMadeArgs, ExtraArgs>) => CustomBuilder<FuncType, z.output<$ZodObject<ZArgs>>, Overwrite<CodecCtx, CustomCtx>, CustomMadeArgs, InputCtx, Visibility, ExtraArgs>;
|
|
49
70
|
};
|
|
50
71
|
export declare function initZodvex<DM extends GenericDataModel>(schema: {
|
|
51
72
|
__zodTableMap: ZodTableMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/internal/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/internal/init.ts"],"names":[],"mappings":"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"}
|
package/dist/legacy/index.js
CHANGED
|
@@ -663,15 +663,10 @@ function parseObjectArgsOrThrow(argsSchema, rawArgs) {
|
|
|
663
663
|
}
|
|
664
664
|
return parsed.data;
|
|
665
665
|
}
|
|
666
|
-
async function runCustomizationInput(customInput, ctx, allArgs, inputArgs, extra) {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
// returns Partial<T>. The cast is safe because inputArgs keys are derived from
|
|
671
|
-
// CustomArgsValidator at the type level.
|
|
672
|
-
pick(allArgs, Object.keys(inputArgs)),
|
|
673
|
-
extra
|
|
674
|
-
);
|
|
666
|
+
async function runCustomizationInput(customInput, ctx, allArgs, inputArgs, extra, argsSchema) {
|
|
667
|
+
const picked = pick(allArgs, Object.keys(inputArgs));
|
|
668
|
+
const customArgs = argsSchema ? parseObjectArgsOrThrow(argsSchema, picked) : picked;
|
|
669
|
+
return await customInput(ctx, customArgs, extra);
|
|
675
670
|
}
|
|
676
671
|
function applyCustomizationResult(ctx, baseArgs, added) {
|
|
677
672
|
const finalCtx = { ...ctx, ...added?.ctx ?? {} };
|
|
@@ -699,7 +694,11 @@ async function finalizeFunctionReturn(result, options) {
|
|
|
699
694
|
// src/internal/custom.ts
|
|
700
695
|
function customFnBuilder(builder, customization) {
|
|
701
696
|
const customInput = customization.input ?? NoOp.input;
|
|
702
|
-
const
|
|
697
|
+
const rawInputArgs = customization.args ?? NoOp.args;
|
|
698
|
+
const customArgEntries = Object.entries(rawInputArgs);
|
|
699
|
+
const customArgsAreZod = customArgEntries.length > 0 && customArgEntries.every(([, v7]) => v7 instanceof $ZodType);
|
|
700
|
+
const inputArgs = customArgsAreZod ? zodToConvexFields(rawInputArgs) : rawInputArgs;
|
|
701
|
+
const customArgsSchema = customArgsAreZod ? z.object(rawInputArgs) : void 0;
|
|
703
702
|
return function customBuilder(fn) {
|
|
704
703
|
const { args, handler = fn, returns: maybeObject, ...extra } = fn;
|
|
705
704
|
const skipConvexValidation = fn.skipConvexValidation ?? false;
|
|
@@ -722,7 +721,8 @@ function customFnBuilder(builder, customization) {
|
|
|
722
721
|
ctx,
|
|
723
722
|
allArgs,
|
|
724
723
|
inputArgs,
|
|
725
|
-
extra
|
|
724
|
+
extra,
|
|
725
|
+
customArgsSchema
|
|
726
726
|
);
|
|
727
727
|
const argKeys = Object.keys(argsValidator);
|
|
728
728
|
const rawArgs = pick(allArgs, argKeys);
|
|
@@ -745,7 +745,8 @@ function customFnBuilder(builder, customization) {
|
|
|
745
745
|
ctx,
|
|
746
746
|
allArgs,
|
|
747
747
|
inputArgs,
|
|
748
|
-
extra
|
|
748
|
+
extra,
|
|
749
|
+
customArgsSchema
|
|
749
750
|
);
|
|
750
751
|
const { finalCtx, finalArgs } = applyCustomizationResult(ctx, baseArgs, added);
|
|
751
752
|
const ret = await handler(finalCtx, finalArgs);
|