https://github.com/alexeyraspopov/enum-types
A naive JavaScript implementation of Enum and Mirror
https://github.com/alexeyraspopov/enum-types
Last synced: 7 months ago
JSON representation
A naive JavaScript implementation of Enum and Mirror
- Host: GitHub
- URL: https://github.com/alexeyraspopov/enum-types
- Owner: alexeyraspopov
- Created: 2015-05-18T06:16:13.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-25T13:59:27.000Z (over 10 years ago)
- Last Synced: 2025-03-18T03:12:30.386Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 121 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Enums
A naive JavaScript implementation of Enum and Mirror.
## Mask
```javascript
var Mask = require('enums').Mask;
``````javascript
var Access = Mask([
'USER',
'ADMIN',
'OWNER'
]);
// { USER: 1, ADMIN: 2, OWNER: 4 }var canDelete = Access.ADMIN | Access.OWNER;
Boolean(Access.USER & canDelete); // false
Boolean(Access.ADMIN & canDelete); // true
``````javascript
var NodeFilter = Mask([
'ELEMENTS',
'COMMENTS',
'ATTRIBUTES',
'TEXT'
], true);
// { ALL: 15, ELEMENTS: 1, COMMENTS: 2, ATTRIBUTES: 4, TEXT: 8 }var whatToShow = NodeFilter.ALL;
Boolean(NodeFilter.COMMENTS & whatToShow); // true
```## Mirror
```javascript
var Mirror = require('enums').Mirror;
``````javascript
var Actions = Mirror([
'TODO_ADDED',
'TODO_REMOVED',
'TODO_UPDATED'
]);
// { TODO_ADDED: 'TODO_ADDED',
// TODO_REMOVED: 'TODO_REMOVED',
// TODO_UPDATED: 'TODO_UPDATED' }
```## License
MIT