69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
// Metro module 1334 (f1335).
|
|
let listEnumValues;
|
|
const isEnumObject = function isEnumObject(a0) {
|
|
if (typeof a0 === "object" && a0 !== null) {
|
|
if (!a0.hasOwnProperty(0)) {
|
|
return false;
|
|
}
|
|
for (const item of Object.keys(a0)) {
|
|
L17: {
|
|
L16: {
|
|
L15: {
|
|
const r11 = parseInt(item);
|
|
if (Number.isNaN(r11)) {
|
|
const r50 = a0[item];
|
|
if (r50 === void 0) {
|
|
break L17;
|
|
}
|
|
if (typeof r50 !== "number") {
|
|
break L16;
|
|
}
|
|
if (a0[r50] === void 0) {
|
|
break L15;
|
|
}
|
|
continue;
|
|
}
|
|
const r40 = a0[r11];
|
|
if (r40 !== void 0) {
|
|
if (a0[r40] === r11) {
|
|
continue;
|
|
}
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
listEnumValues = function listEnumValues(a0) {
|
|
if (!isEnumObject(a0)) {
|
|
throw new Error("not a typescript enum object");
|
|
}
|
|
const r26 = [];
|
|
for (const item of Object.entries(a0)) {
|
|
const [name, number] = item;
|
|
if (typeof number === "number") {
|
|
r26.push({
|
|
name,
|
|
number
|
|
});
|
|
}
|
|
}
|
|
return r26;
|
|
};
|
|
export { isEnumObject };
|
|
export { listEnumValues };
|
|
export function listEnumNames(a0) {
|
|
return listEnumValues(a0).map((item) => item.name);
|
|
}
|
|
export function listEnumNumbers(a0) {
|
|
return listEnumValues(a0).map((item) => item.number).filter((item, index, a2) => a2.indexOf(item) == index);
|
|
}
|