Enumeration class. Each enum propertiy has the properties "ordinal", "name" and "text".
Fra og med
Dette script bør ikke installeres direkte. Det er et bibliotek, som andre scripts kan inkludere med metadirektivet // @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"