UNPKG

1.14 kBJavaScriptView Raw
1'use strict';
2
3var _keys = require('babel-runtime/core-js/object/keys');
4
5var _keys2 = _interopRequireDefault(_keys);
6
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
9var interfaces = require('@polkadot/api-jsonrpc'); // Copyright 2017-2018 Jaco Greeff
10// This software may be modified and distributed under the terms
11// of the ISC license. See the LICENSE file for details.
12
13
14var l = require('@polkadot/util/logger')('api-mock');
15
16var METHODS = Array.prototype.concat.apply([], (0, _keys2.default)(interfaces).map(function (section) {
17 return (0, _keys2.default)(interfaces[section].methods).filter(function (method) {
18 return interfaces[section].methods[method].isSubscription;
19 }).map(function (method) {
20 return 'subscribe_' + method;
21 });
22}));
23
24module.exports = function state() {
25 var subscriptions = METHODS.reduce(function (subscriptions, name) {
26 subscriptions[name] = {
27 callbacks: {},
28 lastValue: null
29 };
30
31 return subscriptions;
32 }, {});
33
34 return {
35 l: l,
36 subscriptionId: 0,
37 subscriptionMap: {},
38 subscriptions: subscriptions
39 };
40};
\No newline at end of file