1 | 'use strict';
|
2 |
|
3 | var _regenerator = require('babel-runtime/regenerator');
|
4 |
|
5 | var _regenerator2 = _interopRequireDefault(_regenerator);
|
6 |
|
7 | var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
8 |
|
9 | var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
10 |
|
11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12 |
|
13 | module.exports = function () {
|
14 | var _ref = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee(self, method, params) {
|
15 | var callback, id;
|
16 | return _regenerator2.default.wrap(function _callee$(_context) {
|
17 | while (1) {
|
18 | switch (_context.prev = _context.next) {
|
19 | case 0:
|
20 | self.l.debug(function () {
|
21 | return ['subscribe', method, params];
|
22 | });
|
23 |
|
24 | if (!self.subscriptions[method]) {
|
25 | _context.next = 8;
|
26 | break;
|
27 | }
|
28 |
|
29 |
|
30 | callback = params.pop();
|
31 | id = ++self.subscriptionId;
|
32 |
|
33 |
|
34 | self.subscriptions[method].callbacks[id] = callback;
|
35 | self.subscriptionMap[id] = method;
|
36 |
|
37 | callback(null, self.subscriptions[method].lastValue);
|
38 |
|
39 | return _context.abrupt('return', id);
|
40 |
|
41 | case 8:
|
42 | throw new Error('provider.subscribe: Invalid method \'' + method + '\'');
|
43 |
|
44 | case 9:
|
45 | case 'end':
|
46 | return _context.stop();
|
47 | }
|
48 | }
|
49 | }, _callee, this);
|
50 | }));
|
51 |
|
52 | function subscribe(_x, _x2, _x3) {
|
53 | return _ref.apply(this, arguments);
|
54 | }
|
55 |
|
56 | return subscribe;
|
57 | }();
|
58 |
|
59 |
|
\ | No newline at end of file |