Using the bigint type of Zod seems to be breaking the /docs and redocs pages. A simple example based on the user guide, modified to use Zod's bigint instead of the normal Int:
import { OpenAPIRouter, OpenAPIRoute, Path, Int } from '@cloudflare/itty-router-openapi';
import { z } from 'zod'
export class ToDoFetch extends OpenAPIRoute {
static schema = {
parameters: {
todoId: Path(z.coerce.bigint().nonnegative(), { // <-- using `bigint` here
description: 'ToDo ID',
}),
},
}
async handle(
request: Request,
env: any,
context: any,
data: any
) {
const { todoId } = data.params
return new Response(todoId);
}
}
const router = OpenAPIRouter()
router.get('/todos/:todoId', ToDoFetch)
export default {
fetch: router.handle,
}
The docs page then throws: "Failed to load API definition. Fetch error response status is 500 /openapi.json"
The redocs page is stuck in "Loading..."
When using the standard Int type instead, the doc pages load normally.
Using the
bigint
type of Zod seems to be breaking the/docs
andredocs
pages. A simple example based on the user guide, modified to use Zod'sbigint
instead of the normalInt
:The
docs
page then throws: "Failed to load API definition. Fetch error response status is 500 /openapi.json" Theredocs
page is stuck in "Loading..."When using the standard
Int
type instead, the doc pages load normally.