JSFiddle - React, Tailwind, and code Playground

by Raul Bojalil

TypeScript

type TrackingAction = UserTrackingAction | PricingRequestTrackingAction;
enum UserTrackingAction { Created: 'Created' };
enum PricingRequestTrackingAction { BeginCreate: 'BeginCreate' };

const trackEvent = <ActionType extends TrackingAction>(action: ActionType, label: string) => {
  console.log(typeof action);
}

trackEvent<UserTrackingAction>(UserTrackingAction.Created, "label");