diff options
| author | Andrej Mihajlov <and@codeispoetry.ru> | 2017-06-19 19:31:28 +0300 |
|---|---|---|
| committer | Andrej Mihajlov <and@codeispoetry.ru> | 2017-06-22 14:10:06 +0300 |
| commit | 7432e0bc60d6462e65ef34fac3669a66fbe75538 (patch) | |
| tree | cba0dc372e90bf4fe584347fd4e9b175ee6a12d8 | |
| parent | 6add95b14cc72edd0c90a6b4f9b02f39105f2941 (diff) | |
| download | mullvadvpn-7432e0bc60d6462e65ef34fac3669a66fbe75538.tar.xz mullvadvpn-7432e0bc60d6462e65ef34fac3669a66fbe75538.zip | |
Drop unused Enum class
| -rw-r--r-- | app/lib/enum.js | 82 | ||||
| -rw-r--r-- | test/enum.spec.js | 40 |
2 files changed, 0 insertions, 122 deletions
diff --git a/app/lib/enum.js b/app/lib/enum.js deleted file mode 100644 index f436c741d0..0000000000 --- a/app/lib/enum.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Enum - * @exports - * @class Enum - */ -export default class Enum { - - /** - * Creates an instance of EnumBase. - * - * @param {...string|object} ... - enum keys - * @memberOf Enum - */ - constructor() { - const items = [...arguments]; - let allKeys = []; - let reverseMap = new Map(); - - for(const item of items) { - if(typeof(item) === 'string') { - Object.defineProperty(this, item, { - enumerable: true, - value: item, - writable: false - }); - allKeys.push(item); - reverseMap.set(item, item); - } else if(typeof(item) === 'object') { - for(const key of Object.keys(item)) { - Object.defineProperty(this, key, { - enumerable: true, - value: item[key], - writable: false - }); - allKeys.push(key); - reverseMap.set(item[key], key); - } - } else { - throw new Error('Unsupported argument type: ' + typeof(item)); - } - } - - Object.defineProperty(this, 'allKeys', { - enumerable: false, - value: allKeys, - writable: false - }); - - Object.defineProperty(this, 'reverseMap', { - enumerable: false, - value: reverseMap, - writable: false - }); - - Object.freeze(this); - } - - /** - * Check if key is registered in this enum - * - * @param {string} key - * @returns {bool} - * - * @memberOf Enum - */ - isValid(key) { - return this.allKeys.includes(key); - } - - /** - * Return key for value - * - * @param {any} value - * @returns {any|undefined} returns undefined if key is not found - * - * @memberOf Enum - */ - reverse(value) { - return this.reverseMap.get(value); - } -} - diff --git a/test/enum.spec.js b/test/enum.spec.js deleted file mode 100644 index 013fbc4e0f..0000000000 --- a/test/enum.spec.js +++ /dev/null @@ -1,40 +0,0 @@ -import { expect } from 'chai'; -import Enum from '../app/lib/enum'; - -describe('enum', () => { - it('should be able to compare values', () => { - const e = new Enum('NORTH', 'SOUTH', 'WEST', 'EAST'); - expect(e.NORTH).to.be.equal('NORTH'); - }); - - it('should not be able to modify enum', () => { - const e = new Enum('NORTH', 'SOUTH', 'WEST', 'EAST'); - expect(() => e.ANYWHERE = 'ANYWHERE').to.throw(); - }); - - it('should be able to validate enum keys', () => { - const e = new Enum('NORTH', 'SOUTH', 'WEST', 'EAST'); - expect(e.isValid('SOUTH')).to.be.true; - expect(e.isValid('ANYWHERE')).to.be.false; - expect(e.isValid()).to.be.false; - expect(e.isValid(null)).to.be.false; - }); - - it('should receive correct keys from Object.keys', () => { - const keys = ['NORTH', 'SOUTH', 'WEST', 'EAST']; - const e = new Enum(...keys); - expect(Object.keys(e)).to.be.deep.equal(keys); - }); - - it('should do reverse lookup', () => { - const keys = { NORTH: 0, SOUTH: 1, WEST: 2, EAST: 3 }; - const e = new Enum(keys); - expect(e.reverse(2)).to.be.equal('WEST'); - }); - - it('should return undefined on reverse lookup failure', () => { - const keys = { NORTH: 0, SOUTH: 1, WEST: 2, EAST: 3 }; - const e = new Enum(keys); - expect(e.reverse(1337)).to.be.undefined; - }); -}); |
