@juzi/wechaty 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 (1026) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +565 -0
  3. package/bin/clean-json.js +15 -0
  4. package/bin/cli.ts +36 -0
  5. package/bin/doctor.ts +55 -0
  6. package/bin/entrypoint.sh +338 -0
  7. package/bin/io-client.ts +95 -0
  8. package/bin/providers-trends.ts +13 -0
  9. package/bin/puppet-install.ts +69 -0
  10. package/bin/version.ts +24 -0
  11. package/dist/cjs/bin/cli.d.ts +14 -0
  12. package/dist/cjs/bin/cli.d.ts.map +1 -0
  13. package/dist/cjs/bin/cli.js +50 -0
  14. package/dist/cjs/bin/cli.js.map +1 -0
  15. package/dist/cjs/bin/doctor.d.ts +22 -0
  16. package/dist/cjs/bin/doctor.d.ts.map +1 -0
  17. package/dist/cjs/bin/doctor.js +55 -0
  18. package/dist/cjs/bin/doctor.js.map +1 -0
  19. package/dist/cjs/bin/io-client.d.ts +22 -0
  20. package/dist/cjs/bin/io-client.d.ts.map +1 -0
  21. package/dist/cjs/bin/io-client.js +74 -0
  22. package/dist/cjs/bin/io-client.js.map +1 -0
  23. package/dist/cjs/bin/providers-trends.d.ts +3 -0
  24. package/dist/cjs/bin/providers-trends.d.ts.map +1 -0
  25. package/dist/cjs/bin/providers-trends.js +14 -0
  26. package/dist/cjs/bin/providers-trends.js.map +1 -0
  27. package/dist/cjs/bin/puppet-install.d.ts +3 -0
  28. package/dist/cjs/bin/puppet-install.d.ts.map +1 -0
  29. package/dist/cjs/bin/puppet-install.js +60 -0
  30. package/dist/cjs/bin/puppet-install.js.map +1 -0
  31. package/dist/cjs/bin/version.d.ts +22 -0
  32. package/dist/cjs/bin/version.d.ts.map +1 -0
  33. package/dist/cjs/bin/version.js +25 -0
  34. package/dist/cjs/bin/version.js.map +1 -0
  35. package/dist/cjs/examples/ding-dong-bot.d.ts +2 -0
  36. package/dist/cjs/examples/ding-dong-bot.d.ts.map +1 -0
  37. package/dist/cjs/examples/ding-dong-bot.js +183 -0
  38. package/dist/cjs/examples/ding-dong-bot.js.map +1 -0
  39. package/dist/cjs/examples/video-post.d.ts +2 -0
  40. package/dist/cjs/examples/video-post.d.ts.map +1 -0
  41. package/dist/cjs/examples/video-post.js +75 -0
  42. package/dist/cjs/examples/video-post.js.map +1 -0
  43. package/dist/cjs/package.json +3 -0
  44. package/dist/cjs/scripts/retry-unit-tests.d.ts +3 -0
  45. package/dist/cjs/scripts/retry-unit-tests.d.ts.map +1 -0
  46. package/dist/cjs/scripts/retry-unit-tests.js +58 -0
  47. package/dist/cjs/scripts/retry-unit-tests.js.map +1 -0
  48. package/dist/cjs/scripts/sort-contributiveness.d.ts +3 -0
  49. package/dist/cjs/scripts/sort-contributiveness.d.ts.map +1 -0
  50. package/dist/cjs/scripts/sort-contributiveness.js +122 -0
  51. package/dist/cjs/scripts/sort-contributiveness.js.map +1 -0
  52. package/dist/cjs/scripts/update-license.d.ts +3 -0
  53. package/dist/cjs/scripts/update-license.d.ts.map +1 -0
  54. package/dist/cjs/scripts/update-license.js +163 -0
  55. package/dist/cjs/scripts/update-license.js.map +1 -0
  56. package/dist/cjs/src/cli/friday.d.ts +7 -0
  57. package/dist/cjs/src/cli/friday.d.ts.map +1 -0
  58. package/dist/cjs/src/cli/friday.js +18 -0
  59. package/dist/cjs/src/cli/friday.js.map +1 -0
  60. package/dist/cjs/src/cli/gateway.d.ts +17 -0
  61. package/dist/cjs/src/cli/gateway.d.ts.map +1 -0
  62. package/dist/cjs/src/cli/gateway.js +154 -0
  63. package/dist/cjs/src/cli/gateway.js.map +1 -0
  64. package/dist/cjs/src/cli/mod.d.ts +6 -0
  65. package/dist/cjs/src/cli/mod.d.ts.map +1 -0
  66. package/dist/cjs/src/cli/mod.js +14 -0
  67. package/dist/cjs/src/cli/mod.js.map +1 -0
  68. package/dist/cjs/src/cli/provider.d.ts +7 -0
  69. package/dist/cjs/src/cli/provider.d.ts.map +1 -0
  70. package/dist/cjs/src/cli/provider.js +18 -0
  71. package/dist/cjs/src/cli/provider.js.map +1 -0
  72. package/dist/cjs/src/cli/service.d.ts +7 -0
  73. package/dist/cjs/src/cli/service.d.ts.map +1 -0
  74. package/dist/cjs/src/cli/service.js +18 -0
  75. package/dist/cjs/src/cli/service.js.map +1 -0
  76. package/dist/cjs/src/cli/token.d.ts +39 -0
  77. package/dist/cjs/src/cli/token.d.ts.map +1 -0
  78. package/dist/cjs/src/cli/token.js +15 -0
  79. package/dist/cjs/src/cli/token.js.map +1 -0
  80. package/dist/cjs/src/config.d.ts +61 -0
  81. package/dist/cjs/src/config.d.ts.map +1 -0
  82. package/dist/cjs/src/config.js +110 -0
  83. package/dist/cjs/src/config.js.map +1 -0
  84. package/dist/cjs/src/config.spec.d.ts +22 -0
  85. package/dist/cjs/src/config.spec.d.ts.map +1 -0
  86. package/dist/cjs/src/config.spec.js +84 -0
  87. package/dist/cjs/src/config.spec.js.map +1 -0
  88. package/dist/cjs/src/doctor.d.ts +9 -0
  89. package/dist/cjs/src/doctor.d.ts.map +1 -0
  90. package/dist/cjs/src/doctor.js +82 -0
  91. package/dist/cjs/src/doctor.js.map +1 -0
  92. package/dist/cjs/src/helper-functions/open-graph.d.ts +22 -0
  93. package/dist/cjs/src/helper-functions/open-graph.d.ts.map +1 -0
  94. package/dist/cjs/src/helper-functions/open-graph.js +43 -0
  95. package/dist/cjs/src/helper-functions/open-graph.js.map +1 -0
  96. package/dist/cjs/src/helper-functions/stringify-filter.d.ts +3 -0
  97. package/dist/cjs/src/helper-functions/stringify-filter.d.ts.map +1 -0
  98. package/dist/cjs/src/helper-functions/stringify-filter.js +12 -0
  99. package/dist/cjs/src/helper-functions/stringify-filter.js.map +1 -0
  100. package/dist/cjs/src/io-client.d.ts +28 -0
  101. package/dist/cjs/src/io-client.d.ts.map +1 -0
  102. package/dist/cjs/src/io-client.js +217 -0
  103. package/dist/cjs/src/io-client.js.map +1 -0
  104. package/dist/cjs/src/io-peer/io-peer.d.ts +12 -0
  105. package/dist/cjs/src/io-peer/io-peer.d.ts.map +1 -0
  106. package/dist/cjs/src/io-peer/io-peer.js +71 -0
  107. package/dist/cjs/src/io-peer/io-peer.js.map +1 -0
  108. package/dist/cjs/src/io-peer/io-peer.spec.d.ts +3 -0
  109. package/dist/cjs/src/io-peer/io-peer.spec.d.ts.map +1 -0
  110. package/dist/cjs/src/io-peer/io-peer.spec.js +61 -0
  111. package/dist/cjs/src/io-peer/io-peer.spec.js.map +1 -0
  112. package/dist/cjs/src/io.d.ts +98 -0
  113. package/dist/cjs/src/io.d.ts.map +1 -0
  114. package/dist/cjs/src/io.js +468 -0
  115. package/dist/cjs/src/io.js.map +1 -0
  116. package/dist/cjs/src/io.spec.d.ts +3 -0
  117. package/dist/cjs/src/io.spec.d.ts.map +1 -0
  118. package/dist/cjs/src/io.spec.js +45 -0
  119. package/dist/cjs/src/io.spec.js.map +1 -0
  120. package/dist/cjs/src/mods/helpers.d.ts +2 -0
  121. package/dist/cjs/src/mods/helpers.d.ts.map +1 -0
  122. package/dist/cjs/src/mods/helpers.js +8 -0
  123. package/dist/cjs/src/mods/helpers.js.map +1 -0
  124. package/dist/cjs/src/mods/impls.d.ts +36 -0
  125. package/dist/cjs/src/mods/impls.d.ts.map +1 -0
  126. package/dist/cjs/src/mods/impls.js +53 -0
  127. package/dist/cjs/src/mods/impls.js.map +1 -0
  128. package/dist/cjs/src/mods/impls.spec.d.ts +3 -0
  129. package/dist/cjs/src/mods/impls.spec.d.ts.map +1 -0
  130. package/dist/cjs/src/mods/impls.spec.js +36 -0
  131. package/dist/cjs/src/mods/impls.spec.js.map +1 -0
  132. package/dist/cjs/src/mods/mod.d.ts +40 -0
  133. package/dist/cjs/src/mods/mod.d.ts.map +1 -0
  134. package/dist/cjs/src/mods/mod.js +67 -0
  135. package/dist/cjs/src/mods/mod.js.map +1 -0
  136. package/dist/cjs/src/mods/mod.spec.d.ts +3 -0
  137. package/dist/cjs/src/mods/mod.spec.d.ts.map +1 -0
  138. package/dist/cjs/src/mods/mod.spec.js +39 -0
  139. package/dist/cjs/src/mods/mod.spec.js.map +1 -0
  140. package/dist/cjs/src/mods/users.d.ts +26 -0
  141. package/dist/cjs/src/mods/users.d.ts.map +1 -0
  142. package/dist/cjs/src/mods/users.js +22 -0
  143. package/dist/cjs/src/mods/users.js.map +1 -0
  144. package/dist/cjs/src/package-json.d.ts +7 -0
  145. package/dist/cjs/src/package-json.d.ts.map +1 -0
  146. package/dist/cjs/src/package-json.js +178 -0
  147. package/dist/cjs/src/package-json.js.map +1 -0
  148. package/dist/cjs/src/package-json.spec.d.ts +3 -0
  149. package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
  150. package/dist/cjs/src/package-json.spec.js +17 -0
  151. package/dist/cjs/src/package-json.spec.js.map +1 -0
  152. package/dist/cjs/src/plugin.d.ts +9 -0
  153. package/dist/cjs/src/plugin.d.ts.map +1 -0
  154. package/dist/cjs/src/plugin.js +8 -0
  155. package/dist/cjs/src/plugin.js.map +1 -0
  156. package/dist/cjs/src/plugin.spec.d.ts +3 -0
  157. package/dist/cjs/src/plugin.spec.d.ts.map +1 -0
  158. package/dist/cjs/src/plugin.spec.js +70 -0
  159. package/dist/cjs/src/plugin.spec.js.map +1 -0
  160. package/dist/cjs/src/puppet-config.d.ts +78 -0
  161. package/dist/cjs/src/puppet-config.d.ts.map +1 -0
  162. package/dist/cjs/src/puppet-config.js +84 -0
  163. package/dist/cjs/src/puppet-config.js.map +1 -0
  164. package/dist/cjs/src/pure-functions/escape-regexp.d.ts +21 -0
  165. package/dist/cjs/src/pure-functions/escape-regexp.d.ts.map +1 -0
  166. package/dist/cjs/src/pure-functions/escape-regexp.js +27 -0
  167. package/dist/cjs/src/pure-functions/escape-regexp.js.map +1 -0
  168. package/dist/cjs/src/pure-functions/guard-qr-code-value.d.ts +2 -0
  169. package/dist/cjs/src/pure-functions/guard-qr-code-value.d.ts.map +1 -0
  170. package/dist/cjs/src/pure-functions/guard-qr-code-value.js +31 -0
  171. package/dist/cjs/src/pure-functions/guard-qr-code-value.js.map +1 -0
  172. package/dist/cjs/src/pure-functions/is-template-string-array.d.ts +3 -0
  173. package/dist/cjs/src/pure-functions/is-template-string-array.d.ts.map +1 -0
  174. package/dist/cjs/src/pure-functions/is-template-string-array.js +8 -0
  175. package/dist/cjs/src/pure-functions/is-template-string-array.js.map +1 -0
  176. package/dist/cjs/src/pure-functions/is-template-string-array.spec.d.ts +3 -0
  177. package/dist/cjs/src/pure-functions/is-template-string-array.spec.d.ts.map +1 -0
  178. package/dist/cjs/src/pure-functions/is-template-string-array.spec.js +40 -0
  179. package/dist/cjs/src/pure-functions/is-template-string-array.spec.js.map +1 -0
  180. package/dist/cjs/src/pure-functions/mod.d.ts +22 -0
  181. package/dist/cjs/src/pure-functions/mod.d.ts.map +1 -0
  182. package/dist/cjs/src/pure-functions/mod.js +32 -0
  183. package/dist/cjs/src/pure-functions/mod.js.map +1 -0
  184. package/dist/cjs/src/pure-functions/retry-policy.d.ts +10 -0
  185. package/dist/cjs/src/pure-functions/retry-policy.d.ts.map +1 -0
  186. package/dist/cjs/src/pure-functions/retry-policy.js +32 -0
  187. package/dist/cjs/src/pure-functions/retry-policy.js.map +1 -0
  188. package/dist/cjs/src/pure-functions/timestamp-to-date.d.ts +21 -0
  189. package/dist/cjs/src/pure-functions/timestamp-to-date.d.ts.map +1 -0
  190. package/dist/cjs/src/pure-functions/timestamp-to-date.js +35 -0
  191. package/dist/cjs/src/pure-functions/timestamp-to-date.js.map +1 -0
  192. package/dist/cjs/src/pure-functions/timestamp-to-date.spec.d.ts +3 -0
  193. package/dist/cjs/src/pure-functions/timestamp-to-date.spec.d.ts.map +1 -0
  194. package/dist/cjs/src/pure-functions/timestamp-to-date.spec.js +42 -0
  195. package/dist/cjs/src/pure-functions/timestamp-to-date.spec.js.map +1 -0
  196. package/dist/cjs/src/pure-functions/xml.d.ts +33 -0
  197. package/dist/cjs/src/pure-functions/xml.d.ts.map +1 -0
  198. package/dist/cjs/src/pure-functions/xml.js +83 -0
  199. package/dist/cjs/src/pure-functions/xml.js.map +1 -0
  200. package/dist/cjs/src/pure-functions/xml.spec.d.ts +3 -0
  201. package/dist/cjs/src/pure-functions/xml.spec.d.ts.map +1 -0
  202. package/dist/cjs/src/pure-functions/xml.spec.js +97 -0
  203. package/dist/cjs/src/pure-functions/xml.spec.js.map +1 -0
  204. package/dist/cjs/src/raven.d.ts +4 -0
  205. package/dist/cjs/src/raven.d.ts.map +1 -0
  206. package/dist/cjs/src/raven.js +83 -0
  207. package/dist/cjs/src/raven.js.map +1 -0
  208. package/dist/cjs/src/sayable/deliver-sayable.d.ts +8 -0
  209. package/dist/cjs/src/sayable/deliver-sayable.d.ts.map +1 -0
  210. package/dist/cjs/src/sayable/deliver-sayable.js +75 -0
  211. package/dist/cjs/src/sayable/deliver-sayable.js.map +1 -0
  212. package/dist/cjs/src/sayable/message-to-sayable.d.ts +5 -0
  213. package/dist/cjs/src/sayable/message-to-sayable.d.ts.map +1 -0
  214. package/dist/cjs/src/sayable/message-to-sayable.js +57 -0
  215. package/dist/cjs/src/sayable/message-to-sayable.js.map +1 -0
  216. package/dist/cjs/src/sayable/mod.d.ts +8 -0
  217. package/dist/cjs/src/sayable/mod.d.ts.map +1 -0
  218. package/dist/cjs/src/sayable/mod.js +12 -0
  219. package/dist/cjs/src/sayable/mod.js.map +1 -0
  220. package/dist/cjs/src/sayable/payload-to-sayable.d.ts +6 -0
  221. package/dist/cjs/src/sayable/payload-to-sayable.d.ts.map +1 -0
  222. package/dist/cjs/src/sayable/payload-to-sayable.js +55 -0
  223. package/dist/cjs/src/sayable/payload-to-sayable.js.map +1 -0
  224. package/dist/cjs/src/sayable/sayable-to-payload.d.ts +5 -0
  225. package/dist/cjs/src/sayable/sayable-to-payload.d.ts.map +1 -0
  226. package/dist/cjs/src/sayable/sayable-to-payload.js +73 -0
  227. package/dist/cjs/src/sayable/sayable-to-payload.js.map +1 -0
  228. package/dist/cjs/src/sayable/types.d.ts +30 -0
  229. package/dist/cjs/src/sayable/types.d.ts.map +1 -0
  230. package/dist/cjs/src/sayable/types.js +3 -0
  231. package/dist/cjs/src/sayable/types.js.map +1 -0
  232. package/dist/cjs/src/schemas/acceptable.d.ts +27 -0
  233. package/dist/cjs/src/schemas/acceptable.d.ts.map +1 -0
  234. package/dist/cjs/src/schemas/acceptable.js +3 -0
  235. package/dist/cjs/src/schemas/acceptable.js.map +1 -0
  236. package/dist/cjs/src/schemas/contact-events.d.ts +12 -0
  237. package/dist/cjs/src/schemas/contact-events.d.ts.map +1 -0
  238. package/dist/cjs/src/schemas/contact-events.js +7 -0
  239. package/dist/cjs/src/schemas/contact-events.js.map +1 -0
  240. package/dist/cjs/src/schemas/mod.d.ts +7 -0
  241. package/dist/cjs/src/schemas/mod.d.ts.map +1 -0
  242. package/dist/cjs/src/schemas/mod.js +10 -0
  243. package/dist/cjs/src/schemas/mod.js.map +1 -0
  244. package/dist/cjs/src/schemas/room-events.d.ts +103 -0
  245. package/dist/cjs/src/schemas/room-events.d.ts.map +1 -0
  246. package/dist/cjs/src/schemas/room-events.js +14 -0
  247. package/dist/cjs/src/schemas/room-events.js.map +1 -0
  248. package/dist/cjs/src/schemas/wechaty-events.d.ts +218 -0
  249. package/dist/cjs/src/schemas/wechaty-events.d.ts.map +1 -0
  250. package/dist/cjs/src/schemas/wechaty-events.js +41 -0
  251. package/dist/cjs/src/schemas/wechaty-events.js.map +1 -0
  252. package/dist/cjs/src/schemas/wechaty-options.d.ts +20 -0
  253. package/dist/cjs/src/schemas/wechaty-options.d.ts.map +1 -0
  254. package/dist/cjs/src/schemas/wechaty-options.js +3 -0
  255. package/dist/cjs/src/schemas/wechaty-options.js.map +1 -0
  256. package/dist/cjs/src/user-mixins/mod.d.ts +7 -0
  257. package/dist/cjs/src/user-mixins/mod.d.ts.map +1 -0
  258. package/dist/cjs/src/user-mixins/mod.js +11 -0
  259. package/dist/cjs/src/user-mixins/mod.js.map +1 -0
  260. package/dist/cjs/src/user-mixins/poolify.d.ts +32 -0
  261. package/dist/cjs/src/user-mixins/poolify.d.ts.map +1 -0
  262. package/dist/cjs/src/user-mixins/poolify.js +47 -0
  263. package/dist/cjs/src/user-mixins/poolify.js.map +1 -0
  264. package/dist/cjs/src/user-mixins/poolify.spec.d.ts +3 -0
  265. package/dist/cjs/src/user-mixins/poolify.spec.d.ts.map +1 -0
  266. package/dist/cjs/src/user-mixins/poolify.spec.js +53 -0
  267. package/dist/cjs/src/user-mixins/poolify.spec.js.map +1 -0
  268. package/dist/cjs/src/user-mixins/validation.d.ts +9 -0
  269. package/dist/cjs/src/user-mixins/validation.d.ts.map +1 -0
  270. package/dist/cjs/src/user-mixins/validation.js +29 -0
  271. package/dist/cjs/src/user-mixins/validation.js.map +1 -0
  272. package/dist/cjs/src/user-mixins/validation.spec.d.ts +3 -0
  273. package/dist/cjs/src/user-mixins/validation.spec.d.ts.map +1 -0
  274. package/dist/cjs/src/user-mixins/validation.spec.js +56 -0
  275. package/dist/cjs/src/user-mixins/validation.spec.js.map +1 -0
  276. package/dist/cjs/src/user-mixins/wechatify.d.ts +24 -0
  277. package/dist/cjs/src/user-mixins/wechatify.d.ts.map +1 -0
  278. package/dist/cjs/src/user-mixins/wechatify.js +47 -0
  279. package/dist/cjs/src/user-mixins/wechatify.js.map +1 -0
  280. package/dist/cjs/src/user-mixins/wechatify.spec.d.ts +3 -0
  281. package/dist/cjs/src/user-mixins/wechatify.spec.d.ts.map +1 -0
  282. package/dist/cjs/src/user-mixins/wechatify.spec.js +20 -0
  283. package/dist/cjs/src/user-mixins/wechatify.spec.js.map +1 -0
  284. package/dist/cjs/src/user-modules/contact-self.d.ts +110 -0
  285. package/dist/cjs/src/user-modules/contact-self.d.ts.map +1 -0
  286. package/dist/cjs/src/user-modules/contact-self.js +133 -0
  287. package/dist/cjs/src/user-modules/contact-self.js.map +1 -0
  288. package/dist/cjs/src/user-modules/contact.d.ts +388 -0
  289. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -0
  290. package/dist/cjs/src/user-modules/contact.js +667 -0
  291. package/dist/cjs/src/user-modules/contact.js.map +1 -0
  292. package/dist/cjs/src/user-modules/contact.spec.d.ts +3 -0
  293. package/dist/cjs/src/user-modules/contact.spec.d.ts.map +1 -0
  294. package/dist/cjs/src/user-modules/contact.spec.js +71 -0
  295. package/dist/cjs/src/user-modules/contact.spec.js.map +1 -0
  296. package/dist/cjs/src/user-modules/delay.d.ts +47 -0
  297. package/dist/cjs/src/user-modules/delay.d.ts.map +1 -0
  298. package/dist/cjs/src/user-modules/delay.js +24 -0
  299. package/dist/cjs/src/user-modules/delay.js.map +1 -0
  300. package/dist/cjs/src/user-modules/favorite.d.ts +38 -0
  301. package/dist/cjs/src/user-modules/favorite.d.ts.map +1 -0
  302. package/dist/cjs/src/user-modules/favorite.js +68 -0
  303. package/dist/cjs/src/user-modules/favorite.js.map +1 -0
  304. package/dist/cjs/src/user-modules/friendship.d.ts +244 -0
  305. package/dist/cjs/src/user-modules/friendship.d.ts.map +1 -0
  306. package/dist/cjs/src/user-modules/friendship.js +369 -0
  307. package/dist/cjs/src/user-modules/friendship.js.map +1 -0
  308. package/dist/cjs/src/user-modules/image.d.ts +31 -0
  309. package/dist/cjs/src/user-modules/image.d.ts.map +1 -0
  310. package/dist/cjs/src/user-modules/image.js +81 -0
  311. package/dist/cjs/src/user-modules/image.js.map +1 -0
  312. package/dist/cjs/src/user-modules/location.d.ts +59 -0
  313. package/dist/cjs/src/user-modules/location.d.ts.map +1 -0
  314. package/dist/cjs/src/user-modules/location.js +58 -0
  315. package/dist/cjs/src/user-modules/location.js.map +1 -0
  316. package/dist/cjs/src/user-modules/message.d.ts +459 -0
  317. package/dist/cjs/src/user-modules/message.d.ts.map +1 -0
  318. package/dist/cjs/src/user-modules/message.js +932 -0
  319. package/dist/cjs/src/user-modules/message.js.map +1 -0
  320. package/dist/cjs/src/user-modules/message.spec.d.ts +22 -0
  321. package/dist/cjs/src/user-modules/message.spec.d.ts.map +1 -0
  322. package/dist/cjs/src/user-modules/message.spec.js +125 -0
  323. package/dist/cjs/src/user-modules/message.spec.js.map +1 -0
  324. package/dist/cjs/src/user-modules/mini-program.d.ts +59 -0
  325. package/dist/cjs/src/user-modules/mini-program.d.ts.map +1 -0
  326. package/dist/cjs/src/user-modules/mini-program.js +63 -0
  327. package/dist/cjs/src/user-modules/mini-program.js.map +1 -0
  328. package/dist/cjs/src/user-modules/mod.d.ts +40 -0
  329. package/dist/cjs/src/user-modules/mod.d.ts.map +1 -0
  330. package/dist/cjs/src/user-modules/mod.js +57 -0
  331. package/dist/cjs/src/user-modules/mod.js.map +1 -0
  332. package/dist/cjs/src/user-modules/moment.d.ts +28 -0
  333. package/dist/cjs/src/user-modules/moment.d.ts.map +1 -0
  334. package/dist/cjs/src/user-modules/moment.js +46 -0
  335. package/dist/cjs/src/user-modules/moment.js.map +1 -0
  336. package/dist/cjs/src/user-modules/money.d.ts +44 -0
  337. package/dist/cjs/src/user-modules/money.d.ts.map +1 -0
  338. package/dist/cjs/src/user-modules/money.js +14 -0
  339. package/dist/cjs/src/user-modules/money.js.map +1 -0
  340. package/dist/cjs/src/user-modules/post.d.ts +114 -0
  341. package/dist/cjs/src/user-modules/post.d.ts.map +1 -0
  342. package/dist/cjs/src/user-modules/post.js +372 -0
  343. package/dist/cjs/src/user-modules/post.js.map +1 -0
  344. package/dist/cjs/src/user-modules/post.spec.d.ts +3 -0
  345. package/dist/cjs/src/user-modules/post.spec.d.ts.map +1 -0
  346. package/dist/cjs/src/user-modules/post.spec.js +89 -0
  347. package/dist/cjs/src/user-modules/post.spec.js.map +1 -0
  348. package/dist/cjs/src/user-modules/room-invitation.d.ts +154 -0
  349. package/dist/cjs/src/user-modules/room-invitation.d.ts.map +1 -0
  350. package/dist/cjs/src/user-modules/room-invitation.js +201 -0
  351. package/dist/cjs/src/user-modules/room-invitation.js.map +1 -0
  352. package/dist/cjs/src/user-modules/room.d.ts +404 -0
  353. package/dist/cjs/src/user-modules/room.d.ts.map +1 -0
  354. package/dist/cjs/src/user-modules/room.js +932 -0
  355. package/dist/cjs/src/user-modules/room.js.map +1 -0
  356. package/dist/cjs/src/user-modules/room.spec.d.ts +3 -0
  357. package/dist/cjs/src/user-modules/room.spec.d.ts.map +1 -0
  358. package/dist/cjs/src/user-modules/room.spec.js +135 -0
  359. package/dist/cjs/src/user-modules/room.spec.js.map +1 -0
  360. package/dist/cjs/src/user-modules/tag.d.ts +92 -0
  361. package/dist/cjs/src/user-modules/tag.d.ts.map +1 -0
  362. package/dist/cjs/src/user-modules/tag.js +163 -0
  363. package/dist/cjs/src/user-modules/tag.js.map +1 -0
  364. package/dist/cjs/src/user-modules/url-link.d.ts +38 -0
  365. package/dist/cjs/src/user-modules/url-link.d.ts.map +1 -0
  366. package/dist/cjs/src/user-modules/url-link.js +116 -0
  367. package/dist/cjs/src/user-modules/url-link.js.map +1 -0
  368. package/dist/cjs/src/user-modules/url-link.spec.d.ts +3 -0
  369. package/dist/cjs/src/user-modules/url-link.spec.d.ts.map +1 -0
  370. package/dist/cjs/src/user-modules/url-link.spec.js +31 -0
  371. package/dist/cjs/src/user-modules/url-link.spec.js.map +1 -0
  372. package/dist/cjs/src/wechaty/mod.d.ts +6 -0
  373. package/dist/cjs/src/wechaty/mod.d.ts.map +1 -0
  374. package/dist/cjs/src/wechaty/mod.js +8 -0
  375. package/dist/cjs/src/wechaty/mod.js.map +1 -0
  376. package/dist/cjs/src/wechaty/wechaty-base.d.ts +545 -0
  377. package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -0
  378. package/dist/cjs/src/wechaty/wechaty-base.js +221 -0
  379. package/dist/cjs/src/wechaty/wechaty-base.js.map +1 -0
  380. package/dist/cjs/src/wechaty/wechaty-base.spec.d.ts +14 -0
  381. package/dist/cjs/src/wechaty/wechaty-base.spec.d.ts.map +1 -0
  382. package/dist/cjs/src/wechaty/wechaty-base.spec.js +288 -0
  383. package/dist/cjs/src/wechaty/wechaty-base.spec.js.map +1 -0
  384. package/dist/cjs/src/wechaty/wechaty-impl.d.ts +56 -0
  385. package/dist/cjs/src/wechaty/wechaty-impl.d.ts.map +1 -0
  386. package/dist/cjs/src/wechaty/wechaty-impl.js +17 -0
  387. package/dist/cjs/src/wechaty/wechaty-impl.js.map +1 -0
  388. package/dist/cjs/src/wechaty/wechaty-impl.spec.d.ts +3 -0
  389. package/dist/cjs/src/wechaty/wechaty-impl.spec.d.ts.map +1 -0
  390. package/dist/cjs/src/wechaty/wechaty-impl.spec.js +64 -0
  391. package/dist/cjs/src/wechaty/wechaty-impl.spec.js.map +1 -0
  392. package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts +51 -0
  393. package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts.map +1 -0
  394. package/dist/cjs/src/wechaty/wechaty-skeleton.js +119 -0
  395. package/dist/cjs/src/wechaty/wechaty-skeleton.js.map +1 -0
  396. package/dist/cjs/src/wechaty/wechaty-skelton.spec.d.ts +3 -0
  397. package/dist/cjs/src/wechaty/wechaty-skelton.spec.d.ts.map +1 -0
  398. package/dist/cjs/src/wechaty/wechaty-skelton.spec.js +9 -0
  399. package/dist/cjs/src/wechaty/wechaty-skelton.spec.js.map +1 -0
  400. package/dist/cjs/src/wechaty-builder.d.ts +38 -0
  401. package/dist/cjs/src/wechaty-builder.d.ts.map +1 -0
  402. package/dist/cjs/src/wechaty-builder.js +98 -0
  403. package/dist/cjs/src/wechaty-builder.js.map +1 -0
  404. package/dist/cjs/src/wechaty-builder.spec.d.ts +22 -0
  405. package/dist/cjs/src/wechaty-builder.spec.d.ts.map +1 -0
  406. package/dist/cjs/src/wechaty-builder.spec.js +66 -0
  407. package/dist/cjs/src/wechaty-builder.spec.js.map +1 -0
  408. package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +52 -0
  409. package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -0
  410. package/dist/cjs/src/wechaty-mixins/gerror-mixin.js +54 -0
  411. package/dist/cjs/src/wechaty-mixins/gerror-mixin.js.map +1 -0
  412. package/dist/cjs/src/wechaty-mixins/gerror-mixin.spec.d.ts +3 -0
  413. package/dist/cjs/src/wechaty-mixins/gerror-mixin.spec.d.ts.map +1 -0
  414. package/dist/cjs/src/wechaty-mixins/gerror-mixin.spec.js +9 -0
  415. package/dist/cjs/src/wechaty-mixins/gerror-mixin.spec.js.map +1 -0
  416. package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +75 -0
  417. package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts.map +1 -0
  418. package/dist/cjs/src/wechaty-mixins/io-mixin.js +86 -0
  419. package/dist/cjs/src/wechaty-mixins/io-mixin.js.map +1 -0
  420. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +290 -0
  421. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -0
  422. package/dist/cjs/src/wechaty-mixins/login-mixin.js +89 -0
  423. package/dist/cjs/src/wechaty-mixins/login-mixin.js.map +1 -0
  424. package/dist/cjs/src/wechaty-mixins/login-mixin.spec.d.ts +3 -0
  425. package/dist/cjs/src/wechaty-mixins/login-mixin.spec.d.ts.map +1 -0
  426. package/dist/cjs/src/wechaty-mixins/login-mixin.spec.js +9 -0
  427. package/dist/cjs/src/wechaty-mixins/login-mixin.spec.js.map +1 -0
  428. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +295 -0
  429. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -0
  430. package/dist/cjs/src/wechaty-mixins/misc-mixin.js +67 -0
  431. package/dist/cjs/src/wechaty-mixins/misc-mixin.js.map +1 -0
  432. package/dist/cjs/src/wechaty-mixins/mod.d.ts +18 -0
  433. package/dist/cjs/src/wechaty-mixins/mod.d.ts.map +1 -0
  434. package/dist/cjs/src/wechaty-mixins/mod.js +18 -0
  435. package/dist/cjs/src/wechaty-mixins/mod.js.map +1 -0
  436. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +384 -0
  437. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -0
  438. package/dist/cjs/src/wechaty-mixins/plugin-mixin.js +56 -0
  439. package/dist/cjs/src/wechaty-mixins/plugin-mixin.js.map +1 -0
  440. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.d.ts +13 -0
  441. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.d.ts.map +1 -0
  442. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.js +60 -0
  443. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.js.map +1 -0
  444. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +194 -0
  445. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -0
  446. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +425 -0
  447. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -0
  448. package/dist/cjs/src/wechaty-mixins/puppet-mixin.spec.d.ts +3 -0
  449. package/dist/cjs/src/wechaty-mixins/puppet-mixin.spec.d.ts.map +1 -0
  450. package/dist/cjs/src/wechaty-mixins/puppet-mixin.spec.js +9 -0
  451. package/dist/cjs/src/wechaty-mixins/puppet-mixin.spec.js.map +1 -0
  452. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +61 -0
  453. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -0
  454. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +84 -0
  455. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -0
  456. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.spec.d.ts +3 -0
  457. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.spec.d.ts.map +1 -0
  458. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.spec.js +9 -0
  459. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.spec.js.map +1 -0
  460. package/dist/cjs/tests/electron.spec.d.ts +3 -0
  461. package/dist/cjs/tests/electron.spec.d.ts.map +1 -0
  462. package/dist/cjs/tests/electron.spec.js +30 -0
  463. package/dist/cjs/tests/electron.spec.js.map +1 -0
  464. package/dist/cjs/tests/node.spec.d.ts +3 -0
  465. package/dist/cjs/tests/node.spec.d.ts.map +1 -0
  466. package/dist/cjs/tests/node.spec.js +43 -0
  467. package/dist/cjs/tests/node.spec.js.map +1 -0
  468. package/dist/esm/bin/cli.d.ts +14 -0
  469. package/dist/esm/bin/cli.d.ts.map +1 -0
  470. package/dist/esm/bin/cli.js +25 -0
  471. package/dist/esm/bin/cli.js.map +1 -0
  472. package/dist/esm/bin/doctor.d.ts +22 -0
  473. package/dist/esm/bin/doctor.d.ts.map +1 -0
  474. package/dist/esm/bin/doctor.js +50 -0
  475. package/dist/esm/bin/doctor.js.map +1 -0
  476. package/dist/esm/bin/io-client.d.ts +22 -0
  477. package/dist/esm/bin/io-client.d.ts.map +1 -0
  478. package/dist/esm/bin/io-client.js +72 -0
  479. package/dist/esm/bin/io-client.js.map +1 -0
  480. package/dist/esm/bin/providers-trends.d.ts +3 -0
  481. package/dist/esm/bin/providers-trends.d.ts.map +1 -0
  482. package/dist/esm/bin/providers-trends.js +12 -0
  483. package/dist/esm/bin/providers-trends.js.map +1 -0
  484. package/dist/esm/bin/puppet-install.d.ts +3 -0
  485. package/dist/esm/bin/puppet-install.d.ts.map +1 -0
  486. package/dist/esm/bin/puppet-install.js +55 -0
  487. package/dist/esm/bin/puppet-install.js.map +1 -0
  488. package/dist/esm/bin/version.d.ts +22 -0
  489. package/dist/esm/bin/version.d.ts.map +1 -0
  490. package/dist/esm/bin/version.js +23 -0
  491. package/dist/esm/bin/version.js.map +1 -0
  492. package/dist/esm/examples/ding-dong-bot.d.ts +2 -0
  493. package/dist/esm/examples/ding-dong-bot.d.ts.map +1 -0
  494. package/dist/esm/examples/ding-dong-bot.js +178 -0
  495. package/dist/esm/examples/ding-dong-bot.js.map +1 -0
  496. package/dist/esm/examples/video-post.d.ts +2 -0
  497. package/dist/esm/examples/video-post.d.ts.map +1 -0
  498. package/dist/esm/examples/video-post.js +70 -0
  499. package/dist/esm/examples/video-post.js.map +1 -0
  500. package/dist/esm/scripts/retry-unit-tests.d.ts +3 -0
  501. package/dist/esm/scripts/retry-unit-tests.d.ts.map +1 -0
  502. package/dist/esm/scripts/retry-unit-tests.js +56 -0
  503. package/dist/esm/scripts/retry-unit-tests.js.map +1 -0
  504. package/dist/esm/scripts/sort-contributiveness.d.ts +3 -0
  505. package/dist/esm/scripts/sort-contributiveness.d.ts.map +1 -0
  506. package/dist/esm/scripts/sort-contributiveness.js +117 -0
  507. package/dist/esm/scripts/sort-contributiveness.js.map +1 -0
  508. package/dist/esm/scripts/update-license.d.ts +3 -0
  509. package/dist/esm/scripts/update-license.d.ts.map +1 -0
  510. package/dist/esm/scripts/update-license.js +163 -0
  511. package/dist/esm/scripts/update-license.js.map +1 -0
  512. package/dist/esm/src/cli/friday.d.ts +7 -0
  513. package/dist/esm/src/cli/friday.d.ts.map +1 -0
  514. package/dist/esm/src/cli/friday.js +15 -0
  515. package/dist/esm/src/cli/friday.js.map +1 -0
  516. package/dist/esm/src/cli/gateway.d.ts +17 -0
  517. package/dist/esm/src/cli/gateway.d.ts.map +1 -0
  518. package/dist/esm/src/cli/gateway.js +148 -0
  519. package/dist/esm/src/cli/gateway.js.map +1 -0
  520. package/dist/esm/src/cli/mod.d.ts +6 -0
  521. package/dist/esm/src/cli/mod.d.ts.map +1 -0
  522. package/dist/esm/src/cli/mod.js +6 -0
  523. package/dist/esm/src/cli/mod.js.map +1 -0
  524. package/dist/esm/src/cli/provider.d.ts +7 -0
  525. package/dist/esm/src/cli/provider.d.ts.map +1 -0
  526. package/dist/esm/src/cli/provider.js +15 -0
  527. package/dist/esm/src/cli/provider.js.map +1 -0
  528. package/dist/esm/src/cli/service.d.ts +7 -0
  529. package/dist/esm/src/cli/service.d.ts.map +1 -0
  530. package/dist/esm/src/cli/service.js +15 -0
  531. package/dist/esm/src/cli/service.js.map +1 -0
  532. package/dist/esm/src/cli/token.d.ts +39 -0
  533. package/dist/esm/src/cli/token.d.ts.map +1 -0
  534. package/dist/esm/src/cli/token.js +12 -0
  535. package/dist/esm/src/cli/token.js.map +1 -0
  536. package/dist/esm/src/config.d.ts +61 -0
  537. package/dist/esm/src/config.d.ts.map +1 -0
  538. package/dist/esm/src/config.js +100 -0
  539. package/dist/esm/src/config.js.map +1 -0
  540. package/dist/esm/src/config.spec.d.ts +22 -0
  541. package/dist/esm/src/config.spec.d.ts.map +1 -0
  542. package/dist/esm/src/config.spec.js +82 -0
  543. package/dist/esm/src/config.spec.js.map +1 -0
  544. package/dist/esm/src/doctor.d.ts +9 -0
  545. package/dist/esm/src/doctor.d.ts.map +1 -0
  546. package/dist/esm/src/doctor.js +78 -0
  547. package/dist/esm/src/doctor.js.map +1 -0
  548. package/dist/esm/src/helper-functions/open-graph.d.ts +22 -0
  549. package/dist/esm/src/helper-functions/open-graph.d.ts.map +1 -0
  550. package/dist/esm/src/helper-functions/open-graph.js +36 -0
  551. package/dist/esm/src/helper-functions/open-graph.js.map +1 -0
  552. package/dist/esm/src/helper-functions/stringify-filter.d.ts +3 -0
  553. package/dist/esm/src/helper-functions/stringify-filter.d.ts.map +1 -0
  554. package/dist/esm/src/helper-functions/stringify-filter.js +9 -0
  555. package/dist/esm/src/helper-functions/stringify-filter.js.map +1 -0
  556. package/dist/esm/src/io-client.d.ts +28 -0
  557. package/dist/esm/src/io-client.d.ts.map +1 -0
  558. package/dist/esm/src/io-client.js +213 -0
  559. package/dist/esm/src/io-client.js.map +1 -0
  560. package/dist/esm/src/io-peer/io-peer.d.ts +12 -0
  561. package/dist/esm/src/io-peer/io-peer.d.ts.map +1 -0
  562. package/dist/esm/src/io-peer/io-peer.js +61 -0
  563. package/dist/esm/src/io-peer/io-peer.js.map +1 -0
  564. package/dist/esm/src/io-peer/io-peer.spec.d.ts +3 -0
  565. package/dist/esm/src/io-peer/io-peer.spec.d.ts.map +1 -0
  566. package/dist/esm/src/io-peer/io-peer.spec.js +56 -0
  567. package/dist/esm/src/io-peer/io-peer.spec.js.map +1 -0
  568. package/dist/esm/src/io.d.ts +98 -0
  569. package/dist/esm/src/io.d.ts.map +1 -0
  570. package/dist/esm/src/io.js +438 -0
  571. package/dist/esm/src/io.js.map +1 -0
  572. package/dist/esm/src/io.spec.d.ts +3 -0
  573. package/dist/esm/src/io.spec.d.ts.map +1 -0
  574. package/dist/esm/src/io.spec.js +43 -0
  575. package/dist/esm/src/io.spec.js.map +1 -0
  576. package/dist/esm/src/mods/helpers.d.ts +2 -0
  577. package/dist/esm/src/mods/helpers.d.ts.map +1 -0
  578. package/dist/esm/src/mods/helpers.js +2 -0
  579. package/dist/esm/src/mods/helpers.js.map +1 -0
  580. package/dist/esm/src/mods/impls.d.ts +36 -0
  581. package/dist/esm/src/mods/impls.d.ts.map +1 -0
  582. package/dist/esm/src/mods/impls.js +33 -0
  583. package/dist/esm/src/mods/impls.js.map +1 -0
  584. package/dist/esm/src/mods/impls.spec.d.ts +3 -0
  585. package/dist/esm/src/mods/impls.spec.d.ts.map +1 -0
  586. package/dist/esm/src/mods/impls.spec.js +11 -0
  587. package/dist/esm/src/mods/impls.spec.js.map +1 -0
  588. package/dist/esm/src/mods/mod.d.ts +40 -0
  589. package/dist/esm/src/mods/mod.d.ts.map +1 -0
  590. package/dist/esm/src/mods/mod.js +31 -0
  591. package/dist/esm/src/mods/mod.js.map +1 -0
  592. package/dist/esm/src/mods/mod.spec.d.ts +3 -0
  593. package/dist/esm/src/mods/mod.spec.d.ts.map +1 -0
  594. package/dist/esm/src/mods/mod.spec.js +14 -0
  595. package/dist/esm/src/mods/mod.spec.js.map +1 -0
  596. package/dist/esm/src/mods/users.d.ts +26 -0
  597. package/dist/esm/src/mods/users.d.ts.map +1 -0
  598. package/dist/esm/src/mods/users.js +21 -0
  599. package/dist/esm/src/mods/users.js.map +1 -0
  600. package/dist/esm/src/package-json.d.ts +7 -0
  601. package/dist/esm/src/package-json.d.ts.map +1 -0
  602. package/dist/esm/src/package-json.js +175 -0
  603. package/dist/esm/src/package-json.js.map +1 -0
  604. package/dist/esm/src/package-json.spec.d.ts +3 -0
  605. package/dist/esm/src/package-json.spec.d.ts.map +1 -0
  606. package/dist/esm/src/package-json.spec.js +15 -0
  607. package/dist/esm/src/package-json.spec.js.map +1 -0
  608. package/dist/esm/src/plugin.d.ts +9 -0
  609. package/dist/esm/src/plugin.d.ts.map +1 -0
  610. package/dist/esm/src/plugin.js +5 -0
  611. package/dist/esm/src/plugin.js.map +1 -0
  612. package/dist/esm/src/plugin.spec.d.ts +3 -0
  613. package/dist/esm/src/plugin.spec.d.ts.map +1 -0
  614. package/dist/esm/src/plugin.spec.js +68 -0
  615. package/dist/esm/src/plugin.spec.js.map +1 -0
  616. package/dist/esm/src/puppet-config.d.ts +78 -0
  617. package/dist/esm/src/puppet-config.d.ts.map +1 -0
  618. package/dist/esm/src/puppet-config.js +80 -0
  619. package/dist/esm/src/puppet-config.js.map +1 -0
  620. package/dist/esm/src/pure-functions/escape-regexp.d.ts +21 -0
  621. package/dist/esm/src/pure-functions/escape-regexp.d.ts.map +1 -0
  622. package/dist/esm/src/pure-functions/escape-regexp.js +23 -0
  623. package/dist/esm/src/pure-functions/escape-regexp.js.map +1 -0
  624. package/dist/esm/src/pure-functions/guard-qr-code-value.d.ts +2 -0
  625. package/dist/esm/src/pure-functions/guard-qr-code-value.d.ts.map +1 -0
  626. package/dist/esm/src/pure-functions/guard-qr-code-value.js +27 -0
  627. package/dist/esm/src/pure-functions/guard-qr-code-value.js.map +1 -0
  628. package/dist/esm/src/pure-functions/is-template-string-array.d.ts +3 -0
  629. package/dist/esm/src/pure-functions/is-template-string-array.d.ts.map +1 -0
  630. package/dist/esm/src/pure-functions/is-template-string-array.js +5 -0
  631. package/dist/esm/src/pure-functions/is-template-string-array.js.map +1 -0
  632. package/dist/esm/src/pure-functions/is-template-string-array.spec.d.ts +3 -0
  633. package/dist/esm/src/pure-functions/is-template-string-array.spec.d.ts.map +1 -0
  634. package/dist/esm/src/pure-functions/is-template-string-array.spec.js +38 -0
  635. package/dist/esm/src/pure-functions/is-template-string-array.spec.js.map +1 -0
  636. package/dist/esm/src/pure-functions/mod.d.ts +22 -0
  637. package/dist/esm/src/pure-functions/mod.d.ts.map +1 -0
  638. package/dist/esm/src/pure-functions/mod.js +22 -0
  639. package/dist/esm/src/pure-functions/mod.js.map +1 -0
  640. package/dist/esm/src/pure-functions/retry-policy.d.ts +10 -0
  641. package/dist/esm/src/pure-functions/retry-policy.d.ts.map +1 -0
  642. package/dist/esm/src/pure-functions/retry-policy.js +29 -0
  643. package/dist/esm/src/pure-functions/retry-policy.js.map +1 -0
  644. package/dist/esm/src/pure-functions/timestamp-to-date.d.ts +21 -0
  645. package/dist/esm/src/pure-functions/timestamp-to-date.d.ts.map +1 -0
  646. package/dist/esm/src/pure-functions/timestamp-to-date.js +31 -0
  647. package/dist/esm/src/pure-functions/timestamp-to-date.js.map +1 -0
  648. package/dist/esm/src/pure-functions/timestamp-to-date.spec.d.ts +3 -0
  649. package/dist/esm/src/pure-functions/timestamp-to-date.spec.d.ts.map +1 -0
  650. package/dist/esm/src/pure-functions/timestamp-to-date.spec.js +40 -0
  651. package/dist/esm/src/pure-functions/timestamp-to-date.spec.js.map +1 -0
  652. package/dist/esm/src/pure-functions/xml.d.ts +33 -0
  653. package/dist/esm/src/pure-functions/xml.d.ts.map +1 -0
  654. package/dist/esm/src/pure-functions/xml.js +74 -0
  655. package/dist/esm/src/pure-functions/xml.js.map +1 -0
  656. package/dist/esm/src/pure-functions/xml.spec.d.ts +3 -0
  657. package/dist/esm/src/pure-functions/xml.spec.d.ts.map +1 -0
  658. package/dist/esm/src/pure-functions/xml.spec.js +95 -0
  659. package/dist/esm/src/pure-functions/xml.spec.js.map +1 -0
  660. package/dist/esm/src/raven.d.ts +4 -0
  661. package/dist/esm/src/raven.d.ts.map +1 -0
  662. package/dist/esm/src/raven.js +54 -0
  663. package/dist/esm/src/raven.js.map +1 -0
  664. package/dist/esm/src/sayable/deliver-sayable.d.ts +8 -0
  665. package/dist/esm/src/sayable/deliver-sayable.d.ts.map +1 -0
  666. package/dist/esm/src/sayable/deliver-sayable.js +72 -0
  667. package/dist/esm/src/sayable/deliver-sayable.js.map +1 -0
  668. package/dist/esm/src/sayable/message-to-sayable.d.ts +5 -0
  669. package/dist/esm/src/sayable/message-to-sayable.d.ts.map +1 -0
  670. package/dist/esm/src/sayable/message-to-sayable.js +31 -0
  671. package/dist/esm/src/sayable/message-to-sayable.js.map +1 -0
  672. package/dist/esm/src/sayable/mod.d.ts +8 -0
  673. package/dist/esm/src/sayable/mod.d.ts.map +1 -0
  674. package/dist/esm/src/sayable/mod.js +6 -0
  675. package/dist/esm/src/sayable/mod.js.map +1 -0
  676. package/dist/esm/src/sayable/payload-to-sayable.d.ts +6 -0
  677. package/dist/esm/src/sayable/payload-to-sayable.d.ts.map +1 -0
  678. package/dist/esm/src/sayable/payload-to-sayable.js +29 -0
  679. package/dist/esm/src/sayable/payload-to-sayable.js.map +1 -0
  680. package/dist/esm/src/sayable/sayable-to-payload.d.ts +5 -0
  681. package/dist/esm/src/sayable/sayable-to-payload.d.ts.map +1 -0
  682. package/dist/esm/src/sayable/sayable-to-payload.js +47 -0
  683. package/dist/esm/src/sayable/sayable-to-payload.js.map +1 -0
  684. package/dist/esm/src/sayable/types.d.ts +30 -0
  685. package/dist/esm/src/sayable/types.d.ts.map +1 -0
  686. package/dist/esm/src/sayable/types.js +2 -0
  687. package/dist/esm/src/sayable/types.js.map +1 -0
  688. package/dist/esm/src/schemas/acceptable.d.ts +27 -0
  689. package/dist/esm/src/schemas/acceptable.d.ts.map +1 -0
  690. package/dist/esm/src/schemas/acceptable.js +2 -0
  691. package/dist/esm/src/schemas/acceptable.js.map +1 -0
  692. package/dist/esm/src/schemas/contact-events.d.ts +12 -0
  693. package/dist/esm/src/schemas/contact-events.d.ts.map +1 -0
  694. package/dist/esm/src/schemas/contact-events.js +4 -0
  695. package/dist/esm/src/schemas/contact-events.js.map +1 -0
  696. package/dist/esm/src/schemas/mod.d.ts +7 -0
  697. package/dist/esm/src/schemas/mod.d.ts.map +1 -0
  698. package/dist/esm/src/schemas/mod.js +5 -0
  699. package/dist/esm/src/schemas/mod.js.map +1 -0
  700. package/dist/esm/src/schemas/room-events.d.ts +103 -0
  701. package/dist/esm/src/schemas/room-events.d.ts.map +1 -0
  702. package/dist/esm/src/schemas/room-events.js +11 -0
  703. package/dist/esm/src/schemas/room-events.js.map +1 -0
  704. package/dist/esm/src/schemas/wechaty-events.d.ts +218 -0
  705. package/dist/esm/src/schemas/wechaty-events.d.ts.map +1 -0
  706. package/dist/esm/src/schemas/wechaty-events.js +15 -0
  707. package/dist/esm/src/schemas/wechaty-events.js.map +1 -0
  708. package/dist/esm/src/schemas/wechaty-options.d.ts +20 -0
  709. package/dist/esm/src/schemas/wechaty-options.d.ts.map +1 -0
  710. package/dist/esm/src/schemas/wechaty-options.js +2 -0
  711. package/dist/esm/src/schemas/wechaty-options.js.map +1 -0
  712. package/dist/esm/src/user-mixins/mod.d.ts +7 -0
  713. package/dist/esm/src/user-mixins/mod.d.ts.map +1 -0
  714. package/dist/esm/src/user-mixins/mod.js +5 -0
  715. package/dist/esm/src/user-mixins/mod.js.map +1 -0
  716. package/dist/esm/src/user-mixins/poolify.d.ts +32 -0
  717. package/dist/esm/src/user-mixins/poolify.d.ts.map +1 -0
  718. package/dist/esm/src/user-mixins/poolify.js +44 -0
  719. package/dist/esm/src/user-mixins/poolify.js.map +1 -0
  720. package/dist/esm/src/user-mixins/poolify.spec.d.ts +3 -0
  721. package/dist/esm/src/user-mixins/poolify.spec.d.ts.map +1 -0
  722. package/dist/esm/src/user-mixins/poolify.spec.js +51 -0
  723. package/dist/esm/src/user-mixins/poolify.spec.js.map +1 -0
  724. package/dist/esm/src/user-mixins/validation.d.ts +9 -0
  725. package/dist/esm/src/user-mixins/validation.d.ts.map +1 -0
  726. package/dist/esm/src/user-mixins/validation.js +26 -0
  727. package/dist/esm/src/user-mixins/validation.js.map +1 -0
  728. package/dist/esm/src/user-mixins/validation.spec.d.ts +3 -0
  729. package/dist/esm/src/user-mixins/validation.spec.d.ts.map +1 -0
  730. package/dist/esm/src/user-mixins/validation.spec.js +54 -0
  731. package/dist/esm/src/user-mixins/validation.spec.js.map +1 -0
  732. package/dist/esm/src/user-mixins/wechatify.d.ts +24 -0
  733. package/dist/esm/src/user-mixins/wechatify.d.ts.map +1 -0
  734. package/dist/esm/src/user-mixins/wechatify.js +41 -0
  735. package/dist/esm/src/user-mixins/wechatify.js.map +1 -0
  736. package/dist/esm/src/user-mixins/wechatify.spec.d.ts +3 -0
  737. package/dist/esm/src/user-mixins/wechatify.spec.d.ts.map +1 -0
  738. package/dist/esm/src/user-mixins/wechatify.spec.js +18 -0
  739. package/dist/esm/src/user-mixins/wechatify.spec.js.map +1 -0
  740. package/dist/esm/src/user-modules/contact-self.d.ts +110 -0
  741. package/dist/esm/src/user-modules/contact-self.d.ts.map +1 -0
  742. package/dist/esm/src/user-modules/contact-self.js +130 -0
  743. package/dist/esm/src/user-modules/contact-self.js.map +1 -0
  744. package/dist/esm/src/user-modules/contact.d.ts +388 -0
  745. package/dist/esm/src/user-modules/contact.d.ts.map +1 -0
  746. package/dist/esm/src/user-modules/contact.js +641 -0
  747. package/dist/esm/src/user-modules/contact.js.map +1 -0
  748. package/dist/esm/src/user-modules/contact.spec.d.ts +3 -0
  749. package/dist/esm/src/user-modules/contact.spec.d.ts.map +1 -0
  750. package/dist/esm/src/user-modules/contact.spec.js +69 -0
  751. package/dist/esm/src/user-modules/contact.spec.js.map +1 -0
  752. package/dist/esm/src/user-modules/delay.d.ts +47 -0
  753. package/dist/esm/src/user-modules/delay.d.ts.map +1 -0
  754. package/dist/esm/src/user-modules/delay.js +21 -0
  755. package/dist/esm/src/user-modules/delay.js.map +1 -0
  756. package/dist/esm/src/user-modules/favorite.d.ts +38 -0
  757. package/dist/esm/src/user-modules/favorite.d.ts.map +1 -0
  758. package/dist/esm/src/user-modules/favorite.js +65 -0
  759. package/dist/esm/src/user-modules/favorite.js.map +1 -0
  760. package/dist/esm/src/user-modules/friendship.d.ts +244 -0
  761. package/dist/esm/src/user-modules/friendship.d.ts.map +1 -0
  762. package/dist/esm/src/user-modules/friendship.js +343 -0
  763. package/dist/esm/src/user-modules/friendship.js.map +1 -0
  764. package/dist/esm/src/user-modules/image.d.ts +31 -0
  765. package/dist/esm/src/user-modules/image.d.ts.map +1 -0
  766. package/dist/esm/src/user-modules/image.js +55 -0
  767. package/dist/esm/src/user-modules/image.js.map +1 -0
  768. package/dist/esm/src/user-modules/location.d.ts +59 -0
  769. package/dist/esm/src/user-modules/location.d.ts.map +1 -0
  770. package/dist/esm/src/user-modules/location.js +55 -0
  771. package/dist/esm/src/user-modules/location.js.map +1 -0
  772. package/dist/esm/src/user-modules/message.d.ts +459 -0
  773. package/dist/esm/src/user-modules/message.d.ts.map +1 -0
  774. package/dist/esm/src/user-modules/message.js +906 -0
  775. package/dist/esm/src/user-modules/message.js.map +1 -0
  776. package/dist/esm/src/user-modules/message.spec.d.ts +22 -0
  777. package/dist/esm/src/user-modules/message.spec.d.ts.map +1 -0
  778. package/dist/esm/src/user-modules/message.spec.js +100 -0
  779. package/dist/esm/src/user-modules/message.spec.js.map +1 -0
  780. package/dist/esm/src/user-modules/mini-program.d.ts +59 -0
  781. package/dist/esm/src/user-modules/mini-program.d.ts.map +1 -0
  782. package/dist/esm/src/user-modules/mini-program.js +60 -0
  783. package/dist/esm/src/user-modules/mini-program.js.map +1 -0
  784. package/dist/esm/src/user-modules/mod.d.ts +40 -0
  785. package/dist/esm/src/user-modules/mod.d.ts.map +1 -0
  786. package/dist/esm/src/user-modules/mod.js +38 -0
  787. package/dist/esm/src/user-modules/mod.js.map +1 -0
  788. package/dist/esm/src/user-modules/moment.d.ts +28 -0
  789. package/dist/esm/src/user-modules/moment.d.ts.map +1 -0
  790. package/dist/esm/src/user-modules/moment.js +43 -0
  791. package/dist/esm/src/user-modules/moment.js.map +1 -0
  792. package/dist/esm/src/user-modules/money.d.ts +44 -0
  793. package/dist/esm/src/user-modules/money.d.ts.map +1 -0
  794. package/dist/esm/src/user-modules/money.js +11 -0
  795. package/dist/esm/src/user-modules/money.js.map +1 -0
  796. package/dist/esm/src/user-modules/post.d.ts +114 -0
  797. package/dist/esm/src/user-modules/post.d.ts.map +1 -0
  798. package/dist/esm/src/user-modules/post.js +345 -0
  799. package/dist/esm/src/user-modules/post.js.map +1 -0
  800. package/dist/esm/src/user-modules/post.spec.d.ts +3 -0
  801. package/dist/esm/src/user-modules/post.spec.d.ts.map +1 -0
  802. package/dist/esm/src/user-modules/post.spec.js +61 -0
  803. package/dist/esm/src/user-modules/post.spec.js.map +1 -0
  804. package/dist/esm/src/user-modules/room-invitation.d.ts +154 -0
  805. package/dist/esm/src/user-modules/room-invitation.d.ts.map +1 -0
  806. package/dist/esm/src/user-modules/room-invitation.js +198 -0
  807. package/dist/esm/src/user-modules/room-invitation.js.map +1 -0
  808. package/dist/esm/src/user-modules/room.d.ts +404 -0
  809. package/dist/esm/src/user-modules/room.d.ts.map +1 -0
  810. package/dist/esm/src/user-modules/room.js +929 -0
  811. package/dist/esm/src/user-modules/room.js.map +1 -0
  812. package/dist/esm/src/user-modules/room.spec.d.ts +3 -0
  813. package/dist/esm/src/user-modules/room.spec.d.ts.map +1 -0
  814. package/dist/esm/src/user-modules/room.spec.js +133 -0
  815. package/dist/esm/src/user-modules/room.spec.js.map +1 -0
  816. package/dist/esm/src/user-modules/tag.d.ts +92 -0
  817. package/dist/esm/src/user-modules/tag.d.ts.map +1 -0
  818. package/dist/esm/src/user-modules/tag.js +160 -0
  819. package/dist/esm/src/user-modules/tag.js.map +1 -0
  820. package/dist/esm/src/user-modules/url-link.d.ts +38 -0
  821. package/dist/esm/src/user-modules/url-link.d.ts.map +1 -0
  822. package/dist/esm/src/user-modules/url-link.js +110 -0
  823. package/dist/esm/src/user-modules/url-link.js.map +1 -0
  824. package/dist/esm/src/user-modules/url-link.spec.d.ts +3 -0
  825. package/dist/esm/src/user-modules/url-link.spec.d.ts.map +1 -0
  826. package/dist/esm/src/user-modules/url-link.spec.js +29 -0
  827. package/dist/esm/src/user-modules/url-link.spec.js.map +1 -0
  828. package/dist/esm/src/wechaty/mod.d.ts +6 -0
  829. package/dist/esm/src/wechaty/mod.d.ts.map +1 -0
  830. package/dist/esm/src/wechaty/mod.js +4 -0
  831. package/dist/esm/src/wechaty/mod.js.map +1 -0
  832. package/dist/esm/src/wechaty/wechaty-base.d.ts +545 -0
  833. package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -0
  834. package/dist/esm/src/wechaty/wechaty-base.js +218 -0
  835. package/dist/esm/src/wechaty/wechaty-base.js.map +1 -0
  836. package/dist/esm/src/wechaty/wechaty-base.spec.d.ts +14 -0
  837. package/dist/esm/src/wechaty/wechaty-base.spec.d.ts.map +1 -0
  838. package/dist/esm/src/wechaty/wechaty-base.spec.js +286 -0
  839. package/dist/esm/src/wechaty/wechaty-base.spec.js.map +1 -0
  840. package/dist/esm/src/wechaty/wechaty-impl.d.ts +56 -0
  841. package/dist/esm/src/wechaty/wechaty-impl.d.ts.map +1 -0
  842. package/dist/esm/src/wechaty/wechaty-impl.js +14 -0
  843. package/dist/esm/src/wechaty/wechaty-impl.js.map +1 -0
  844. package/dist/esm/src/wechaty/wechaty-impl.spec.d.ts +3 -0
  845. package/dist/esm/src/wechaty/wechaty-impl.spec.d.ts.map +1 -0
  846. package/dist/esm/src/wechaty/wechaty-impl.spec.js +61 -0
  847. package/dist/esm/src/wechaty/wechaty-impl.spec.js.map +1 -0
  848. package/dist/esm/src/wechaty/wechaty-skeleton.d.ts +51 -0
  849. package/dist/esm/src/wechaty/wechaty-skeleton.d.ts.map +1 -0
  850. package/dist/esm/src/wechaty/wechaty-skeleton.js +93 -0
  851. package/dist/esm/src/wechaty/wechaty-skeleton.js.map +1 -0
  852. package/dist/esm/src/wechaty/wechaty-skelton.spec.d.ts +3 -0
  853. package/dist/esm/src/wechaty/wechaty-skelton.spec.d.ts.map +1 -0
  854. package/dist/esm/src/wechaty/wechaty-skelton.spec.js +7 -0
  855. package/dist/esm/src/wechaty/wechaty-skelton.spec.js.map +1 -0
  856. package/dist/esm/src/wechaty-builder.d.ts +38 -0
  857. package/dist/esm/src/wechaty-builder.d.ts.map +1 -0
  858. package/dist/esm/src/wechaty-builder.js +95 -0
  859. package/dist/esm/src/wechaty-builder.js.map +1 -0
  860. package/dist/esm/src/wechaty-builder.spec.d.ts +22 -0
  861. package/dist/esm/src/wechaty-builder.spec.d.ts.map +1 -0
  862. package/dist/esm/src/wechaty-builder.spec.js +64 -0
  863. package/dist/esm/src/wechaty-builder.spec.js.map +1 -0
  864. package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +52 -0
  865. package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -0
  866. package/dist/esm/src/wechaty-mixins/gerror-mixin.js +51 -0
  867. package/dist/esm/src/wechaty-mixins/gerror-mixin.js.map +1 -0
  868. package/dist/esm/src/wechaty-mixins/gerror-mixin.spec.d.ts +3 -0
  869. package/dist/esm/src/wechaty-mixins/gerror-mixin.spec.d.ts.map +1 -0
  870. package/dist/esm/src/wechaty-mixins/gerror-mixin.spec.js +7 -0
  871. package/dist/esm/src/wechaty-mixins/gerror-mixin.spec.js.map +1 -0
  872. package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +75 -0
  873. package/dist/esm/src/wechaty-mixins/io-mixin.d.ts.map +1 -0
  874. package/dist/esm/src/wechaty-mixins/io-mixin.js +83 -0
  875. package/dist/esm/src/wechaty-mixins/io-mixin.js.map +1 -0
  876. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +290 -0
  877. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -0
  878. package/dist/esm/src/wechaty-mixins/login-mixin.js +86 -0
  879. package/dist/esm/src/wechaty-mixins/login-mixin.js.map +1 -0
  880. package/dist/esm/src/wechaty-mixins/login-mixin.spec.d.ts +3 -0
  881. package/dist/esm/src/wechaty-mixins/login-mixin.spec.d.ts.map +1 -0
  882. package/dist/esm/src/wechaty-mixins/login-mixin.spec.js +7 -0
  883. package/dist/esm/src/wechaty-mixins/login-mixin.spec.js.map +1 -0
  884. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +295 -0
  885. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -0
  886. package/dist/esm/src/wechaty-mixins/misc-mixin.js +64 -0
  887. package/dist/esm/src/wechaty-mixins/misc-mixin.js.map +1 -0
  888. package/dist/esm/src/wechaty-mixins/mod.d.ts +18 -0
  889. package/dist/esm/src/wechaty-mixins/mod.d.ts.map +1 -0
  890. package/dist/esm/src/wechaty-mixins/mod.js +9 -0
  891. package/dist/esm/src/wechaty-mixins/mod.js.map +1 -0
  892. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +384 -0
  893. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -0
  894. package/dist/esm/src/wechaty-mixins/plugin-mixin.js +53 -0
  895. package/dist/esm/src/wechaty-mixins/plugin-mixin.js.map +1 -0
  896. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.d.ts +13 -0
  897. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.d.ts.map +1 -0
  898. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.js +58 -0
  899. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.js.map +1 -0
  900. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +194 -0
  901. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -0
  902. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +399 -0
  903. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -0
  904. package/dist/esm/src/wechaty-mixins/puppet-mixin.spec.d.ts +3 -0
  905. package/dist/esm/src/wechaty-mixins/puppet-mixin.spec.d.ts.map +1 -0
  906. package/dist/esm/src/wechaty-mixins/puppet-mixin.spec.js +7 -0
  907. package/dist/esm/src/wechaty-mixins/puppet-mixin.spec.js.map +1 -0
  908. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +61 -0
  909. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -0
  910. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +81 -0
  911. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -0
  912. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.spec.d.ts +3 -0
  913. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.spec.d.ts.map +1 -0
  914. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.spec.js +7 -0
  915. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.spec.js.map +1 -0
  916. package/dist/esm/tests/electron.spec.d.ts +3 -0
  917. package/dist/esm/tests/electron.spec.d.ts.map +1 -0
  918. package/dist/esm/tests/electron.spec.js +28 -0
  919. package/dist/esm/tests/electron.spec.js.map +1 -0
  920. package/dist/esm/tests/node.spec.d.ts +3 -0
  921. package/dist/esm/tests/node.spec.d.ts.map +1 -0
  922. package/dist/esm/tests/node.spec.js +41 -0
  923. package/dist/esm/tests/node.spec.js.map +1 -0
  924. package/package.json +173 -0
  925. package/src/cli/friday.ts +20 -0
  926. package/src/cli/gateway.ts +190 -0
  927. package/src/cli/mod.ts +5 -0
  928. package/src/cli/provider.ts +20 -0
  929. package/src/cli/service.ts +20 -0
  930. package/src/cli/token.ts +19 -0
  931. package/src/config.spec.ts +97 -0
  932. package/src/config.ts +165 -0
  933. package/src/doctor.ts +92 -0
  934. package/src/helper-functions/open-graph.ts +34 -0
  935. package/src/helper-functions/stringify-filter.ts +13 -0
  936. package/src/io-client.ts +276 -0
  937. package/src/io-peer/io-peer.spec.ts +64 -0
  938. package/src/io-peer/io-peer.ts +79 -0
  939. package/src/io-peer/json-rpc-peer.d.ts +68 -0
  940. package/src/io.spec.ts +44 -0
  941. package/src/io.ts +585 -0
  942. package/src/mods/helpers.ts +5 -0
  943. package/src/mods/impls.spec.ts +13 -0
  944. package/src/mods/impls.ts +115 -0
  945. package/src/mods/mod.spec.ts +17 -0
  946. package/src/mods/mod.ts +74 -0
  947. package/src/mods/users.ts +44 -0
  948. package/src/package-json.spec.ts +18 -0
  949. package/src/package-json.ts +180 -0
  950. package/src/plugin.spec.ts +87 -0
  951. package/src/plugin.ts +19 -0
  952. package/src/puppet-config.ts +104 -0
  953. package/src/pure-functions/escape-regexp.ts +22 -0
  954. package/src/pure-functions/guard-qr-code-value.ts +27 -0
  955. package/src/pure-functions/is-template-string-array.spec.ts +44 -0
  956. package/src/pure-functions/is-template-string-array.ts +5 -0
  957. package/src/pure-functions/mod.ts +28 -0
  958. package/src/pure-functions/retry-policy.ts +45 -0
  959. package/src/pure-functions/timestamp-to-date.spec.ts +43 -0
  960. package/src/pure-functions/timestamp-to-date.ts +31 -0
  961. package/src/pure-functions/xml.spec.ts +116 -0
  962. package/src/pure-functions/xml.ts +98 -0
  963. package/src/raven.ts +75 -0
  964. package/src/sayable/deliver-sayable.ts +107 -0
  965. package/src/sayable/message-to-sayable.ts +57 -0
  966. package/src/sayable/mod.ts +27 -0
  967. package/src/sayable/payload-to-sayable.ts +51 -0
  968. package/src/sayable/sayable-to-payload.ts +54 -0
  969. package/src/sayable/types.ts +62 -0
  970. package/src/schemas/acceptable.ts +30 -0
  971. package/src/schemas/contact-events.ts +29 -0
  972. package/src/schemas/mod.ts +29 -0
  973. package/src/schemas/room-events.ts +128 -0
  974. package/src/schemas/wechaty-events.ts +251 -0
  975. package/src/schemas/wechaty-options.ts +40 -0
  976. package/src/user-mixins/mod.ts +23 -0
  977. package/src/user-mixins/poolify.spec.ts +110 -0
  978. package/src/user-mixins/poolify.ts +72 -0
  979. package/src/user-mixins/validation.spec.ts +87 -0
  980. package/src/user-mixins/validation.ts +39 -0
  981. package/src/user-mixins/wechatify.spec.ts +27 -0
  982. package/src/user-mixins/wechatify.ts +72 -0
  983. package/src/user-modules/contact-self.ts +217 -0
  984. package/src/user-modules/contact.spec.ts +91 -0
  985. package/src/user-modules/contact.ts +806 -0
  986. package/src/user-modules/delay.ts +61 -0
  987. package/src/user-modules/favorite.ts +89 -0
  988. package/src/user-modules/friendship.ts +441 -0
  989. package/src/user-modules/image.ts +91 -0
  990. package/src/user-modules/location.ts +103 -0
  991. package/src/user-modules/message.spec.ts +124 -0
  992. package/src/user-modules/message.ts +1109 -0
  993. package/src/user-modules/mini-program.ts +111 -0
  994. package/src/user-modules/mod.ts +160 -0
  995. package/src/user-modules/moment.ts +64 -0
  996. package/src/user-modules/money.ts +49 -0
  997. package/src/user-modules/post.spec.ts +77 -0
  998. package/src/user-modules/post.ts +549 -0
  999. package/src/user-modules/room-invitation.ts +291 -0
  1000. package/src/user-modules/room.spec.ts +170 -0
  1001. package/src/user-modules/room.ts +1158 -0
  1002. package/src/user-modules/tag.ts +202 -0
  1003. package/src/user-modules/url-link.spec.ts +35 -0
  1004. package/src/user-modules/url-link.ts +145 -0
  1005. package/src/wechaty/mod.ts +18 -0
  1006. package/src/wechaty/wechaty-base.spec.ts +392 -0
  1007. package/src/wechaty/wechaty-base.ts +307 -0
  1008. package/src/wechaty/wechaty-impl.spec.ts +118 -0
  1009. package/src/wechaty/wechaty-impl.ts +65 -0
  1010. package/src/wechaty/wechaty-skeleton.ts +129 -0
  1011. package/src/wechaty/wechaty-skelton.spec.ts +18 -0
  1012. package/src/wechaty-builder.spec.ts +79 -0
  1013. package/src/wechaty-builder.ts +123 -0
  1014. package/src/wechaty-mixins/gerror-mixin.spec.ts +15 -0
  1015. package/src/wechaty-mixins/gerror-mixin.ts +78 -0
  1016. package/src/wechaty-mixins/io-mixin.ts +117 -0
  1017. package/src/wechaty-mixins/login-mixin.spec.ts +15 -0
  1018. package/src/wechaty-mixins/login-mixin.ts +124 -0
  1019. package/src/wechaty-mixins/misc-mixin.ts +93 -0
  1020. package/src/wechaty-mixins/mod.ts +84 -0
  1021. package/src/wechaty-mixins/plugin-mixin.spec.ts +98 -0
  1022. package/src/wechaty-mixins/plugin-mixin.ts +99 -0
  1023. package/src/wechaty-mixins/puppet-mixin.spec.ts +15 -0
  1024. package/src/wechaty-mixins/puppet-mixin.ts +501 -0
  1025. package/src/wechaty-mixins/wechatify-user-module-mixin.spec.ts +18 -0
  1026. package/src/wechaty-mixins/wechatify-user-module-mixin.ts +151 -0
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ import { test } from 'tstest'
3
+ import PuppetMock from 'wechaty-puppet-mock'
4
+
5
+ import { WechatyEventEmitter } from '../schemas/wechaty-events.js'
6
+
7
+ import type {
8
+ ContactSelfConstructor,
9
+ ContactConstructor,
10
+ FriendshipConstructor,
11
+ ImageConstructor,
12
+ LocationConstructor,
13
+ MessageConstructor,
14
+ MiniProgramConstructor,
15
+ PostConstructor,
16
+ RoomInvitationConstructor,
17
+ RoomConstructor,
18
+ DelayConstructor,
19
+ TagConstructor,
20
+ UrlLinkConstructor,
21
+ MessageInterface,
22
+ } from '../user-modules/mod.js'
23
+
24
+ import {
25
+ type WechatyConstructor,
26
+ type WechatyInterface,
27
+ type AllProtectedProperty,
28
+ WechatyImpl,
29
+ // WechatyConstructor,
30
+ } from './wechaty-impl.js'
31
+
32
+ test('Wechaty interface', async t => {
33
+ abstract class WechatyImplementation extends WechatyEventEmitter implements WechatyInterface {
34
+
35
+ Contact : ContactConstructor
36
+ ContactSelf : ContactSelfConstructor
37
+ Delay : DelayConstructor
38
+ Friendship : FriendshipConstructor
39
+ Image : ImageConstructor
40
+ Location : LocationConstructor
41
+ Message : MessageConstructor
42
+ MiniProgram : MiniProgramConstructor
43
+ Post : PostConstructor
44
+ Room : RoomConstructor
45
+ RoomInvitation : RoomInvitationConstructor
46
+ Tag : TagConstructor
47
+ UrlLink : UrlLinkConstructor
48
+
49
+ constructor () {
50
+ super()
51
+ // this.puppet
52
+ this.Contact
53
+ = this.ContactSelf
54
+ = this.Delay
55
+ = this.Friendship
56
+ = this.Image
57
+ = this.Location
58
+ = this.Message
59
+ = this.MiniProgram
60
+ = this.Post
61
+ = this.Room
62
+ = this.RoomInvitation
63
+ = this.Tag
64
+ = this.UrlLink
65
+ = {} as any
66
+ }
67
+
68
+ abstract authQrCode : WechatyInterface['authQrCode']
69
+ abstract currentUser : WechatyInterface['currentUser']
70
+ abstract ding : WechatyInterface['ding']
71
+ abstract emitError : WechatyInterface['emitError']
72
+ abstract id : WechatyInterface['id']
73
+ abstract init : WechatyInterface['init']
74
+ abstract isLoggedIn : WechatyInterface['isLoggedIn']
75
+ abstract log : WechatyInterface['log']
76
+ abstract logout : WechatyInterface['logout']
77
+ abstract name : WechatyInterface['name']
78
+ abstract publish : WechatyInterface['publish']
79
+ abstract puppet : WechatyInterface['puppet']
80
+ abstract ready : WechatyInterface['ready']
81
+ abstract reset : WechatyInterface['reset']
82
+ abstract say : WechatyInterface['say']
83
+ abstract sleep : WechatyInterface['sleep']
84
+ abstract start : WechatyInterface['start']
85
+ abstract state : WechatyInterface['state']
86
+ abstract stop : WechatyInterface['stop']
87
+ abstract use : WechatyInterface['use']
88
+ abstract version : WechatyInterface['version']
89
+ abstract wrapAsync : WechatyInterface['wrapAsync']
90
+
91
+ }
92
+
93
+ const WechatyTest = WechatyImplementation as unknown as WechatyConstructor
94
+ const w: WechatyInterface = new WechatyTest()
95
+ w.on('message', (msg: MessageInterface) => {
96
+ msg.say('ok').catch(console.error)
97
+ })
98
+
99
+ t.ok(typeof WechatyImplementation, 'should no typing error')
100
+ })
101
+
102
+ test('ProtectedProperties', async t => {
103
+ type NotExistInWechaty = Exclude<AllProtectedProperty, keyof WechatyImpl | `_${string}`>
104
+ type NotExistTest = NotExistInWechaty extends never ? true : false
105
+
106
+ const noOneLeft: NotExistTest = true
107
+ t.ok(noOneLeft, 'should match Wechaty properties for every protected property')
108
+ })
109
+
110
+ test('options.puppet initialization', async t => {
111
+ const puppet = new PuppetMock()
112
+ const wechaty = new WechatyImpl({ puppet })
113
+ t.throws(() => wechaty.puppet, 'should throw when access puppet getter before init()')
114
+
115
+ await wechaty.init()
116
+ t.doesNotThrow(() => wechaty.puppet, 'should not throw when access puppet getter after init()')
117
+ t.ok(wechaty.puppet, 'should exist puppet instance by setting the options.puppet')
118
+ })
@@ -0,0 +1,65 @@
1
+ import type { EventEmitter } from 'events'
2
+
3
+ import type { Constructor } from 'clone-class'
4
+ import type {
5
+ WechatyMixinProtectedProperty,
6
+ } from '../wechaty-mixins/mod.js'
7
+ import type { WechatyEventListeners } from '../schemas/mod.js'
8
+ import { validationMixin } from '../user-mixins/mod.js'
9
+
10
+ import type {
11
+ WechatySkeletonProtectedProperty,
12
+ } from './wechaty-skeleton.js'
13
+ import {
14
+ WechatyBase,
15
+ WechatyBaseProtectedProperty,
16
+ } from './wechaty-base.js'
17
+
18
+ /**
19
+ * Huan(202111): this is for solving the circyle dependency problem
20
+ *
21
+ * Construct a `WechatyImpl` based the `WechatyImplBase` with `validationMixin`
22
+ *
23
+ */
24
+ class WechatyImplBase extends validationMixin(WechatyBase)<WechatyImplInterface>() {}
25
+ interface WechatyImplInterface extends WechatyImplBase {}
26
+
27
+ class WechatyImpl extends validationMixin(WechatyImplBase)<WechatyInterface>() {}
28
+
29
+ /**
30
+ * ^ The above code will make a ready-to-use class: `WechatyImpl`
31
+ * without any cyclic dependency problem.
32
+ */
33
+
34
+ type AllProtectedProperty =
35
+ | keyof EventEmitter // Huan(202110): remove all EventEmitter first, and added typed event emitter later: or will get error
36
+ | WechatyMixinProtectedProperty
37
+ | WechatyBaseProtectedProperty
38
+ | WechatySkeletonProtectedProperty
39
+ | `_${string}`// remove all property from interface which is start with `_`
40
+
41
+ /**
42
+ * Huan(202111):
43
+ * `on`/`off`/`once` must use TypedEventEmitter<WechatyEventListeners> instead of WechatyImpl
44
+ * or will run into error: cyclic dependency?
45
+ */
46
+ interface WechatyEventEmitter {
47
+ on: <E extends keyof WechatyEventListeners>(event: E, listener: WechatyEventListeners[E]) => WechatyInterface
48
+ off: <E extends keyof WechatyEventListeners>(event: E, listener: WechatyEventListeners[E]) => WechatyInterface
49
+ once: <E extends keyof WechatyEventListeners>(event: E, listener: WechatyEventListeners[E]) => WechatyInterface
50
+ }
51
+
52
+ type WechatyInterface = Omit<WechatyImplInterface, AllProtectedProperty>
53
+ & WechatyEventEmitter
54
+
55
+ type WechatyConstructor = Constructor<
56
+ WechatyInterface,
57
+ typeof WechatyImpl
58
+ >
59
+
60
+ export {
61
+ type WechatyInterface,
62
+ type WechatyConstructor,
63
+ type AllProtectedProperty,
64
+ WechatyImpl,
65
+ }
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ import { MemoryCard } from 'memory-card'
21
+ import { log } from 'wechaty-puppet'
22
+ import * as UUID from 'uuid'
23
+ import type { Loggable } from 'brolog'
24
+
25
+ import {
26
+ WechatyEventEmitter,
27
+ WechatyEventName,
28
+ } from '../schemas/mod.js'
29
+
30
+ import type { WechatyOptions } from '../schemas/wechaty-options.js'
31
+
32
+ abstract class WechatySkeleton extends WechatyEventEmitter {
33
+
34
+ static readonly log: Loggable = log
35
+ readonly log: Loggable = log
36
+
37
+ /**
38
+ * the UUID of the Wechaty
39
+ * @ignore
40
+ */
41
+ readonly id: string
42
+
43
+ __memory?: MemoryCard
44
+ get memory (): MemoryCard {
45
+ if (!this.__memory) {
46
+ throw new Error('NOMEMORY')
47
+ }
48
+ return this.__memory
49
+ }
50
+
51
+ __options: WechatyOptions
52
+
53
+ constructor (...args: any[]) {
54
+ log.verbose('WechatySkeleton', 'constructor()')
55
+ super()
56
+
57
+ this.id = UUID.v4()
58
+ this.__options = args[0] || {} as WechatyOptions
59
+
60
+ /**
61
+ * Huan(202008):
62
+ *
63
+ * Set max listeners to 1K, so that we can add lots of listeners without the warning message.
64
+ * The listeners might be one of the following functionilities:
65
+ * 1. Plugins
66
+ * 2. Redux Observables
67
+ * 3. etc...
68
+ */
69
+ super.setMaxListeners(1024)
70
+ }
71
+
72
+ /**
73
+ * Initialize the Wechaty instance for ready to be started.
74
+ *
75
+ * 1. It will be called automatically by the start()
76
+ * 2. It should be allowed for being called multiple times in the same instance,
77
+ * by skipping the second time initialization.
78
+ */
79
+ async init (): Promise<void> {
80
+ log.verbose('WechatySkeleton', 'init()')
81
+
82
+ if (!this.__memory) {
83
+ this.__memory = new MemoryCard(this.__options.name)
84
+ try {
85
+ await this.__memory.load()
86
+ } catch (_) {
87
+ log.silly('WechatySkeleton', 'onStart() memory.load() had already loaded')
88
+ }
89
+ }
90
+ }
91
+
92
+ async start (): Promise<void> {
93
+ log.verbose('WechatySkeleton', 'start()')
94
+ // no super.start()
95
+
96
+ /**
97
+ * Huan(202203): Call the init() functions (with super.init() inside them for chaining)
98
+ */
99
+ await this.init()
100
+ }
101
+
102
+ async stop (): Promise<void> {
103
+ log.verbose('WechatySkeleton', 'stop()')
104
+ // no super.stop()
105
+ }
106
+
107
+ override on (event: WechatyEventName, listener: (...args: any[]) => any): this {
108
+ log.verbose('WechatySkeleton', 'on(%s, listener) registering... listenerCount: %s',
109
+ event,
110
+ this.listenerCount(event),
111
+ )
112
+
113
+ return super.on(event, listener)
114
+ }
115
+
116
+ }
117
+
118
+ type WechatySkeletonProtectedProperty =
119
+ | '__events'
120
+ | '__memory'
121
+ | '__options'
122
+ | 'memory'
123
+
124
+ export type {
125
+ WechatySkeletonProtectedProperty,
126
+ }
127
+ export {
128
+ WechatySkeleton,
129
+ }
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+
3
+ import {
4
+ test,
5
+ } from 'tstest'
6
+
7
+ import type {
8
+ WechatySkeleton,
9
+ WechatySkeletonProtectedProperty,
10
+ } from './wechaty-skeleton.js'
11
+
12
+ test('ProtectedPropertyWechatySkeleton', async t => {
13
+ type NotExistInMixin = Exclude<WechatySkeletonProtectedProperty, keyof WechatySkeleton>
14
+ type NotExistTest = NotExistInMixin extends never ? true : false
15
+
16
+ const noOneLeft: NotExistTest = true
17
+ t.ok(noOneLeft, 'should match Mixin properties for every protected property')
18
+ })
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ /**
3
+ * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
4
+ *
5
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
6
+ * Wechaty Contributors <https://github.com/wechaty>.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ *
20
+ */
21
+
22
+ import { test } from 'tstest'
23
+
24
+ import { PuppetMock } from 'wechaty-puppet-mock'
25
+
26
+ import { WechatyBuilder } from './wechaty-builder.js'
27
+
28
+ test('WechatyBuilder class', async t => {
29
+ const wechaty1 = WechatyBuilder.build()
30
+ const wechaty2 = WechatyBuilder.build()
31
+ t.not(wechaty1, wechaty2, 'should build two different Wechaty instance')
32
+
33
+ const singleton1 = WechatyBuilder.singleton()
34
+ const singleton2 = WechatyBuilder.singleton()
35
+ t.equal(singleton1, singleton2, 'should get the same singleton instance')
36
+
37
+ const wechaty = WechatyBuilder.build({ puppet: 'wechaty-puppet-mock' })
38
+ await wechaty.start()
39
+ t.ok(PuppetMock.validInstance(wechaty.puppet), 'should set options.puppet to mock')
40
+ await wechaty.stop()
41
+ })
42
+
43
+ test('throw when set options twice', async t => {
44
+ class WechatyBuilderTest extends WechatyBuilder {
45
+
46
+ constructor () { super() }
47
+
48
+ static override new () { return new this() }
49
+
50
+ override options (...args: any[]) {
51
+ super.options(...args)
52
+ return this
53
+ }
54
+
55
+ }
56
+
57
+ const builder = WechatyBuilderTest.new()
58
+ t.doesNotThrow(() => builder.options({}), 'should not throw for the first time')
59
+ t.doesNotThrow(() => builder.options({}), 'should not throw as long as the `options` is an empty object')
60
+
61
+ const options = { name: 'bot' }
62
+ t.doesNotThrow(() => builder.options(options), 'should not throw for setting non-empty `options` for the first time')
63
+ t.throws(() => builder.options(options), 'should throw for setting non-empty `options` again')
64
+ })
65
+
66
+ test('WechatyBuilder class static', async t => {
67
+ const wechaty1 = WechatyBuilder.build()
68
+ const wechaty2 = WechatyBuilder.build()
69
+ t.not(wechaty1, wechaty2, 'should build two different Wechaty instance')
70
+
71
+ const singleton1 = WechatyBuilder.singleton()
72
+ const singleton2 = WechatyBuilder.singleton()
73
+ t.equal(singleton1, singleton2, 'should get the same singleton instance')
74
+
75
+ const wechaty = WechatyBuilder.build({ puppet: 'wechaty-puppet-mock' })
76
+ await wechaty.start()
77
+ t.ok(PuppetMock.validInstance(wechaty.puppet), 'should set options.puppet to mock')
78
+ await wechaty.stop()
79
+ })
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ import { log } from 'wechaty-puppet'
21
+
22
+ import {
23
+ WechatyInterface,
24
+ WechatyImpl,
25
+ type WechatyOptions,
26
+ } from './wechaty/mod.js'
27
+
28
+ interface BuilderInterface {
29
+ build (options?: WechatyOptions): WechatyInterface
30
+ }
31
+
32
+ class WechatyBuilder implements BuilderInterface {
33
+
34
+ private static _instance?: WechatyInterface
35
+
36
+ static valid (target: any): target is WechatyInterface {
37
+ return WechatyImpl.valid(target)
38
+ }
39
+
40
+ /**
41
+ * Create an instance of Wechaty
42
+ *
43
+ * @param {WechatyOptions} [options={}]
44
+ *
45
+ * @example <caption>The World's Shortest ChatBot Code: 6 lines of JavaScript</caption>
46
+ * import { WechatyBuilder } from 'wechaty'
47
+ *
48
+ * WechatyBuilder.build(options) // instance() for singleton mode
49
+ * .on('scan', (url, status) => console.log(`Scan QR Code to login: ${status}\n${url}`))
50
+ * .on('login', user => console.log(`User ${user} logged in`))
51
+ * .on('message', message => console.log(`Message: ${message}`))
52
+ * .start()
53
+ */
54
+ static build (options?: WechatyOptions): WechatyInterface {
55
+ return WechatyBuilder.new().options(options).build()
56
+ }
57
+
58
+ /**
59
+ * @param options is a `WechatyOptions` object, it can only be set once
60
+ */
61
+ static singleton (options?: WechatyOptions): WechatyInterface {
62
+ const builder = new WechatyBuilder()
63
+ if (options) {
64
+ builder.options(options)
65
+ }
66
+ return builder.singleton().build()
67
+ }
68
+
69
+ protected static new (): WechatyBuilder { return new this() }
70
+ protected constructor () {}
71
+
72
+ protected _singleton = false
73
+ protected _options: WechatyOptions = {}
74
+
75
+ protected singleton (): WechatyBuilder {
76
+ log.verbose('WechatyBuilder', 'singleton()')
77
+ this._singleton = true
78
+ return this
79
+ }
80
+
81
+ protected options (options?: WechatyOptions): WechatyBuilder {
82
+ log.verbose('WechatyBuilder', 'singleton()')
83
+ if (Object.keys(this._options).length > 0) {
84
+ throw new Error([
85
+ 'WechatyBuilder options() can only be set once',
86
+ 'Create a new WechatyBuilder if you need different options',
87
+ ].join('\n'))
88
+ }
89
+
90
+ if (options) {
91
+ this._options = options
92
+ }
93
+
94
+ return this
95
+ }
96
+
97
+ build (): WechatyInterface {
98
+ if (this._singleton) {
99
+ return this.singletonInstance()
100
+ }
101
+ return this.newInstance()
102
+ }
103
+
104
+ protected singletonInstance (): WechatyInterface {
105
+ log.verbose('WechatyBuilder', 'singletonInstance()')
106
+ if (!WechatyBuilder._instance) {
107
+ WechatyBuilder._instance = this.newInstance()
108
+ }
109
+ return WechatyBuilder._instance
110
+ }
111
+
112
+ protected newInstance (): WechatyInterface {
113
+ log.verbose('WechatyBuilder', 'newInstance()')
114
+ return new WechatyImpl(this._options)
115
+ }
116
+
117
+ }
118
+
119
+ export {
120
+ type WechatyOptions,
121
+ type BuilderInterface,
122
+ WechatyBuilder,
123
+ }
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ import { test } from 'tstest'
3
+
4
+ import type {
5
+ GErrorMixin,
6
+ ProtectedPropertyGErrorMixin,
7
+ } from './gerror-mixin.js'
8
+
9
+ test('ProtectedPropertyGErrorMixin', async t => {
10
+ type NotExistInMixin = Exclude<ProtectedPropertyGErrorMixin, keyof InstanceType<GErrorMixin>>
11
+ type NotExistTest = NotExistInMixin extends never ? true : false
12
+
13
+ const noOneLeft: NotExistTest = true
14
+ t.ok(noOneLeft, 'should match Mixin properties for every protected property')
15
+ })
@@ -0,0 +1,78 @@
1
+ import { log } from 'wechaty-puppet'
2
+ import {
3
+ GError,
4
+ WrapAsync,
5
+ wrapAsyncError,
6
+ } from 'gerror'
7
+
8
+ import { wechatyCaptureException } from '../raven.js'
9
+
10
+ import type { WechatySkeleton } from '../wechaty/mod.js'
11
+
12
+ const gErrorMixin = <MixinBase extends typeof WechatySkeleton> (mixinBase: MixinBase) => {
13
+ log.verbose('WechatyGErrorMixin', 'gErrorMixin(%s)', mixinBase.name)
14
+
15
+ abstract class GErrorMixin extends mixinBase {
16
+
17
+ constructor (...args: any[]) {
18
+ super(...args)
19
+ }
20
+
21
+ /**
22
+ * Wrap promise in sync way (catch error by emitting it)
23
+ * 1. convert a async callback function to be sync function
24
+ * by catcing any errors and emit them to error event
25
+ * 2. wrap a Promise by catcing any errors and emit them to error event
26
+ */
27
+ wrapAsync: WrapAsync = wrapAsyncError((e: any) => this.emit('error', e))
28
+
29
+ /**
30
+ * Wechaty internally can use `emit('error' whatever)` to emit any error
31
+ * But the external call can only emit GError.
32
+ * That's the reason why we need the below `emitError(e: any)
33
+ */
34
+ emitError (e: any): void {
35
+ this.emit('error', e)
36
+ }
37
+
38
+ /**
39
+ * Convert any error to GError,
40
+ * and emit `error` event with GError
41
+ */
42
+ override emit (event: any, ...args: any) {
43
+ if (event !== 'error') {
44
+ return super.emit(event, ...args)
45
+ }
46
+
47
+ /**
48
+ * Dealing with the `error` event
49
+ */
50
+ const arg0 = args[0]
51
+ let gerror: GError
52
+
53
+ if (arg0 instanceof GError) {
54
+ gerror = arg0
55
+ } else {
56
+ gerror = GError.from(arg0)
57
+ }
58
+
59
+ wechatyCaptureException(gerror)
60
+ return super.emit('error', gerror)
61
+ }
62
+
63
+ }
64
+
65
+ return GErrorMixin
66
+ }
67
+
68
+ type GErrorMixin = ReturnType<typeof gErrorMixin>
69
+
70
+ type ProtectedPropertyGErrorMixin = never
71
+
72
+ export type {
73
+ GErrorMixin,
74
+ ProtectedPropertyGErrorMixin,
75
+ }
76
+ export {
77
+ gErrorMixin,
78
+ }