@juzi/wechaty-puppet-whatsapp 1.0.0

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 (479) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +83 -0
  3. package/dist/cjs/examples/ding-dong-bot.d.ts +2 -0
  4. package/dist/cjs/examples/ding-dong-bot.d.ts.map +1 -0
  5. package/dist/cjs/examples/ding-dong-bot.js +98 -0
  6. package/dist/cjs/examples/ding-dong-bot.js.map +1 -0
  7. package/dist/cjs/package.json +1 -0
  8. package/dist/cjs/src/config.d.ts +41 -0
  9. package/dist/cjs/src/config.d.ts.map +1 -0
  10. package/dist/cjs/src/config.js +58 -0
  11. package/dist/cjs/src/config.js.map +1 -0
  12. package/dist/cjs/src/data/cache-manager.d.ts +83 -0
  13. package/dist/cjs/src/data/cache-manager.d.ts.map +1 -0
  14. package/dist/cjs/src/data/cache-manager.js +303 -0
  15. package/dist/cjs/src/data/cache-manager.js.map +1 -0
  16. package/dist/cjs/src/data/cache-manager.spec.d.ts +2 -0
  17. package/dist/cjs/src/data/cache-manager.spec.d.ts.map +1 -0
  18. package/dist/cjs/src/data/cache-manager.spec.js +32 -0
  19. package/dist/cjs/src/data/cache-manager.spec.js.map +1 -0
  20. package/dist/cjs/src/exception/error-type.d.ts +80 -0
  21. package/dist/cjs/src/exception/error-type.d.ts.map +1 -0
  22. package/dist/cjs/src/exception/error-type.js +61 -0
  23. package/dist/cjs/src/exception/error-type.js.map +1 -0
  24. package/dist/cjs/src/exception/whatsapp-error.d.ts +4 -0
  25. package/dist/cjs/src/exception/whatsapp-error.d.ts.map +1 -0
  26. package/dist/cjs/src/exception/whatsapp-error.js +14 -0
  27. package/dist/cjs/src/exception/whatsapp-error.js.map +1 -0
  28. package/dist/cjs/src/exception/whatsapp-error.spec.d.ts +3 -0
  29. package/dist/cjs/src/exception/whatsapp-error.spec.d.ts.map +1 -0
  30. package/dist/cjs/src/exception/whatsapp-error.spec.js +27 -0
  31. package/dist/cjs/src/exception/whatsapp-error.spec.js.map +1 -0
  32. package/dist/cjs/src/helper/index.d.ts +2 -0
  33. package/dist/cjs/src/helper/index.d.ts.map +1 -0
  34. package/dist/cjs/src/helper/index.js +3 -0
  35. package/dist/cjs/src/helper/index.js.map +1 -0
  36. package/dist/cjs/src/helper/miscellaneous.d.ts +8 -0
  37. package/dist/cjs/src/helper/miscellaneous.d.ts.map +1 -0
  38. package/dist/cjs/src/helper/miscellaneous.js +48 -0
  39. package/dist/cjs/src/helper/miscellaneous.js.map +1 -0
  40. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.d.ts +4 -0
  41. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.d.ts.map +1 -0
  42. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.js +62 -0
  43. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.js.map +1 -0
  44. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.spec.d.ts +2 -0
  45. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.spec.d.ts.map +1 -0
  46. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.spec.js +86 -0
  47. package/dist/cjs/src/helper/pure-function/contact-raw-payload-parser.spec.js.map +1 -0
  48. package/dist/cjs/src/helper/pure-function/convert-function.d.ts +4 -0
  49. package/dist/cjs/src/helper/pure-function/convert-function.d.ts.map +1 -0
  50. package/dist/cjs/src/helper/pure-function/convert-function.js +17 -0
  51. package/dist/cjs/src/helper/pure-function/convert-function.js.map +1 -0
  52. package/dist/cjs/src/helper/pure-function/index.d.ts +5 -0
  53. package/dist/cjs/src/helper/pure-function/index.d.ts.map +1 -0
  54. package/dist/cjs/src/helper/pure-function/index.js +21 -0
  55. package/dist/cjs/src/helper/pure-function/index.js.map +1 -0
  56. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.d.ts +4 -0
  57. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.d.ts.map +1 -0
  58. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.js +136 -0
  59. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.js.map +1 -0
  60. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.spec.d.ts +2 -0
  61. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.spec.d.ts.map +1 -0
  62. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.spec.js +229 -0
  63. package/dist/cjs/src/helper/pure-function/message-raw-payload-parser.spec.js.map +1 -0
  64. package/dist/cjs/src/helper/pure-function/room-event-generator.d.ts +28 -0
  65. package/dist/cjs/src/helper/pure-function/room-event-generator.d.ts.map +1 -0
  66. package/dist/cjs/src/helper/pure-function/room-event-generator.js +59 -0
  67. package/dist/cjs/src/helper/pure-function/room-event-generator.js.map +1 -0
  68. package/dist/cjs/src/helper/pure-function/room-event-generator.spec.d.ts +2 -0
  69. package/dist/cjs/src/helper/pure-function/room-event-generator.spec.d.ts.map +1 -0
  70. package/dist/cjs/src/helper/pure-function/room-event-generator.spec.js +101 -0
  71. package/dist/cjs/src/helper/pure-function/room-event-generator.spec.js.map +1 -0
  72. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.d.ts +4 -0
  73. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.d.ts.map +1 -0
  74. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.js +24 -0
  75. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.js.map +1 -0
  76. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.spec.d.ts +2 -0
  77. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.spec.d.ts.map +1 -0
  78. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.spec.js +68 -0
  79. package/dist/cjs/src/helper/pure-function/room-raw-payload-parser.spec.js.map +1 -0
  80. package/dist/cjs/src/helper/pure-function/vcard-parser.d.ts +28 -0
  81. package/dist/cjs/src/helper/pure-function/vcard-parser.d.ts.map +1 -0
  82. package/dist/cjs/src/helper/pure-function/vcard-parser.js +109 -0
  83. package/dist/cjs/src/helper/pure-function/vcard-parser.js.map +1 -0
  84. package/dist/cjs/src/helper/schedule/schedule-manager.d.ts +19 -0
  85. package/dist/cjs/src/helper/schedule/schedule-manager.d.ts.map +1 -0
  86. package/dist/cjs/src/helper/schedule/schedule-manager.js +49 -0
  87. package/dist/cjs/src/helper/schedule/schedule-manager.js.map +1 -0
  88. package/dist/cjs/src/helper/schedule/schedule-manager.spec.d.ts +2 -0
  89. package/dist/cjs/src/helper/schedule/schedule-manager.spec.d.ts.map +1 -0
  90. package/dist/cjs/src/helper/schedule/schedule-manager.spec.js +45 -0
  91. package/dist/cjs/src/helper/schedule/schedule-manager.spec.js.map +1 -0
  92. package/dist/cjs/src/manager-event.d.ts +18 -0
  93. package/dist/cjs/src/manager-event.d.ts.map +1 -0
  94. package/dist/cjs/src/manager-event.js +3 -0
  95. package/dist/cjs/src/manager-event.js.map +1 -0
  96. package/dist/cjs/src/manager.d.ts +67 -0
  97. package/dist/cjs/src/manager.d.ts.map +1 -0
  98. package/dist/cjs/src/manager.js +270 -0
  99. package/dist/cjs/src/manager.js.map +1 -0
  100. package/dist/cjs/src/manager.spec.d.ts +3 -0
  101. package/dist/cjs/src/manager.spec.d.ts.map +1 -0
  102. package/dist/cjs/src/manager.spec.js +38 -0
  103. package/dist/cjs/src/manager.spec.js.map +1 -0
  104. package/dist/cjs/src/mod.d.ts +5 -0
  105. package/dist/cjs/src/mod.d.ts.map +1 -0
  106. package/dist/cjs/src/mod.js +9 -0
  107. package/dist/cjs/src/mod.js.map +1 -0
  108. package/dist/cjs/src/package-json.d.ts +6 -0
  109. package/dist/cjs/src/package-json.d.ts.map +1 -0
  110. package/dist/cjs/src/package-json.js +93 -0
  111. package/dist/cjs/src/package-json.js.map +1 -0
  112. package/dist/cjs/src/package-json.spec.d.ts +3 -0
  113. package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
  114. package/dist/cjs/src/package-json.spec.js +10 -0
  115. package/dist/cjs/src/package-json.spec.js.map +1 -0
  116. package/dist/cjs/src/puppet-mixin/contact-self.d.ts +5 -0
  117. package/dist/cjs/src/puppet-mixin/contact-self.d.ts.map +1 -0
  118. package/dist/cjs/src/puppet-mixin/contact-self.js +45 -0
  119. package/dist/cjs/src/puppet-mixin/contact-self.js.map +1 -0
  120. package/dist/cjs/src/puppet-mixin/contact.d.ts +16 -0
  121. package/dist/cjs/src/puppet-mixin/contact.d.ts.map +1 -0
  122. package/dist/cjs/src/puppet-mixin/contact.js +124 -0
  123. package/dist/cjs/src/puppet-mixin/contact.js.map +1 -0
  124. package/dist/cjs/src/puppet-mixin/conversation.d.ts +2 -0
  125. package/dist/cjs/src/puppet-mixin/conversation.d.ts.map +1 -0
  126. package/dist/cjs/src/puppet-mixin/conversation.js +35 -0
  127. package/dist/cjs/src/puppet-mixin/conversation.js.map +1 -0
  128. package/dist/cjs/src/puppet-mixin/friendship.d.ts +12 -0
  129. package/dist/cjs/src/puppet-mixin/friendship.d.ts.map +1 -0
  130. package/dist/cjs/src/puppet-mixin/friendship.js +99 -0
  131. package/dist/cjs/src/puppet-mixin/friendship.js.map +1 -0
  132. package/dist/cjs/src/puppet-mixin/message.d.ts +57 -0
  133. package/dist/cjs/src/puppet-mixin/message.d.ts.map +1 -0
  134. package/dist/cjs/src/puppet-mixin/message.js +327 -0
  135. package/dist/cjs/src/puppet-mixin/message.js.map +1 -0
  136. package/dist/cjs/src/puppet-mixin/room.d.ts +42 -0
  137. package/dist/cjs/src/puppet-mixin/room.d.ts.map +1 -0
  138. package/dist/cjs/src/puppet-mixin/room.js +319 -0
  139. package/dist/cjs/src/puppet-mixin/room.js.map +1 -0
  140. package/dist/cjs/src/puppet-mixin/tag.d.ts +5 -0
  141. package/dist/cjs/src/puppet-mixin/tag.d.ts.map +1 -0
  142. package/dist/cjs/src/puppet-mixin/tag.js +50 -0
  143. package/dist/cjs/src/puppet-mixin/tag.js.map +1 -0
  144. package/dist/cjs/src/puppet-whatsapp.d.ts +145 -0
  145. package/dist/cjs/src/puppet-whatsapp.d.ts.map +1 -0
  146. package/dist/cjs/src/puppet-whatsapp.js +309 -0
  147. package/dist/cjs/src/puppet-whatsapp.js.map +1 -0
  148. package/dist/cjs/src/puppet-whatsapp.spec.d.ts +3 -0
  149. package/dist/cjs/src/puppet-whatsapp.spec.d.ts.map +1 -0
  150. package/dist/cjs/src/puppet-whatsapp.spec.js +25 -0
  151. package/dist/cjs/src/puppet-whatsapp.spec.js.map +1 -0
  152. package/dist/cjs/src/request/rate-manager.d.ts +21 -0
  153. package/dist/cjs/src/request/rate-manager.d.ts.map +1 -0
  154. package/dist/cjs/src/request/rate-manager.js +92 -0
  155. package/dist/cjs/src/request/rate-manager.js.map +1 -0
  156. package/dist/cjs/src/request/request-manager.d.ts +54 -0
  157. package/dist/cjs/src/request/request-manager.d.ts.map +1 -0
  158. package/dist/cjs/src/request/request-manager.js +128 -0
  159. package/dist/cjs/src/request/request-manager.js.map +1 -0
  160. package/dist/cjs/src/request/request-pool.d.ts +10 -0
  161. package/dist/cjs/src/request/request-pool.d.ts.map +1 -0
  162. package/dist/cjs/src/request/request-pool.js +47 -0
  163. package/dist/cjs/src/request/request-pool.js.map +1 -0
  164. package/dist/cjs/src/request/request-pool.spec.d.ts +2 -0
  165. package/dist/cjs/src/request/request-pool.spec.d.ts.map +1 -0
  166. package/dist/cjs/src/request/request-pool.spec.js +36 -0
  167. package/dist/cjs/src/request/request-pool.spec.js.map +1 -0
  168. package/dist/cjs/src/schema/event-name.d.ts +9 -0
  169. package/dist/cjs/src/schema/event-name.d.ts.map +1 -0
  170. package/dist/cjs/src/schema/event-name.js +13 -0
  171. package/dist/cjs/src/schema/event-name.js.map +1 -0
  172. package/dist/cjs/src/schema/index.d.ts +2 -0
  173. package/dist/cjs/src/schema/index.d.ts.map +1 -0
  174. package/dist/cjs/src/schema/index.js +18 -0
  175. package/dist/cjs/src/schema/index.js.map +1 -0
  176. package/dist/cjs/src/schema/whatsapp-interface.d.ts +18 -0
  177. package/dist/cjs/src/schema/whatsapp-interface.d.ts.map +1 -0
  178. package/dist/cjs/src/schema/whatsapp-interface.js +26 -0
  179. package/dist/cjs/src/schema/whatsapp-interface.js.map +1 -0
  180. package/dist/cjs/src/schema/whatsapp-type.d.ts +42 -0
  181. package/dist/cjs/src/schema/whatsapp-type.d.ts.map +1 -0
  182. package/dist/cjs/src/schema/whatsapp-type.js +3 -0
  183. package/dist/cjs/src/schema/whatsapp-type.js.map +1 -0
  184. package/dist/cjs/src/whatsapp/event-handler/group-event-handler.d.ts +8 -0
  185. package/dist/cjs/src/whatsapp/event-handler/group-event-handler.d.ts.map +1 -0
  186. package/dist/cjs/src/whatsapp/event-handler/group-event-handler.js +84 -0
  187. package/dist/cjs/src/whatsapp/event-handler/group-event-handler.js.map +1 -0
  188. package/dist/cjs/src/whatsapp/event-handler/login-event-handler.d.ts +24 -0
  189. package/dist/cjs/src/whatsapp/event-handler/login-event-handler.d.ts.map +1 -0
  190. package/dist/cjs/src/whatsapp/event-handler/login-event-handler.js +203 -0
  191. package/dist/cjs/src/whatsapp/event-handler/login-event-handler.js.map +1 -0
  192. package/dist/cjs/src/whatsapp/event-handler/message-event-handler.d.ts +35 -0
  193. package/dist/cjs/src/whatsapp/event-handler/message-event-handler.d.ts.map +1 -0
  194. package/dist/cjs/src/whatsapp/event-handler/message-event-handler.js +203 -0
  195. package/dist/cjs/src/whatsapp/event-handler/message-event-handler.js.map +1 -0
  196. package/dist/cjs/src/whatsapp/whatsapp-base.d.ts +26 -0
  197. package/dist/cjs/src/whatsapp/whatsapp-base.d.ts.map +1 -0
  198. package/dist/cjs/src/whatsapp/whatsapp-base.js +69 -0
  199. package/dist/cjs/src/whatsapp/whatsapp-base.js.map +1 -0
  200. package/dist/cjs/src/whatsapp/whatsapp-manager.d.ts +16 -0
  201. package/dist/cjs/src/whatsapp/whatsapp-manager.d.ts.map +1 -0
  202. package/dist/cjs/src/whatsapp/whatsapp-manager.js +134 -0
  203. package/dist/cjs/src/whatsapp/whatsapp-manager.js.map +1 -0
  204. package/dist/cjs/tests/integration.spec.d.ts +3 -0
  205. package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
  206. package/dist/cjs/tests/integration.spec.js +8 -0
  207. package/dist/cjs/tests/integration.spec.js.map +1 -0
  208. package/dist/cjs/tests/memory-card.spec.d.ts +2 -0
  209. package/dist/cjs/tests/memory-card.spec.d.ts.map +1 -0
  210. package/dist/cjs/tests/memory-card.spec.js +25 -0
  211. package/dist/cjs/tests/memory-card.spec.js.map +1 -0
  212. package/dist/cjs/tests/qrcode.spec.d.ts +2 -0
  213. package/dist/cjs/tests/qrcode.spec.d.ts.map +1 -0
  214. package/dist/cjs/tests/qrcode.spec.js +51 -0
  215. package/dist/cjs/tests/qrcode.spec.js.map +1 -0
  216. package/dist/esm/examples/ding-dong-bot.d.ts +2 -0
  217. package/dist/esm/examples/ding-dong-bot.d.ts.map +1 -0
  218. package/dist/esm/examples/ding-dong-bot.js +93 -0
  219. package/dist/esm/examples/ding-dong-bot.js.map +1 -0
  220. package/dist/esm/src/config.d.ts +41 -0
  221. package/dist/esm/src/config.d.ts.map +1 -0
  222. package/dist/esm/src/config.js +50 -0
  223. package/dist/esm/src/config.js.map +1 -0
  224. package/dist/esm/src/data/cache-manager.d.ts +83 -0
  225. package/dist/esm/src/data/cache-manager.d.ts.map +1 -0
  226. package/dist/esm/src/data/cache-manager.js +273 -0
  227. package/dist/esm/src/data/cache-manager.js.map +1 -0
  228. package/dist/esm/src/data/cache-manager.spec.d.ts +2 -0
  229. package/dist/esm/src/data/cache-manager.spec.d.ts.map +1 -0
  230. package/dist/esm/src/data/cache-manager.spec.js +30 -0
  231. package/dist/esm/src/data/cache-manager.spec.js.map +1 -0
  232. package/dist/esm/src/exception/error-type.d.ts +80 -0
  233. package/dist/esm/src/exception/error-type.d.ts.map +1 -0
  234. package/dist/esm/src/exception/error-type.js +58 -0
  235. package/dist/esm/src/exception/error-type.js.map +1 -0
  236. package/dist/esm/src/exception/whatsapp-error.d.ts +4 -0
  237. package/dist/esm/src/exception/whatsapp-error.d.ts.map +1 -0
  238. package/dist/esm/src/exception/whatsapp-error.js +11 -0
  239. package/dist/esm/src/exception/whatsapp-error.js.map +1 -0
  240. package/dist/esm/src/exception/whatsapp-error.spec.d.ts +3 -0
  241. package/dist/esm/src/exception/whatsapp-error.spec.d.ts.map +1 -0
  242. package/dist/esm/src/exception/whatsapp-error.spec.js +22 -0
  243. package/dist/esm/src/exception/whatsapp-error.spec.js.map +1 -0
  244. package/dist/esm/src/helper/index.d.ts +2 -0
  245. package/dist/esm/src/helper/index.d.ts.map +1 -0
  246. package/dist/esm/src/helper/index.js +2 -0
  247. package/dist/esm/src/helper/index.js.map +1 -0
  248. package/dist/esm/src/helper/miscellaneous.d.ts +8 -0
  249. package/dist/esm/src/helper/miscellaneous.d.ts.map +1 -0
  250. package/dist/esm/src/helper/miscellaneous.js +38 -0
  251. package/dist/esm/src/helper/miscellaneous.js.map +1 -0
  252. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.d.ts +4 -0
  253. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.d.ts.map +1 -0
  254. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.js +35 -0
  255. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.js.map +1 -0
  256. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.spec.d.ts +2 -0
  257. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.spec.d.ts.map +1 -0
  258. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.spec.js +61 -0
  259. package/dist/esm/src/helper/pure-function/contact-raw-payload-parser.spec.js.map +1 -0
  260. package/dist/esm/src/helper/pure-function/convert-function.d.ts +4 -0
  261. package/dist/esm/src/helper/pure-function/convert-function.d.ts.map +1 -0
  262. package/dist/esm/src/helper/pure-function/convert-function.js +12 -0
  263. package/dist/esm/src/helper/pure-function/convert-function.js.map +1 -0
  264. package/dist/esm/src/helper/pure-function/index.d.ts +5 -0
  265. package/dist/esm/src/helper/pure-function/index.d.ts.map +1 -0
  266. package/dist/esm/src/helper/pure-function/index.js +5 -0
  267. package/dist/esm/src/helper/pure-function/index.js.map +1 -0
  268. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.d.ts +4 -0
  269. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.d.ts.map +1 -0
  270. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.js +106 -0
  271. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.js.map +1 -0
  272. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.spec.d.ts +2 -0
  273. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.spec.d.ts.map +1 -0
  274. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.spec.js +227 -0
  275. package/dist/esm/src/helper/pure-function/message-raw-payload-parser.spec.js.map +1 -0
  276. package/dist/esm/src/helper/pure-function/room-event-generator.d.ts +28 -0
  277. package/dist/esm/src/helper/pure-function/room-event-generator.d.ts.map +1 -0
  278. package/dist/esm/src/helper/pure-function/room-event-generator.js +53 -0
  279. package/dist/esm/src/helper/pure-function/room-event-generator.js.map +1 -0
  280. package/dist/esm/src/helper/pure-function/room-event-generator.spec.d.ts +2 -0
  281. package/dist/esm/src/helper/pure-function/room-event-generator.spec.d.ts.map +1 -0
  282. package/dist/esm/src/helper/pure-function/room-event-generator.spec.js +99 -0
  283. package/dist/esm/src/helper/pure-function/room-event-generator.spec.js.map +1 -0
  284. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.d.ts +4 -0
  285. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.d.ts.map +1 -0
  286. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.js +17 -0
  287. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.js.map +1 -0
  288. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.spec.d.ts +2 -0
  289. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.spec.d.ts.map +1 -0
  290. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.spec.js +66 -0
  291. package/dist/esm/src/helper/pure-function/room-raw-payload-parser.spec.js.map +1 -0
  292. package/dist/esm/src/helper/pure-function/vcard-parser.d.ts +28 -0
  293. package/dist/esm/src/helper/pure-function/vcard-parser.d.ts.map +1 -0
  294. package/dist/esm/src/helper/pure-function/vcard-parser.js +102 -0
  295. package/dist/esm/src/helper/pure-function/vcard-parser.js.map +1 -0
  296. package/dist/esm/src/helper/schedule/schedule-manager.d.ts +19 -0
  297. package/dist/esm/src/helper/schedule/schedule-manager.d.ts.map +1 -0
  298. package/dist/esm/src/helper/schedule/schedule-manager.js +43 -0
  299. package/dist/esm/src/helper/schedule/schedule-manager.js.map +1 -0
  300. package/dist/esm/src/helper/schedule/schedule-manager.spec.d.ts +2 -0
  301. package/dist/esm/src/helper/schedule/schedule-manager.spec.d.ts.map +1 -0
  302. package/dist/esm/src/helper/schedule/schedule-manager.spec.js +40 -0
  303. package/dist/esm/src/helper/schedule/schedule-manager.spec.js.map +1 -0
  304. package/dist/esm/src/manager-event.d.ts +18 -0
  305. package/dist/esm/src/manager-event.d.ts.map +1 -0
  306. package/dist/esm/src/manager-event.js +2 -0
  307. package/dist/esm/src/manager-event.js.map +1 -0
  308. package/dist/esm/src/manager.d.ts +67 -0
  309. package/dist/esm/src/manager.d.ts.map +1 -0
  310. package/dist/esm/src/manager.js +264 -0
  311. package/dist/esm/src/manager.js.map +1 -0
  312. package/dist/esm/src/manager.spec.d.ts +3 -0
  313. package/dist/esm/src/manager.spec.d.ts.map +1 -0
  314. package/dist/esm/src/manager.spec.js +33 -0
  315. package/dist/esm/src/manager.spec.js.map +1 -0
  316. package/dist/esm/src/mod.d.ts +5 -0
  317. package/dist/esm/src/mod.d.ts.map +1 -0
  318. package/dist/esm/src/mod.js +5 -0
  319. package/dist/esm/src/mod.js.map +1 -0
  320. package/dist/esm/src/package-json.d.ts +6 -0
  321. package/dist/esm/src/package-json.d.ts.map +1 -0
  322. package/dist/esm/src/package-json.js +90 -0
  323. package/dist/esm/src/package-json.js.map +1 -0
  324. package/dist/esm/src/package-json.spec.d.ts +3 -0
  325. package/dist/esm/src/package-json.spec.d.ts.map +1 -0
  326. package/dist/esm/src/package-json.spec.js +8 -0
  327. package/dist/esm/src/package-json.spec.js.map +1 -0
  328. package/dist/esm/src/puppet-mixin/contact-self.d.ts +5 -0
  329. package/dist/esm/src/puppet-mixin/contact-self.d.ts.map +1 -0
  330. package/dist/esm/src/puppet-mixin/contact-self.js +16 -0
  331. package/dist/esm/src/puppet-mixin/contact-self.js.map +1 -0
  332. package/dist/esm/src/puppet-mixin/contact.d.ts +16 -0
  333. package/dist/esm/src/puppet-mixin/contact.d.ts.map +1 -0
  334. package/dist/esm/src/puppet-mixin/contact.js +87 -0
  335. package/dist/esm/src/puppet-mixin/contact.js.map +1 -0
  336. package/dist/esm/src/puppet-mixin/conversation.d.ts +2 -0
  337. package/dist/esm/src/puppet-mixin/conversation.d.ts.map +1 -0
  338. package/dist/esm/src/puppet-mixin/conversation.js +8 -0
  339. package/dist/esm/src/puppet-mixin/conversation.js.map +1 -0
  340. package/dist/esm/src/puppet-mixin/friendship.d.ts +12 -0
  341. package/dist/esm/src/puppet-mixin/friendship.d.ts.map +1 -0
  342. package/dist/esm/src/puppet-mixin/friendship.js +63 -0
  343. package/dist/esm/src/puppet-mixin/friendship.js.map +1 -0
  344. package/dist/esm/src/puppet-mixin/message.d.ts +57 -0
  345. package/dist/esm/src/puppet-mixin/message.d.ts.map +1 -0
  346. package/dist/esm/src/puppet-mixin/message.js +282 -0
  347. package/dist/esm/src/puppet-mixin/message.js.map +1 -0
  348. package/dist/esm/src/puppet-mixin/room.d.ts +42 -0
  349. package/dist/esm/src/puppet-mixin/room.d.ts.map +1 -0
  350. package/dist/esm/src/puppet-mixin/room.js +273 -0
  351. package/dist/esm/src/puppet-mixin/room.js.map +1 -0
  352. package/dist/esm/src/puppet-mixin/tag.d.ts +5 -0
  353. package/dist/esm/src/puppet-mixin/tag.d.ts.map +1 -0
  354. package/dist/esm/src/puppet-mixin/tag.js +20 -0
  355. package/dist/esm/src/puppet-mixin/tag.js.map +1 -0
  356. package/dist/esm/src/puppet-whatsapp.d.ts +145 -0
  357. package/dist/esm/src/puppet-whatsapp.d.ts.map +1 -0
  358. package/dist/esm/src/puppet-whatsapp.js +280 -0
  359. package/dist/esm/src/puppet-whatsapp.js.map +1 -0
  360. package/dist/esm/src/puppet-whatsapp.spec.d.ts +3 -0
  361. package/dist/esm/src/puppet-whatsapp.spec.d.ts.map +1 -0
  362. package/dist/esm/src/puppet-whatsapp.spec.js +23 -0
  363. package/dist/esm/src/puppet-whatsapp.spec.js.map +1 -0
  364. package/dist/esm/src/request/rate-manager.d.ts +21 -0
  365. package/dist/esm/src/request/rate-manager.d.ts.map +1 -0
  366. package/dist/esm/src/request/rate-manager.js +85 -0
  367. package/dist/esm/src/request/rate-manager.js.map +1 -0
  368. package/dist/esm/src/request/request-manager.d.ts +54 -0
  369. package/dist/esm/src/request/request-manager.d.ts.map +1 -0
  370. package/dist/esm/src/request/request-manager.js +124 -0
  371. package/dist/esm/src/request/request-manager.js.map +1 -0
  372. package/dist/esm/src/request/request-pool.d.ts +10 -0
  373. package/dist/esm/src/request/request-pool.d.ts.map +1 -0
  374. package/dist/esm/src/request/request-pool.js +40 -0
  375. package/dist/esm/src/request/request-pool.js.map +1 -0
  376. package/dist/esm/src/request/request-pool.spec.d.ts +2 -0
  377. package/dist/esm/src/request/request-pool.spec.d.ts.map +1 -0
  378. package/dist/esm/src/request/request-pool.spec.js +34 -0
  379. package/dist/esm/src/request/request-pool.spec.js.map +1 -0
  380. package/dist/esm/src/schema/event-name.d.ts +9 -0
  381. package/dist/esm/src/schema/event-name.d.ts.map +1 -0
  382. package/dist/esm/src/schema/event-name.js +10 -0
  383. package/dist/esm/src/schema/event-name.js.map +1 -0
  384. package/dist/esm/src/schema/index.d.ts +2 -0
  385. package/dist/esm/src/schema/index.d.ts.map +1 -0
  386. package/dist/esm/src/schema/index.js +2 -0
  387. package/dist/esm/src/schema/index.js.map +1 -0
  388. package/dist/esm/src/schema/whatsapp-interface.d.ts +18 -0
  389. package/dist/esm/src/schema/whatsapp-interface.d.ts.map +1 -0
  390. package/dist/esm/src/schema/whatsapp-interface.js +20 -0
  391. package/dist/esm/src/schema/whatsapp-interface.js.map +1 -0
  392. package/dist/esm/src/schema/whatsapp-type.d.ts +42 -0
  393. package/dist/esm/src/schema/whatsapp-type.d.ts.map +1 -0
  394. package/dist/esm/src/schema/whatsapp-type.js +2 -0
  395. package/dist/esm/src/schema/whatsapp-type.js.map +1 -0
  396. package/dist/esm/src/whatsapp/event-handler/group-event-handler.d.ts +8 -0
  397. package/dist/esm/src/whatsapp/event-handler/group-event-handler.d.ts.map +1 -0
  398. package/dist/esm/src/whatsapp/event-handler/group-event-handler.js +78 -0
  399. package/dist/esm/src/whatsapp/event-handler/group-event-handler.js.map +1 -0
  400. package/dist/esm/src/whatsapp/event-handler/login-event-handler.d.ts +24 -0
  401. package/dist/esm/src/whatsapp/event-handler/login-event-handler.d.ts.map +1 -0
  402. package/dist/esm/src/whatsapp/event-handler/login-event-handler.js +174 -0
  403. package/dist/esm/src/whatsapp/event-handler/login-event-handler.js.map +1 -0
  404. package/dist/esm/src/whatsapp/event-handler/message-event-handler.d.ts +35 -0
  405. package/dist/esm/src/whatsapp/event-handler/message-event-handler.d.ts.map +1 -0
  406. package/dist/esm/src/whatsapp/event-handler/message-event-handler.js +197 -0
  407. package/dist/esm/src/whatsapp/event-handler/message-event-handler.js.map +1 -0
  408. package/dist/esm/src/whatsapp/whatsapp-base.d.ts +26 -0
  409. package/dist/esm/src/whatsapp/whatsapp-base.d.ts.map +1 -0
  410. package/dist/esm/src/whatsapp/whatsapp-base.js +63 -0
  411. package/dist/esm/src/whatsapp/whatsapp-base.js.map +1 -0
  412. package/dist/esm/src/whatsapp/whatsapp-manager.d.ts +16 -0
  413. package/dist/esm/src/whatsapp/whatsapp-manager.d.ts.map +1 -0
  414. package/dist/esm/src/whatsapp/whatsapp-manager.js +128 -0
  415. package/dist/esm/src/whatsapp/whatsapp-manager.js.map +1 -0
  416. package/dist/esm/tests/integration.spec.d.ts +3 -0
  417. package/dist/esm/tests/integration.spec.d.ts.map +1 -0
  418. package/dist/esm/tests/integration.spec.js +6 -0
  419. package/dist/esm/tests/integration.spec.js.map +1 -0
  420. package/dist/esm/tests/memory-card.spec.d.ts +2 -0
  421. package/dist/esm/tests/memory-card.spec.d.ts.map +1 -0
  422. package/dist/esm/tests/memory-card.spec.js +23 -0
  423. package/dist/esm/tests/memory-card.spec.js.map +1 -0
  424. package/dist/esm/tests/qrcode.spec.d.ts +2 -0
  425. package/dist/esm/tests/qrcode.spec.d.ts.map +1 -0
  426. package/dist/esm/tests/qrcode.spec.js +26 -0
  427. package/dist/esm/tests/qrcode.spec.js.map +1 -0
  428. package/package.json +89 -0
  429. package/src/config.ts +70 -0
  430. package/src/data/cache-manager.spec.ts +33 -0
  431. package/src/data/cache-manager.ts +331 -0
  432. package/src/exception/error-type.ts +59 -0
  433. package/src/exception/whatsapp-error.spec.ts +26 -0
  434. package/src/exception/whatsapp-error.ts +15 -0
  435. package/src/helper/index.ts +3 -0
  436. package/src/helper/miscellaneous.ts +45 -0
  437. package/src/helper/pure-function/contact-raw-payload-parser.spec.ts +67 -0
  438. package/src/helper/pure-function/contact-raw-payload-parser.ts +36 -0
  439. package/src/helper/pure-function/convert-function.ts +24 -0
  440. package/src/helper/pure-function/index.ts +4 -0
  441. package/src/helper/pure-function/message-raw-payload-parser.spec.ts +243 -0
  442. package/src/helper/pure-function/message-raw-payload-parser.ts +117 -0
  443. package/src/helper/pure-function/room-event-generator.spec.ts +120 -0
  444. package/src/helper/pure-function/room-event-generator.ts +63 -0
  445. package/src/helper/pure-function/room-raw-payload-parser.spec.ts +70 -0
  446. package/src/helper/pure-function/room-raw-payload-parser.ts +19 -0
  447. package/src/helper/pure-function/vcard-parser.ts +128 -0
  448. package/src/helper/schedule/schedule-manager.spec.ts +46 -0
  449. package/src/helper/schedule/schedule-manager.ts +52 -0
  450. package/src/manager-event.ts +18 -0
  451. package/src/manager.spec.ts +40 -0
  452. package/src/manager.ts +297 -0
  453. package/src/mod.ts +8 -0
  454. package/src/package-json.spec.ts +10 -0
  455. package/src/package-json.ts +93 -0
  456. package/src/puppet-mixin/contact-self.ts +20 -0
  457. package/src/puppet-mixin/contact.ts +107 -0
  458. package/src/puppet-mixin/conversation.ts +12 -0
  459. package/src/puppet-mixin/friendship.ts +88 -0
  460. package/src/puppet-mixin/message.ts +311 -0
  461. package/src/puppet-mixin/room.ts +334 -0
  462. package/src/puppet-mixin/tag.ts +34 -0
  463. package/src/puppet-whatsapp.spec.ts +30 -0
  464. package/src/puppet-whatsapp.ts +339 -0
  465. package/src/request/rate-manager.ts +118 -0
  466. package/src/request/request-manager.ts +174 -0
  467. package/src/request/request-pool.spec.ts +36 -0
  468. package/src/request/request-pool.ts +45 -0
  469. package/src/schema/event-name.ts +8 -0
  470. package/src/schema/fix-type.d.ts +63 -0
  471. package/src/schema/index.ts +1 -0
  472. package/src/schema/whatsapp-interface.ts +31 -0
  473. package/src/schema/whatsapp-type.ts +79 -0
  474. package/src/typings.d.ts +0 -0
  475. package/src/whatsapp/event-handler/group-event-handler.ts +95 -0
  476. package/src/whatsapp/event-handler/login-event-handler.ts +210 -0
  477. package/src/whatsapp/event-handler/message-event-handler.ts +230 -0
  478. package/src/whatsapp/whatsapp-base.ts +78 -0
  479. package/src/whatsapp/whatsapp-manager.ts +160 -0
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.PuppetWhatsapp = void 0;
30
+ /**
31
+ * Wechaty - https://github.com/chatie/wechaty
32
+ *
33
+ * @copyright 2016-2018 Huan LI <zixia@zixia.net>
34
+ *
35
+ * Licensed under the Apache License, Version 2.0 (the "License");
36
+ * you may not use this file except in compliance with the License.
37
+ * You may obtain a copy of the License at
38
+ *
39
+ * http://www.apache.org/licenses/LICENSE-2.0
40
+ *
41
+ * Unless required by applicable law or agreed to in writing, software
42
+ * distributed under the License is distributed on an "AS IS" BASIS,
43
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
44
+ * See the License for the specific language governing permissions and
45
+ * limitations under the License.
46
+ *
47
+ */
48
+ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
49
+ const wechaty_puppet_1 = require("@juzi/wechaty-puppet");
50
+ const config_js_1 = require("./config.js");
51
+ const manager_js_1 = __importDefault(require("./manager.js"));
52
+ const whatsapp_error_js_1 = __importDefault(require("./exception/whatsapp-error.js"));
53
+ const error_type_js_1 = require("./exception/error-type.js");
54
+ const event_name_js_1 = require("./schema/event-name.js");
55
+ const request_pool_js_1 = require("./request/request-pool.js");
56
+ const contact_self_js_1 = require("./puppet-mixin/contact-self.js");
57
+ const contact_js_1 = require("./puppet-mixin/contact.js");
58
+ const conversation_js_1 = require("./puppet-mixin/conversation.js");
59
+ const friendship_js_1 = require("./puppet-mixin/friendship.js");
60
+ const message_js_1 = require("./puppet-mixin/message.js");
61
+ const room_js_1 = require("./puppet-mixin/room.js");
62
+ const tag_js_1 = require("./puppet-mixin/tag.js");
63
+ const PRE = 'PuppetWhatsapp';
64
+ class PuppetWhatsapp extends PUPPET.Puppet {
65
+ options;
66
+ static VERSION = config_js_1.VERSION;
67
+ manager;
68
+ constructor(options = {}) {
69
+ super(options);
70
+ this.options = options;
71
+ wechaty_puppet_1.log.verbose(PRE, 'constructor()');
72
+ this.manager = new manager_js_1.default(this.options);
73
+ }
74
+ version() {
75
+ return config_js_1.VERSION;
76
+ }
77
+ async onStart() {
78
+ wechaty_puppet_1.log.verbose(PRE, 'onStart()');
79
+ let whatsapp;
80
+ try {
81
+ whatsapp = await this.startManager(this.manager);
82
+ }
83
+ catch (err) {
84
+ wechaty_puppet_1.log.error(PRE, `Can not start whatsapp, error: ${err.message}`);
85
+ throw (0, whatsapp_error_js_1.default)(error_type_js_1.WA_ERROR_TYPE.ERR_INIT, `Can not start whatsapp, error: ${err.message}`);
86
+ }
87
+ /**
88
+ * Huan(202102): Wait for Puppeteer to be inited before resolve start() for robust state management
89
+ */
90
+ const future = new Promise(resolve => {
91
+ function check() {
92
+ if (whatsapp.pupBrowser) {
93
+ resolve();
94
+ }
95
+ else {
96
+ setTimeout(check, 100);
97
+ }
98
+ }
99
+ check();
100
+ });
101
+ return Promise.race([
102
+ future,
103
+ this.state.stable('inactive'),
104
+ ]);
105
+ }
106
+ async startManager(manager) {
107
+ manager.on({
108
+ dirty: this.onDirty.bind(this),
109
+ error: this.onError.bind(this),
110
+ friendship: this.onFriendship.bind(this),
111
+ heartbeat: data => this.emit('heartbeat', {
112
+ data,
113
+ }),
114
+ login: this.onLogin.bind(this),
115
+ logout: this.onLogout.bind(this),
116
+ message: this.onMessage.bind(this),
117
+ ready: this.onReady.bind(this),
118
+ reset: this.onReset.bind(this),
119
+ 'room-invite': this.onRoomInvite.bind(this),
120
+ 'room-join': this.onRoomJoin.bind(this),
121
+ 'room-leave': this.onRoomLeave.bind(this),
122
+ 'room-topic': this.onRoomTopic.bind(this),
123
+ scan: this.onScan.bind(this),
124
+ });
125
+ const memory = this.memory;
126
+ const whatsapp = await this.manager.start(memory);
127
+ return whatsapp;
128
+ }
129
+ async onStop() {
130
+ wechaty_puppet_1.log.verbose(PRE, 'onStop()');
131
+ try {
132
+ await this.stopManager();
133
+ }
134
+ catch (err) {
135
+ wechaty_puppet_1.log.error(PRE, `Can not stop, error: ${err.message}`);
136
+ }
137
+ }
138
+ async stopManager() {
139
+ this.manager.off('*');
140
+ await this.manager.stop();
141
+ }
142
+ /**
143
+ * Event section: onXXX
144
+ */
145
+ async onLogin(wxid) {
146
+ wechaty_puppet_1.log.verbose(PRE, 'onLogin(%s)', wxid);
147
+ if (this.isLoggedIn) {
148
+ wechaty_puppet_1.log.warn(PRE, 'onLogin(%s) already login? NOOP', wxid);
149
+ return;
150
+ }
151
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.LOGIN}, ${wxid}`);
152
+ await super.login(wxid);
153
+ // no need to emit login since super.login will do that
154
+ // this.emit('login', { contactId: wxid })
155
+ }
156
+ async onLogout(wxid, message) {
157
+ wechaty_puppet_1.log.verbose(PRE, 'onLogout(%s, %s)', wxid, message);
158
+ if (!this.isLoggedIn) {
159
+ wechaty_puppet_1.log.warn(PRE, 'onLogout(%s) already logged out?', wxid);
160
+ }
161
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.LOGOUT}, ${wxid}`);
162
+ const requestPool = request_pool_js_1.RequestPool.Instance;
163
+ requestPool.clearPool();
164
+ this.emit('logout', { contactId: wxid, data: message });
165
+ }
166
+ async onMessage(message) {
167
+ wechaty_puppet_1.log.verbose(PRE, 'onMessage(%s)', JSON.stringify(message));
168
+ this.emit('message', message);
169
+ }
170
+ async onScan(payload) {
171
+ wechaty_puppet_1.log.verbose(PRE, 'onScan(%s)', JSON.stringify(payload));
172
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.SCAN}`);
173
+ this.emit('scan', payload);
174
+ }
175
+ async onError(e) {
176
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.ERROR}, ${e}`);
177
+ this.emit('error', {
178
+ data: e,
179
+ });
180
+ }
181
+ async onReset(reason) {
182
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.RESET}, ${reason}`);
183
+ this.emit('reset', { data: reason });
184
+ }
185
+ async onFriendship(payload) {
186
+ const contactId = await this.messageContact(payload.friendshipId);
187
+ // NOTE: this function automatically put non-contact into cache
188
+ await this.contactRawPayload(contactId);
189
+ this.emit('friendship', payload);
190
+ }
191
+ async onRoomJoin(payload) {
192
+ const roomId = payload.roomId;
193
+ await this.dirtyPayload(PUPPET.types.Payload.Room, roomId);
194
+ this.emit('room-join', payload);
195
+ }
196
+ async onRoomLeave(payload) {
197
+ const roomId = payload.roomId;
198
+ await this.dirtyPayload(PUPPET.types.Payload.Room, roomId);
199
+ this.emit('room-leave', payload);
200
+ }
201
+ async onRoomTopic(payload) {
202
+ const roomId = payload.roomId;
203
+ await this.dirtyPayload(PUPPET.types.Payload.Room, roomId);
204
+ this.emit('room-topic', payload);
205
+ }
206
+ async onRoomInvite(payload) {
207
+ this.emit('room-invite', payload);
208
+ }
209
+ async onReady() {
210
+ wechaty_puppet_1.log.verbose(PRE, 'onReady()');
211
+ wechaty_puppet_1.log.info(PRE, `${event_name_js_1.EventName.READY}`);
212
+ this.emit('ready', { data: 'ready' });
213
+ }
214
+ /**
215
+ * Override Methods
216
+ */
217
+ async logout() {
218
+ await super.logout();
219
+ if (!this.isLoggedIn) {
220
+ wechaty_puppet_1.log.verbose(PRE, 'logout() do nothing');
221
+ return;
222
+ }
223
+ return this.manager.logout();
224
+ }
225
+ ding(data) {
226
+ wechaty_puppet_1.log.silly(PRE, 'ding(%s)', data || '');
227
+ setTimeout(() => this.emit('dong', { data: data || '' }), 1000);
228
+ }
229
+ /**
230
+ * ContactSelf
231
+ */
232
+ contactSelfQRCode = contact_self_js_1.contactSelfQRCode;
233
+ contactSelfName = contact_self_js_1.contactSelfName;
234
+ contactSelfSignature = contact_self_js_1.contactSelfSignature;
235
+ /**
236
+ * Contact
237
+ */
238
+ contactAlias = contact_js_1.contactAlias;
239
+ contactPhone = contact_js_1.contactPhone;
240
+ contactCorporationRemark = contact_js_1.contactCorporationRemark;
241
+ contactDescription = contact_js_1.contactDescription;
242
+ contactList = contact_js_1.contactList;
243
+ contactAvatar = contact_js_1.contactAvatar;
244
+ contactRawPayloadParser = contact_js_1.contactRawPayloadParser;
245
+ contactRawPayload = contact_js_1.contactRawPayload;
246
+ /**
247
+ * Conversation
248
+ */
249
+ conversationReadMark = conversation_js_1.conversationReadMark;
250
+ /**
251
+ * Message
252
+ */
253
+ // FIXME: need to implement in wechaty-puppet
254
+ messagePost = message_js_1.messagePost;
255
+ messageContact = message_js_1.messageContact;
256
+ messageImage = message_js_1.messageImage;
257
+ messageRecall = message_js_1.messageRecall;
258
+ messageFile = message_js_1.messageFile;
259
+ messageUrl = message_js_1.messageUrl;
260
+ messageMiniProgram = message_js_1.messageMiniProgram;
261
+ messageSendText = message_js_1.messageSendText;
262
+ messageSendFile = message_js_1.messageSendFile;
263
+ messageSendContact = message_js_1.messageSendContact;
264
+ messageSendUrl = message_js_1.messageSendUrl;
265
+ messageSendMiniProgram = message_js_1.messageSendMiniProgram;
266
+ messageForward = message_js_1.messageForward;
267
+ messageRawPayloadParser = message_js_1.messageRawPayloadParser;
268
+ messageRawPayload = message_js_1.messageRawPayload;
269
+ /**
270
+ * Room
271
+ */
272
+ roomRawPayloadParser = room_js_1.roomRawPayloadParser;
273
+ roomRawPayload = room_js_1.roomRawPayload;
274
+ roomList = room_js_1.roomList;
275
+ roomDel = room_js_1.roomDel;
276
+ roomAvatar = room_js_1.roomAvatar;
277
+ roomAdd = room_js_1.roomAdd;
278
+ roomTopic = room_js_1.roomTopic;
279
+ roomCreate = room_js_1.roomCreate;
280
+ roomQuit = room_js_1.roomQuit;
281
+ roomQRCode = room_js_1.roomQRCode;
282
+ roomMemberList = room_js_1.roomMemberList;
283
+ roomMemberRawPayload = room_js_1.roomMemberRawPayload;
284
+ roomMemberRawPayloadParser = room_js_1.roomMemberRawPayloadParser;
285
+ roomAnnounce = room_js_1.roomAnnounce;
286
+ roomInvitationAccept = room_js_1.roomInvitationAccept;
287
+ roomInvitationRawPayload = room_js_1.roomInvitationRawPayload;
288
+ roomInvitationRawPayloadParser = room_js_1.roomInvitationRawPayloadParser;
289
+ /**
290
+ * Friendship
291
+ */
292
+ friendshipRawPayload = friendship_js_1.friendshipRawPayload;
293
+ friendshipRawPayloadParser = friendship_js_1.friendshipRawPayloadParser;
294
+ friendshipSearchPhone = friendship_js_1.friendshipSearchPhone;
295
+ friendshipSearchWeixin = friendship_js_1.friendshipSearchWeixin;
296
+ friendshipSearchHandle = friendship_js_1.friendshipSearchHandle;
297
+ friendshipAdd = friendship_js_1.friendshipAdd;
298
+ friendshipAccept = friendship_js_1.friendshipAccept;
299
+ /**
300
+ * Tag
301
+ */
302
+ tagContactAdd = tag_js_1.tagContactAdd;
303
+ tagContactRemove = tag_js_1.tagContactRemove;
304
+ tagContactDelete = tag_js_1.tagContactDelete;
305
+ tagContactList = tag_js_1.tagContactList;
306
+ }
307
+ exports.PuppetWhatsapp = PuppetWhatsapp;
308
+ exports.default = PuppetWhatsapp;
309
+ //# sourceMappingURL=puppet-whatsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppet-whatsapp.js","sourceRoot":"","sources":["../../../src/puppet-whatsapp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=puppet-whatsapp.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppet-whatsapp.spec.d.ts","sourceRoot":"","sources":["../../../src/puppet-whatsapp.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tstest_1 = require("tstest");
5
+ const puppet_whatsapp_js_1 = require("./puppet-whatsapp.js");
6
+ class PuppetWhatsAppTest extends puppet_whatsapp_js_1.PuppetWhatsapp {
7
+ }
8
+ (0, tstest_1.test)('PuppetWhatsapp perfect restart testing', async (t) => {
9
+ const puppet = new PuppetWhatsAppTest();
10
+ try {
11
+ for (let i = 0; i < 3; i++) {
12
+ await puppet.start();
13
+ t.ok(puppet.state.active(), 'should be turned active after start()');
14
+ await puppet.stop();
15
+ t.ok(puppet.state.inactive(), 'should be turned inactive after stop()');
16
+ t.pass('start/stop-ed at #' + i);
17
+ }
18
+ t.pass('PuppetWhatsapp() perfect restart pass.');
19
+ }
20
+ catch (e) {
21
+ console.error(e);
22
+ t.fail(e);
23
+ }
24
+ });
25
+ //# sourceMappingURL=puppet-whatsapp.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppet-whatsapp.spec.js","sourceRoot":"","sources":["../../../src/puppet-whatsapp.spec.ts"],"names":[],"mappings":";;;AAEA,mCAA6B;AAE7B,6DAAqD;AAErD,MAAM,kBAAmB,SAAQ,mCAAc;CAC9C;AAED,IAAA,aAAI,EAAC,wCAAwC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAA;IACvC,IAAI;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,uCAAuC,CAAC,CAAA;YAEpE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,wCAAwC,CAAC,CAAA;YAEvE,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA;SACjC;QAED,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;KAEjD;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAA;KACjB;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ export interface RateOptions {
4
+ queueId?: string;
5
+ delayBefore?: number;
6
+ delayAfter?: number;
7
+ uniqueKey?: string;
8
+ }
9
+ export declare class RateManager extends EventEmitter {
10
+ private counter;
11
+ emit(event: 'error', error: string): boolean;
12
+ emit(event: never, ...args: never[]): never;
13
+ on(event: 'error', listener: (error: string) => void): this;
14
+ on(event: never, listener: never): never;
15
+ private functionQueueMap;
16
+ private runningMap;
17
+ getQueueLength(queueId: string): number;
18
+ exec<T>(func: () => T, options?: RateOptions): Promise<T>;
19
+ private execNext;
20
+ }
21
+ //# sourceMappingURL=rate-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-manager.d.ts","sourceRoot":"","sources":["../../../../src/request/rate-manager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAerC,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,WAAY,SAAQ,YAAY;IAE3C,OAAO,CAAC,OAAO,CAAI;IAEH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAC5C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK;IAK3C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAC3D,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK;IAMxD,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,UAAU,CAAgC;IAE3C,cAAc,CAAE,OAAO,EAAE,MAAM;IAOzB,IAAI,CAAC,CAAC,EAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,WAAgB;YAyBhD,QAAQ;CAuCvB"}
@@ -0,0 +1,92 @@
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.RateManager = void 0;
7
+ const events_1 = require("events");
8
+ const config_js_1 = require("../config.js");
9
+ const error_type_js_1 = require("../exception/error-type.js");
10
+ const whatsapp_error_js_1 = __importDefault(require("../exception/whatsapp-error.js"));
11
+ const miscellaneous_js_1 = require("../helper/miscellaneous.js");
12
+ const MAX_QUEUE_SIZE = 5000;
13
+ class RateManager extends events_1.EventEmitter {
14
+ counter = 0;
15
+ emit(event, ...args) {
16
+ return super.emit(event, ...args);
17
+ }
18
+ on(event, listener) {
19
+ super.on(event, listener);
20
+ return this;
21
+ }
22
+ functionQueueMap = {};
23
+ runningMap = {};
24
+ getQueueLength(queueId) {
25
+ if (!this.functionQueueMap[queueId]) {
26
+ return 0;
27
+ }
28
+ return this.functionQueueMap[queueId].length;
29
+ }
30
+ async exec(func, options = {}) {
31
+ const queueId = options.queueId || 'default';
32
+ const { delayAfter, delayBefore, uniqueKey } = options;
33
+ if (!this.functionQueueMap[queueId]) {
34
+ this.functionQueueMap[queueId] = [];
35
+ }
36
+ if (this.functionQueueMap[queueId].length > MAX_QUEUE_SIZE) {
37
+ if (this.counter % MAX_QUEUE_SIZE === 0) {
38
+ config_js_1.log.error(`EXCEED_QUEUE_SIZE: Max queue size for id: ${queueId} reached: ${this.functionQueueMap[queueId].length} > ${MAX_QUEUE_SIZE}(max queue size). Drop these tasks.`);
39
+ this.counter = 0;
40
+ }
41
+ this.counter++;
42
+ }
43
+ return new Promise((resolve, reject) => {
44
+ this.functionQueueMap[queueId].push({ delayAfter, delayBefore, func, reject, resolve, uniqueKey });
45
+ if (!this.runningMap[queueId]) {
46
+ this.runningMap[queueId] = true;
47
+ void this.execNext(queueId);
48
+ }
49
+ });
50
+ }
51
+ async execNext(queueId) {
52
+ const queue = this.functionQueueMap[queueId];
53
+ if (!queue) {
54
+ return;
55
+ }
56
+ const funcObj = queue.shift();
57
+ if (!funcObj) {
58
+ throw (0, whatsapp_error_js_1.default)(error_type_js_1.WA_ERROR_TYPE.ERR_RATE_FUNCTION_NOT_FOUND, `can not get funcObj from queue with id: ${queueId}.`);
59
+ }
60
+ const { delayAfter, delayBefore, func, resolve, reject, uniqueKey } = funcObj;
61
+ await (0, miscellaneous_js_1.sleep)(delayBefore);
62
+ try {
63
+ const result = await func();
64
+ resolve(result);
65
+ /**
66
+ * If uniqueKey is given, will resolve functions with same key in the queue
67
+ */
68
+ if (uniqueKey) {
69
+ const sameFuncIndexes = queue.map((f, index) => ({ func: f, index }))
70
+ .filter(o => o.func.uniqueKey === uniqueKey)
71
+ .map(o => o.index)
72
+ .sort((a, b) => b - a);
73
+ for (const index of sameFuncIndexes) {
74
+ const [sameFunc] = queue.splice(index, 1);
75
+ sameFunc.resolve(result);
76
+ }
77
+ }
78
+ }
79
+ catch (e) {
80
+ reject(e);
81
+ }
82
+ await (0, miscellaneous_js_1.sleep)(delayAfter);
83
+ if (queue.length > 0) {
84
+ await this.execNext(queueId);
85
+ }
86
+ else {
87
+ delete this.runningMap[queueId];
88
+ }
89
+ }
90
+ }
91
+ exports.RateManager = RateManager;
92
+ //# sourceMappingURL=rate-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-manager.js","sourceRoot":"","sources":["../../../../src/request/rate-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { WhatsAppClientType, WhatsAppContact, InviteV4Data, MessageContent, MessageSendOptions, CreateGroupResult } from '../schema/whatsapp-type.js';
2
+ export declare class RequestManager {
3
+ private whatsapp;
4
+ private rateManager;
5
+ constructor(whatsapp: WhatsAppClientType);
6
+ logout(): Promise<void>;
7
+ acceptPrivateRoomInvite(invitation: InviteV4Data): Promise<{
8
+ status: number;
9
+ }>;
10
+ acceptRoomInvite(inviteCode: string): Promise<string>;
11
+ archiveChat(chatId: string): Promise<boolean>;
12
+ unarchiveChat(chatId: string): Promise<boolean>;
13
+ createRoom(name: string, participants: WhatsAppContact[] | string[]): Promise<CreateGroupResult>;
14
+ destroy(): Promise<void>;
15
+ getBLockedContacts(): Promise<WhatsAppContact[]>;
16
+ getChatById(chatId: string): Promise<import("@juzi/whatsapp-web.js").Chat>;
17
+ getChatLabels(chatId: string): Promise<import("@juzi/whatsapp-web.js").Label[]>;
18
+ getChats(): Promise<import("@juzi/whatsapp-web.js").Chat[]>;
19
+ getChatsByLabelId(labelId: string): Promise<import("@juzi/whatsapp-web.js").Chat[]>;
20
+ getContactById(contactId: string): Promise<WhatsAppContact>;
21
+ getContacts(): Promise<WhatsAppContact[]>;
22
+ getCountryCode(whatsappId: string): Promise<string>;
23
+ getFormattedNumber(whatsappId: string): Promise<string>;
24
+ getInviteInfo(inviteId: string): Promise<object>;
25
+ getLabelById(labelId: string): Promise<import("@juzi/whatsapp-web.js").Label>;
26
+ getLabels(): Promise<import("@juzi/whatsapp-web.js").Label[]>;
27
+ getWhatsappIdByNumber(number: string): Promise<import("@juzi/whatsapp-web.js").ContactId | null>;
28
+ getAvatarUrl(contactId: string): Promise<string>;
29
+ getState(): Promise<import("@juzi/whatsapp-web.js").WAState>;
30
+ getWhatsAppVersion(): Promise<string>;
31
+ init(): Promise<void>;
32
+ isWhatsappUser(contactId: string): Promise<boolean>;
33
+ markChatUnread(chatId: string): Promise<void>;
34
+ muteChat(chatId: string): Promise<void>;
35
+ unmuteChat(chatId: string): Promise<void>;
36
+ pinChat(chatId: string): Promise<boolean>;
37
+ unpinChat(chatId: string): Promise<boolean>;
38
+ resetConnection(): Promise<void>;
39
+ searchMessage(query: string, options?: {
40
+ chatId?: string;
41
+ page?: number;
42
+ limit?: number;
43
+ }): Promise<import("@juzi/whatsapp-web.js").Message[]>;
44
+ sendMessage(chatId: string, content: MessageContent, options?: MessageSendOptions): Promise<Promise<import("@juzi/whatsapp-web.js").Message>>;
45
+ sendPresenceAvailable(): Promise<void>;
46
+ markChatRead(chatId: string): Promise<boolean>;
47
+ setNickname(name: string): Promise<boolean>;
48
+ setStatusMessage(status: string): Promise<void>;
49
+ }
50
+ export declare type RequestManagerAPIs = Pick<RequestManager, {
51
+ readonly [K in keyof RequestManager]: RequestManager[K] extends Function ? K : never;
52
+ }[keyof RequestManager]>;
53
+ export declare const requestManagerKeys: string[];
54
+ //# sourceMappingURL=request-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-manager.d.ts","sourceRoot":"","sources":["../../../../src/request/request-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,4BAA4B,CAAA;AAGnC,qBAAa,cAAc;IAEzB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,WAAW,CAAa;gBAEnB,QAAQ,EAAE,kBAAkB;IAKlC,MAAM;IAIN,uBAAuB,CAAE,UAAU,EAAE,YAAY;;;IAIjD,gBAAgB,CAAE,UAAU,EAAE,MAAM;IAIpC,WAAW,CAAE,MAAM,EAAE,MAAM;IAI3B,aAAa,CAAE,MAAM,EAAE,MAAM;IAI7B,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIjG,OAAO;IAIP,kBAAkB;IAIlB,WAAW,CAAE,MAAM,EAAE,MAAM;IAI3B,aAAa,CAAE,MAAM,EAAE,MAAM;IAI7B,QAAQ;IAIR,iBAAiB,CAAE,OAAO,EAAE,MAAM;IAIlC,cAAc,CAAE,SAAS,EAAE,MAAM;IAIjC,WAAW;IAIX,cAAc,CAAE,UAAU,EAAE,MAAM;IAIlC,kBAAkB,CAAE,UAAU,EAAE,MAAM;IAItC,aAAa,CAAE,QAAQ,EAAE,MAAM;IAI/B,YAAY,CAAE,OAAO,EAAE,MAAM;IAI7B,SAAS;IAIT,qBAAqB,CAAE,MAAM,EAAE,MAAM;IAIrC,YAAY,CAAE,SAAS,EAAE,MAAM;IAI/B,QAAQ;IAIR,kBAAkB;IAIlB,IAAI;IAIJ,cAAc,CAAE,SAAS,EAAE,MAAM;IAIjC,cAAc,CAAE,MAAM,EAAE,MAAM;IAI9B,QAAQ,CAAE,MAAM,EAAE,MAAM;IAIxB,UAAU,CAAE,MAAM,EAAE,MAAM;IAI1B,OAAO,CAAE,MAAM,EAAE,MAAM;IAIvB,SAAS,CAAE,MAAM,EAAE,MAAM;IAIzB,eAAe;IAIf,aAAa,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAI1F,WAAW,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAMlF,qBAAqB;IAIrB,YAAY,CAAE,MAAM,EAAE,MAAM;IAI5B,WAAW,CAAE,IAAI,EAAE,MAAM;IAIzB,gBAAgB,CAAE,MAAM,EAAE,MAAM;CAIxC;AAED,oBAAY,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE;IAAC,QAAQ,EAAE,CAAC,IAAI,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,CAAA;AACnK,eAAO,MAAM,kBAAkB,UAAuD,CAAA"}