eventKeys

function
types.ts:1276
signature
eventKeys<EM>(): (keys: K) => K

Helper to create type-safe EventKey arrays without requiring as const. Preserves literal tuple types for proper type correlation in handlers.

Type parameters

NameTypeDescription
EMextends EventMapBaseEvent map.

Returns

(keys: K) => K

Example

example
type AppEM = {
  ui: { increment: number; decrement: number };
  data: { loaded: string[] };
};

// Without helper (requires `as const`):
const keys = [['ui', 'increment'], ['ui', 'decrement']] as const;

// With helper (no `as const` needed):
const keys = eventKeys<AppEM>()([
  ['ui', 'increment'],
  ['ui', 'decrement'],
]);
// Type: readonly [['ui', 'increment'], ['ui', 'decrement']]