Crie uma interface typescript baseada em um mapa const defaultValues

Nov 10 2020

Eu queria fazer algo semelhante a isto: https://stackoverflow.com/a/45777530/565877

Mas não estou trabalhando com nenhum tipo de esquema de banco de dados real, apenas tenho um objeto simples de nomes de campo e seus valores padrão, assim:

export const FormFieldDefaults = {
  firstName: '',
  lastName: '',
  dateOfBirth: ''
}

Quero gerar este respectivo tipo:

export type FormFields = {
  firstName: string
  lastName: string
  dateOfBirth: string
}

Respostas

1 DevinGRhode Nov 10 2020 at 23:22

Acontece que tudo que precisamos é o typeofoperador de tipo :

export const FormFieldDefaults = {
  firstName: '',
  lastName: '',
  dateOfBirth: ''
}

export type FormFields = typeof FormFieldDefaults