TypeScript - Template Literal Types & satisfies
Template literal types
type EventName = `on${Capitalize}`;
function on(event: E, handler: () => void) {}
  satisfies operator
const routes = {
  home: '/',
  user: '/users/:id'
} as const satisfies Record;
// keys are literal, values are strings
 as const
const ROLES = ['admin','user','guest'] as const;
type Role = typeof ROLES[number]; // 'admin' | 'user' | 'guest'