项目作者: forthedamn

项目描述 :
simple enum in javascript
高级语言: JavaScript
项目地址: git://github.com/forthedamn/js-enums.git
创建时间: 2017-02-23T12:01:00Z
项目社区:https://github.com/forthedamn/js-enums

开源协议:MIT License

下载


js-enums, Enum in javascript!

NPM version
build status
Test coverage
npm download

npm install js-enums

simple to use

  1. const enum = require('js-enums');
  2. var status = enum([
  3. {
  4. name: 'CLOSED',
  5. ortherInfo: 'status close'
  6. },
  7. {
  8. name: 'OPENED',
  9. ortherInfo: 'status open'
  10. }
  11. ]);
  12. // or declare in this way:
  13. // var status = enum(['OPENED', 'CLOSED']);
  14. status.OPENED; // { name: 'OPENED', order: 0, ortherInfo: 'status open' }
  15. status.getByOrder(1); // { name: 'OPENED', order: 0, ortherInfo: 'status open'}
  16. status.OPENED.eql('OPENED') // true

APIs

  • eql

compare with enum

  • getByOrder

return the enum by order

some tips

  • init order

order only can init in first position of the array, and order is increased by step 1.

  1. var status = enum([
  2. {
  3. name: 'CLOSED',
  4. order: 2
  5. },
  6. {
  7. name: 'OPENED',
  8. }
  9. ]);
  10. status.OPENED.order; // 3
  • custom eql
  1. var status = enum(['OPENED', 'CLOSED']);
  2. status.OPENED.eql('OPENED') // true, eql by name, param must be string
  3. status.OPENED.eql(0) // true, eql by order, param should not be NaN
  4. status.OPENED.eql({name: 'OPENED'}) // true
  5. status.OPENED.eql({name: 'OPENED', order: 2}) // false
  6. status.OPENED.eql({name: 'OPENED', order: 1, ortherInfo: 'status open'}) // true