UNPKG

xero-mcp

Version:

A Model Context Protocol server allows Clients to interact with Xero

27 lines (26 loc) 831 B
export const convertToCamelCase = (obj) => { if (Array.isArray(obj)) { return obj.map((item) => convertToCamelCase(item)); } if (obj !== null && typeof obj === "object") { return Object.fromEntries(Object.entries(obj).map(([key, value]) => [ convertKeyToCamelCase(key), convertToCamelCase(value), ])); } return obj; }; const convertKeyToCamelCase = (key) => { // If the key is already in camelCase, return it as is if (/^[a-z][a-zA-Z0-9]*$/.test(key)) { return key; } // Handle snake_case if (key.includes('_')) { return key .toLowerCase() .replace(/_([a-z])/g, (_, letter) => letter.toUpperCase()); } // Handle PascalCase and UPPERCASE return key.charAt(0).toLowerCase() + key.slice(1); };