RecipesChapter 6: String Template Literal Types

Defining a Custom Event System

Recipe 6.1 from The TypeScript Cookbook

const system = new EventSystem();
system.defineEventHandler("click", () => {});
// ^ Argument of type '"click"' is not assignable to parameter
//.  of type '`on${string}`'.(2345)
system.defineEventHandler("onClick", () => {});
system.defineEventHandler("onchange", () => {});
Open in TypeScript Playground →