Pular para o conteúdo

09 · Estruturas de Dados

Tipos dos campos selecionados

Defina o tipo de uma resposta com User.{ id, name, address.city as city }. Os tipos dos campos vêm da declaração original. Campos ausentes, inacessíveis ou selecionados em duplicidade são rejeitados.

Nesta página

Defina o tipo de uma resposta com User.{ id, name, address.city as city }. Os tipos dos campos vêm da declaração original. Campos ausentes, inacessíveis ou selecionados em duplicidade são rejeitados.

Exemplo completo

Tipos dos campos selecionados.

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)

Referência

Referência · Programa fonte

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

Veja também

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br