UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

17 lines (16 loc) 755 B
import { Field, 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 namespace track { function options<Value, OnChange, Options extends FieldOptions<Value>>(field: Field<Value, OnChange, Options>, tracker: OptionsTracker<Options>): void; function optionTrackerOf(field: Field): OptionsTracker<any> | undefined; function value<Value>(field: Field<Value>, tracker: ValueTracker<Value>): void; function valueTrackerOf(field: Field): ValueTracker<any> | undefined; }