module.exports = class Enum {
constructor(...data) {
for (const [index, entry] of data.entries()) {
if (entry instanceof Object) {
for (const key of Object.keys(entry)) {
this[key] = entry[key]
this[entry[key]] = key
}
} else {
this[entry] = index
this[index] = entry
}
}
}
}