49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
export function promisify(originalFn, thisArg) {
|
|
const promisifiedFunction = async (...callArgs) => {
|
|
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;
|
|
}
|
|
export 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;
|
|
}
|
|
//# sourceMappingURL=payload.js.map
|