@liskhq/lisk-api-client
Version:
An API client for the Lisk network
38 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.messageIsNotification = exports.defer = exports.promiseWithTimeout = exports.convertRPCError = void 0;
const convertRPCError = (error) => new Error(typeof error.data === 'string' ? error.data : error.message);
exports.convertRPCError = convertRPCError;
const promiseWithTimeout = async (promises, ms, message) => {
let timeout;
try {
const result = await Promise.race([
...promises,
new Promise((_, reject) => {
timeout = setTimeout(() => {
reject(new Error(message !== null && message !== void 0 ? message : `Timed out in ${ms}ms.`));
}, ms);
}),
]);
return result;
}
finally {
if (timeout) {
clearTimeout(timeout);
}
}
};
exports.promiseWithTimeout = promiseWithTimeout;
const defer = () => {
let resolve;
let reject;
const promise = new Promise((_resolve, _reject) => {
resolve = _resolve;
reject = _reject;
});
return { promise, resolve, reject };
};
exports.defer = defer;
const messageIsNotification = (input) => !!((input.id === undefined || input.id === null) && input.method);
exports.messageIsNotification = messageIsNotification;
//# sourceMappingURL=utils.js.map