diff options
Diffstat (limited to 'app/lib/enum.js')
| -rw-r--r-- | app/lib/enum.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/lib/enum.js b/app/lib/enum.js index 4359c3bfb3..c2042c07fa 100644 --- a/app/lib/enum.js +++ b/app/lib/enum.js @@ -2,15 +2,20 @@ * Creates enum object with keys provided as arguments */ export default function Enum() { - let object = {}; + let object = Object.create({}); + const keys = [...arguments]; - for(const key of arguments) { + for(const key of keys) { Object.defineProperty(object, key, { enumerable: true, value: key, writable: false }); } + + Object.defineProperty(object, 'isValid', { + value: (e) => keys.includes(e) + }); Object.freeze(object); |
