Skip to content

Comandos úteis

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 ​

readonly kind: "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 ​

ValidationTarget

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

Licença ISC.