jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
48 lines • 1.29 kB
JavaScript
;
/**
* 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