@d0v3riz/baileys 6.7.22 → 6.7.23

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 (356) hide show
  1. package/WAProto/GenerateStatics.sh +3 -2
  2. package/WAProto/fix-imports.js +29 -0
  3. package/WAProto/index.js +4136 -4138
  4. package/lib/Defaults/index.d.ts +3 -2
  5. package/lib/Defaults/index.d.ts.map +1 -0
  6. package/lib/Defaults/index.js +36 -40
  7. package/lib/Defaults/index.js.map +1 -0
  8. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  9. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  10. package/lib/Signal/Group/ciphertext-message.js +2 -5
  11. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  12. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  13. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  14. package/lib/Signal/Group/group-session-builder.js +7 -41
  15. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  16. package/lib/Signal/Group/group_cipher.d.ts +3 -2
  17. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  18. package/lib/Signal/Group/group_cipher.js +14 -16
  19. package/lib/Signal/Group/group_cipher.js.map +1 -0
  20. package/lib/Signal/Group/index.d.ts +12 -11
  21. package/lib/Signal/Group/index.d.ts.map +1 -0
  22. package/lib/Signal/Group/index.js +12 -57
  23. package/lib/Signal/Group/index.js.map +1 -0
  24. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  25. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  26. package/lib/Signal/Group/keyhelper.js +8 -44
  27. package/lib/Signal/Group/keyhelper.js.map +1 -0
  28. package/lib/Signal/Group/queue-job.d.ts +2 -0
  29. package/lib/Signal/Group/queue-job.d.ts.map +1 -0
  30. package/lib/Signal/Group/queue-job.js +5 -5
  31. package/lib/Signal/Group/queue-job.js.map +1 -0
  32. package/lib/Signal/Group/sender-chain-key.d.ts +2 -1
  33. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  34. package/lib/Signal/Group/sender-chain-key.js +7 -9
  35. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  36. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.js +6 -9
  39. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  40. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  41. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-key-message.js +10 -12
  43. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  44. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  46. package/lib/Signal/Group/sender-key-name.js +2 -5
  47. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  48. package/lib/Signal/Group/sender-key-record.d.ts +2 -1
  49. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  50. package/lib/Signal/Group/sender-key-record.js +9 -12
  51. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  52. package/lib/Signal/Group/sender-key-state.d.ts +3 -2
  53. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  54. package/lib/Signal/Group/sender-key-state.js +6 -9
  55. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  56. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  58. package/lib/Signal/Group/sender-message-key.js +5 -7
  59. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  60. package/lib/Signal/libsignal.d.ts +3 -2
  61. package/lib/Signal/libsignal.d.ts.map +1 -0
  62. package/lib/Signal/libsignal.js +22 -55
  63. package/lib/Signal/libsignal.js.map +1 -0
  64. package/lib/Socket/Client/index.d.ts +3 -2
  65. package/lib/Socket/Client/index.d.ts.map +1 -0
  66. package/lib/Socket/Client/index.js +3 -18
  67. package/lib/Socket/Client/index.js.map +1 -0
  68. package/lib/Socket/Client/types.d.ts +2 -1
  69. package/lib/Socket/Client/types.d.ts.map +1 -0
  70. package/lib/Socket/Client/types.js +4 -6
  71. package/lib/Socket/Client/types.js.map +1 -0
  72. package/lib/Socket/Client/websocket.d.ts +2 -1
  73. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  74. package/lib/Socket/Client/websocket.js +14 -26
  75. package/lib/Socket/Client/websocket.js.map +1 -0
  76. package/lib/Socket/business.d.ts +66 -64
  77. package/lib/Socket/business.d.ts.map +1 -0
  78. package/lib/Socket/business.js +32 -37
  79. package/lib/Socket/business.js.map +1 -0
  80. package/lib/Socket/chats.d.ts +21 -19
  81. package/lib/Socket/chats.d.ts.map +1 -0
  82. package/lib/Socket/chats.js +176 -141
  83. package/lib/Socket/chats.js.map +1 -0
  84. package/lib/Socket/communities.d.ts +219 -0
  85. package/lib/Socket/communities.d.ts.map +1 -0
  86. package/lib/Socket/communities.js +351 -0
  87. package/lib/Socket/communities.js.map +1 -0
  88. package/lib/Socket/groups.d.ts +37 -35
  89. package/lib/Socket/groups.d.ts.map +1 -0
  90. package/lib/Socket/groups.js +56 -63
  91. package/lib/Socket/groups.js.map +1 -0
  92. package/lib/Socket/index.d.ts +102 -70
  93. package/lib/Socket/index.d.ts.map +1 -0
  94. package/lib/Socket/index.js +16 -9
  95. package/lib/Socket/index.js.map +1 -0
  96. package/lib/Socket/messages-recv.d.ts +51 -49
  97. package/lib/Socket/messages-recv.d.ts.map +1 -0
  98. package/lib/Socket/messages-recv.js +180 -173
  99. package/lib/Socket/messages-recv.js.map +1 -0
  100. package/lib/Socket/messages-send.d.ts +48 -46
  101. package/lib/Socket/messages-send.d.ts.map +1 -0
  102. package/lib/Socket/messages-send.js +75 -84
  103. package/lib/Socket/messages-send.js.map +1 -0
  104. package/lib/Socket/mex.d.ts +2 -1
  105. package/lib/Socket/mex.d.ts.map +1 -0
  106. package/lib/Socket/mex.js +12 -16
  107. package/lib/Socket/mex.js.map +1 -0
  108. package/lib/Socket/newsletter.d.ts +46 -44
  109. package/lib/Socket/newsletter.d.ts.map +1 -0
  110. package/lib/Socket/newsletter.js +23 -27
  111. package/lib/Socket/newsletter.js.map +1 -0
  112. package/lib/Socket/socket.d.ts +13 -12
  113. package/lib/Socket/socket.d.ts.map +1 -0
  114. package/lib/Socket/socket.js +135 -115
  115. package/lib/Socket/socket.js.map +1 -0
  116. package/lib/Socket/usync.d.ts +15 -14
  117. package/lib/Socket/usync.d.ts.map +1 -0
  118. package/lib/Socket/usync.js +9 -11
  119. package/lib/Socket/usync.js.map +1 -0
  120. package/lib/Types/Auth.d.ts +4 -3
  121. package/lib/Types/Auth.d.ts.map +1 -0
  122. package/lib/Types/Auth.js +2 -2
  123. package/lib/Types/Auth.js.map +1 -0
  124. package/lib/Types/Call.d.ts +1 -0
  125. package/lib/Types/Call.d.ts.map +1 -0
  126. package/lib/Types/Call.js +2 -2
  127. package/lib/Types/Call.js.map +1 -0
  128. package/lib/Types/Chat.d.ts +10 -7
  129. package/lib/Types/Chat.d.ts.map +1 -0
  130. package/lib/Types/Chat.js +2 -4
  131. package/lib/Types/Chat.js.map +1 -0
  132. package/lib/Types/Contact.d.ts +1 -0
  133. package/lib/Types/Contact.d.ts.map +1 -0
  134. package/lib/Types/Contact.js +2 -2
  135. package/lib/Types/Contact.js.map +1 -0
  136. package/lib/Types/Events.d.ts +11 -10
  137. package/lib/Types/Events.d.ts.map +1 -0
  138. package/lib/Types/Events.js +2 -2
  139. package/lib/Types/Events.js.map +1 -0
  140. package/lib/Types/GroupMetadata.d.ts +3 -2
  141. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  142. package/lib/Types/GroupMetadata.js +2 -2
  143. package/lib/Types/GroupMetadata.js.map +1 -0
  144. package/lib/Types/Label.d.ts +1 -0
  145. package/lib/Types/Label.d.ts.map +1 -0
  146. package/lib/Types/Label.js +3 -5
  147. package/lib/Types/Label.js.map +1 -0
  148. package/lib/Types/LabelAssociation.d.ts +1 -0
  149. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  150. package/lib/Types/LabelAssociation.js +3 -5
  151. package/lib/Types/LabelAssociation.js.map +1 -0
  152. package/lib/Types/Message.d.ts +9 -7
  153. package/lib/Types/Message.d.ts.map +1 -0
  154. package/lib/Types/Message.js +7 -7
  155. package/lib/Types/Message.js.map +1 -0
  156. package/lib/Types/Newsletter.d.ts +1 -0
  157. package/lib/Types/Newsletter.d.ts.map +1 -0
  158. package/lib/Types/Newsletter.js +5 -7
  159. package/lib/Types/Newsletter.js.map +1 -0
  160. package/lib/Types/Product.d.ts +2 -1
  161. package/lib/Types/Product.d.ts.map +1 -0
  162. package/lib/Types/Product.js +2 -2
  163. package/lib/Types/Product.js.map +1 -0
  164. package/lib/Types/Signal.d.ts +2 -1
  165. package/lib/Types/Signal.d.ts.map +1 -0
  166. package/lib/Types/Signal.js +2 -2
  167. package/lib/Types/Signal.js.map +1 -0
  168. package/lib/Types/Socket.d.ts +8 -7
  169. package/lib/Types/Socket.d.ts.map +1 -0
  170. package/lib/Types/Socket.js +3 -2
  171. package/lib/Types/Socket.js.map +1 -0
  172. package/lib/Types/State.d.ts +14 -2
  173. package/lib/Types/State.d.ts.map +1 -0
  174. package/lib/Types/State.js +13 -2
  175. package/lib/Types/State.js.map +1 -0
  176. package/lib/Types/USync.d.ts +3 -2
  177. package/lib/Types/USync.d.ts.map +1 -0
  178. package/lib/Types/USync.js +2 -2
  179. package/lib/Types/USync.js.map +1 -0
  180. package/lib/Types/index.d.ts +15 -14
  181. package/lib/Types/index.d.ts.map +1 -0
  182. package/lib/Types/index.js +15 -31
  183. package/lib/Types/index.js.map +1 -0
  184. package/lib/Utils/auth-utils.d.ts +3 -2
  185. package/lib/Utils/auth-utils.d.ts.map +1 -0
  186. package/lib/Utils/auth-utils.js +25 -34
  187. package/lib/Utils/auth-utils.js.map +1 -0
  188. package/lib/Utils/baileys-event-stream.d.ts +2 -1
  189. package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
  190. package/lib/Utils/baileys-event-stream.js +15 -22
  191. package/lib/Utils/baileys-event-stream.js.map +1 -0
  192. package/lib/Utils/business.d.ts +3 -2
  193. package/lib/Utils/business.d.ts.map +1 -0
  194. package/lib/Utils/business.js +61 -70
  195. package/lib/Utils/business.js.map +1 -0
  196. package/lib/Utils/chat-utils.d.ts +8 -7
  197. package/lib/Utils/chat-utils.d.ts.map +1 -0
  198. package/lib/Utils/chat-utils.js +130 -137
  199. package/lib/Utils/chat-utils.js.map +1 -0
  200. package/lib/Utils/crypto.d.ts +2 -1
  201. package/lib/Utils/crypto.d.ts.map +1 -0
  202. package/lib/Utils/crypto.js +37 -86
  203. package/lib/Utils/crypto.js.map +1 -0
  204. package/lib/Utils/decode-wa-message.d.ts +5 -4
  205. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  206. package/lib/Utils/decode-wa-message.js +38 -44
  207. package/lib/Utils/decode-wa-message.js.map +1 -0
  208. package/lib/Utils/event-buffer.d.ts +4 -4
  209. package/lib/Utils/event-buffer.d.ts.map +1 -0
  210. package/lib/Utils/event-buffer.js +37 -50
  211. package/lib/Utils/event-buffer.js.map +1 -0
  212. package/lib/Utils/generics.d.ts +9 -8
  213. package/lib/Utils/generics.d.ts.map +1 -0
  214. package/lib/Utils/generics.js +87 -114
  215. package/lib/Utils/generics.js.map +1 -0
  216. package/lib/Utils/history.d.ts +4 -3
  217. package/lib/Utils/history.d.ts.map +1 -0
  218. package/lib/Utils/history.js +32 -40
  219. package/lib/Utils/history.js.map +1 -0
  220. package/lib/Utils/index.d.ts +18 -17
  221. package/lib/Utils/index.d.ts.map +1 -0
  222. package/lib/Utils/index.js +18 -33
  223. package/lib/Utils/index.js.map +1 -0
  224. package/lib/Utils/link-preview.d.ts +4 -3
  225. package/lib/Utils/link-preview.d.ts.map +1 -0
  226. package/lib/Utils/link-preview.js +10 -47
  227. package/lib/Utils/link-preview.js.map +1 -0
  228. package/lib/Utils/logger.d.ts +8 -6
  229. package/lib/Utils/logger.d.ts.map +1 -0
  230. package/lib/Utils/logger.js +3 -7
  231. package/lib/Utils/logger.js.map +1 -0
  232. package/lib/Utils/lt-hash.d.ts +9 -8
  233. package/lib/Utils/lt-hash.d.ts.map +1 -0
  234. package/lib/Utils/lt-hash.js +23 -26
  235. package/lib/Utils/lt-hash.js.map +1 -0
  236. package/lib/Utils/make-mutex.d.ts +1 -0
  237. package/lib/Utils/make-mutex.d.ts.map +1 -0
  238. package/lib/Utils/make-mutex.js +5 -9
  239. package/lib/Utils/make-mutex.js.map +1 -0
  240. package/lib/Utils/messages-media.d.ts +11 -10
  241. package/lib/Utils/messages-media.d.ts.map +1 -0
  242. package/lib/Utils/messages-media.js +141 -203
  243. package/lib/Utils/messages-media.js.map +1 -0
  244. package/lib/Utils/messages.d.ts +7 -6
  245. package/lib/Utils/messages.d.ts.map +1 -0
  246. package/lib/Utils/messages.js +190 -199
  247. package/lib/Utils/messages.js.map +1 -0
  248. package/lib/Utils/noise-handler.d.ts +5 -4
  249. package/lib/Utils/noise-handler.d.ts.map +1 -0
  250. package/lib/Utils/noise-handler.js +22 -26
  251. package/lib/Utils/noise-handler.js.map +1 -0
  252. package/lib/Utils/process-message.d.ts +5 -4
  253. package/lib/Utils/process-message.d.ts.map +1 -0
  254. package/lib/Utils/process-message.js +95 -104
  255. package/lib/Utils/process-message.js.map +1 -0
  256. package/lib/Utils/signal.d.ts +5 -4
  257. package/lib/Utils/signal.d.ts.map +1 -0
  258. package/lib/Utils/signal.js +47 -52
  259. package/lib/Utils/signal.js.map +1 -0
  260. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  261. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  262. package/lib/Utils/use-multi-file-auth-state.js +23 -26
  263. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  264. package/lib/Utils/validate-connection.d.ts +4 -3
  265. package/lib/Utils/validate-connection.d.ts.map +1 -0
  266. package/lib/Utils/validate-connection.js +52 -58
  267. package/lib/Utils/validate-connection.js.map +1 -0
  268. package/lib/WABinary/constants.d.ts +1 -0
  269. package/lib/WABinary/constants.d.ts.map +1 -0
  270. package/lib/WABinary/constants.js +9 -11
  271. package/lib/WABinary/constants.js.map +1 -0
  272. package/lib/WABinary/decode.d.ts +2 -1
  273. package/lib/WABinary/decode.d.ts.map +1 -0
  274. package/lib/WABinary/decode.js +13 -51
  275. package/lib/WABinary/decode.js.map +1 -0
  276. package/lib/WABinary/encode.d.ts +2 -1
  277. package/lib/WABinary/encode.d.ts.map +1 -0
  278. package/lib/WABinary/encode.js +5 -41
  279. package/lib/WABinary/encode.js.map +1 -0
  280. package/lib/WABinary/generic-utils.d.ts +4 -3
  281. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  282. package/lib/WABinary/generic-utils.js +30 -38
  283. package/lib/WABinary/generic-utils.js.map +1 -0
  284. package/lib/WABinary/index.d.ts +6 -5
  285. package/lib/WABinary/index.d.ts.map +1 -0
  286. package/lib/WABinary/index.js +6 -21
  287. package/lib/WABinary/index.js.map +1 -0
  288. package/lib/WABinary/jid-utils.d.ts +1 -0
  289. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  290. package/lib/WABinary/jid-utils.js +21 -35
  291. package/lib/WABinary/jid-utils.js.map +1 -0
  292. package/lib/WABinary/types.d.ts +2 -1
  293. package/lib/WABinary/types.d.ts.map +1 -0
  294. package/lib/WABinary/types.js +2 -2
  295. package/lib/WABinary/types.js.map +1 -0
  296. package/lib/WAM/BinaryInfo.d.ts +2 -1
  297. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  298. package/lib/WAM/BinaryInfo.js +2 -5
  299. package/lib/WAM/BinaryInfo.js.map +1 -0
  300. package/lib/WAM/constants.d.ts +1 -0
  301. package/lib/WAM/constants.d.ts.map +1 -0
  302. package/lib/WAM/constants.js +4 -6
  303. package/lib/WAM/constants.js.map +1 -0
  304. package/lib/WAM/encode.d.ts +2 -1
  305. package/lib/WAM/encode.d.ts.map +1 -0
  306. package/lib/WAM/encode.js +12 -14
  307. package/lib/WAM/encode.js.map +1 -0
  308. package/lib/WAM/index.d.ts +4 -3
  309. package/lib/WAM/index.d.ts.map +1 -0
  310. package/lib/WAM/index.js +4 -19
  311. package/lib/WAM/index.js.map +1 -0
  312. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  313. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  314. package/lib/WAUSync/Protocols/USyncContactProtocol.js +6 -9
  315. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  316. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  317. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  318. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +9 -12
  319. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  320. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  321. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  322. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +6 -9
  323. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  324. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  325. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  326. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +7 -11
  327. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  328. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  329. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  330. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +19 -21
  331. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  332. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -2
  333. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  334. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +2 -5
  335. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  336. package/lib/WAUSync/Protocols/index.d.ts +5 -4
  337. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  338. package/lib/WAUSync/Protocols/index.js +5 -20
  339. package/lib/WAUSync/Protocols/index.js.map +1 -0
  340. package/lib/WAUSync/USyncQuery.d.ts +4 -3
  341. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  342. package/lib/WAUSync/USyncQuery.js +18 -20
  343. package/lib/WAUSync/USyncQuery.js.map +1 -0
  344. package/lib/WAUSync/USyncUser.d.ts +6 -5
  345. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  346. package/lib/WAUSync/USyncUser.js +2 -5
  347. package/lib/WAUSync/USyncUser.js.map +1 -0
  348. package/lib/WAUSync/index.d.ts +4 -3
  349. package/lib/WAUSync/index.d.ts.map +1 -0
  350. package/lib/WAUSync/index.js +4 -19
  351. package/lib/WAUSync/index.js.map +1 -0
  352. package/lib/index.d.ts +9 -8
  353. package/lib/index.d.ts.map +1 -0
  354. package/lib/index.js +11 -30
  355. package/lib/index.js.map +1 -0
  356. package/package.json +26 -26
@@ -1,22 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isWABusinessPlatform = exports.getCodeFromWSError = exports.getCallStatusFromNode = exports.getErrorCodeFromStreamError = exports.getStatusFromReceiptType = exports.generateMdTagPrefix = exports.fetchLatestWaWebVersion = exports.fetchLatestBaileysVersion = exports.bindWaitForConnectionUpdate = exports.generateMessageID = exports.generateMessageIDV2 = exports.delayCancellable = exports.delay = exports.debouncedTimeout = exports.unixTimestampSeconds = exports.toNumber = exports.encodeBigEndian = exports.generateRegistrationId = exports.encodeWAMessage = exports.unpadRandomMax16 = exports.writeRandomPadMax16 = exports.getKeyAuthor = exports.BufferJSON = exports.getPlatformId = exports.Browsers = void 0;
7
- exports.promiseTimeout = promiseTimeout;
8
- exports.bindWaitForEvent = bindWaitForEvent;
9
- exports.trimUndefined = trimUndefined;
10
- exports.bytesToCrockford = bytesToCrockford;
11
- exports.encodeNewsletterMessage = encodeNewsletterMessage;
12
- const boom_1 = require("@hapi/boom");
13
- const axios_1 = __importDefault(require("axios"));
14
- const crypto_1 = require("crypto");
15
- const os_1 = require("os");
16
- const WAProto_1 = require("../../WAProto");
17
- const baileys_version_json_1 = require("../Defaults/baileys-version.json");
18
- const Types_1 = require("../Types");
19
- const WABinary_1 = require("../WABinary");
1
+ import { Boom } from '@hapi/boom';
2
+ import axios, {} from 'axios';
3
+ import { createHash, randomBytes } from 'crypto';
4
+ import { platform, release } from 'os';
5
+ import { proto } from '../../WAProto/index.js';
6
+ import version from '../Defaults/baileys-version.json' with { type: 'json' };
7
+ const baileysVersion = version.version;
8
+ import { DisconnectReason } from '../Types/index.js';
9
+ import { getAllBinaryNodeChildren, jidDecode } from '../WABinary/index.js';
20
10
  const PLATFORM_MAP = {
21
11
  aix: 'AIX',
22
12
  darwin: 'Mac OS',
@@ -24,26 +14,29 @@ const PLATFORM_MAP = {
24
14
  android: 'Android',
25
15
  freebsd: 'FreeBSD',
26
16
  openbsd: 'OpenBSD',
27
- sunos: 'Solaris'
17
+ sunos: 'Solaris',
18
+ linux: undefined,
19
+ haiku: undefined,
20
+ cygwin: undefined,
21
+ netbsd: undefined
28
22
  };
29
- exports.Browsers = {
23
+ export const Browsers = {
30
24
  ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
31
25
  macOS: browser => ['Mac OS', browser, '14.4.1'],
32
26
  baileys: browser => ['Baileys', browser, '6.5.0'],
33
27
  windows: browser => ['Windows', browser, '10.0.22631'],
34
28
  /** The appropriate browser based on your OS & release */
35
- appropriate: browser => [PLATFORM_MAP[(0, os_1.platform)()] || 'Ubuntu', browser, (0, os_1.release)()]
29
+ appropriate: browser => [PLATFORM_MAP[platform()] || 'Ubuntu', browser, release()]
36
30
  };
37
- const getPlatformId = (browser) => {
38
- const platformType = WAProto_1.proto.DeviceProps.PlatformType[browser.toUpperCase()];
31
+ export const getPlatformId = (browser) => {
32
+ const platformType = proto.DeviceProps.PlatformType[browser.toUpperCase()];
39
33
  return platformType ? platformType.toString() : '1'; //chrome
40
34
  };
41
- exports.getPlatformId = getPlatformId;
42
- exports.BufferJSON = {
35
+ export const BufferJSON = {
43
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
37
  replacer: (k, value) => {
45
- if (Buffer.isBuffer(value) || value instanceof Uint8Array || (value === null || value === void 0 ? void 0 : value.type) === 'Buffer') {
46
- return { type: 'Buffer', data: Buffer.from((value === null || value === void 0 ? void 0 : value.data) || value).toString('base64') };
38
+ if (Buffer.isBuffer(value) || value instanceof Uint8Array || value?.type === 'Buffer') {
39
+ return { type: 'Buffer', data: Buffer.from(value?.data || value).toString('base64') };
47
40
  }
48
41
  return value;
49
42
  },
@@ -56,18 +49,18 @@ exports.BufferJSON = {
56
49
  return value;
57
50
  }
58
51
  };
59
- const getKeyAuthor = (key, meId = 'me') => ((key === null || key === void 0 ? void 0 : key.fromMe) ? meId : (key === null || key === void 0 ? void 0 : key.participant) || (key === null || key === void 0 ? void 0 : key.remoteJid)) || '';
60
- exports.getKeyAuthor = getKeyAuthor;
61
- const writeRandomPadMax16 = (msg) => {
62
- const pad = (0, crypto_1.randomBytes)(1);
63
- pad[0] &= 0xf;
64
- if (!pad[0]) {
52
+ export const getKeyAuthor = (key, meId = 'me') => (key?.fromMe ? meId : key?.participant || key?.remoteJid) || '';
53
+ export const writeRandomPadMax16 = (msg) => {
54
+ const pad = randomBytes(1);
55
+ if (pad[0]) {
56
+ pad[0] &= 0xf;
57
+ }
58
+ else {
65
59
  pad[0] = 0xf;
66
60
  }
67
61
  return Buffer.concat([msg, Buffer.alloc(pad[0], pad[0])]);
68
62
  };
69
- exports.writeRandomPadMax16 = writeRandomPadMax16;
70
- const unpadRandomMax16 = (e) => {
63
+ export const unpadRandomMax16 = (e) => {
71
64
  const t = new Uint8Array(e);
72
65
  if (0 === t.length) {
73
66
  throw new Error('unpadPkcs7 given empty bytes');
@@ -78,14 +71,11 @@ const unpadRandomMax16 = (e) => {
78
71
  }
79
72
  return new Uint8Array(t.buffer, t.byteOffset, t.length - r);
80
73
  };
81
- exports.unpadRandomMax16 = unpadRandomMax16;
82
- const encodeWAMessage = (message) => (0, exports.writeRandomPadMax16)(WAProto_1.proto.Message.encode(message).finish());
83
- exports.encodeWAMessage = encodeWAMessage;
84
- const generateRegistrationId = () => {
85
- return Uint16Array.from((0, crypto_1.randomBytes)(2))[0] & 16383;
74
+ export const encodeWAMessage = (message) => writeRandomPadMax16(proto.Message.encode(message).finish());
75
+ export const generateRegistrationId = () => {
76
+ return Uint16Array.from(randomBytes(2))[0] & 16383;
86
77
  };
87
- exports.generateRegistrationId = generateRegistrationId;
88
- const encodeBigEndian = (e, t = 4) => {
78
+ export const encodeBigEndian = (e, t = 4) => {
89
79
  let r = e;
90
80
  const a = new Uint8Array(t);
91
81
  for (let i = t - 1; i >= 0; i--) {
@@ -94,20 +84,17 @@ const encodeBigEndian = (e, t = 4) => {
94
84
  }
95
85
  return a;
96
86
  };
97
- exports.encodeBigEndian = encodeBigEndian;
98
- const toNumber = (t) => typeof t === 'object' && t ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0;
99
- exports.toNumber = toNumber;
87
+ export const toNumber = (t) => typeof t === 'object' && t ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0;
100
88
  /** unix timestamp of a date in seconds */
101
- const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
102
- exports.unixTimestampSeconds = unixTimestampSeconds;
103
- const debouncedTimeout = (intervalMs = 1000, task) => {
89
+ export const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
90
+ export const debouncedTimeout = (intervalMs = 1000, task) => {
104
91
  let timeout;
105
92
  return {
106
93
  start: (newIntervalMs, newTask) => {
107
94
  task = newTask || task;
108
95
  intervalMs = newIntervalMs || intervalMs;
109
96
  timeout && clearTimeout(timeout);
110
- timeout = setTimeout(() => task === null || task === void 0 ? void 0 : task(), intervalMs);
97
+ timeout = setTimeout(() => task?.(), intervalMs);
111
98
  },
112
99
  cancel: () => {
113
100
  timeout && clearTimeout(timeout);
@@ -117,10 +104,8 @@ const debouncedTimeout = (intervalMs = 1000, task) => {
117
104
  setInterval: (newInterval) => (intervalMs = newInterval)
118
105
  };
119
106
  };
120
- exports.debouncedTimeout = debouncedTimeout;
121
- const delay = (ms) => (0, exports.delayCancellable)(ms).delay;
122
- exports.delay = delay;
123
- const delayCancellable = (ms) => {
107
+ export const delay = (ms) => delayCancellable(ms).delay;
108
+ export const delayCancellable = (ms) => {
124
109
  const stack = new Error().stack;
125
110
  let timeout;
126
111
  let reject;
@@ -130,7 +115,7 @@ const delayCancellable = (ms) => {
130
115
  });
131
116
  const cancel = () => {
132
117
  clearTimeout(timeout);
133
- reject(new boom_1.Boom('Cancelled', {
118
+ reject(new Boom('Cancelled', {
134
119
  statusCode: 500,
135
120
  data: {
136
121
  stack
@@ -139,18 +124,17 @@ const delayCancellable = (ms) => {
139
124
  };
140
125
  return { delay, cancel };
141
126
  };
142
- exports.delayCancellable = delayCancellable;
143
- async function promiseTimeout(ms, promise) {
127
+ export async function promiseTimeout(ms, promise) {
144
128
  if (!ms) {
145
129
  return new Promise(promise);
146
130
  }
147
131
  const stack = new Error().stack;
148
132
  // Create a promise that rejects in <ms> milliseconds
149
- const { delay, cancel } = (0, exports.delayCancellable)(ms);
133
+ const { delay, cancel } = delayCancellable(ms);
150
134
  const p = new Promise((resolve, reject) => {
151
135
  delay
152
- .then(() => reject(new boom_1.Boom('Timed Out', {
153
- statusCode: Types_1.DisconnectReason.timedOut,
136
+ .then(() => reject(new Boom('Timed Out', {
137
+ statusCode: DisconnectReason.timedOut,
154
138
  data: {
155
139
  stack
156
140
  }
@@ -162,33 +146,31 @@ async function promiseTimeout(ms, promise) {
162
146
  }
163
147
  // inspired from whatsmeow code
164
148
  // https://github.com/tulir/whatsmeow/blob/64bc969fbe78d31ae0dd443b8d4c80a5d026d07a/send.go#L42
165
- const generateMessageIDV2 = (userId) => {
149
+ export const generateMessageIDV2 = (userId) => {
166
150
  const data = Buffer.alloc(8 + 20 + 16);
167
151
  data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)));
168
152
  if (userId) {
169
- const id = (0, WABinary_1.jidDecode)(userId);
170
- if (id === null || id === void 0 ? void 0 : id.user) {
153
+ const id = jidDecode(userId);
154
+ if (id?.user) {
171
155
  data.write(id.user, 8);
172
156
  data.write('@c.us', 8 + id.user.length);
173
157
  }
174
158
  }
175
- const random = (0, crypto_1.randomBytes)(16);
159
+ const random = randomBytes(16);
176
160
  random.copy(data, 28);
177
- const hash = (0, crypto_1.createHash)('sha256').update(data).digest();
161
+ const hash = createHash('sha256').update(data).digest();
178
162
  return (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') + hash.toString('hex').toUpperCase().substring(0, 18);
179
163
  };
180
- exports.generateMessageIDV2 = generateMessageIDV2;
181
164
  // generate a random ID to attach to a message
182
- const generateMessageID = () => (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') + (0, crypto_1.randomBytes)(18).toString('hex').toUpperCase();
183
- exports.generateMessageID = generateMessageID;
184
- function bindWaitForEvent(ev, event) {
165
+ export const generateMessageID = () => (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') + randomBytes(18).toString('hex').toUpperCase();
166
+ export function bindWaitForEvent(ev, event) {
185
167
  return async (check, timeoutMs) => {
186
168
  let listener;
187
169
  let closeListener;
188
170
  await promiseTimeout(timeoutMs, (resolve, reject) => {
189
171
  closeListener = ({ connection, lastDisconnect }) => {
190
172
  if (connection === 'close') {
191
- reject((lastDisconnect === null || lastDisconnect === void 0 ? void 0 : lastDisconnect.error) || new boom_1.Boom('Connection Closed', { statusCode: Types_1.DisconnectReason.connectionClosed }));
173
+ reject(lastDisconnect?.error || new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed }));
192
174
  }
193
175
  };
194
176
  ev.on('connection.update', closeListener);
@@ -204,16 +186,15 @@ function bindWaitForEvent(ev, event) {
204
186
  });
205
187
  };
206
188
  }
207
- const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
208
- exports.bindWaitForConnectionUpdate = bindWaitForConnectionUpdate;
189
+ export const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
209
190
  /**
210
191
  * utility that fetches latest baileys version from the master branch.
211
192
  * Use to ensure your WA connection is always on the latest version
212
193
  */
213
- const fetchLatestBaileysVersion = async (options = {}) => {
194
+ export const fetchLatestBaileysVersion = async (options = {}) => {
214
195
  const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
215
196
  try {
216
- const result = await axios_1.default.get(URL, {
197
+ const result = await axios.get(URL, {
217
198
  ...options,
218
199
  responseType: 'json'
219
200
  });
@@ -224,28 +205,27 @@ const fetchLatestBaileysVersion = async (options = {}) => {
224
205
  }
225
206
  catch (error) {
226
207
  return {
227
- version: baileys_version_json_1.version,
208
+ version: baileysVersion,
228
209
  isLatest: false,
229
210
  error
230
211
  };
231
212
  }
232
213
  };
233
- exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
234
214
  /**
235
215
  * A utility that fetches the latest web version of whatsapp.
236
216
  * Use to ensure your WA connection is always on the latest version
237
217
  */
238
- const fetchLatestWaWebVersion = async (options) => {
218
+ export const fetchLatestWaWebVersion = async (options) => {
239
219
  try {
240
- const { data } = await axios_1.default.get('https://web.whatsapp.com/sw.js', {
220
+ const { data } = await axios.get('https://web.whatsapp.com/sw.js', {
241
221
  ...options,
242
222
  responseType: 'json'
243
223
  });
244
224
  const regex = /\\?"client_revision\\?":\s*(\d+)/;
245
225
  const match = data.match(regex);
246
- if (!(match === null || match === void 0 ? void 0 : match[1])) {
226
+ if (!match?.[1]) {
247
227
  return {
248
- version: baileys_version_json_1.version,
228
+ version: baileysVersion,
249
229
  isLatest: false,
250
230
  error: {
251
231
  message: 'Could not find client revision in the fetched content'
@@ -260,49 +240,46 @@ const fetchLatestWaWebVersion = async (options) => {
260
240
  }
261
241
  catch (error) {
262
242
  return {
263
- version: baileys_version_json_1.version,
243
+ version: baileysVersion,
264
244
  isLatest: false,
265
245
  error
266
246
  };
267
247
  }
268
248
  };
269
- exports.fetchLatestWaWebVersion = fetchLatestWaWebVersion;
270
249
  /** unique message tag prefix for MD clients */
271
- const generateMdTagPrefix = () => {
272
- const bytes = (0, crypto_1.randomBytes)(4);
250
+ export const generateMdTagPrefix = () => {
251
+ const bytes = randomBytes(4);
273
252
  return `${bytes.readUInt16BE()}.${bytes.readUInt16BE(2)}-`;
274
253
  };
275
- exports.generateMdTagPrefix = generateMdTagPrefix;
276
254
  const STATUS_MAP = {
277
- sender: WAProto_1.proto.WebMessageInfo.Status.SERVER_ACK,
278
- played: WAProto_1.proto.WebMessageInfo.Status.PLAYED,
279
- read: WAProto_1.proto.WebMessageInfo.Status.READ,
280
- 'read-self': WAProto_1.proto.WebMessageInfo.Status.READ
255
+ sender: proto.WebMessageInfo.Status.SERVER_ACK,
256
+ played: proto.WebMessageInfo.Status.PLAYED,
257
+ read: proto.WebMessageInfo.Status.READ,
258
+ 'read-self': proto.WebMessageInfo.Status.READ
281
259
  };
282
260
  /**
283
261
  * Given a type of receipt, returns what the new status of the message should be
284
262
  * @param type type from receipt
285
263
  */
286
- const getStatusFromReceiptType = (type) => {
264
+ export const getStatusFromReceiptType = (type) => {
287
265
  const status = STATUS_MAP[type];
288
266
  if (typeof type === 'undefined') {
289
- return WAProto_1.proto.WebMessageInfo.Status.DELIVERY_ACK;
267
+ return proto.WebMessageInfo.Status.DELIVERY_ACK;
290
268
  }
291
269
  return status;
292
270
  };
293
- exports.getStatusFromReceiptType = getStatusFromReceiptType;
294
271
  const CODE_MAP = {
295
- conflict: Types_1.DisconnectReason.connectionReplaced
272
+ conflict: DisconnectReason.connectionReplaced
296
273
  };
297
274
  /**
298
275
  * Stream errors generally provide a reason, map that to a baileys DisconnectReason
299
276
  * @param reason the string reason given, eg. "conflict"
300
277
  */
301
- const getErrorCodeFromStreamError = (node) => {
302
- const [reasonNode] = (0, WABinary_1.getAllBinaryNodeChildren)(node);
303
- let reason = (reasonNode === null || reasonNode === void 0 ? void 0 : reasonNode.tag) || 'unknown';
304
- const statusCode = +(node.attrs.code || CODE_MAP[reason] || Types_1.DisconnectReason.badSession);
305
- if (statusCode === Types_1.DisconnectReason.restartRequired) {
278
+ export const getErrorCodeFromStreamError = (node) => {
279
+ const [reasonNode] = getAllBinaryNodeChildren(node);
280
+ let reason = reasonNode?.tag || 'unknown';
281
+ const statusCode = +(node.attrs.code || CODE_MAP[reason] || DisconnectReason.badSession);
282
+ if (statusCode === DisconnectReason.restartRequired) {
306
283
  reason = 'restart required';
307
284
  }
308
285
  return {
@@ -310,8 +287,7 @@ const getErrorCodeFromStreamError = (node) => {
310
287
  statusCode
311
288
  };
312
289
  };
313
- exports.getErrorCodeFromStreamError = getErrorCodeFromStreamError;
314
- const getCallStatusFromNode = ({ tag, attrs }) => {
290
+ export const getCallStatusFromNode = ({ tag, attrs }) => {
315
291
  let status;
316
292
  switch (tag) {
317
293
  case 'offer':
@@ -339,37 +315,33 @@ const getCallStatusFromNode = ({ tag, attrs }) => {
339
315
  }
340
316
  return status;
341
317
  };
342
- exports.getCallStatusFromNode = getCallStatusFromNode;
343
318
  const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: ';
344
- const getCodeFromWSError = (error) => {
345
- var _a, _b, _c;
319
+ export const getCodeFromWSError = (error) => {
346
320
  let statusCode = 500;
347
- if ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
348
- const code = +(error === null || error === void 0 ? void 0 : error.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length));
321
+ if (error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
322
+ const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length);
349
323
  if (!Number.isNaN(code) && code >= 400) {
350
324
  statusCode = code;
351
325
  }
352
326
  }
353
327
  else if (
354
328
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
355
- ((_b = error === null || error === void 0 ? void 0 : error.code) === null || _b === void 0 ? void 0 : _b.startsWith('E')) ||
356
- ((_c = error === null || error === void 0 ? void 0 : error.message) === null || _c === void 0 ? void 0 : _c.includes('timed out'))) {
329
+ error?.code?.startsWith('E') ||
330
+ error?.message?.includes('timed out')) {
357
331
  // handle ETIMEOUT, ENOTFOUND etc
358
332
  statusCode = 408;
359
333
  }
360
334
  return statusCode;
361
335
  };
362
- exports.getCodeFromWSError = getCodeFromWSError;
363
336
  /**
364
337
  * Is the given platform WA business
365
338
  * @param platform AuthenticationCreds.platform
366
339
  */
367
- const isWABusinessPlatform = (platform) => {
340
+ export const isWABusinessPlatform = (platform) => {
368
341
  return platform === 'smbi' || platform === 'smba';
369
342
  };
370
- exports.isWABusinessPlatform = isWABusinessPlatform;
371
343
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
372
- function trimUndefined(obj) {
344
+ export function trimUndefined(obj) {
373
345
  for (const key in obj) {
374
346
  if (typeof obj[key] === 'undefined') {
375
347
  delete obj[key];
@@ -378,7 +350,7 @@ function trimUndefined(obj) {
378
350
  return obj;
379
351
  }
380
352
  const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ';
381
- function bytesToCrockford(buffer) {
353
+ export function bytesToCrockford(buffer) {
382
354
  let value = 0;
383
355
  let bitCount = 0;
384
356
  const crockford = [];
@@ -395,6 +367,7 @@ function bytesToCrockford(buffer) {
395
367
  }
396
368
  return crockford.join('');
397
369
  }
398
- function encodeNewsletterMessage(message) {
399
- return WAProto_1.proto.Message.encode(message).finish();
370
+ export function encodeNewsletterMessage(message) {
371
+ return proto.Message.encode(message).finish();
400
372
  }
373
+ //# sourceMappingURL=generics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generics.js","sourceRoot":"","sources":["../../src/Utils/generics.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import { proto } from '../../WAProto';
3
- import { Chat, Contact } from '../Types';
1
+ import type { AxiosRequestConfig } from 'axios';
2
+ import { proto } from '../../WAProto/index.js';
3
+ import type { Chat, Contact } from '../Types/index.js';
4
4
  export declare const downloadHistory: (msg: proto.Message.IHistorySyncNotification, options: AxiosRequestConfig<{}>) => Promise<proto.HistorySync>;
5
5
  export declare const processHistoryMessage: (item: proto.IHistorySync) => {
6
6
  chats: Chat[];
@@ -17,3 +17,4 @@ export declare const downloadAndProcessHistorySyncNotification: (msg: proto.Mess
17
17
  progress: number | null | undefined;
18
18
  }>;
19
19
  export declare const getHistoryMsg: (message: proto.IMessage) => proto.Message.IHistorySyncNotification | null | undefined;
20
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAS7C,eAAO,MAAM,eAAe,GAAU,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,+BAcjH,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,KAAK,CAAC,YAAY;;;;;;CAiE7D,CAAA;AAED,eAAO,MAAM,yCAAyC,GACrD,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAC3C,SAAS,kBAAkB,CAAC,EAAE,CAAC;;;;;;EAI/B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,KAAK,CAAC,QAAQ,8DAKpD,CAAA"}
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHistoryMsg = exports.downloadAndProcessHistorySyncNotification = exports.processHistoryMessage = exports.downloadHistory = void 0;
4
- const util_1 = require("util");
5
- const zlib_1 = require("zlib");
6
- const WAProto_1 = require("../../WAProto");
7
- const Types_1 = require("../Types");
8
- const WABinary_1 = require("../WABinary");
9
- const generics_1 = require("./generics");
10
- const messages_1 = require("./messages");
11
- const messages_media_1 = require("./messages-media");
12
- const inflatePromise = (0, util_1.promisify)(zlib_1.inflate);
13
- const downloadHistory = async (msg, options) => {
14
- const stream = await (0, messages_media_1.downloadContentFromMessage)(msg, 'md-msg-hist', { options });
1
+ import { promisify } from 'util';
2
+ import { inflate } from 'zlib';
3
+ import { proto } from '../../WAProto/index.js';
4
+ import { WAMessageStubType } from '../Types/index.js';
5
+ import { isJidUser } from '../WABinary/index.js';
6
+ import { toNumber } from './generics.js';
7
+ import { normalizeMessageContent } from './messages.js';
8
+ import { downloadContentFromMessage } from './messages-media.js';
9
+ const inflatePromise = promisify(inflate);
10
+ export const downloadHistory = async (msg, options) => {
11
+ const stream = await downloadContentFromMessage(msg, 'md-msg-hist', { options });
15
12
  const bufferArray = [];
16
13
  for await (const chunk of stream) {
17
14
  bufferArray.push(chunk);
@@ -19,52 +16,50 @@ const downloadHistory = async (msg, options) => {
19
16
  let buffer = Buffer.concat(bufferArray);
20
17
  // decompress buffer
21
18
  buffer = await inflatePromise(buffer);
22
- const syncData = WAProto_1.proto.HistorySync.decode(buffer);
19
+ const syncData = proto.HistorySync.decode(buffer);
23
20
  return syncData;
24
21
  };
25
- exports.downloadHistory = downloadHistory;
26
- const processHistoryMessage = (item) => {
27
- var _a, _b, _c;
22
+ export const processHistoryMessage = (item) => {
28
23
  const messages = [];
29
24
  const contacts = [];
30
25
  const chats = [];
31
26
  switch (item.syncType) {
32
- case WAProto_1.proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP:
33
- case WAProto_1.proto.HistorySync.HistorySyncType.RECENT:
34
- case WAProto_1.proto.HistorySync.HistorySyncType.FULL:
35
- case WAProto_1.proto.HistorySync.HistorySyncType.ON_DEMAND:
27
+ case proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP:
28
+ case proto.HistorySync.HistorySyncType.RECENT:
29
+ case proto.HistorySync.HistorySyncType.FULL:
30
+ case proto.HistorySync.HistorySyncType.ON_DEMAND:
36
31
  for (const chat of item.conversations) {
37
32
  contacts.push({
38
33
  id: chat.id,
39
34
  name: chat.name || undefined,
40
35
  lid: chat.lidJid || undefined,
41
- jid: (0, WABinary_1.isJidUser)(chat.id) ? chat.id : undefined
36
+ jid: isJidUser(chat.id) ? chat.id : undefined
42
37
  });
43
38
  const msgs = chat.messages || [];
44
39
  delete chat.messages;
45
40
  for (const item of msgs) {
46
41
  const message = item.message;
47
42
  messages.push(message);
48
- if (!((_a = chat.messages) === null || _a === void 0 ? void 0 : _a.length)) {
43
+ if (!chat.messages?.length) {
49
44
  // keep only the most recent message in the chat array
50
45
  chat.messages = [{ message }];
51
46
  }
52
47
  if (!message.key.fromMe && !chat.lastMessageRecvTimestamp) {
53
- chat.lastMessageRecvTimestamp = (0, generics_1.toNumber)(message.messageTimestamp);
48
+ chat.lastMessageRecvTimestamp = toNumber(message.messageTimestamp);
54
49
  }
55
- if ((message.messageStubType === Types_1.WAMessageStubType.BIZ_PRIVACY_MODE_TO_BSP ||
56
- message.messageStubType === Types_1.WAMessageStubType.BIZ_PRIVACY_MODE_TO_FB) &&
57
- ((_b = message.messageStubParameters) === null || _b === void 0 ? void 0 : _b[0])) {
50
+ if ((message.messageStubType === WAMessageStubType.BIZ_PRIVACY_MODE_TO_BSP ||
51
+ message.messageStubType === WAMessageStubType.BIZ_PRIVACY_MODE_TO_FB) &&
52
+ message.messageStubParameters?.[0]) {
58
53
  contacts.push({
59
54
  id: message.key.participant || message.key.remoteJid,
60
- verifiedName: (_c = message.messageStubParameters) === null || _c === void 0 ? void 0 : _c[0]
55
+ verifiedName: message.messageStubParameters?.[0]
61
56
  });
62
57
  }
63
58
  }
64
59
  chats.push({ ...chat });
65
60
  }
66
61
  break;
67
- case WAProto_1.proto.HistorySync.HistorySyncType.PUSH_NAME:
62
+ case proto.HistorySync.HistorySyncType.PUSH_NAME:
68
63
  for (const c of item.pushnames) {
69
64
  contacts.push({ id: c.id, notify: c.pushname });
70
65
  }
@@ -78,16 +73,13 @@ const processHistoryMessage = (item) => {
78
73
  progress: item.progress
79
74
  };
80
75
  };
81
- exports.processHistoryMessage = processHistoryMessage;
82
- const downloadAndProcessHistorySyncNotification = async (msg, options) => {
83
- const historyMsg = await (0, exports.downloadHistory)(msg, options);
84
- return (0, exports.processHistoryMessage)(historyMsg);
76
+ export const downloadAndProcessHistorySyncNotification = async (msg, options) => {
77
+ const historyMsg = await downloadHistory(msg, options);
78
+ return processHistoryMessage(historyMsg);
85
79
  };
86
- exports.downloadAndProcessHistorySyncNotification = downloadAndProcessHistorySyncNotification;
87
- const getHistoryMsg = (message) => {
88
- var _a;
89
- const normalizedContent = !!message ? (0, messages_1.normalizeMessageContent)(message) : undefined;
90
- const anyHistoryMsg = (_a = normalizedContent === null || normalizedContent === void 0 ? void 0 : normalizedContent.protocolMessage) === null || _a === void 0 ? void 0 : _a.historySyncNotification;
80
+ export const getHistoryMsg = (message) => {
81
+ const normalizedContent = !!message ? normalizeMessageContent(message) : undefined;
82
+ const anyHistoryMsg = normalizedContent?.protocolMessage?.historySyncNotification;
91
83
  return anyHistoryMsg;
92
84
  };
93
- exports.getHistoryMsg = getHistoryMsg;
85
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
- export * from './generics';
2
- export * from './decode-wa-message';
3
- export * from './messages';
4
- export * from './messages-media';
5
- export * from './validate-connection';
6
- export * from './crypto';
7
- export * from './signal';
8
- export * from './noise-handler';
9
- export * from './history';
10
- export * from './chat-utils';
11
- export * from './lt-hash';
12
- export * from './auth-utils';
13
- export * from './baileys-event-stream';
14
- export * from './use-multi-file-auth-state';
15
- export * from './link-preview';
16
- export * from './event-buffer';
17
- export * from './process-message';
1
+ export * from './generics.js';
2
+ export * from './decode-wa-message.js';
3
+ export * from './messages.js';
4
+ export * from './messages-media.js';
5
+ export * from './validate-connection.js';
6
+ export * from './crypto.js';
7
+ export * from './signal.js';
8
+ export * from './noise-handler.js';
9
+ export * from './history.js';
10
+ export * from './chat-utils.js';
11
+ export * from './lt-hash.js';
12
+ export * from './auth-utils.js';
13
+ export * from './baileys-event-stream.js';
14
+ export * from './use-multi-file-auth-state.js';
15
+ export * from './link-preview.js';
16
+ export * from './event-buffer.js';
17
+ export * from './process-message.js';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA"}