1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | var _promise = _interopRequireDefault(require("@babel/runtime/core-js/promise"));
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | module.exports = async function send(self, method, params, subscription) {
|
11 | return new _promise.default((resolve, reject) => {
|
12 | try {
|
13 | const json = self.coder.encodeJson(method, params);
|
14 | const id = self.coder.getId();
|
15 |
|
16 | const callback = (error, result) => {
|
17 | if (error) {
|
18 | reject(error);
|
19 | } else {
|
20 | resolve(result);
|
21 | }
|
22 | };
|
23 |
|
24 | self.l.debug(() => ['calling', method, params, json, !!subscription]);
|
25 | self.handlers[id] = {
|
26 | callback,
|
27 | subscription
|
28 | };
|
29 |
|
30 | if (self.isConnected) {
|
31 | self.websocket.send(json);
|
32 | } else {
|
33 | self.queued[id] = json;
|
34 | }
|
35 | } catch (error) {
|
36 | reject(error);
|
37 | }
|
38 | });
|
39 | }; |
\ | No newline at end of file |