form icon indicating copy to clipboard operation
form copied to clipboard

increased type safety via string literals

Open dgreene1 opened this issue 3 years ago • 1 comments

We would get considerably better type safety out of many of the form instance functions if we used the keyof operator. For instance, this simple change would make it impossible to accidentally mispell the field that we're looking for.

export interface FormInstance<Values = any> {
    getFieldValue: (name: NamePath) => StoreValue;

to this:

export interface FormInstance<Values = any> {
    getFieldValue: <NamePath extends keyof FormFieldsAndValues>(name: NamePath) => FormFieldsAndValues[NamePath] | undefined;

dgreene1 avatar Feb 12 '21 04:02 dgreene1

If approved, I will submit this PR.

dgreene1 avatar Feb 12 '21 04:02 dgreene1