UNPKG

@bitblit/ratchet-common

Version:

Common tools for general use

31 lines 1.12 kB
import { $enum } from 'ts-enum-util'; import { StringRatchet } from './string-ratchet.js'; export class EnumRatchet { static listEnumKeys(enumeration) { const rval = $enum(enumeration).getValues(); return rval; } static keyToEnum(enumeration, val, caseSensitive = false) { const e = $enum(enumeration); let rval = null; if (val) { rval = e.asValueOrDefault(val, null); if (!rval && !caseSensitive) { const keys = EnumRatchet.listEnumKeys(enumeration); const mKey = keys.find((k) => k.toUpperCase() === val.toUpperCase()); if (mKey) { rval = e.asValueOrDefault(mKey, null); } } } return rval; } static parseCsvToEnumArray(enumeration, input) { const split = StringRatchet.trimToEmpty(input) .split(',') .map((s) => s.trim()); const rval = split.map((s) => EnumRatchet.keyToEnum(enumeration, s)).filter((s) => !!s); return rval; } } //# sourceMappingURL=enum-ratchet.js.map