3.0.0 • Published 8 years ago
enumobj v3.0.0
enumobj
Define enum objects
Installation
npm install enumobj --save
Usage
Basic usage
#!/usr/bin/env node
'use strict'
const enumobj = require('enumobj')
let levels = enumobj({
TRACE: 0,
DEBUG: 1,
INFO: 2,
ERROR: 3,
FATAL: 4
})
console.log(levels) // -> {TRACE: 0, DEBUG: 1, INFO: 2, ERROR: 3, FATAL: 4}
function doSomething (level) {
switch (level) {
case levels.TRACE:
/* ... */
break;
default:
break;
}
}
//--------------
// Get enum size
//--------------
console.log(levels.size()) // -> 5
//--------------
// Get a enum value
//--------------
console.log(levels.INFO) // -> 2
console.log(levels.get("INFO")) // -> 2
console.log(levels.get("_UNKNOWN_")) // -> undefined
//--------------
// Check key contained
//--------------
console.log(levels.has("ERROR")) // -> true
console.log(levels.has("_UNKNOWN_")) // -> false
//--------------
// Get key for value
//--------------
console.log(levels.has(0)) // -> "TRACE"
console.log(levels.has(100)) // -> undefined
Add Descriptions
#!/usr/bin/env node
'use strict'
const enumobj = require('enumobj')
let roles = enumobj({
ADMIN: { $val: 1, $desc: "Nothing is off limits." },
STAFF: { $val: 2, $desc: "Can view admin area, but not edit." },
CUSTOMER: { $val: 3, $desc: "Can not access admin area." }
})
console.log(roles) // -> {ADMIN: 1, STAFF: 2, CUSTOMER:3}
console.log(roles.get('ADMIN')) // -> 1
console.log(roles.desc('ADMIN')) // -> "Nothing is off limits."
License
This software is released under the MIT License.