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

157
Visualizações
How to make two enums have the same keys?

I have these two enums:

enum foo {
   bar,
   baz
}

enum fiz {
   ...
}

How can I make sure, that fiz has the same keys as foo? I tried adding an interface, but no luck with assigning.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can use a map.

enum foo {
  bar,
  baz,
}

const fiz = new Map<foo, string>([
  [foo.bar, 'value1'],
  [foo.baz, 'value2'],
]);

OR you can do something like this

enum Foo {
    A = "ActivityCode.Foo.A",
    B = "ActivityCode.Foo.B",
    C = "ActivityCode.Foo.C",
}

enum Bar {
    A = "ActivityCode.Bar.A",
    B = "ActivityCode.Bar.B",
    C = "ActivityCode.Bar.C",
}

enum Baz {
    A = "ActivityCode.Baz.A",
    B = "ActivityCode.Baz.B",
    C = "ActivityCode.Baz.C",
}

const ActivityCode = {
    Foo,
    Bar,
    Baz,
};

console.log(ActivityCode.Foo.A);

reference

about 4 years ago · Juan Pablo Isaza Relatório

0

Based on your comment, I think this is approach will work well for you:

TS Playground

const keys = ['foo', 'bar', 'baz'] as const;
type Key = typeof keys[number]; // "foo" | "bar" | "baz"

type ObjectWithSameKeys<ValueType> = Record<Key, ValueType>;

const labels: ObjectWithSameKeys<number> = {
  foo: 1,
  bar: 2,
  baz: 3,
};

const names: ObjectWithSameKeys<string> = {
  foo: 'one',
  bar: 'two',
  baz: 'three',
};
about 4 years ago · Juan Pablo Isaza Relatório
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