Template Literal Types
Template Event Names
Template literal types describe strings that are assembled from smaller sets of names.
Template Event Names
event_names.ts
type Entity = "user" | "order";
type Action = "created" | "updated";
type EventName = `${Entity}:${Action}`;
function publish(eventName: EventName): string {
return `publish ${eventName}`;
}
const entity: Entity = ;
const action: Action = "created";
const eventName: EventName = `${entity}:${action}`;
console.log(publish(eventName));
type Entity = "user" | "order";
type Action = "created" | "updated";
type EventName = `${Entity}:${Action}`;
function publish(eventName: EventName): string {
return `publish ${eventName}`;
}
const entity: Entity = ;
const action: Action = "created";
const eventName: EventName = `${entity}:${action}`;
console.log(publish(eventName));
template literal type
A type such as `` `${Entity}:${Action}` `` keeps event names aligned with the allowed pieces.