@aarc-dev/core-viem
Version:
80 lines • 2.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpMethod = void 0;
exports.sendRequest = sendRequest;
const Logger_1 = require("./Logger");
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 serializedData = JSON.stringify(body, (key, value) => {
if (typeof value === "bigint") {
return value.toString(); // Convert BigInt to string
}
return value;
});
const response = await fetch(url, {
method,
headers: {
...headers,
Accept: "application/json",
"Content-Type": "application/json",
},
body: serializedData,
});
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.");
}
Logger_1.Logger.log("jsonRpc response ", jsonResponse);
if (response.ok) {
if (jsonResponse &&
Object.prototype.hasOwnProperty.call(jsonResponse, "data")) {
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: Api call ");
}
//# sourceMappingURL=HttpRequest.js.map