UNPKG

@polkadot/api-provider

Version:
55 lines (46 loc) 1.62 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = state; require("core-js/modules/web.dom.iterable"); var _eventemitter = _interopRequireDefault(require("eventemitter3")); var _index = _interopRequireDefault(require("@polkadot/jsonrpc/index")); var _toHex = _interopRequireDefault(require("@polkadot/util/u8a/toHex")); var _logger = _interopRequireDefault(require("@polkadot/util/logger")); // Copyright 2017-2018 @polkadot/api-provider authors & contributors // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. const l = (0, _logger.default)('api-mock'); const SUBSCRIPTIONS = Array.prototype.concat.apply([], Object.values(_index.default).map(area => Object.values(area.methods).filter(method => method.isSubscription).map(({ method, section }) => `${section}_${method}`))); const REQUESTS = { 'state_getStorage': (storage, params) => { return (0, _toHex.default)(storage[params[0]]); }, 'system_chain': () => 'mockChain', 'system_name': () => 'mockClient', 'system_version': () => '9.8.7' }; function state() { const db = {}; const subscriptions = SUBSCRIPTIONS.reduce((subs, name) => { subs[name] = { callbacks: {}, lastValue: null }; return subs; }, {}); return { emitter: new _eventemitter.default.EventEmitter(), l, requests: Object.assign({}, REQUESTS), db, subscriptionId: 0, subscriptionMap: {}, subscriptions }; }