Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

Schema

interfaz

Public Standard Schema v1 contract for API, RPC, and Socket. Los schemas de Valibot lo implementan; los públicos viven en shared/.

ts
import type { Schema } from "@meekojs/meeko/server";

Código fuente src/server/schema.ts:16

Declaración #

ts
interface Schema<I = unknown, O = I> {
	readonly '~standard': {
		readonly version: 1
		readonly validate: (value: unknown) => { value: O; issues?: undefined } | { issues: readonly unknown[] } | Promise<{ value: O; issues?: undefined } | { issues: readonly unknown[] }>
		readonly types?: { readonly input: I; readonly output: O } | undefined
	}
}

Parámetros de tipo #

I = unknown

Tipo de entrada.

O = I

Tipo de salida, tras validar y transformar.

Ejemplo #

ts
// shared/schemas/user.ts
import * as v from "valibot";
import type { Schema } from "@meekojs/meeko/server";

export const userSchema: Schema<{ id: string; name: string }> = v.object({ id: v.string(), name: v.string() });

Propiedades #

~standard #

propiedad sólo lectura

readonly '~standard': {
	readonly version: 1
	readonly validate: (value: unknown) => { value: O; issues?: undefined } | { issues: readonly unknown[] } | Promise<{ value: O; issues?: undefined } | { issues: readonly unknown[] }>
	readonly types?: { readonly input: I; readonly output: O } | undefined
}

Interfaz Standard Schema v1: validate devuelve el valor de salida o la lista de issues.

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/server/schema.ts