ClientInferring Schema Types

Inferring OAS Schema Types

In feTS, you can use helpers to infer specific fragments of an OpenAPI document.

Models

To infer models from an OpenAPI document, use the OASModel type:

user-type.ts
import type { NormalizeOAS, OASModel } from 'fets'
import type oas from './openapi'
 
// This will infer User type from your OpenAPI schema
type User = OASModel<NormalizeOAS<typeof oas>, 'User'>

Request Parameters

To infer request body parameters from an OpenAPI document, utilize the OASRequestBody type:

user-request-parameters.ts
import type { NormalizeOAS, OASRequestParams } from 'fets'
import type oas from './openapi'
 
type AddUserInput = OASRequestParams<NormalizeOAS<typeof oas>, '/user', 'POST'>

Response body

Use the OASOutput type, to infer the response body from an OpenAPI document:

user-response-body.ts
import type { NormalizeOAS, OASOutput } from 'fets'
import type oas from './openapi'
 
type UserByIdResponse = OASOutput<NormalizeOAS<typeof oas>, '/user/:id', 'POST', 200>