UNPKG

1.62 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = state;
9
10require("core-js/modules/web.dom.iterable");
11
12var _eventemitter = _interopRequireDefault(require("eventemitter3"));
13
14var _index = _interopRequireDefault(require("@polkadot/jsonrpc/index"));
15
16var _toHex = _interopRequireDefault(require("@polkadot/util/u8a/toHex"));
17
18var _logger = _interopRequireDefault(require("@polkadot/util/logger"));
19
20// Copyright 2017-2018 @polkadot/api-provider authors & contributors
21// This software may be modified and distributed under the terms
22// of the ISC license. See the LICENSE file for details.
23const l = (0, _logger.default)('api-mock');
24const SUBSCRIPTIONS = Array.prototype.concat.apply([], Object.values(_index.default).map(area => Object.values(area.methods).filter(method => method.isSubscription).map(({
25 method,
26 section
27}) => `${section}_${method}`)));
28const REQUESTS = {
29 'state_getStorage': (storage, params) => {
30 return (0, _toHex.default)(storage[params[0]]);
31 },
32 'system_chain': () => 'mockChain',
33 'system_name': () => 'mockClient',
34 'system_version': () => '9.8.7'
35};
36
37function state() {
38 const db = {};
39 const subscriptions = SUBSCRIPTIONS.reduce((subs, name) => {
40 subs[name] = {
41 callbacks: {},
42 lastValue: null
43 };
44 return subs;
45 }, {});
46 return {
47 emitter: new _eventemitter.default.EventEmitter(),
48 l,
49 requests: Object.assign({}, REQUESTS),
50 db,
51 subscriptionId: 0,
52 subscriptionMap: {},
53 subscriptions
54 };
55}
\No newline at end of file