Skip to content

xdash API Reference v0.5.14


xdash API Reference / EnumFromList

Type Alias: EnumFromList<T, CapitalizeKeys, CapitalizeValues>

EnumFromList<T, CapitalizeKeys, CapitalizeValues> = { [K in T[number] as CapitalizeKeys extends true ? Capitalize<K> : K]: CapitalizeValues extends true ? Capitalize<K> : K }

Defined in: src/types.ts:105

Converts a list of strings to an enum type.

Type Parameters

T

T extends readonly string[]

list of strings to convert to an enum

CapitalizeKeys

CapitalizeKeys extends boolean = true

whether to capitalize the keys of the enum

CapitalizeValues

CapitalizeValues extends boolean = false

whether to capitalize the values of the enum

Returns

an enum from the list

Example

ts
const Colors = toEnum(['red', 'green', 'blue'])
console.log(Colors.Red) // 'red'
console.log(Colors.Green) // 'green'
console.log(Colors.Blue) // 'blue'

const Colors = toEnum(['red', 'green', 'blue'], { CapitalizeKeys: true, CapitalizeValues: true })
console.log(Colors.Red) // 'Red'
console.log(Colors.Green) // 'Green'
console.log(Colors.Blue) // 'Blue'

Released under the MIT License.