UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

48 lines 1.29 kB
"use strict"; /** * classe d'itérateurs pour les enums * * utilisation : * * for (const v of EnumEx.getValues(MonTypeEnum)) { * console.log(v); * } * * for (const n of EnumEx.getNames(MonTypeEnum)) { * console.log(n); * } * * for (const c of EnumEx.getNamesAndValues(MonTypeEnum)) { * console.log(c.name); * console.log(c.value); * } */ // tslint:disable-next-line:max-line-length Object.defineProperty(exports, "__esModule", { value: true }); exports.EnumEx = void 0; // see https://stackoverflow.com/questions/21293063/how-to-programmatically-enumerate-an-enum-type-in-typescript-0-9-5#21294925 class EnumEx { /** * retourne les noms et les valeurs d'un enum */ static getNamesAndValues(e) { return EnumEx.getNames(e).map((n) => ({ name: n, value: e[n] })); } /** * retourne les noms d'un enum */ static getNames(e) { return EnumEx.getObjValues(e).filter((v) => typeof v === "string"); } /** * retourne les valeurs d'un enum */ static getValues(e) { return EnumEx.getObjValues(e).filter((v) => typeof v === "number"); } static getObjValues(e) { return Object.keys(e).map((k) => e[k]); } } exports.EnumEx = EnumEx; //# sourceMappingURL=enum.js.map