adwaveui
Version:
Interactive Web Components inspired by the Gtk Adwaita theme.
26 lines (24 loc) • 609 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/utils/enum-attribute.ts
function Enum(values, defaultValue = null) {
return {
fromString(value) {
if (values.includes(value)) {
return value;
} else if (values.includes(Number(value))) {
return Number(value);
}
return defaultValue;
},
intoString(value) {
if (value) return String(value);
if (defaultValue) return String(defaultValue);
return "";
}
};
}
__name(Enum, "Enum");
export {
Enum
};