Saltar al contenido

09 · Estructuras de Datos

Tipos de los campos seleccionados

Define el tipo de una respuesta con User.{ id, name, address.city as city }. Los tipos de los campos proceden de la declaración original. Se rechazan los campos ausentes, inaccesibles o seleccionados dos veces.

En esta página

Define el tipo de una respuesta con User.{ id, name, address.city as city }. Los tipos de los campos proceden de la declaración original. Se rechazan los campos ausentes, inaccesibles o seleccionados dos veces.

Ejemplo completo

Tipos de los campos seleccionados.

65-type-projections.zolo
Playground
// Public response types track the model without duplicating its declarations.

struct Address { city: str }
struct User { id: int, name: str, address: Address, internal_note: str }

type PublicUser = User.{ id, name, address.city as city }

fn label(user: PublicUser) -> str = "{user.name} — {user.city}"

let account = User {
    id: 42,
    name: "Ana",
    address: Address { city: "Recife" },
    internal_note: "billing contact",
}
let response = account.{ id, name, address.city as city }
print(label(response))
assert_eq(response.id, 42)

Referencia

Referencia · Programa fuente

zolo run examples/features/65-type-projections.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br