effex-monorepo
    Preparing search index...

    Interface StructFieldState<T, FieldStates>

    Runtime state for a struct field. Provides access to nested field states.

    interface StructFieldState<
        T extends Record<string, unknown>,
        FieldStates extends Record<string, unknown> = Record<string, any>,
    > {
        dirty: Readable.Readable<boolean>;
        errors: Readable.Readable<readonly ParseIssue[]>;
        fields: FieldStates;
        reset: () => Effect<void>;
        set: (value: T) => Effect<void>;
        touched: Readable.Readable<boolean>;
        update: (f: (value: T) => T) => Effect<void>;
        value: Signal.Signal<T>;
    }

    Type Parameters

    • T extends Record<string, unknown>
    • FieldStates extends Record<string, unknown> = Record<string, any>
    Index

    Properties

    dirty: Readable.Readable<boolean>

    Whether any nested field value has changed from initial

    errors: Readable.Readable<readonly ParseIssue[]>

    Validation errors for the struct as a whole

    fields: FieldStates

    Access nested field states

    reset: () => Effect<void>

    Reset all nested fields to initial values

    set: (value: T) => Effect<void>

    Set the struct value

    touched: Readable.Readable<boolean>

    Whether any nested field has been touched

    update: (f: (value: T) => T) => Effect<void>

    Update the struct value with a function

    value: Signal.Signal<T>

    The struct's current value as a signal