typescript enums vs unions
Typescript enums have their uses but are extra hassle when creating new dto instances. I don't think enums are a good fit for working with dtos. When I try to instantiate a new AutoTagsConfigType instance as mock data for tests, typescript is reporting an error for the status field because it's defined as an ATStatus enum So setting status to a literal like this is not acceptable to typescript const mockData: AutoTagsConfigType = { status: 'Pending', id: 'd3f963fb-2201-4f5c-ae38-21bf22cec001', name: 'Big Spender', } but setting status as: status: ATStatus.Pending does work however that's not very nice to have to do (use the enum type all the time, I prefer using literals) especially if typescript has another way of achieving the same goal (limit status values) using unions if ATStatus is a union not an enum, then setting values literally works as we would like and typescript will only allow set one of those values type ATStatus = ...