"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatRpcError = exports.promisify = void 0; const tslib_1 = require("tslib"); function promisify(originalFn, thisArg) { const promisifiedFunction = (...callArgs) => tslib_1.__awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { const callback = (err, data) => { if (err === null || typeof err === "undefined") { reject(err); } resolve(data); }; originalFn.apply(thisArg, [...callArgs, callback]); }); }); return promisifiedFunction; } exports.promisify = promisify; function formatRpcError(error) { const message = error.message || "Failed or Rejected Request"; let code = -32000; if (error && !error.code) { switch (message) { case "Parse error": code = -32700; break; case "Invalid request": code = -32600; break; case "Method not found": code = -32601; break; case "Invalid params": code = -32602; break; case "Internal error": code = -32603; break; default: code = -32000; break; } } const result = { code, message, }; if (error.data) { result.data = error.data; } return result; } exports.formatRpcError = formatRpcError; //# sourceMappingURL=payload.js.map