@biconomy/sdk
Version:
SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.
37 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createHttpClient = void 0;
const createHttpClient = (url) => {
const request = async (requesParams) => {
const { path, method = "POST", body, params } = requesParams;
const urlParams = params ? `?${new URLSearchParams(params)}` : "";
const result = await fetch(`${url}/${path}${urlParams}`, {
method,
headers: {
"Content-Type": "application/json"
},
...(body ? { body: JSON.stringify(body) } : {})
});
if (!result.ok) {
console.log({ result });
throw new Error(result.statusText);
}
return (await result.json());
};
const client = {
request
};
function extend(base) {
return (extendFn) => {
const extended = extendFn(base);
for (const key in client)
delete extended[key];
const combined = { ...base, ...extended };
return Object.assign(combined, { extend: extend(combined) });
};
}
return Object.assign(client, { extend: extend(client) });
};
exports.createHttpClient = createHttpClient;
exports.default = exports.createHttpClient;
//# sourceMappingURL=createHttpClient.js.map