Skip to content

Small TypeScript utility to convert between compatible enum values

License

Notifications You must be signed in to change notification settings

maslade/ts-safely-convert-enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Safely Convert Enums Between Compatible Types

Tiny utility function that can be used to safely convert between string-based enums with identical values.

Usage

const sourceEnum = SourceEnum.SomeValue;
const convertedEnum: TargetEnum = safelyConvertEnum(sourceEnum);

How "safe" is it?

This will produce an error in the event that SourceEnum and TargetEnum are incompatible by value, or are not string-based enums.

The error it produces is unfortunately a little cryptic. Given an incompatible set of enums, the error will present on the sourceEnum variable where it is passed into the function, and the error will be similar to:

Argument of type '...' is not assignable to parameter of type 'never'.ts(2345)

When should I use this?

You should use this only when you are dealing with two enums that are meaningfully equivalent. This means both that they have the same values today, and that they (by design) should always represent the same set of values. You should not use this to convert between enums that are coincidentally equivalent.

About

Small TypeScript utility to convert between compatible enum values

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published