Можно ли преобразовать следующий код для контейнера объекта "Enum":
/* enum.js */
let Enum = {};
Enum.Color = {
check: (value) => {
[
'red',
'green',
'blue',
].indexOf(value) !== -1;
},
};
Enum.Size = {
check: (value) => {
[
'big',
'medium',
'small',
].indexOf(value) !== -1;
},
};
export default Enum;
таким образом, чтобы минимализм и внедрение функций?
let Enum = {};
Enum.Color = { values: [
'red',
'green',
'blue',
],
},
};
Enum.Size = { values: [
'big',
'medium',
'small',
],
},
};
// here some code that inject the check function and
// other fcts to follows in every Enum property (lets say, with a values property inside)
export default Enum;
Thisмодель очень гибкая, потому что я мог бы добавить другие метаданные к различным перечислениям.
Время от времени enum используется следующим образом
import Enum from 'enum';
Enum.Size.check('medium');