4 ms·
You can also write the array first, without using enum: const tokens = ['parenOpen', 'bang', 'plus', 'minus'] as const; type Token = typeof tokens[number]; t
by cuddlecake 4y ago
You can also write the array first, without using enum:
const tokens = ['parenOpen', 'bang', 'plus', 'minus'] as const;
type Token = typeof tokens[number];
type TokenTable<T> = Record<Token, T> // alias for { [key in Token]: T }
const isToken = (t: string): t is Token => tokens.includes(t);
const patterns: TokenTable<RegExp> = {
bang: /\+/, // rest
}