@queenanya/baileys 8.2.7 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/WAProto/index.d.ts +1590 -6
  2. package/WAProto/index.js +4635 -3
  3. package/engine-requirements.js +1 -1
  4. package/lib/Defaults/baileys-version.json +1 -1
  5. package/lib/Defaults/index.d.ts +232 -1
  6. package/lib/Defaults/index.js +21 -6
  7. package/lib/Defaults/phonenumber-mcc.json +223 -0
  8. package/lib/Socket/Client/index.d.ts +3 -2
  9. package/lib/Socket/Client/index.js +3 -2
  10. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  11. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  12. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -1
  13. package/lib/Socket/Client/{websocket.js → web-socket-client.js} +3 -3
  14. package/lib/Socket/business.d.ts +4 -9
  15. package/lib/Socket/chats.d.ts +3 -9
  16. package/lib/Socket/chats.js +6 -89
  17. package/lib/Socket/groups.d.ts +3 -7
  18. package/lib/Socket/groups.js +13 -9
  19. package/lib/Socket/index.d.ts +6 -9
  20. package/lib/Socket/index.js +2 -2
  21. package/lib/Socket/messages-recv.d.ts +4 -9
  22. package/lib/Socket/messages-recv.js +14 -27
  23. package/lib/Socket/messages-send.d.ts +3 -8
  24. package/lib/Socket/messages-send.js +55 -86
  25. package/lib/Socket/newsletter.d.ts +3 -7
  26. package/lib/Socket/newsletter.js +2 -4
  27. package/lib/Socket/registration.d.ts +266 -0
  28. package/lib/Socket/registration.js +166 -0
  29. package/lib/Socket/socket.d.ts +1 -2
  30. package/lib/Socket/socket.js +15 -10
  31. package/lib/Socket/usync.d.ts +1 -1
  32. package/lib/Socket/usync.js +15 -10
  33. package/lib/Store/make-in-memory-store.js +10 -8
  34. package/lib/Types/Auth.d.ts +6 -0
  35. package/lib/Types/Chat.d.ts +2 -8
  36. package/lib/Types/Contact.d.ts +4 -5
  37. package/lib/Types/GroupMetadata.d.ts +4 -3
  38. package/lib/Types/Label.d.ts +0 -11
  39. package/lib/Types/Message.d.ts +5 -5
  40. package/lib/Types/Socket.d.ts +3 -5
  41. package/lib/Utils/auth-utils.js +7 -0
  42. package/lib/Utils/chat-utils.d.ts +8 -8
  43. package/lib/Utils/chat-utils.js +4 -30
  44. package/lib/Utils/crypto.d.ts +1 -1
  45. package/lib/Utils/crypto.js +1 -3
  46. package/lib/Utils/decode-wa-message.d.ts +2 -4
  47. package/lib/Utils/decode-wa-message.js +18 -161
  48. package/lib/Utils/event-buffer.js +6 -4
  49. package/lib/Utils/generics.d.ts +18 -8
  50. package/lib/Utils/generics.js +93 -7
  51. package/lib/Utils/history.js +1 -1
  52. package/lib/Utils/messages-media.d.ts +9 -16
  53. package/lib/Utils/messages-media.js +175 -88
  54. package/lib/Utils/messages.d.ts +1 -1
  55. package/lib/Utils/messages.js +17 -15
  56. package/lib/Utils/noise-handler.d.ts +2 -1
  57. package/lib/Utils/noise-handler.js +10 -5
  58. package/lib/Utils/validate-connection.d.ts +1 -0
  59. package/lib/Utils/validate-connection.js +50 -16
  60. package/lib/WABinary/constants.d.ts +4 -4
  61. package/lib/WABinary/constants.js +1271 -8
  62. package/lib/WABinary/encode.js +5 -7
  63. package/lib/WABinary/jid-utils.d.ts +4 -4
  64. package/lib/WABinary/jid-utils.js +19 -19
  65. package/lib/WAM/constants.d.ts +2 -3
  66. package/lib/WAM/encode.js +2 -2
  67. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  68. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +2 -2
  69. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +3 -3
  70. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
  71. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -1
  72. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -1
  73. package/lib/WAUSync/USyncQuery.js +13 -17
  74. package/package.json +9 -5
  75. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  76. package/lib/Store/make-cache-manager-store.js +0 -83
  77. /package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +0 -0
  78. /package/lib/Socket/Client/{types.js → abstract-socket-client.js} +0 -0
@@ -6,5 +6,5 @@ if (major < 20) {
6
6
  ` You are using Node.js ${process.versions.node}.\n` +
7
7
  ` Please upgrade to Node.js 20+ to proceed.\n`
8
8
  );
9
- process.exit(1);
9
+ process.exit(0);
10
10
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": [2, 3000, 1022982921]
2
+ "version": [2, 3000, 1023888953]
3
3
  }
@@ -1,15 +1,246 @@
1
1
  import { proto } from '../../WAProto';
2
2
  import type { MediaType, SocketConfig } from '../Types';
3
3
  export declare const UNAUTHORIZED_CODES: number[];
4
+ export declare const PHONENUMBER_MCC: {
5
+ "93": number;
6
+ "355": number;
7
+ "213": number;
8
+ "1-684": number;
9
+ "376": number;
10
+ "244": number;
11
+ "1-264": number;
12
+ "1-268": number;
13
+ "54": number;
14
+ "374": number;
15
+ "297": number;
16
+ "61": number;
17
+ "43": number;
18
+ "994": number;
19
+ "1-242": number;
20
+ "973": number;
21
+ "880": number;
22
+ "1-246": number;
23
+ "375": number;
24
+ "32": number;
25
+ "501": number;
26
+ "229": number;
27
+ "1-441": number;
28
+ "975": number;
29
+ "591": number;
30
+ "387": number;
31
+ "267": number;
32
+ "55": number;
33
+ "1-284": number;
34
+ "673": number;
35
+ "359": number;
36
+ "226": number;
37
+ "257": number;
38
+ "855": number;
39
+ "237": number;
40
+ "238": number;
41
+ "1-345": number;
42
+ "236": number;
43
+ "235": number;
44
+ "56": number;
45
+ "86": number;
46
+ "57": number;
47
+ "269": number;
48
+ "682": number;
49
+ "506": number;
50
+ "385": number;
51
+ "53": number;
52
+ "357": number;
53
+ "420": number;
54
+ "243": number;
55
+ "45": number;
56
+ "253": number;
57
+ "1-767": number;
58
+ "1-809": number;
59
+ "1-849": number;
60
+ "1-829": number;
61
+ "593": number;
62
+ "20": number;
63
+ "503": number;
64
+ "240": number;
65
+ "291": number;
66
+ "372": number;
67
+ "251": number;
68
+ "500": number;
69
+ "298": number;
70
+ "679": number;
71
+ "358": number;
72
+ "33": number;
73
+ "689": number;
74
+ "241": number;
75
+ "220": number;
76
+ "995": number;
77
+ "49": number;
78
+ "233": number;
79
+ "350": number;
80
+ "30": number;
81
+ "299": number;
82
+ "1-473": number;
83
+ "1-671": number;
84
+ "502": number;
85
+ "224": number;
86
+ "592": number;
87
+ "509": number;
88
+ "504": number;
89
+ "852": number;
90
+ "36": number;
91
+ "354": number;
92
+ "91": number;
93
+ "62": number;
94
+ "98": number;
95
+ "964": number;
96
+ "353": number;
97
+ "972": number;
98
+ "39": number;
99
+ "225": number;
100
+ "1-876": number;
101
+ "81": number;
102
+ "962": number;
103
+ "254": number;
104
+ "686": number;
105
+ "383": number;
106
+ "965": number;
107
+ "371": number;
108
+ "961": number;
109
+ "266": number;
110
+ "231": number;
111
+ "218": number;
112
+ "423": number;
113
+ "370": number;
114
+ "352": number;
115
+ "389": number;
116
+ "261": number;
117
+ "265": number;
118
+ "60": number;
119
+ "960": number;
120
+ "223": number;
121
+ "356": number;
122
+ "692": number;
123
+ "222": number;
124
+ "230": number;
125
+ "52": number;
126
+ "691": number;
127
+ "373": number;
128
+ "377": number;
129
+ "976": number;
130
+ "382": number;
131
+ "1-664": number;
132
+ "212": number;
133
+ "258": number;
134
+ "95": number;
135
+ "264": number;
136
+ "674": number;
137
+ "977": number;
138
+ "31": number;
139
+ "687": number;
140
+ "64": number;
141
+ "505": number;
142
+ "227": number;
143
+ "234": number;
144
+ "683": number;
145
+ "1-670": number;
146
+ "47": number;
147
+ "968": number;
148
+ "92": number;
149
+ "680": number;
150
+ "970": number;
151
+ "507": number;
152
+ "675": number;
153
+ "595": number;
154
+ "51": number;
155
+ "63": number;
156
+ "48": number;
157
+ "351": number;
158
+ "1-787, 1-939": number;
159
+ "974": number;
160
+ "242": number;
161
+ "40": number;
162
+ "7": number;
163
+ "250": number;
164
+ "290": number;
165
+ "1-869": number;
166
+ "1-758": number;
167
+ "508": number;
168
+ "1-784": number;
169
+ "685": number;
170
+ "378": number;
171
+ "239": number;
172
+ "966": number;
173
+ "221": number;
174
+ "381": number;
175
+ "248": number;
176
+ "232": number;
177
+ "65": number;
178
+ "386": number;
179
+ "677": number;
180
+ "27": number;
181
+ "211": number;
182
+ "34": number;
183
+ "94": number;
184
+ "249": number;
185
+ "597": number;
186
+ "268": number;
187
+ "46": number;
188
+ "41": number;
189
+ "963": number;
190
+ "886": number;
191
+ "992": number;
192
+ "255": number;
193
+ "66": number;
194
+ "228": number;
195
+ "690": number;
196
+ "676": number;
197
+ "1-868": number;
198
+ "216": number;
199
+ "90": number;
200
+ "993": number;
201
+ "1-649": number;
202
+ "688": number;
203
+ "1-340": number;
204
+ "256": number;
205
+ "380": number;
206
+ "971": number;
207
+ "44": number;
208
+ "1": number;
209
+ "598": number;
210
+ "998": number;
211
+ "678": number;
212
+ "379": number;
213
+ "58": number;
214
+ "681": number;
215
+ "967": number;
216
+ "260": number;
217
+ "263": number;
218
+ "670": number;
219
+ "245": number;
220
+ "856": number;
221
+ "599": number;
222
+ "850": number;
223
+ "262": number;
224
+ "82": number;
225
+ "84": number;
226
+ };
4
227
  export declare const DEFAULT_ORIGIN = "https://web.whatsapp.com";
228
+ export declare const MOBILE_ENDPOINT = "g.whatsapp.net";
229
+ export declare const MOBILE_PORT = 443;
5
230
  export declare const DEF_CALLBACK_PREFIX = "CB:";
6
231
  export declare const DEF_TAG_PREFIX = "TAG:";
7
232
  export declare const PHONE_CONNECTION_CB = "CB:Pong";
8
233
  export declare const WA_DEFAULT_EPHEMERAL: number;
234
+ export declare const MOBILE_TOKEN: Buffer<ArrayBuffer>;
235
+ export declare const MOBILE_REGISTRATION_ENDPOINT = "https://v.whatsapp.net/v2";
236
+ export declare const MOBILE_USERAGENT = "WhatsApp/2.24.6.77 iOS/15.3.1 Device/Apple-iPhone_7";
237
+ export declare const REGISTRATION_PUBLIC_KEY: Buffer<ArrayBuffer>;
9
238
  export declare const NOISE_MODE = "Noise_XX_25519_AESGCM_SHA256\0\0\0\0";
10
- export declare const DICT_VERSION = 2;
239
+ export declare const DICT_VERSION = 3;
11
240
  export declare const KEY_BUNDLE_TYPE: Buffer<ArrayBuffer>;
12
241
  export declare const NOISE_WA_HEADER: Buffer<ArrayBuffer>;
242
+ export declare const PROTOCOL_VERSION: number[];
243
+ export declare const MOBILE_NOISE_HEADER: Buffer<ArrayBuffer>;
13
244
  /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
14
245
  export declare const URL_REGEX: RegExp;
15
246
  export declare const WA_CERT_DETAILS: {
@@ -3,22 +3,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DEFAULT_CACHE_TTLS = exports.INITIAL_PREKEY_COUNT = exports.MIN_PREKEY_COUNT = exports.MEDIA_KEYS = exports.MEDIA_HKDF_KEY_MAPPING = exports.MEDIA_PATH_MAP = exports.DEFAULT_CONNECTION_CONFIG = exports.PROCESSABLE_HISTORY_TYPES = exports.WA_CERT_DETAILS = exports.URL_REGEX = exports.NOISE_WA_HEADER = exports.KEY_BUNDLE_TYPE = exports.DICT_VERSION = exports.NOISE_MODE = exports.WA_DEFAULT_EPHEMERAL = exports.PHONE_CONNECTION_CB = exports.DEF_TAG_PREFIX = exports.DEF_CALLBACK_PREFIX = exports.DEFAULT_ORIGIN = exports.UNAUTHORIZED_CODES = void 0;
6
+ exports.DEFAULT_CACHE_TTLS = exports.INITIAL_PREKEY_COUNT = exports.MIN_PREKEY_COUNT = exports.MEDIA_KEYS = exports.MEDIA_HKDF_KEY_MAPPING = exports.MEDIA_PATH_MAP = exports.DEFAULT_CONNECTION_CONFIG = exports.PROCESSABLE_HISTORY_TYPES = exports.WA_CERT_DETAILS = exports.URL_REGEX = exports.MOBILE_NOISE_HEADER = exports.PROTOCOL_VERSION = exports.NOISE_WA_HEADER = exports.KEY_BUNDLE_TYPE = exports.DICT_VERSION = exports.NOISE_MODE = exports.REGISTRATION_PUBLIC_KEY = exports.MOBILE_USERAGENT = exports.MOBILE_REGISTRATION_ENDPOINT = exports.MOBILE_TOKEN = exports.WA_DEFAULT_EPHEMERAL = exports.PHONE_CONNECTION_CB = exports.DEF_TAG_PREFIX = exports.DEF_CALLBACK_PREFIX = exports.MOBILE_PORT = exports.MOBILE_ENDPOINT = exports.DEFAULT_ORIGIN = exports.PHONENUMBER_MCC = exports.UNAUTHORIZED_CODES = void 0;
7
+ const crypto_1 = require("crypto");
7
8
  const WAProto_1 = require("../../WAProto");
8
9
  const libsignal_1 = require("../Signal/libsignal");
9
10
  const Utils_1 = require("../Utils");
10
11
  const logger_1 = __importDefault(require("../Utils/logger"));
11
12
  const baileys_version_json_1 = require("./baileys-version.json");
13
+ const phonenumber_mcc_json_1 = __importDefault(require("./phonenumber-mcc.json"));
12
14
  exports.UNAUTHORIZED_CODES = [401, 403, 419];
15
+ exports.PHONENUMBER_MCC = phonenumber_mcc_json_1.default;
13
16
  exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com';
17
+ exports.MOBILE_ENDPOINT = 'g.whatsapp.net';
18
+ exports.MOBILE_PORT = 443;
14
19
  exports.DEF_CALLBACK_PREFIX = 'CB:';
15
20
  exports.DEF_TAG_PREFIX = 'TAG:';
16
21
  exports.PHONE_CONNECTION_CB = 'CB:Pong';
17
22
  exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60;
23
+ const WA_VERSION = '2.24.6.77';
24
+ const WA_VERSION_HASH = (0, crypto_1.createHash)('md5').update(WA_VERSION).digest('hex');
25
+ exports.MOBILE_TOKEN = Buffer.from('0a1mLfGUIBVrMKF1RdvLI5lkRBvof6vn0fD2QRSM' + WA_VERSION_HASH);
26
+ exports.MOBILE_REGISTRATION_ENDPOINT = 'https://v.whatsapp.net/v2';
27
+ exports.MOBILE_USERAGENT = `WhatsApp/${WA_VERSION} iOS/15.3.1 Device/Apple-iPhone_7`;
28
+ exports.REGISTRATION_PUBLIC_KEY = Buffer.from([
29
+ 5, 142, 140, 15, 116, 195, 235, 197, 215, 166, 134, 92, 108, 60, 132, 56, 86, 176, 97, 33, 204, 232, 234, 119, 77,
30
+ 34, 251, 111, 18, 37, 18, 48, 45,
31
+ ]);
18
32
  exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0';
19
- exports.DICT_VERSION = 2;
33
+ exports.DICT_VERSION = 3;
20
34
  exports.KEY_BUNDLE_TYPE = Buffer.from([5]);
21
35
  exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]); // last is "DICT_VERSION"
36
+ exports.PROTOCOL_VERSION = [5, 2];
37
+ exports.MOBILE_NOISE_HEADER = Buffer.concat([Buffer.from('WA'), Buffer.from(exports.PROTOCOL_VERSION)]);
22
38
  /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
23
39
  exports.URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g;
24
40
  exports.WA_CERT_DETAILS = {
@@ -33,19 +49,18 @@ exports.PROCESSABLE_HISTORY_TYPES = [
33
49
  ];
34
50
  exports.DEFAULT_CONNECTION_CONFIG = {
35
51
  version: baileys_version_json_1.version,
36
- browser: Utils_1.Browsers.ubuntu('Firefox'),
52
+ browser: Utils_1.Browsers.ubuntu('Chrome'),
37
53
  waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
38
54
  connectTimeoutMs: 20000,
39
55
  keepAliveIntervalMs: 30000,
40
56
  logger: logger_1.default.child({ class: 'baileys' }),
41
57
  printQRInTerminal: false,
42
58
  emitOwnEvents: true,
43
- defaultQueryTimeoutMs: undefined,
59
+ defaultQueryTimeoutMs: 60000,
44
60
  customUploadHosts: [],
45
61
  retryRequestDelayMs: 250,
46
62
  maxMsgRetryCount: 5,
47
63
  fireInitQueries: true,
48
- ignoreMsgLoading: false,
49
64
  auth: undefined,
50
65
  markOnlineOnConnect: true,
51
66
  syncFullHistory: false,
@@ -54,7 +69,7 @@ exports.DEFAULT_CONNECTION_CONFIG = {
54
69
  shouldIgnoreJid: () => false,
55
70
  linkPreviewImageThumbnailWidth: 192,
56
71
  transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
57
- generateHighQualityLinkPreview: true,
72
+ generateHighQualityLinkPreview: false,
58
73
  options: {},
59
74
  appStateMacVerification: {
60
75
  patch: false,
@@ -0,0 +1,223 @@
1
+ {
2
+ "93": 412,
3
+ "355": 276,
4
+ "213": 603,
5
+ "1-684": 544,
6
+ "376": 213,
7
+ "244": 631,
8
+ "1-264": 365,
9
+ "1-268": 344,
10
+ "54": 722,
11
+ "374": 283,
12
+ "297": 363,
13
+ "61": 505,
14
+ "43": 232,
15
+ "994": 400,
16
+ "1-242": 364,
17
+ "973": 426,
18
+ "880": 470,
19
+ "1-246": 342,
20
+ "375": 257,
21
+ "32": 206,
22
+ "501": 702,
23
+ "229": 616,
24
+ "1-441": 350,
25
+ "975": 402,
26
+ "591": 736,
27
+ "387": 218,
28
+ "267": 652,
29
+ "55": 724,
30
+ "1-284": 348,
31
+ "673": 528,
32
+ "359": 284,
33
+ "226": 613,
34
+ "257": 642,
35
+ "855": 456,
36
+ "237": 624,
37
+ "238": 625,
38
+ "1-345": 346,
39
+ "236": 623,
40
+ "235": 622,
41
+ "56": 730,
42
+ "86": 454,
43
+ "57": 732,
44
+ "269": 654,
45
+ "682": 548,
46
+ "506": 712,
47
+ "385": 219,
48
+ "53": 368,
49
+ "357": 280,
50
+ "420": 230,
51
+ "243": 630,
52
+ "45": 238,
53
+ "253": 638,
54
+ "1-767": 366,
55
+ "1-809": 370,
56
+ "1-849": 370,
57
+ "1-829": 370,
58
+ "593": 740,
59
+ "20": 602,
60
+ "503": 706,
61
+ "240": 627,
62
+ "291": 657,
63
+ "372": 248,
64
+ "251": 636,
65
+ "500": 750,
66
+ "298": 288,
67
+ "679": 542,
68
+ "358": 244,
69
+ "33": 208,
70
+ "689": 547,
71
+ "241": 628,
72
+ "220": 607,
73
+ "995": 282,
74
+ "49": 262,
75
+ "233": 620,
76
+ "350": 266,
77
+ "30": 202,
78
+ "299": 290,
79
+ "1-473": 352,
80
+ "1-671": 535,
81
+ "502": 704,
82
+ "224": 537,
83
+ "592": 738,
84
+ "509": 372,
85
+ "504": 708,
86
+ "852": 454,
87
+ "36": 216,
88
+ "354": 274,
89
+ "91": 404,
90
+ "62": 510,
91
+ "98": 432,
92
+ "964": 418,
93
+ "353": 234,
94
+ "972": 425,
95
+ "39": 222,
96
+ "225": 612,
97
+ "1-876": 338,
98
+ "81": 440,
99
+ "962": 416,
100
+ "254": 639,
101
+ "686": 545,
102
+ "383": 221,
103
+ "965": 419,
104
+ "371": 247,
105
+ "961": 415,
106
+ "266": 651,
107
+ "231": 618,
108
+ "218": 606,
109
+ "423": 295,
110
+ "370": 246,
111
+ "352": 270,
112
+ "389": 294,
113
+ "261": 646,
114
+ "265": 650,
115
+ "60": 502,
116
+ "960": 472,
117
+ "223": 610,
118
+ "356": 278,
119
+ "692": 551,
120
+ "222": 609,
121
+ "230": 617,
122
+ "52": 334,
123
+ "691": 550,
124
+ "373": 259,
125
+ "377": 212,
126
+ "976": 428,
127
+ "382": 297,
128
+ "1-664": 354,
129
+ "212": 604,
130
+ "258": 643,
131
+ "95": 414,
132
+ "264": 649,
133
+ "674": 536,
134
+ "977": 429,
135
+ "31": 204,
136
+ "687": 546,
137
+ "64": 530,
138
+ "505": 710,
139
+ "227": 614,
140
+ "234": 621,
141
+ "683": 555,
142
+ "1-670": 534,
143
+ "47": 242,
144
+ "968": 226,
145
+ "92": 410,
146
+ "680": 552,
147
+ "970": 423,
148
+ "507": 714,
149
+ "675": 537,
150
+ "595": 744,
151
+ "51": 716,
152
+ "63": 515,
153
+ "48": 260,
154
+ "351": 268,
155
+ "1-787, 1-939": 330,
156
+ "974": 427,
157
+ "242": 630,
158
+ "40": 226,
159
+ "7": 250,
160
+ "250": 635,
161
+ "290": 658,
162
+ "1-869": 356,
163
+ "1-758": 358,
164
+ "508": 308,
165
+ "1-784": 360,
166
+ "685": 544,
167
+ "378": 292,
168
+ "239": 626,
169
+ "966": 420,
170
+ "221": 608,
171
+ "381": 220,
172
+ "248": 633,
173
+ "232": 619,
174
+ "65": 525,
175
+ "386": 293,
176
+ "677": 540,
177
+ "27": 655,
178
+ "211": 659,
179
+ "34": 214,
180
+ "94": 413,
181
+ "249": 634,
182
+ "597": 746,
183
+ "268": 653,
184
+ "46": 240,
185
+ "41": 228,
186
+ "963": 417,
187
+ "886": 466,
188
+ "992": 436,
189
+ "255": 640,
190
+ "66": 520,
191
+ "228": 615,
192
+ "690": 554,
193
+ "676": 539,
194
+ "1-868": 374,
195
+ "216": 605,
196
+ "90": 286,
197
+ "993": 438,
198
+ "1-649": 376,
199
+ "688": 553,
200
+ "1-340": 332,
201
+ "256": 641,
202
+ "380": 255,
203
+ "971": 424,
204
+ "44": 234,
205
+ "1": 310,
206
+ "598": 748,
207
+ "998": 434,
208
+ "678": 541,
209
+ "379": 225,
210
+ "58": 734,
211
+ "681": 543,
212
+ "967": 421,
213
+ "260": 645,
214
+ "263": 648,
215
+ "670": 514,
216
+ "245": 632,
217
+ "856": 457,
218
+ "599": 362,
219
+ "850": 467,
220
+ "262": 647,
221
+ "82": 450,
222
+ "84": 452
223
+ }
@@ -1,2 +1,3 @@
1
- export * from './types';
2
- export * from './websocket';
1
+ export * from './abstract-socket-client';
2
+ export * from './mobile-socket-client';
3
+ export * from './web-socket-client';
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
18
- __exportStar(require("./websocket"), exports);
17
+ __exportStar(require("./abstract-socket-client"), exports);
18
+ __exportStar(require("./mobile-socket-client"), exports);
19
+ __exportStar(require("./web-socket-client"), exports);
@@ -0,0 +1,12 @@
1
+ import { Socket } from 'net';
2
+ import { AbstractSocketClient } from './abstract-socket-client';
3
+ export declare class MobileSocketClient extends AbstractSocketClient {
4
+ protected socket: Socket | null;
5
+ get isOpen(): boolean;
6
+ get isClosed(): boolean;
7
+ get isClosing(): boolean;
8
+ get isConnecting(): boolean;
9
+ connect(): Promise<void>;
10
+ close(): Promise<void>;
11
+ send(str: string | Uint8Array, cb?: (err?: Error) => void): boolean;
12
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileSocketClient = void 0;
4
+ const net_1 = require("net");
5
+ const abstract_socket_client_1 = require("./abstract-socket-client");
6
+ class MobileSocketClient extends abstract_socket_client_1.AbstractSocketClient {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.socket = null;
10
+ }
11
+ get isOpen() {
12
+ var _a;
13
+ return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'open';
14
+ }
15
+ get isClosed() {
16
+ var _a;
17
+ return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
18
+ }
19
+ get isClosing() {
20
+ var _a;
21
+ return this.socket === null || ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'closed';
22
+ }
23
+ get isConnecting() {
24
+ var _a;
25
+ return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === 'opening';
26
+ }
27
+ async connect() {
28
+ var _a;
29
+ if (this.socket) {
30
+ return;
31
+ }
32
+ if (this.config.agent) {
33
+ throw new Error('There are not support for proxy agent for mobile connection');
34
+ }
35
+ else {
36
+ this.socket = (0, net_1.connect)({
37
+ host: this.url.hostname,
38
+ port: Number(this.url.port) || 443
39
+ });
40
+ }
41
+ this.socket.setMaxListeners(0);
42
+ const events = ['close', 'connect', 'data', 'drain', 'end', 'error', 'lookup', 'ready', 'timeout'];
43
+ for (const event of events) {
44
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on(event, (...args) => this.emit(event, ...args));
45
+ }
46
+ this.socket.on('data', (...args) => this.emit('message', ...args));
47
+ this.socket.on('ready', (...args) => this.emit('open', ...args));
48
+ }
49
+ async close() {
50
+ if (!this.socket) {
51
+ return;
52
+ }
53
+ return new Promise(resolve => {
54
+ this.socket.end(resolve);
55
+ this.socket = null;
56
+ });
57
+ }
58
+ send(str, cb) {
59
+ if (this.socket === null) {
60
+ return false;
61
+ }
62
+ return this.socket.write(str, undefined, cb);
63
+ }
64
+ }
65
+ exports.MobileSocketClient = MobileSocketClient;
@@ -1,5 +1,5 @@
1
1
  import WebSocket from 'ws';
2
- import { AbstractSocketClient } from './types';
2
+ import { AbstractSocketClient } from './abstract-socket-client';
3
3
  export declare class WebSocketClient extends AbstractSocketClient {
4
4
  protected socket: WebSocket | null;
5
5
  get isOpen(): boolean;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WebSocketClient = void 0;
7
7
  const ws_1 = __importDefault(require("ws"));
8
8
  const Defaults_1 = require("../../Defaults");
9
- const types_1 = require("./types");
10
- class WebSocketClient extends types_1.AbstractSocketClient {
9
+ const abstract_socket_client_1 = require("./abstract-socket-client");
10
+ class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.socket = null;
@@ -38,7 +38,7 @@ class WebSocketClient extends types_1.AbstractSocketClient {
38
38
  headers: (_a = this.config.options) === null || _a === void 0 ? void 0 : _a.headers,
39
39
  handshakeTimeout: this.config.connectTimeoutMs,
40
40
  timeout: this.config.connectTimeoutMs,
41
- agent: this.config.agent
41
+ agent: this.config.agent,
42
42
  });
43
43
  this.socket.setMaxListeners(0);
44
44
  const events = ['close', 'error', 'upgrade', 'message', 'open', 'ping', 'pong', 'unexpected-response'];