Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

115
Visualizações
How to infer object with generic items

I have an object like this and infer types using settingToType helper:

    enum SettingType {
      Departures = 'departures',
      Dashboards = 'bookings_dashboards',
      MainNumber = 'main_number_is_booked_spots',
    }

    type Setting<P> = {
      type: SettingType
      payload: P
      component: Component<{
        modelValue: P
        'onUpdate:modelValue'?: (payload: P) => void
      }>
      validator: ZodType<P>
    }

    const settingToType = <P>(s: Setting<P>) => s

    export const settingsInfo = {
      [SettingType.Departures]: settingToType({
        type: SettingType.Departures,
        component: DeparturesListSelectorVue,
        payload: [],
        validator: array(number()),
      }),
      [SettingType.Dashboards]: settingToType({
        type: SettingType.Dashboards,
        component: BookingsDashboardSelectorVue,
        payload: [],
        validator: array(number()),
      }),
      [SettingType.MainNumber]: settingToType({
        type: SettingType.MainNumber,
        component: AvailableBookedSpotsSelectorVue,
        payload: false,
        validator: boolean(),
      }),
    }

How to replace multiple usage of settingToType with one function which infers all object at once?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda