@abstraxn/bundler
Version:
Abstraxn Bundler package to interact with any bundler node as per ERC4337 standard
67 lines • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendRequest = exports.HttpMethod = void 0;
var HttpMethod;
(function (HttpMethod) {
HttpMethod["Get"] = "get";
HttpMethod["Post"] = "post";
HttpMethod["Delete"] = "delete";
})(HttpMethod || (exports.HttpMethod = HttpMethod = {}));
async function sendRequest({ url, method, body, headers = {} }) {
const response = await fetch(url, {
method,
headers: {
...headers,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
let jsonResponse;
try {
jsonResponse = (await response.json());
}
catch (error) {
if (!response.ok) {
throw new Error(response.statusText);
}
}
if (!jsonResponse) {
// Handle the case where jsonResponse is undefined
throw new Error("No response received.");
}
if (response.ok) {
if (jsonResponse && Object.prototype.hasOwnProperty.call(jsonResponse, "result")) {
return jsonResponse;
}
// else
}
const errorObject = { code: response.status, message: response.statusText, data: undefined };
if (jsonResponse === null || jsonResponse === void 0 ? void 0 : jsonResponse.error) {
if (typeof jsonResponse.error === "string") {
const error = jsonResponse.error;
errorObject.code = response.status;
errorObject.message = error;
delete errorObject.data;
throw errorObject;
}
else if (typeof jsonResponse.error === "object") {
const error = jsonResponse.error;
errorObject.code = (error === null || error === void 0 ? void 0 : error.code) || 0;
errorObject.message = (error === null || error === void 0 ? void 0 : error.message) || "Unknown Error";
errorObject.data = error === null || error === void 0 ? void 0 : error.handleOpsCallData;
throw errorObject;
}
}
if (jsonResponse === null || jsonResponse === void 0 ? void 0 : jsonResponse.message) {
errorObject.message = jsonResponse.message;
throw errorObject;
}
if (jsonResponse === null || jsonResponse === void 0 ? void 0 : jsonResponse.msg) {
errorObject.message = jsonResponse.msg;
throw errorObject;
}
throw new Error("Unknown Error");
}
exports.sendRequest = sendRequest;
//# sourceMappingURL=httpRequests.js.map