1.0.0 • Published 4 years ago

enums-manager v1.0.0

Weekly downloads
5
License
MIT
Repository
-
Last release
4 years ago

enums-manager

Install

npm i -D enums-manager

Yet another enums implementation? Hey! I just want an enumerable list with a special type and an iterator.

Usage

import { EnumerableList, Enum } from 'enums-manager';

EnumerableList class

EnumerableList extends Map so all Map method work according to the native implementation. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

// create a new list
const types = new EnumerableList('designer', 'programmer', 'webdeveloper');

Getting values

console.log(types.get('programmer')); // Enum {2, key: "programmer", value: 2}

Since the value isn't an instance of Number you have to be vary of the fact that a strict comparison === of a number will fail.

console.log(types.get('programmer') == 2); // true
console.log(types.get('programmer') === 2); // false
console.log(types.get('programmer').value === 2); // true

Enum class

console.log(types.get('programmer').key); // programmer
console.log(types.get('programmer').value); // 2
// iteration
types.forEach(({ key, value }) => {
  console.log(key, ' : ', value); // designer : 1, programmer : 2, webdeveloper : 3 
});