We've defined some enum values in a const in our codebase, like this:
const Templates = {
NewMessageFromBot: 'new_message_from_bot,
NewMessageFromHuman: 'new_message_from_human',
NewUnreadNotification: 'new_unread_notification',
}
(Example is shortened intentionally, but does in fact contain almost 100 entries for our different HTML templates for messages.).
We want to use these names as typings for a function like
function getTemplateName(message: MessageDocument, templateName: Templates) { ... }
But of course we get Templates' refers to a value, but is being used as a type here.ts(2749)
Is there any way to reuse the Templates object as a type, or do I need to refactor it to be an Enum or does anyone have any good suggestions? Thanks in advance!
I've tried searching for similar topics, by searching for "reuse objects as types in TypeScript" but it does in fact seem I need to do something advanced here, or just refactor.
function getTemplateName(message: MessageDocument, templateName: Templates) { ... }
typeof Templateswill give you the type of any const value enjoy.