@wabot-dev/framework 0.0.12 → 0.0.14

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 (367) hide show
  1. package/dist/src/_virtual/XMLHttpRequest.js +7 -0
  2. package/dist/src/_virtual/_commonjsHelpers.js +32 -0
  3. package/dist/src/_virtual/base64id.js +3 -0
  4. package/dist/src/_virtual/binary.js +3 -0
  5. package/dist/src/_virtual/bom-handling.js +3 -0
  6. package/dist/src/_virtual/broadcast-operator.js +3 -0
  7. package/dist/src/_virtual/browser.js +3 -0
  8. package/dist/src/_virtual/browser2.js +3 -0
  9. package/dist/src/_virtual/browser3.js +3 -0
  10. package/dist/src/_virtual/browser4.js +3 -0
  11. package/dist/src/_virtual/browser5.js +3 -0
  12. package/dist/src/_virtual/buffer-util.js +3 -0
  13. package/dist/src/_virtual/buffer-util2.js +3 -0
  14. package/dist/src/_virtual/buffer-util3.js +3 -0
  15. package/dist/src/_virtual/charset.js +3 -0
  16. package/dist/src/_virtual/charset2.js +3 -0
  17. package/dist/src/_virtual/client.js +3 -0
  18. package/dist/src/_virtual/cluster-adapter.js +3 -0
  19. package/dist/src/_virtual/commons.js +3 -0
  20. package/dist/src/_virtual/dbcs-codec.js +3 -0
  21. package/dist/src/_virtual/decodePacket.js +3 -0
  22. package/dist/src/_virtual/encodePacket.js +3 -0
  23. package/dist/src/_virtual/encoding.js +3 -0
  24. package/dist/src/_virtual/encoding2.js +3 -0
  25. package/dist/src/_virtual/engine.io.js +3 -0
  26. package/dist/src/_virtual/in-memory-adapter.js +3 -0
  27. package/dist/src/_virtual/index.js +7 -0
  28. package/dist/src/_virtual/index10.js +3 -0
  29. package/dist/src/_virtual/index11.js +3 -0
  30. package/dist/src/_virtual/index12.js +3 -0
  31. package/dist/src/_virtual/index13.js +3 -0
  32. package/dist/src/_virtual/index14.js +3 -0
  33. package/dist/src/_virtual/index15.js +3 -0
  34. package/dist/src/_virtual/index16.js +3 -0
  35. package/dist/src/_virtual/index17.js +3 -0
  36. package/dist/src/_virtual/index18.js +3 -0
  37. package/dist/src/_virtual/index19.js +3 -0
  38. package/dist/src/_virtual/index2.js +7 -0
  39. package/dist/src/_virtual/index20.js +3 -0
  40. package/dist/src/_virtual/index21.js +3 -0
  41. package/dist/src/_virtual/index22.js +3 -0
  42. package/dist/src/_virtual/index23.js +3 -0
  43. package/dist/src/_virtual/index24.js +3 -0
  44. package/dist/src/_virtual/index25.js +3 -0
  45. package/dist/src/_virtual/index26.js +3 -0
  46. package/dist/src/_virtual/index27.js +3 -0
  47. package/dist/src/_virtual/index28.js +3 -0
  48. package/dist/src/_virtual/index29.js +3 -0
  49. package/dist/src/_virtual/index3.js +7 -0
  50. package/dist/src/_virtual/index30.js +3 -0
  51. package/dist/src/_virtual/index31.js +3 -0
  52. package/dist/src/_virtual/index32.js +3 -0
  53. package/dist/src/_virtual/index33.js +3 -0
  54. package/dist/src/_virtual/index4.js +3 -0
  55. package/dist/src/_virtual/index5.js +3 -0
  56. package/dist/src/_virtual/index6.js +3 -0
  57. package/dist/src/_virtual/index7.js +3 -0
  58. package/dist/src/_virtual/index8.js +6 -0
  59. package/dist/src/_virtual/index9.js +3 -0
  60. package/dist/src/_virtual/inherits.js +3 -0
  61. package/dist/src/_virtual/inherits_browser.js +3 -0
  62. package/dist/src/_virtual/is-binary.js +3 -0
  63. package/dist/src/_virtual/language.js +3 -0
  64. package/dist/src/_virtual/language2.js +3 -0
  65. package/dist/src/_virtual/mediaType.js +3 -0
  66. package/dist/src/_virtual/mediaType2.js +3 -0
  67. package/dist/src/_virtual/namespace.js +3 -0
  68. package/dist/src/_virtual/node.js +3 -0
  69. package/dist/src/_virtual/node2.js +3 -0
  70. package/dist/src/_virtual/node3.js +3 -0
  71. package/dist/src/_virtual/node4.js +3 -0
  72. package/dist/src/_virtual/node5.js +3 -0
  73. package/dist/src/_virtual/parent-namespace.js +3 -0
  74. package/dist/src/_virtual/polling-jsonp.js +3 -0
  75. package/dist/src/_virtual/polling.js +3 -0
  76. package/dist/src/_virtual/polling2.js +3 -0
  77. package/dist/src/_virtual/receiver.js +3 -0
  78. package/dist/src/_virtual/sbcs-codec.js +3 -0
  79. package/dist/src/_virtual/sender.js +3 -0
  80. package/dist/src/_virtual/server.js +3 -0
  81. package/dist/src/_virtual/socket-types.js +3 -0
  82. package/dist/src/_virtual/socket.js +3 -0
  83. package/dist/src/_virtual/socket2.js +3 -0
  84. package/dist/src/_virtual/stream.js +3 -0
  85. package/dist/src/_virtual/transport.js +3 -0
  86. package/dist/src/_virtual/typed-events.js +3 -0
  87. package/dist/src/_virtual/userver.js +3 -0
  88. package/dist/src/_virtual/utf16.js +3 -0
  89. package/dist/src/_virtual/utf32.js +3 -0
  90. package/dist/src/_virtual/utf7.js +3 -0
  91. package/dist/src/_virtual/uws.js +3 -0
  92. package/dist/src/_virtual/validation.js +3 -0
  93. package/dist/src/_virtual/validation2.js +3 -0
  94. package/dist/src/_virtual/validation3.js +3 -0
  95. package/dist/src/_virtual/websocket-server.js +3 -0
  96. package/dist/src/_virtual/websocket.js +7 -0
  97. package/dist/src/_virtual/websocket2.js +3 -0
  98. package/dist/src/_virtual/websocket3.js +3 -0
  99. package/dist/src/_virtual/webtransport.js +3 -0
  100. package/dist/src/_virtual/yeast.js +3 -0
  101. package/dist/src/channels/cmd/@cmd.js +2 -0
  102. package/dist/src/channels/cmd/CmdChannel.js +2 -0
  103. package/dist/src/channels/telegram/@telegram.js +2 -0
  104. package/dist/src/channels/telegram/TelegramChannel.js +2 -0
  105. package/dist/src/channels/whatsapp/@whatsapp.js +24 -0
  106. package/dist/src/channels/whatsapp/WhatsAppChannel.js +63 -0
  107. package/dist/src/channels/whatsapp/WhatsAppChannelConfig.js +8 -0
  108. package/dist/src/channels/whatsapp/WhatsAppConnection.js +61 -0
  109. package/dist/src/channels/whatsapp/WhatsAppDevConnection.js +61 -0
  110. package/dist/src/channels/whatsapp/WhatsAppProdConnection.js +36 -0
  111. package/dist/src/channels/whatsapp/whatsAppDevSocketContracts.js +9 -0
  112. package/dist/src/controller/express/Express.js +5 -0
  113. package/dist/src/controller/socket.io/SocketIO.js +5 -0
  114. package/dist/src/env/WabotEnv.js +21 -0
  115. package/dist/src/index.d.ts +168 -1
  116. package/dist/src/index.js +12 -0
  117. package/dist/src/logger/Logger.js +65 -0
  118. package/dist/src/node_modules/@socket.io/component-emitter/lib/esm/index.js +171 -0
  119. package/dist/src/node_modules/base64id/lib/base64id.js +117 -0
  120. package/dist/src/node_modules/body-parser/index.js +96 -0
  121. package/dist/src/node_modules/body-parser/lib/read.js +225 -0
  122. package/dist/src/node_modules/body-parser/lib/types/json.js +222 -0
  123. package/dist/src/node_modules/body-parser/lib/types/raw.js +90 -0
  124. package/dist/src/node_modules/body-parser/lib/types/text.js +95 -0
  125. package/dist/src/node_modules/body-parser/lib/types/urlencoded.js +194 -0
  126. package/dist/src/node_modules/body-parser/lib/utils.js +96 -0
  127. package/dist/src/node_modules/bytes/index.js +180 -0
  128. package/dist/src/node_modules/call-bind-apply-helpers/actualApply.js +24 -0
  129. package/dist/src/node_modules/call-bind-apply-helpers/functionApply.js +13 -0
  130. package/dist/src/node_modules/call-bind-apply-helpers/functionCall.js +13 -0
  131. package/dist/src/node_modules/call-bind-apply-helpers/index.js +29 -0
  132. package/dist/src/node_modules/call-bind-apply-helpers/reflectApply.js +13 -0
  133. package/dist/src/node_modules/call-bound/index.js +31 -0
  134. package/dist/src/node_modules/content-type/index.js +235 -0
  135. package/dist/src/node_modules/cookie/index.js +345 -0
  136. package/dist/src/node_modules/cors/lib/index.js +249 -0
  137. package/dist/src/node_modules/debug/src/browser.js +286 -0
  138. package/dist/src/node_modules/debug/src/common.js +303 -0
  139. package/dist/src/node_modules/debug/src/index.js +23 -0
  140. package/dist/src/node_modules/debug/src/node.js +279 -0
  141. package/dist/src/node_modules/depd/index.js +550 -0
  142. package/dist/src/node_modules/dunder-proto/get.js +42 -0
  143. package/dist/src/node_modules/ee-first/index.js +104 -0
  144. package/dist/src/node_modules/engine.io/build/engine.io.js +73 -0
  145. package/dist/src/node_modules/engine.io/build/parser-v3/index.js +429 -0
  146. package/dist/src/node_modules/engine.io/build/parser-v3/utf8.js +198 -0
  147. package/dist/src/node_modules/engine.io/build/server.js +808 -0
  148. package/dist/src/node_modules/engine.io/build/socket.js +469 -0
  149. package/dist/src/node_modules/engine.io/build/transport.js +131 -0
  150. package/dist/src/node_modules/engine.io/build/transports/index.js +37 -0
  151. package/dist/src/node_modules/engine.io/build/transports/polling-jsonp.js +53 -0
  152. package/dist/src/node_modules/engine.io/build/transports/polling.js +346 -0
  153. package/dist/src/node_modules/engine.io/build/transports/websocket.js +106 -0
  154. package/dist/src/node_modules/engine.io/build/transports/webtransport.js +76 -0
  155. package/dist/src/node_modules/engine.io/build/transports-uws/index.js +20 -0
  156. package/dist/src/node_modules/engine.io/build/transports-uws/polling.js +378 -0
  157. package/dist/src/node_modules/engine.io/build/transports-uws/websocket.js +85 -0
  158. package/dist/src/node_modules/engine.io/build/userver.js +292 -0
  159. package/dist/src/node_modules/engine.io/node_modules/accepts/index.js +250 -0
  160. package/dist/src/node_modules/engine.io/node_modules/debug/src/browser.js +285 -0
  161. package/dist/src/node_modules/engine.io/node_modules/debug/src/common.js +285 -0
  162. package/dist/src/node_modules/engine.io/node_modules/debug/src/index.js +23 -0
  163. package/dist/src/node_modules/engine.io/node_modules/debug/src/node.js +279 -0
  164. package/dist/src/node_modules/engine.io/node_modules/mime-db/db.json.js +10704 -0
  165. package/dist/src/node_modules/engine.io/node_modules/mime-db/index.js +24 -0
  166. package/dist/src/node_modules/engine.io/node_modules/mime-types/index.js +202 -0
  167. package/dist/src/node_modules/engine.io/node_modules/negotiator/index.js +96 -0
  168. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/charset.js +179 -0
  169. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/encoding.js +193 -0
  170. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/language.js +188 -0
  171. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/mediaType.js +304 -0
  172. package/dist/src/node_modules/engine.io/node_modules/ws/index.js +28 -0
  173. package/dist/src/node_modules/engine.io/node_modules/ws/lib/buffer-util.js +142 -0
  174. package/dist/src/node_modules/engine.io/node_modules/ws/lib/constants.js +21 -0
  175. package/dist/src/node_modules/engine.io/node_modules/ws/lib/event-target.js +303 -0
  176. package/dist/src/node_modules/engine.io/node_modules/ws/lib/extension.js +214 -0
  177. package/dist/src/node_modules/engine.io/node_modules/ws/lib/limiter.js +64 -0
  178. package/dist/src/node_modules/engine.io/node_modules/ws/lib/permessage-deflate.js +528 -0
  179. package/dist/src/node_modules/engine.io/node_modules/ws/lib/receiver.js +719 -0
  180. package/dist/src/node_modules/engine.io/node_modules/ws/lib/sender.js +513 -0
  181. package/dist/src/node_modules/engine.io/node_modules/ws/lib/stream.js +170 -0
  182. package/dist/src/node_modules/engine.io/node_modules/ws/lib/subprotocol.js +73 -0
  183. package/dist/src/node_modules/engine.io/node_modules/ws/lib/validation.js +141 -0
  184. package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket-server.js +559 -0
  185. package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket.js +1363 -0
  186. package/dist/src/node_modules/engine.io-client/build/esm/contrib/has-cors.js +13 -0
  187. package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseqs.js +36 -0
  188. package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseuri.js +66 -0
  189. package/dist/src/node_modules/engine.io-client/build/esm/globals.node.js +92 -0
  190. package/dist/src/node_modules/engine.io-client/build/esm/index.js +17 -0
  191. package/dist/src/node_modules/engine.io-client/build/esm/socket.js +728 -0
  192. package/dist/src/node_modules/engine.io-client/build/esm/transport.js +143 -0
  193. package/dist/src/node_modules/engine.io-client/build/esm/transports/index.js +11 -0
  194. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +256 -0
  195. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +21 -0
  196. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling.js +146 -0
  197. package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.js +107 -0
  198. package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.node.js +48 -0
  199. package/dist/src/node_modules/engine.io-client/build/esm/transports/webtransport.js +83 -0
  200. package/dist/src/node_modules/engine.io-client/build/esm/util.js +62 -0
  201. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js +142 -0
  202. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/constants.js +21 -0
  203. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/event-target.js +303 -0
  204. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/extension.js +214 -0
  205. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/limiter.js +64 -0
  206. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/permessage-deflate.js +528 -0
  207. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/receiver.js +719 -0
  208. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/sender.js +513 -0
  209. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/stream.js +170 -0
  210. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/subprotocol.js +73 -0
  211. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/validation.js +141 -0
  212. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket-server.js +559 -0
  213. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket.js +1363 -0
  214. package/dist/src/node_modules/engine.io-parser/build/cjs/commons.js +29 -0
  215. package/dist/src/node_modules/engine.io-parser/build/cjs/decodePacket.js +70 -0
  216. package/dist/src/node_modules/engine.io-parser/build/cjs/encodePacket.js +51 -0
  217. package/dist/src/node_modules/engine.io-parser/build/cjs/index.js +179 -0
  218. package/dist/src/node_modules/engine.io-parser/build/esm/commons.js +15 -0
  219. package/dist/src/node_modules/engine.io-parser/build/esm/decodePacket.js +58 -0
  220. package/dist/src/node_modules/engine.io-parser/build/esm/encodePacket.js +36 -0
  221. package/dist/src/node_modules/engine.io-parser/build/esm/index.js +158 -0
  222. package/dist/src/node_modules/es-define-property/index.js +23 -0
  223. package/dist/src/node_modules/es-errors/eval.js +13 -0
  224. package/dist/src/node_modules/es-errors/index.js +13 -0
  225. package/dist/src/node_modules/es-errors/range.js +13 -0
  226. package/dist/src/node_modules/es-errors/ref.js +13 -0
  227. package/dist/src/node_modules/es-errors/syntax.js +13 -0
  228. package/dist/src/node_modules/es-errors/type.js +13 -0
  229. package/dist/src/node_modules/es-errors/uri.js +13 -0
  230. package/dist/src/node_modules/es-object-atoms/index.js +13 -0
  231. package/dist/src/node_modules/function-bind/implementation.js +93 -0
  232. package/dist/src/node_modules/function-bind/index.js +16 -0
  233. package/dist/src/node_modules/get-intrinsic/index.js +413 -0
  234. package/dist/src/node_modules/get-proto/Object.getPrototypeOf.js +17 -0
  235. package/dist/src/node_modules/get-proto/Reflect.getPrototypeOf.js +13 -0
  236. package/dist/src/node_modules/get-proto/index.js +40 -0
  237. package/dist/src/node_modules/gopd/gOPD.js +13 -0
  238. package/dist/src/node_modules/gopd/index.js +26 -0
  239. package/dist/src/node_modules/has-symbols/index.js +25 -0
  240. package/dist/src/node_modules/has-symbols/shams.js +54 -0
  241. package/dist/src/node_modules/hasown/index.js +19 -0
  242. package/dist/src/node_modules/http-errors/index.js +306 -0
  243. package/dist/src/node_modules/iconv-lite/encodings/dbcs-codec.js +598 -0
  244. package/dist/src/node_modules/iconv-lite/encodings/dbcs-data.js +206 -0
  245. package/dist/src/node_modules/iconv-lite/encodings/index.js +44 -0
  246. package/dist/src/node_modules/iconv-lite/encodings/internal.js +210 -0
  247. package/dist/src/node_modules/iconv-lite/encodings/sbcs-codec.js +83 -0
  248. package/dist/src/node_modules/iconv-lite/encodings/sbcs-data-generated.js +460 -0
  249. package/dist/src/node_modules/iconv-lite/encodings/sbcs-data.js +187 -0
  250. package/dist/src/node_modules/iconv-lite/encodings/tables/big5-added.json.js +506 -0
  251. package/dist/src/node_modules/iconv-lite/encodings/tables/cp936.json.js +2621 -0
  252. package/dist/src/node_modules/iconv-lite/encodings/tables/cp949.json.js +2380 -0
  253. package/dist/src/node_modules/iconv-lite/encodings/tables/cp950.json.js +729 -0
  254. package/dist/src/node_modules/iconv-lite/encodings/tables/eucjp.json.js +822 -0
  255. package/dist/src/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +424 -0
  256. package/dist/src/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +264 -0
  257. package/dist/src/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +548 -0
  258. package/dist/src/node_modules/iconv-lite/encodings/utf16.js +206 -0
  259. package/dist/src/node_modules/iconv-lite/encodings/utf32.js +329 -0
  260. package/dist/src/node_modules/iconv-lite/encodings/utf7.js +297 -0
  261. package/dist/src/node_modules/iconv-lite/lib/bom-handling.js +61 -0
  262. package/dist/src/node_modules/iconv-lite/lib/index.js +192 -0
  263. package/dist/src/node_modules/iconv-lite/lib/streams.js +120 -0
  264. package/dist/src/node_modules/inherits/inherits.js +21 -0
  265. package/dist/src/node_modules/inherits/inherits_browser.js +38 -0
  266. package/dist/src/node_modules/math-intrinsics/abs.js +13 -0
  267. package/dist/src/node_modules/math-intrinsics/floor.js +13 -0
  268. package/dist/src/node_modules/math-intrinsics/isNaN.js +15 -0
  269. package/dist/src/node_modules/math-intrinsics/max.js +13 -0
  270. package/dist/src/node_modules/math-intrinsics/min.js +13 -0
  271. package/dist/src/node_modules/math-intrinsics/pow.js +13 -0
  272. package/dist/src/node_modules/math-intrinsics/round.js +13 -0
  273. package/dist/src/node_modules/math-intrinsics/sign.js +22 -0
  274. package/dist/src/node_modules/media-typer/index.js +153 -0
  275. package/dist/src/node_modules/mime-db/db.json.js +11656 -0
  276. package/dist/src/node_modules/mime-db/index.js +24 -0
  277. package/dist/src/node_modules/mime-types/index.js +226 -0
  278. package/dist/src/node_modules/mime-types/mimeScore.js +62 -0
  279. package/dist/src/node_modules/ms/index.js +172 -0
  280. package/dist/src/node_modules/object-assign/index.js +99 -0
  281. package/dist/src/node_modules/object-inspect/index.js +557 -0
  282. package/dist/src/node_modules/object-inspect/util.inspect.js +13 -0
  283. package/dist/src/node_modules/on-finished/index.js +245 -0
  284. package/dist/src/node_modules/qs/lib/formats.js +32 -0
  285. package/dist/src/node_modules/qs/lib/index.js +24 -0
  286. package/dist/src/node_modules/qs/lib/parse.js +339 -0
  287. package/dist/src/node_modules/qs/lib/stringify.js +369 -0
  288. package/dist/src/node_modules/qs/lib/utils.js +279 -0
  289. package/dist/src/node_modules/raw-body/index.js +351 -0
  290. package/dist/src/node_modules/safer-buffer/safer.js +88 -0
  291. package/dist/src/node_modules/setprototypeof/index.js +26 -0
  292. package/dist/src/node_modules/side-channel/index.js +58 -0
  293. package/dist/src/node_modules/side-channel-list/index.js +125 -0
  294. package/dist/src/node_modules/side-channel-map/index.js +82 -0
  295. package/dist/src/node_modules/side-channel-weakmap/index.js +99 -0
  296. package/dist/src/node_modules/socket.io/dist/broadcast-operator.js +448 -0
  297. package/dist/src/node_modules/socket.io/dist/client.js +281 -0
  298. package/dist/src/node_modules/socket.io/dist/index.js +837 -0
  299. package/dist/src/node_modules/socket.io/dist/namespace.js +597 -0
  300. package/dist/src/node_modules/socket.io/dist/parent-namespace.js +101 -0
  301. package/dist/src/node_modules/socket.io/dist/socket-types.js +21 -0
  302. package/dist/src/node_modules/socket.io/dist/socket.js +993 -0
  303. package/dist/src/node_modules/socket.io/dist/typed-events.js +92 -0
  304. package/dist/src/node_modules/socket.io/dist/uws.js +149 -0
  305. package/dist/src/node_modules/socket.io/node_modules/accepts/index.js +250 -0
  306. package/dist/src/node_modules/socket.io/node_modules/debug/src/browser.js +285 -0
  307. package/dist/src/node_modules/socket.io/node_modules/debug/src/common.js +285 -0
  308. package/dist/src/node_modules/socket.io/node_modules/debug/src/index.js +23 -0
  309. package/dist/src/node_modules/socket.io/node_modules/debug/src/node.js +279 -0
  310. package/dist/src/node_modules/socket.io/node_modules/mime-db/db.json.js +10704 -0
  311. package/dist/src/node_modules/socket.io/node_modules/mime-db/index.js +24 -0
  312. package/dist/src/node_modules/socket.io/node_modules/mime-types/index.js +202 -0
  313. package/dist/src/node_modules/socket.io/node_modules/negotiator/index.js +96 -0
  314. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/charset.js +179 -0
  315. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/encoding.js +193 -0
  316. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/language.js +188 -0
  317. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/mediaType.js +304 -0
  318. package/dist/src/node_modules/socket.io/package.json.js +5 -0
  319. package/dist/src/node_modules/socket.io/wrapper.js +5 -0
  320. package/dist/src/node_modules/socket.io-adapter/dist/cluster-adapter.js +689 -0
  321. package/dist/src/node_modules/socket.io-adapter/dist/contrib/yeast.js +64 -0
  322. package/dist/src/node_modules/socket.io-adapter/dist/in-memory-adapter.js +407 -0
  323. package/dist/src/node_modules/socket.io-adapter/dist/index.js +24 -0
  324. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/browser.js +285 -0
  325. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/common.js +285 -0
  326. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/index.js +23 -0
  327. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/node.js +279 -0
  328. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/index.js +28 -0
  329. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/buffer-util.js +142 -0
  330. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/constants.js +21 -0
  331. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/event-target.js +303 -0
  332. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/extension.js +214 -0
  333. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/limiter.js +64 -0
  334. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/permessage-deflate.js +528 -0
  335. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/receiver.js +719 -0
  336. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/sender.js +513 -0
  337. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/stream.js +170 -0
  338. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/subprotocol.js +73 -0
  339. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/validation.js +141 -0
  340. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket-server.js +559 -0
  341. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket.js +1363 -0
  342. package/dist/src/node_modules/socket.io-client/build/esm/contrib/backo2.js +68 -0
  343. package/dist/src/node_modules/socket.io-client/build/esm/index.js +50 -0
  344. package/dist/src/node_modules/socket.io-client/build/esm/manager.js +373 -0
  345. package/dist/src/node_modules/socket.io-client/build/esm/on.js +8 -0
  346. package/dist/src/node_modules/socket.io-client/build/esm/socket.js +884 -0
  347. package/dist/src/node_modules/socket.io-client/build/esm/url.js +63 -0
  348. package/dist/src/node_modules/socket.io-parser/build/cjs/binary.js +99 -0
  349. package/dist/src/node_modules/socket.io-parser/build/cjs/index.js +337 -0
  350. package/dist/src/node_modules/socket.io-parser/build/cjs/is-binary.js +65 -0
  351. package/dist/src/node_modules/socket.io-parser/build/esm/binary.js +86 -0
  352. package/dist/src/node_modules/socket.io-parser/build/esm/index.js +314 -0
  353. package/dist/src/node_modules/socket.io-parser/build/esm/is-binary.js +52 -0
  354. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/browser.js +285 -0
  355. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/common.js +285 -0
  356. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/index.js +23 -0
  357. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/node.js +279 -0
  358. package/dist/src/node_modules/statuses/codes.json.js +67 -0
  359. package/dist/src/node_modules/statuses/index.js +157 -0
  360. package/dist/src/node_modules/toidentifier/index.js +41 -0
  361. package/dist/src/node_modules/type-is/index.js +263 -0
  362. package/dist/src/node_modules/unpipe/index.js +78 -0
  363. package/dist/src/node_modules/vary/index.js +159 -0
  364. package/dist/src/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +702 -0
  365. package/dist/src/server/runChannel.js +8 -8
  366. package/dist/src/server/runServer.js +41 -2
  367. package/package.json +7 -3
@@ -0,0 +1,597 @@
1
+ import { __exports as namespace } from '../../../_virtual/namespace.js';
2
+ import { __require as requireSocket } from './socket.js';
3
+ import { __require as requireTypedEvents } from './typed-events.js';
4
+ import { __require as requireSrc } from '../node_modules/debug/src/index.js';
5
+ import { __require as requireBroadcastOperator } from './broadcast-operator.js';
6
+
7
+ var hasRequiredNamespace;
8
+
9
+ function requireNamespace () {
10
+ if (hasRequiredNamespace) return namespace;
11
+ hasRequiredNamespace = 1;
12
+ (function (exports) {
13
+ var __importDefault = (namespace && namespace.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Namespace = exports.RESERVED_EVENTS = void 0;
18
+ const socket_1 = requireSocket();
19
+ const typed_events_1 = requireTypedEvents();
20
+ const debug_1 = __importDefault(requireSrc());
21
+ const broadcast_operator_1 = requireBroadcastOperator();
22
+ const debug = (0, debug_1.default)("socket.io:namespace");
23
+ exports.RESERVED_EVENTS = new Set(["connect", "connection", "new_namespace"]);
24
+ /**
25
+ * A Namespace is a communication channel that allows you to split the logic of your application over a single shared
26
+ * connection.
27
+ *
28
+ * Each namespace has its own:
29
+ *
30
+ * - event handlers
31
+ *
32
+ * ```
33
+ * io.of("/orders").on("connection", (socket) => {
34
+ * socket.on("order:list", () => {});
35
+ * socket.on("order:create", () => {});
36
+ * });
37
+ *
38
+ * io.of("/users").on("connection", (socket) => {
39
+ * socket.on("user:list", () => {});
40
+ * });
41
+ * ```
42
+ *
43
+ * - rooms
44
+ *
45
+ * ```
46
+ * const orderNamespace = io.of("/orders");
47
+ *
48
+ * orderNamespace.on("connection", (socket) => {
49
+ * socket.join("room1");
50
+ * orderNamespace.to("room1").emit("hello");
51
+ * });
52
+ *
53
+ * const userNamespace = io.of("/users");
54
+ *
55
+ * userNamespace.on("connection", (socket) => {
56
+ * socket.join("room1"); // distinct from the room in the "orders" namespace
57
+ * userNamespace.to("room1").emit("holà");
58
+ * });
59
+ * ```
60
+ *
61
+ * - middlewares
62
+ *
63
+ * ```
64
+ * const orderNamespace = io.of("/orders");
65
+ *
66
+ * orderNamespace.use((socket, next) => {
67
+ * // ensure the socket has access to the "orders" namespace
68
+ * });
69
+ *
70
+ * const userNamespace = io.of("/users");
71
+ *
72
+ * userNamespace.use((socket, next) => {
73
+ * // ensure the socket has access to the "users" namespace
74
+ * });
75
+ * ```
76
+ */
77
+ class Namespace extends typed_events_1.StrictEventEmitter {
78
+ /**
79
+ * Namespace constructor.
80
+ *
81
+ * @param server instance
82
+ * @param name
83
+ */
84
+ constructor(server, name) {
85
+ super();
86
+ /**
87
+ * A map of currently connected sockets.
88
+ */
89
+ this.sockets = new Map();
90
+ /**
91
+ * A map of currently connecting sockets.
92
+ */
93
+ this._preConnectSockets = new Map();
94
+ this._fns = [];
95
+ /** @private */
96
+ this._ids = 0;
97
+ this.server = server;
98
+ this.name = name;
99
+ this._initAdapter();
100
+ }
101
+ /**
102
+ * Initializes the `Adapter` for this nsp.
103
+ * Run upon changing adapter by `Server#adapter`
104
+ * in addition to the constructor.
105
+ *
106
+ * @private
107
+ */
108
+ _initAdapter() {
109
+ // @ts-ignore
110
+ this.adapter = new (this.server.adapter())(this);
111
+ }
112
+ /**
113
+ * Registers a middleware, which is a function that gets executed for every incoming {@link Socket}.
114
+ *
115
+ * @example
116
+ * const myNamespace = io.of("/my-namespace");
117
+ *
118
+ * myNamespace.use((socket, next) => {
119
+ * // ...
120
+ * next();
121
+ * });
122
+ *
123
+ * @param fn - the middleware function
124
+ */
125
+ use(fn) {
126
+ this._fns.push(fn);
127
+ return this;
128
+ }
129
+ /**
130
+ * Executes the middleware for an incoming client.
131
+ *
132
+ * @param socket - the socket that will get added
133
+ * @param fn - last fn call in the middleware
134
+ * @private
135
+ */
136
+ run(socket, fn) {
137
+ if (!this._fns.length)
138
+ return fn();
139
+ const fns = this._fns.slice(0);
140
+ function run(i) {
141
+ fns[i](socket, (err) => {
142
+ // upon error, short-circuit
143
+ if (err)
144
+ return fn(err);
145
+ // if no middleware left, summon callback
146
+ if (!fns[i + 1])
147
+ return fn();
148
+ // go on to next
149
+ run(i + 1);
150
+ });
151
+ }
152
+ run(0);
153
+ }
154
+ /**
155
+ * Targets a room when emitting.
156
+ *
157
+ * @example
158
+ * const myNamespace = io.of("/my-namespace");
159
+ *
160
+ * // the “foo” event will be broadcast to all connected clients in the “room-101” room
161
+ * myNamespace.to("room-101").emit("foo", "bar");
162
+ *
163
+ * // with an array of rooms (a client will be notified at most once)
164
+ * myNamespace.to(["room-101", "room-102"]).emit("foo", "bar");
165
+ *
166
+ * // with multiple chained calls
167
+ * myNamespace.to("room-101").to("room-102").emit("foo", "bar");
168
+ *
169
+ * @param room - a room, or an array of rooms
170
+ * @return a new {@link BroadcastOperator} instance for chaining
171
+ */
172
+ to(room) {
173
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).to(room);
174
+ }
175
+ /**
176
+ * Targets a room when emitting. Similar to `to()`, but might feel clearer in some cases:
177
+ *
178
+ * @example
179
+ * const myNamespace = io.of("/my-namespace");
180
+ *
181
+ * // disconnect all clients in the "room-101" room
182
+ * myNamespace.in("room-101").disconnectSockets();
183
+ *
184
+ * @param room - a room, or an array of rooms
185
+ * @return a new {@link BroadcastOperator} instance for chaining
186
+ */
187
+ in(room) {
188
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).in(room);
189
+ }
190
+ /**
191
+ * Excludes a room when emitting.
192
+ *
193
+ * @example
194
+ * const myNamespace = io.of("/my-namespace");
195
+ *
196
+ * // the "foo" event will be broadcast to all connected clients, except the ones that are in the "room-101" room
197
+ * myNamespace.except("room-101").emit("foo", "bar");
198
+ *
199
+ * // with an array of rooms
200
+ * myNamespace.except(["room-101", "room-102"]).emit("foo", "bar");
201
+ *
202
+ * // with multiple chained calls
203
+ * myNamespace.except("room-101").except("room-102").emit("foo", "bar");
204
+ *
205
+ * @param room - a room, or an array of rooms
206
+ * @return a new {@link BroadcastOperator} instance for chaining
207
+ */
208
+ except(room) {
209
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).except(room);
210
+ }
211
+ /**
212
+ * Adds a new client.
213
+ *
214
+ * @return {Socket}
215
+ * @private
216
+ */
217
+ async _add(client, auth, fn) {
218
+ var _a;
219
+ debug("adding socket to nsp %s", this.name);
220
+ const socket = await this._createSocket(client, auth);
221
+ this._preConnectSockets.set(socket.id, socket);
222
+ if (
223
+ // @ts-ignore
224
+ ((_a = this.server.opts.connectionStateRecovery) === null || _a === void 0 ? void 0 : _a.skipMiddlewares) &&
225
+ socket.recovered &&
226
+ client.conn.readyState === "open") {
227
+ return this._doConnect(socket, fn);
228
+ }
229
+ this.run(socket, (err) => {
230
+ process.nextTick(() => {
231
+ if ("open" !== client.conn.readyState) {
232
+ debug("next called after client was closed - ignoring socket");
233
+ socket._cleanup();
234
+ return;
235
+ }
236
+ if (err) {
237
+ debug("middleware error, sending CONNECT_ERROR packet to the client");
238
+ socket._cleanup();
239
+ if (client.conn.protocol === 3) {
240
+ return socket._error(err.data || err.message);
241
+ }
242
+ else {
243
+ return socket._error({
244
+ message: err.message,
245
+ data: err.data,
246
+ });
247
+ }
248
+ }
249
+ this._doConnect(socket, fn);
250
+ });
251
+ });
252
+ }
253
+ async _createSocket(client, auth) {
254
+ const sessionId = auth.pid;
255
+ const offset = auth.offset;
256
+ if (
257
+ // @ts-ignore
258
+ this.server.opts.connectionStateRecovery &&
259
+ typeof sessionId === "string" &&
260
+ typeof offset === "string") {
261
+ let session;
262
+ try {
263
+ session = await this.adapter.restoreSession(sessionId, offset);
264
+ }
265
+ catch (e) {
266
+ debug("error while restoring session: %s", e);
267
+ }
268
+ if (session) {
269
+ debug("connection state recovered for sid %s", session.sid);
270
+ return new socket_1.Socket(this, client, auth, session);
271
+ }
272
+ }
273
+ return new socket_1.Socket(this, client, auth);
274
+ }
275
+ _doConnect(socket, fn) {
276
+ this._preConnectSockets.delete(socket.id);
277
+ this.sockets.set(socket.id, socket);
278
+ // it's paramount that the internal `onconnect` logic
279
+ // fires before user-set events to prevent state order
280
+ // violations (such as a disconnection before the connection
281
+ // logic is complete)
282
+ socket._onconnect();
283
+ if (fn)
284
+ fn(socket);
285
+ // fire user-set events
286
+ this.emitReserved("connect", socket);
287
+ this.emitReserved("connection", socket);
288
+ }
289
+ /**
290
+ * Removes a client. Called by each `Socket`.
291
+ *
292
+ * @private
293
+ */
294
+ _remove(socket) {
295
+ this.sockets.delete(socket.id) || this._preConnectSockets.delete(socket.id);
296
+ }
297
+ /**
298
+ * Emits to all connected clients.
299
+ *
300
+ * @example
301
+ * const myNamespace = io.of("/my-namespace");
302
+ *
303
+ * myNamespace.emit("hello", "world");
304
+ *
305
+ * // all serializable datastructures are supported (no need to call JSON.stringify)
306
+ * myNamespace.emit("hello", 1, "2", { 3: ["4"], 5: Uint8Array.from([6]) });
307
+ *
308
+ * // with an acknowledgement from the clients
309
+ * myNamespace.timeout(1000).emit("some-event", (err, responses) => {
310
+ * if (err) {
311
+ * // some clients did not acknowledge the event in the given delay
312
+ * } else {
313
+ * console.log(responses); // one response per client
314
+ * }
315
+ * });
316
+ *
317
+ * @return Always true
318
+ */
319
+ emit(ev, ...args) {
320
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).emit(ev, ...args);
321
+ }
322
+ /**
323
+ * Sends a `message` event to all clients.
324
+ *
325
+ * This method mimics the WebSocket.send() method.
326
+ *
327
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send
328
+ *
329
+ * @example
330
+ * const myNamespace = io.of("/my-namespace");
331
+ *
332
+ * myNamespace.send("hello");
333
+ *
334
+ * // this is equivalent to
335
+ * myNamespace.emit("message", "hello");
336
+ *
337
+ * @return self
338
+ */
339
+ send(...args) {
340
+ // This type-cast is needed because EmitEvents likely doesn't have `message` as a key.
341
+ // if you specify the EmitEvents, the type of args will be never.
342
+ this.emit("message", ...args);
343
+ return this;
344
+ }
345
+ /**
346
+ * Sends a `message` event to all clients. Sends a `message` event. Alias of {@link send}.
347
+ *
348
+ * @return self
349
+ */
350
+ write(...args) {
351
+ // This type-cast is needed because EmitEvents likely doesn't have `message` as a key.
352
+ // if you specify the EmitEvents, the type of args will be never.
353
+ this.emit("message", ...args);
354
+ return this;
355
+ }
356
+ /**
357
+ * Sends a message to the other Socket.IO servers of the cluster.
358
+ *
359
+ * @example
360
+ * const myNamespace = io.of("/my-namespace");
361
+ *
362
+ * myNamespace.serverSideEmit("hello", "world");
363
+ *
364
+ * myNamespace.on("hello", (arg1) => {
365
+ * console.log(arg1); // prints "world"
366
+ * });
367
+ *
368
+ * // acknowledgements (without binary content) are supported too:
369
+ * myNamespace.serverSideEmit("ping", (err, responses) => {
370
+ * if (err) {
371
+ * // some servers did not acknowledge the event in the given delay
372
+ * } else {
373
+ * console.log(responses); // one response per server (except the current one)
374
+ * }
375
+ * });
376
+ *
377
+ * myNamespace.on("ping", (cb) => {
378
+ * cb("pong");
379
+ * });
380
+ *
381
+ * @param ev - the event name
382
+ * @param args - an array of arguments, which may include an acknowledgement callback at the end
383
+ */
384
+ serverSideEmit(ev, ...args) {
385
+ if (exports.RESERVED_EVENTS.has(ev)) {
386
+ throw new Error(`"${String(ev)}" is a reserved event name`);
387
+ }
388
+ args.unshift(ev);
389
+ this.adapter.serverSideEmit(args);
390
+ return true;
391
+ }
392
+ /**
393
+ * Sends a message and expect an acknowledgement from the other Socket.IO servers of the cluster.
394
+ *
395
+ * @example
396
+ * const myNamespace = io.of("/my-namespace");
397
+ *
398
+ * try {
399
+ * const responses = await myNamespace.serverSideEmitWithAck("ping");
400
+ * console.log(responses); // one response per server (except the current one)
401
+ * } catch (e) {
402
+ * // some servers did not acknowledge the event in the given delay
403
+ * }
404
+ *
405
+ * @param ev - the event name
406
+ * @param args - an array of arguments
407
+ *
408
+ * @return a Promise that will be fulfilled when all servers have acknowledged the event
409
+ */
410
+ serverSideEmitWithAck(ev, ...args) {
411
+ return new Promise((resolve, reject) => {
412
+ args.push((err, responses) => {
413
+ if (err) {
414
+ err.responses = responses;
415
+ return reject(err);
416
+ }
417
+ else {
418
+ return resolve(responses);
419
+ }
420
+ });
421
+ this.serverSideEmit(ev, ...args);
422
+ });
423
+ }
424
+ /**
425
+ * Called when a packet is received from another Socket.IO server
426
+ *
427
+ * @param args - an array of arguments, which may include an acknowledgement callback at the end
428
+ *
429
+ * @private
430
+ */
431
+ _onServerSideEmit(args) {
432
+ super.emitUntyped.apply(this, args);
433
+ }
434
+ /**
435
+ * Gets a list of clients.
436
+ *
437
+ * @deprecated this method will be removed in the next major release, please use {@link Namespace#serverSideEmit} or
438
+ * {@link Namespace#fetchSockets} instead.
439
+ */
440
+ allSockets() {
441
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).allSockets();
442
+ }
443
+ /**
444
+ * Sets the compress flag.
445
+ *
446
+ * @example
447
+ * const myNamespace = io.of("/my-namespace");
448
+ *
449
+ * myNamespace.compress(false).emit("hello");
450
+ *
451
+ * @param compress - if `true`, compresses the sending data
452
+ * @return self
453
+ */
454
+ compress(compress) {
455
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).compress(compress);
456
+ }
457
+ /**
458
+ * Sets a modifier for a subsequent event emission that the event data may be lost if the client is not ready to
459
+ * receive messages (because of network slowness or other issues, or because they’re connected through long polling
460
+ * and is in the middle of a request-response cycle).
461
+ *
462
+ * @example
463
+ * const myNamespace = io.of("/my-namespace");
464
+ *
465
+ * myNamespace.volatile.emit("hello"); // the clients may or may not receive it
466
+ *
467
+ * @return self
468
+ */
469
+ get volatile() {
470
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).volatile;
471
+ }
472
+ /**
473
+ * Sets a modifier for a subsequent event emission that the event data will only be broadcast to the current node.
474
+ *
475
+ * @example
476
+ * const myNamespace = io.of("/my-namespace");
477
+ *
478
+ * // the “foo” event will be broadcast to all connected clients on this node
479
+ * myNamespace.local.emit("foo", "bar");
480
+ *
481
+ * @return a new {@link BroadcastOperator} instance for chaining
482
+ */
483
+ get local() {
484
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).local;
485
+ }
486
+ /**
487
+ * Adds a timeout in milliseconds for the next operation.
488
+ *
489
+ * @example
490
+ * const myNamespace = io.of("/my-namespace");
491
+ *
492
+ * myNamespace.timeout(1000).emit("some-event", (err, responses) => {
493
+ * if (err) {
494
+ * // some clients did not acknowledge the event in the given delay
495
+ * } else {
496
+ * console.log(responses); // one response per client
497
+ * }
498
+ * });
499
+ *
500
+ * @param timeout
501
+ */
502
+ timeout(timeout) {
503
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).timeout(timeout);
504
+ }
505
+ /**
506
+ * Returns the matching socket instances.
507
+ *
508
+ * Note: this method also works within a cluster of multiple Socket.IO servers, with a compatible {@link Adapter}.
509
+ *
510
+ * @example
511
+ * const myNamespace = io.of("/my-namespace");
512
+ *
513
+ * // return all Socket instances
514
+ * const sockets = await myNamespace.fetchSockets();
515
+ *
516
+ * // return all Socket instances in the "room1" room
517
+ * const sockets = await myNamespace.in("room1").fetchSockets();
518
+ *
519
+ * for (const socket of sockets) {
520
+ * console.log(socket.id);
521
+ * console.log(socket.handshake);
522
+ * console.log(socket.rooms);
523
+ * console.log(socket.data);
524
+ *
525
+ * socket.emit("hello");
526
+ * socket.join("room1");
527
+ * socket.leave("room2");
528
+ * socket.disconnect();
529
+ * }
530
+ */
531
+ fetchSockets() {
532
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).fetchSockets();
533
+ }
534
+ /**
535
+ * Makes the matching socket instances join the specified rooms.
536
+ *
537
+ * Note: this method also works within a cluster of multiple Socket.IO servers, with a compatible {@link Adapter}.
538
+ *
539
+ * @example
540
+ * const myNamespace = io.of("/my-namespace");
541
+ *
542
+ * // make all socket instances join the "room1" room
543
+ * myNamespace.socketsJoin("room1");
544
+ *
545
+ * // make all socket instances in the "room1" room join the "room2" and "room3" rooms
546
+ * myNamespace.in("room1").socketsJoin(["room2", "room3"]);
547
+ *
548
+ * @param room - a room, or an array of rooms
549
+ */
550
+ socketsJoin(room) {
551
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsJoin(room);
552
+ }
553
+ /**
554
+ * Makes the matching socket instances leave the specified rooms.
555
+ *
556
+ * Note: this method also works within a cluster of multiple Socket.IO servers, with a compatible {@link Adapter}.
557
+ *
558
+ * @example
559
+ * const myNamespace = io.of("/my-namespace");
560
+ *
561
+ * // make all socket instances leave the "room1" room
562
+ * myNamespace.socketsLeave("room1");
563
+ *
564
+ * // make all socket instances in the "room1" room leave the "room2" and "room3" rooms
565
+ * myNamespace.in("room1").socketsLeave(["room2", "room3"]);
566
+ *
567
+ * @param room - a room, or an array of rooms
568
+ */
569
+ socketsLeave(room) {
570
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).socketsLeave(room);
571
+ }
572
+ /**
573
+ * Makes the matching socket instances disconnect.
574
+ *
575
+ * Note: this method also works within a cluster of multiple Socket.IO servers, with a compatible {@link Adapter}.
576
+ *
577
+ * @example
578
+ * const myNamespace = io.of("/my-namespace");
579
+ *
580
+ * // make all socket instances disconnect (the connections might be kept alive for other namespaces)
581
+ * myNamespace.disconnectSockets();
582
+ *
583
+ * // make all socket instances in the "room1" room disconnect and close the underlying connections
584
+ * myNamespace.in("room1").disconnectSockets(true);
585
+ *
586
+ * @param close - whether to close the underlying connection
587
+ */
588
+ disconnectSockets(close = false) {
589
+ return new broadcast_operator_1.BroadcastOperator(this.adapter).disconnectSockets(close);
590
+ }
591
+ }
592
+ exports.Namespace = Namespace;
593
+ } (namespace));
594
+ return namespace;
595
+ }
596
+
597
+ export { requireNamespace as __require };
@@ -0,0 +1,101 @@
1
+ import { __exports as parentNamespace } from '../../../_virtual/parent-namespace.js';
2
+ import { __require as requireNamespace } from './namespace.js';
3
+ import { __require as requireDist } from '../../socket.io-adapter/dist/index.js';
4
+ import { __require as requireSrc } from '../node_modules/debug/src/index.js';
5
+
6
+ var hasRequiredParentNamespace;
7
+
8
+ function requireParentNamespace () {
9
+ if (hasRequiredParentNamespace) return parentNamespace;
10
+ hasRequiredParentNamespace = 1;
11
+ var __importDefault = (parentNamespace && parentNamespace.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(parentNamespace, "__esModule", { value: true });
15
+ parentNamespace.ParentNamespace = void 0;
16
+ const namespace_1 = requireNamespace();
17
+ const socket_io_adapter_1 = requireDist();
18
+ const debug_1 = __importDefault(requireSrc());
19
+ const debug = (0, debug_1.default)("socket.io:parent-namespace");
20
+ /**
21
+ * A parent namespace is a special {@link Namespace} that holds a list of child namespaces which were created either
22
+ * with a regular expression or with a function.
23
+ *
24
+ * @example
25
+ * const parentNamespace = io.of(/\/dynamic-\d+/);
26
+ *
27
+ * parentNamespace.on("connection", (socket) => {
28
+ * const childNamespace = socket.nsp;
29
+ * }
30
+ *
31
+ * // will reach all the clients that are in one of the child namespaces, like "/dynamic-101"
32
+ * parentNamespace.emit("hello", "world");
33
+ *
34
+ */
35
+ class ParentNamespace extends namespace_1.Namespace {
36
+ constructor(server) {
37
+ super(server, "/_" + ParentNamespace.count++);
38
+ this.children = new Set();
39
+ }
40
+ /**
41
+ * @private
42
+ */
43
+ _initAdapter() {
44
+ this.adapter = new ParentBroadcastAdapter(this);
45
+ }
46
+ emit(ev, ...args) {
47
+ this.children.forEach((nsp) => {
48
+ nsp.emit(ev, ...args);
49
+ });
50
+ return true;
51
+ }
52
+ createChild(name) {
53
+ debug("creating child namespace %s", name);
54
+ const namespace = new namespace_1.Namespace(this.server, name);
55
+ this["_fns"].forEach((fn) => namespace.use(fn));
56
+ this.listeners("connect").forEach((listener) => namespace.on("connect", listener));
57
+ this.listeners("connection").forEach((listener) => namespace.on("connection", listener));
58
+ this.children.add(namespace);
59
+ if (this.server._opts.cleanupEmptyChildNamespaces) {
60
+ const remove = namespace._remove;
61
+ namespace._remove = (socket) => {
62
+ remove.call(namespace, socket);
63
+ if (namespace.sockets.size === 0) {
64
+ debug("closing child namespace %s", name);
65
+ namespace.adapter.close();
66
+ this.server._nsps.delete(namespace.name);
67
+ this.children.delete(namespace);
68
+ }
69
+ };
70
+ }
71
+ this.server._nsps.set(name, namespace);
72
+ // @ts-ignore
73
+ this.server.sockets.emitReserved("new_namespace", namespace);
74
+ return namespace;
75
+ }
76
+ fetchSockets() {
77
+ // note: we could make the fetchSockets() method work for dynamic namespaces created with a regex (by sending the
78
+ // regex to the other Socket.IO servers, and returning the sockets of each matching namespace for example), but
79
+ // the behavior for namespaces created with a function is less clear
80
+ // note²: we cannot loop over each children namespace, because with multiple Socket.IO servers, a given namespace
81
+ // may exist on one node but not exist on another (since it is created upon client connection)
82
+ throw new Error("fetchSockets() is not supported on parent namespaces");
83
+ }
84
+ }
85
+ parentNamespace.ParentNamespace = ParentNamespace;
86
+ ParentNamespace.count = 0;
87
+ /**
88
+ * A dummy adapter that only supports broadcasting to child (concrete) namespaces.
89
+ * @private file
90
+ */
91
+ class ParentBroadcastAdapter extends socket_io_adapter_1.Adapter {
92
+ broadcast(packet, opts) {
93
+ this.nsp.children.forEach((nsp) => {
94
+ nsp.adapter.broadcast(packet, opts);
95
+ });
96
+ }
97
+ }
98
+ return parentNamespace;
99
+ }
100
+
101
+ export { requireParentNamespace as __require };