fastify / fastify-type-provider-json-schema-to-ts

A Type Provider for json-schema-to-ts
MIT License
35 stars 8 forks source link

Not showing type error for status codes not in schema #74

Open SEAN-7 opened 7 months ago

SEAN-7 commented 7 months ago

Prerequisites

Fastify version

4.25.2

Plugin version

3.0.0

Node.js version

20.10.0

Operating system

macOS

Operating system version (i.e. 20.04, 11.3, 10)

14.3

Description

In my schema, I've specified that the only response code is 201. However, if I write my handler as returning a 200, I don't get a type error:

Steps to Reproduce

import { FastifyPluginAsyncJsonSchemaToTs } from "@fastify/type-provider-json-schema-to-ts"

const plugin: FastifyPluginAsyncJsonSchemaToTs = async function (
    fastify,
    _opts
) {
    fastify.post(
        "/sign-up",
        {
            schema: {
                response: {
                    201: {
                        type: "object",
                        properties: {
                            email: { type: "string" },
                        },
                        required: ["email"],
                    },
                },
            },
        },
        async (_, reply) => {
            return reply.status(200).send() // This should show a type error on status 200 because not in schema
        }
    )
}

export default plugin

Expected Behavior

When using generics, it'll show a type error on 200 which I believe is the desired behaviour.