Effect CommunityEC
Effect Community2y ago
4 replies
Freeman

Creating a Union of Literals from an Enum in TypeScript

I want to create a union of literals based off the values of an existing enum (GQL auto-generated enum). Is there a leaner way to achieve this?
enum WeekDay {
  Monday = "MONDAY",
  Tuesday = "Tuesday",
  Wednesday = "Wednesday",
  Thursday = "Thursday",
  Friday = "Friday",
  Saturday = "Saturday",
  Sunday = "Sunday",
}
const WeekDaySchema = Schema.Union(
  ...Record.values(WeekDay).map((value) => Schema.Literal(value as `${WeekDay}`)),
);
Was this page helpful?