mcp-server-tft
Version:
MCP Server for Team Fight Tactics (TFT)
53 lines (52 loc) • 1.57 kB
JavaScript
export function cleanObject(obj) {
if (Array.isArray(obj)) {
obj.forEach((item) => cleanObject(item));
}
else if (obj && typeof obj === "object") {
Object.keys(obj).forEach((key) => {
if (obj[key] === null || obj[key] === undefined) {
delete obj[key];
}
else {
cleanObject(obj[key]);
}
});
}
}
export function flattenArraysInObject(obj) {
if (Array.isArray(obj)) {
return obj.map((item) => flattenArraysInObject(item));
}
else if (obj && typeof obj === "object") {
const result = {};
Object.keys(obj).forEach((key) => {
if (Array.isArray(obj[key])) {
result[key] = obj[key].map((item) => flattenArraysInObject(item));
}
else if (obj[key] && typeof obj[key] === "object") {
result[key] = flattenArraysInObject(obj[key]);
}
else {
result[key] = obj[key];
}
});
return result;
}
return obj;
}
export function pickBySchema(obj, schema) {
if (!obj || typeof obj !== "object")
return obj;
const result = {};
Object.keys(schema).forEach((key) => {
if (obj[key] !== undefined) {
if (schema[key] === true) {
result[key] = obj[key];
}
else if (typeof schema[key] === "object") {
result[key] = pickBySchema(obj[key], schema[key]);
}
}
});
return result;
}