Контекст для MetaFor - v2.3.1
    Preparing search index...

    Type Alias Types

    Типы для описания контекста.

    Является фабрикой для создания схемы контекста. Каждый тип предоставляет методы .optional() и .required() с унифицированным API.

    const schema = contextSchema((types) => ({
    name: types.string.required("Иван", { label: "Имя" }),
    age: types.number.optional({ label: "Возраст" }),
    tags: types.array.optional({ label: "Теги", data: "user_tags" }),
    role: types.enum("user", "admin").required("user", { id: true })
    }))
    • label?: string — заголовок поля для UI
    • id?: true — только для обязательных примитивов и enum (отметка идентификатора)
    • data?: string — только для array (имя таблицы/источника данных)
    • Опциональные поля могут принимать null и имеют опциональный default
    • Обязательные поля всегда должны иметь значение по умолчанию
    • Все параметры передаются в одном вызове: method(default?, options?)
    type Types = {
        string: TypePrimitive<string, "string">;
        number: TypePrimitive<number, "number">;
        boolean: TypePrimitive<boolean, "boolean">;
        array: TypeArray;
        enum: TypeEnum;
    }
    Index

    Properties

    string: TypePrimitive<string, "string">

    Строковый тип. Поддерживает значения по умолчанию и метаданные label, id.

    types.string.required("default", { label: "Имя", id: true })
    types.string.optional({ label: "Описание" })
    types.string.optional("default")
    number: TypePrimitive<number, "number">

    Числовой тип. Поддерживает значения по умолчанию и метаданные label, id.

    types.number.required(0, { label: "Возраст", id: true })
    types.number.optional({ label: "Счетчик" })
    types.number.optional(100)
    boolean: TypePrimitive<boolean, "boolean">

    Логический тип. Поддерживает значения по умолчанию и метаданные label, id.

    types.boolean.required(false, { label: "Активен" })
    types.boolean.optional({ label: "Флаг" })
    types.boolean.optional(true)
    array: TypeArray

    Массив примитивов. Плоский и однородный. Поддерживает метаданные label, data.

    types.array.required<string>([], { label: "Теги", data: "tags" })
    types.array.optional<number>({ label: "Значения" })
    types.array.optional([1, 2, 3])
    enum: TypeEnum

    Перечисления. Однородные значения строк или чисел. Значения могут отсутствовать.

    types.enum("user", "admin").required("user", { label: "Роль", id: true })
    types.enum(1, 2, 3).optional({ label: "Приоритет" })
    types.enum().optional() // без значений