UNPKG

@open-web3/api-mobx

Version:
42 lines (32 loc) 1.15 kB
"use strict"; exports.__esModule = true; exports.createMethodSubscribe = createMethodSubscribe; exports.default = void 0; var _util = require("@polkadot/util"); function createMethodSubscribe(ws, methods, params, callback) { const [updateType, subMethod, unsubMethod] = methods; let subscriptionPromise = Promise.resolve(); const errorHandler = error => { callback(error); }; try { const update = (error, result) => { if (error) { // errorHandler(error) return; } callback(undefined, result); }; subscriptionPromise = ws.subscribe(updateType, subMethod, params, update).catch(error => errorHandler(error)); } catch (error) { errorHandler(error); } return () => { subscriptionPromise.then(subscriptionId => (0, _util.isNumber)(subscriptionId) ? ws.unsubscribe(updateType, unsubMethod, subscriptionId) : Promise.resolve(false)); }; } function subscribeStorage(ws, callback) { return createMethodSubscribe(ws, ['state_storage', 'state_subscribeStorage', 'state_unsubscribeStorage'], [], callback); } var _default = subscribeStorage; exports.default = _default;