55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
"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
|