This is the base interface for primitive instance value editors (non-collection values). The interface is made generic so that it can support various types of objects that hold the value to be edited (currently, we just use this for ValueSpecification and V1_ValueSpecification).

T represents the type of the object that holds the value to be edited (i.e. ValueSpecification or V1_ValueSpecification). U represents the type of data that the object holds.

valueSelector: callback that handles extracting the data value from the object. updateValueSpecification: callback that takes the valueSpecification object and the new value and handles updating the object with the new value. errorChecker: optional callback that should return true if the valueSpecification is invalid.

Type Parameters

  • T
  • U extends string | number | boolean | Enum | null