function isOneOf<T extends readonly unknown[]>(vals: T, x: unknown): x is T[number] {
return (vals as readonly unknown[]).includes(x)
}
isOneOf(['red', 'blue'] as const, 'red') // β trueisOneOf creates a type guard that narrows to a literal union from a fixed list of values.
Challenge: Implement isOneOf<T extends readonly unknown[]>(x: unknown, values: T): x is T[number] β checking if x is one of a fixed set of literal values.
isOneOf('red', ['red', 'green', 'blue'] as const) // β true
isOneOf('pink', ['red', 'green', 'blue'] as const) // β false