4.2 data
pub(api) data User {
pub(api) id: UserId
pub(api) name: Name
pub(api) email: Email? @since(2)
role: Role = Role.User
createdAt: Time = now()
invariant name != "admin" || role == Role.Admin
}- Поле:
видимость? имя: Тип (= значение_по_умолчанию)? атрибуты*. Атрибуты поля МОГУТ стоять перед полем или после типа на той же строке. - Выражение по умолчанию вычисляется при каждом создании значения и МОЖЕТ ссылаться на предыдущие поля.
invariant expr(контекстное слово внутриdata) проверяется после каждого конструирования и после каждогоvar fn-метода в профилях с включёнными контрактами (§6.7).- Порядок полей — порядок объявления; номер поля для сериализации — §9.2.
Связанные диагностики
См. также
Исходник: docs/spec/oxl-standard.md