diff options
| author | Andrej Mihajlov <and@codeispoetry.ru> | 2017-02-14 10:54:45 +0000 |
|---|---|---|
| committer | Andrej Mihajlov <and@codeispoetry.ru> | 2017-02-14 10:54:45 +0000 |
| commit | e79042f606ca9c2850cf57f533a98049990df19e (patch) | |
| tree | 56c8871a8ca2496425f8bcac5fc74dcf6985f886 /app/lib/enum.js | |
| parent | d0ddbfcfed224f97048bd615a91f7fd607b644a8 (diff) | |
| download | mullvadvpn-e79042f606ca9c2850cf57f533a98049990df19e.tar.xz mullvadvpn-e79042f606ca9c2850cf57f533a98049990df19e.zip | |
Add enum.isValid
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); |
