Enumeration class. Each enum propertiy has the properties "ordinal", "name" and "text".
Versión del día
Este script no debería instalarse directamente. Es una biblioteca que utilizan otros scripts mediante la meta-directiva de inclusión // @require https://update.greasyfork.org/scripts/391854/746337/Enum.js
Usage Examples
const COLORS = class COLOR extends Enum {}.init({ "RED": "red" , "GREEN": "green" , "BLUE": "blue" }); console.log(COLORS[0] === COLORS.RED); // "true" console.log(COLORS[1] === COLORS.GREEN); // "true" console.log(COLORS[2] === COLORS.BLUE); // "true" console.log(COLORS.GREEN.name); // "GREEN" console.log(COLORS.GREEN.text); // "green" console.assert(COLORS.GREEN.ordinal); // "1" console.assert(COLORS.GREEN + ""); // "green" console.assert(COLORS.GREEN * 1); // "1"class COLOR extends Enum {}; COLOR.init([ "RED", "GREEN", "BLUE" ]); console.log(COLOR[2].name) // "BLUE" console.log(COLOR[2].text); // "" console.log(COLOR[2].ordinal); // "2" console.log(COLOR[2] === COLOR.BLUE); // "true" console.log(COLOR.BLUE + ""); // "BLUE" console.log(COLOR.BLUE * 1); // "2"class FLAGS extends Enum {}; FLAGS.init([ "FIRST", "SECOND", "THIRD", "FOURTH"], 1, ord => ord<<1); console.log(FLAGS.FOURTH | FLAGS.SECOND); // "10"