flowingts / Contracts
Interface: Contracts
Definido em: src/core/contracts.ts:9
O motor dos contratos das rotas (F-27): quem valida a entrada, filtra a saída e descreve o schema para o OpenAPI. Um por app, explícito: createApp({ contracts: contracts.standard() }). Sem a opção, vale o contracts.native(). Um schema que não pertence ao motor do app é recusado no registro da rota: não há mistura.
Propriedades
kind
readonlykind:"native"|"standard"
Definido em: src/core/contracts.ts:11
native (o padrão do FlowingTS) ou standard (Zod, Valibot, ArkType).
Métodos
check()
check(
schema,data,target):CheckResult|Promise<CheckResult>
Definido em: src/core/contracts.ts:18
Valida uma parte da entrada. value é o valor a usar daí em diante (o motor pode convertê-lo ou aplicar valores padrão). Pode ser assíncrono no motor standard.
Parâmetros
schema
unknown
data
unknown
target
Retorna
CheckResult | Promise<CheckResult>
owns()
owns(
schema):boolean
Definido em: src/core/contracts.ts:13
O schema é deste motor? Conferido no registro de cada rota.
Parâmetros
schema
unknown
Retorna
boolean
serialize()
serialize(
schema,data):string
Definido em: src/core/contracts.ts:20
Serializa uma resposta JSON pelo schema, sem campos não declarados. Lança se a saída não corresponde.
Parâmetros
schema
unknown
data
unknown
Retorna
string
strip()
strip(
schema,data):CheckResult
Definido em: src/core/contracts.ts:22
Valida a saída e devolve uma cópia sem campos não declarados (respostas em outros formatos).
Parâmetros
schema
unknown
data
unknown
Retorna
CheckResult
toJsonSchema()
toJsonSchema(
schema):object|undefined
Definido em: src/core/contracts.ts:24
O JSON Schema do schema, para o OpenAPI; undefined se o motor não sabe convertê-lo.
Parâmetros
schema
unknown
Retorna
object | undefined