import { ENDPOINTS } from "./endpoints.js"; function toCamelCase(name) { return name.charAt(0).toLowerCase() + name.slice(1); } function pickMethod(endpoint) { if (endpoint.httpMethods.includes("POST")) return "POST"; if (endpoint.httpMethods.includes("GET")) return "GET"; if (endpoint.httpMethods.includes("PUT")) return "PUT"; return endpoint.httpMethods[0]; } export function createNamespaceService(http, namespace) { const endpoints = ENDPOINTS.filter((e) => e.namespace === namespace); const handler = async (operation, body, query) => { const endpoint = endpoints.find((e) => e.operation.toLowerCase() === operation.toLowerCase()); if (!endpoint) { throw new Error(`Unknown ${namespace} operation: ${operation}`); } return http.request(endpoint.path, { method: pickMethod(endpoint), body, query, }); }; const service = handler; for (const endpoint of endpoints) { const methodName = toCamelCase(endpoint.operation); service[methodName] = (body, query) => handler(endpoint.operation, body, query); } return service; } //# sourceMappingURL=service.js.map