Enum to array is a light module for converting a typescript enum to an array of keys or values.
Thanks to reverse mappings this is a little bit trickier than Object.keys
or Object.values
npm i enum-to-array
import { enumToArray } from 'enum-to-array';
enum MyEnum {
FOO = 'BAR',
ABC = 123,
}
console.log(enumToArray(MyEnum));
// [{ key: 'FOO', value: 'BAR' }, { key: 'ABC', value: 123 }]
enum-to-array is an ESM module. That means it must be import
ed. To load from a CJS module, use dynamic import const { enumToArray } = await import('enum-to-array');
.
Due to the nature of const enum
s, those are not usable with this library as there is nothing to pass at runtime.
This can be partially resolved by using preserveConstEnums.
enum-to-array exports three functions:
Lists key-value pairs of enum, in order that they occur.
import { enumToArray } from 'enum-to-array';
enum MyEnum {
FOO = 'BAR',
ABC = 123,
DUP = FOO,
}
console.log(enumToArray(MyEnum));
// [
// { key: 'FOO', value: 'BAR' },
// { key: 'ABC', value: 123 },
// { key: 'DUP', value: 'BAR' },
// ]
Lists values of enum, in order that they occur.
import { enumToValues } from 'enum-to-array';
console.log(enumToValues(MyEnum));
// ['BAR', 123, 'BAR']
Optionally de-dupe values with { unique: true }
provided as a second parameter.
console.log(enumToValues(MyEnum, { unique: true }));
// ['BAR', 123]
Lists keys of enum, in order that they occur.
import { enumToKeys } from 'enum-to-array';
console.log(enumToKeys(MyEnum));
// ['FOO', 'ABC', 'DUP']