UNPKG

alinea

Version:
17 lines (16 loc) 988 B
import { Field, type FieldOptions } from './Field.js'; export interface FieldGetter { <Value>(field: Field<Value>): Value; } export interface OptionsTracker<Options = any> { (getter: FieldGetter): Partial<Options> | Promise<Partial<Options>>; } export interface ValueTracker<Value = any> { (getter: FieldGetter): Value; } export declare function optionTrackerOf(field: Field): OptionsTracker<any> | undefined; export declare function valueTrackerOf(field: Field): ValueTracker<any> | undefined; export declare namespace track { function options<StoredValue, QueryValue, OnChange, Options>(field: Field<StoredValue, QueryValue, OnChange, Options>, tracker: OptionsTracker<Options & FieldOptions<StoredValue>>): Field<StoredValue, QueryValue, OnChange, Options>; function value<StoredValue, QueryValue, OnChange, Options>(field: Field<StoredValue, QueryValue, OnChange, Options>, tracker: ValueTracker<StoredValue>): Field<StoredValue, QueryValue, OnChange, Options>; }