• Make a data transformer based on a schema. All data passed into it will be turned into data of that schema (or the transformer will throw during parsing) This method will throw an exception (like 422 Unprocessible Entity) if data validation fails. The error code and message can be customized.

    Type Parameters

    Type Parameters

    • ZodSchema extends ZodType<any, any, any, ZodSchema>

    Parameters

    • schema: ZodSchema

      message to return to client if parsing and validating D fails

    • errorCode: number = 422

      error code of error if parsing fails

    • errorMessage: string = "Data-promise parsing failed"

      error message if parsing fails

      The function throws if a data-promise is passed in and the promise rejects.

      The returned parser can then be used like this:

      const parseDbPromise = makeParser(z.object({
      createdAt: z.date()
      }))

      const fakeDatabaseQuery = async () => { test: "1" }

      const data = await parseDbPromise(fakeDatabaseQuery)

      console.log(parsedData)
      // -> output: `1` (as a number, as `z` also deserializes)

    Returns ((promise: Promise<any>, errorCodeOverwrite?: undefined, errorMessageOverwrite?: undefined) => Promise<TypeOf<ZodSchema>>)

      • (promise: Promise<any>, errorCodeOverwrite?: undefined, errorMessageOverwrite?: undefined): Promise<TypeOf<ZodSchema>>
      • Parameters

        • promise: Promise<any>
        • errorCodeOverwrite: undefined = undefined
        • errorMessageOverwrite: undefined = undefined

        Returns Promise<TypeOf<ZodSchema>>

Generated using TypeDoc