GithubHelp home page GithubHelp logo

zod-wretch's Introduction

Zod Wretch

zod-wretch is a small utility library for elbywan/wretch to bring in first-class support for zod schema validation.

import { ZodAddon } from 'zod-wretch';
import wretch from 'wretch';

const api = wretch().addon(ZodAddon);

// ...

const TestSchema = z.object({
    message: z.string(),
});

const response = await api.get("/test").jsonSchema(TestSchema);

zod-wretch's People

Contributors

estephinson avatar

Watchers

 avatar

Forkers

biesbjerg

zod-wretch's Issues

Type error when using other addons

Hello!

Neat addon :-)

I'm trying to use it with other addons, but something is off with the types.

Reproduction:

const api = wretch().addon(ZodAddon).addon(queryStringAddon);

const schema = z.object({ message: z.string() });
const response = await api.get("/test").jsonSchema(schema);
The 'this' context of type 'ZodAddon & WretchResponseChain<QueryStringAddon, ZodAddon, undefined>' is not assignable to method's 'this' of type 'QueryStringAddon & WretchResponseChain<QueryStringAddon, ZodAddon, undefined>'.
  Property 'query' is missing in type 'ZodAddon & WretchResponseChain<QueryStringAddon, ZodAddon, undefined>' but required in type 'QueryStringAddon'.ts(2684)

If I remove the queryStringAddon the error goes away โ€” I haven't been able to solve it, so was hoping you had an idea?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.