UNPKG

@aarc-dev/core-viem

Version:

80 lines 2.87 kB
"use strict"; 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