Enumeration class. Each enum propertiy has the properties "ordinal", "name" and "text".
Från och med
Detta skript bör inte installeras direkt. Det är ett bibliotek för andra skript att inkludera med meta-direktivet // @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"