Доброго дня.
Есть объект, который представляет собой карту алиасов и возможных значений.
const TYPES = {
TYPE: 'type',
ANOTHER_TYPE: 'anotherType',
}
Нужно описать объект, который может хранить в себе функции по ключам, являющим собою значения объекта TYPES. То есть, выглядит этот объект так:
const object = {
type: () => {},
anotherType: () => {},
}
В данном случае задача осложняется тем, что keyof вернет объединение ключей, а valueof, к сожалению, в TS не завезли. Завести второй объект (Object.values(TYPES)) такой себе вариант, потому что в этом случае keyof замусорит возможные ключи различными length и прочими встроенными в прототип Array свойствами и методами.
Как решить задачу наиболее элегантно?