Toshihiko
    正在准备搜索索引...

    接口 Field<Definition>

    一个编译后 schema 条目的运行时表示。

    interface Field<
        Definition extends SchemaFieldDefinition = SchemaFieldDefinition,
    > {
        allowNull: boolean;
        autoIncrement: boolean;
        column: string;
        default: FieldDefinitionValue<Definition> | undefined;
        equal: (
            left: FieldDefinitionValue<Definition>,
            right: FieldDefinitionValue<Definition>,
        ) => boolean;
        name: Definition["name"];
        options: Readonly<Definition>;
        primaryKey: boolean;
        type: FieldTypeFromDefinition<Definition>;
        validators: readonly FieldValidator<
            FieldTypeValue<FieldTypeFromDefinition<Definition>>,
        >[];
        get defaultValue(): FieldDefinitionValue<Definition> | undefined;
        get needQuotes(): boolean;
        parse(
            value: ReturnType<FieldTypeFromDefinition<Definition>["restore"]>,
        ): FieldDefinitionValue<Definition>;
        restore(
            value: FieldDefinitionValue<Definition>,
        ): ReturnType<FieldTypeFromDefinition<Definition>["restore"]>;
        toJSON(
            value: FieldDefinitionValue<Definition>,
        ): FieldDefinitionJsonValue<Definition>;
    }

    类型参数

    索引
    allowNull: boolean

    字段是否接受 null。

    autoIncrement: boolean

    存储后端是否会生成此字段。

    column: string

    Adapter 使用的存储列名。

    default: FieldDefinitionValue<Definition> | undefined

    解析后的 schema 或 Field Type 默认值。

    equal: (
        left: FieldDefinitionValue<Definition>,
        right: FieldDefinitionValue<Definition>,
    ) => boolean

    使用 Field Type 或严格相等比较两个应用层值。

    name: Definition["name"]

    Yukari 数据行公开的逻辑属性名。

    options: Readonly<Definition>

    规范化后的字段选项。

    primaryKey: boolean

    字段是否参与数据行定位。

    type: FieldTypeFromDefinition<Definition>

    用于解析、还原、比较和 JSON 转换的 Field Type。

    validators: readonly FieldValidator<
        FieldTypeValue<FieldTypeFromDefinition<Definition>>,
    >[]

    规范化后的 validator 列表。

    • get needQuotes(): boolean

      SQL Adapter 是否应给还原后的值加引号。

      返回 boolean

    • 把存储层值转换为应用层表示。

      参数

      • value: ReturnType<FieldTypeFromDefinition<Definition>["restore"]>

        存储后端返回的值。

      返回 FieldDefinitionValue<Definition>

      解析后的应用层值。

    • 把应用层值转换为存储层表示。

      参数

      • value: FieldDefinitionValue<Definition>

        Yukari 字段的当前值。

      返回 ReturnType<FieldTypeFromDefinition<Definition>["restore"]>

      可以交给 Adapter 的值。