Skip to content
Discussion options

You must be logged in to vote

Pretty much. You could also write a baseQuery wrapper for zod - something roughly like this untested pseudocode:

const zodBaseQueryWrapper: BaseQueryEnhancer< unknown, { argumentSchema?: ZodSchema, dataSchema?: ZodSchema } > = (baseQuery) => async (args, api, extraOptions) => { if (extraOptions.argumentSchema) { try { extraOptions.argumentSchema.parse(args) } catch (error) { return { error } } } const returnValue = baseQuery(args, api, extraOptions) if (extraOptions.dataSchema && 'data' in returnValue) { try { extraOptions.dataSchema.parse(returnValue.data) } catch (error) { return { error } } } return returnValue }

Replies: 1 comment 12 replies

Comment options

You must be logged in to vote
12 replies
@phryneas
Comment options

Answer selected by User6531
@User6531
Comment options

@hhsl
Comment options

@User6531
Comment options

@Lantianyou
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
7 participants