@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,63 @@
1
+ import '../../../engine.io-client/build/esm/index.js';
2
+ import { parse } from '../../../engine.io-client/build/esm/contrib/parseuri.js';
3
+
4
+ /**
5
+ * URL parser.
6
+ *
7
+ * @param uri - url
8
+ * @param path - the request path of the connection
9
+ * @param loc - An object meant to mimic window.location.
10
+ * Defaults to window.location.
11
+ * @public
12
+ */
13
+ function url(uri, path = "", loc) {
14
+ let obj = uri;
15
+ // default to window.location
16
+ loc = loc || (typeof location !== "undefined" && location);
17
+ if (null == uri)
18
+ uri = loc.protocol + "//" + loc.host;
19
+ // relative path support
20
+ if (typeof uri === "string") {
21
+ if ("/" === uri.charAt(0)) {
22
+ if ("/" === uri.charAt(1)) {
23
+ uri = loc.protocol + uri;
24
+ }
25
+ else {
26
+ uri = loc.host + uri;
27
+ }
28
+ }
29
+ if (!/^(https?|wss?):\/\//.test(uri)) {
30
+ if ("undefined" !== typeof loc) {
31
+ uri = loc.protocol + "//" + uri;
32
+ }
33
+ else {
34
+ uri = "https://" + uri;
35
+ }
36
+ }
37
+ // parse
38
+ obj = parse(uri);
39
+ }
40
+ // make sure we treat `localhost:80` and `localhost` equally
41
+ if (!obj.port) {
42
+ if (/^(http|ws)$/.test(obj.protocol)) {
43
+ obj.port = "80";
44
+ }
45
+ else if (/^(http|ws)s$/.test(obj.protocol)) {
46
+ obj.port = "443";
47
+ }
48
+ }
49
+ obj.path = obj.path || "/";
50
+ const ipv6 = obj.host.indexOf(":") !== -1;
51
+ const host = ipv6 ? "[" + obj.host + "]" : obj.host;
52
+ // define unique id
53
+ obj.id = obj.protocol + "://" + host + ":" + obj.port + path;
54
+ // define href
55
+ obj.href =
56
+ obj.protocol +
57
+ "://" +
58
+ host +
59
+ (loc && loc.port === obj.port ? "" : ":" + obj.port);
60
+ return obj;
61
+ }
62
+
63
+ export { url };
@@ -0,0 +1,99 @@
1
+ import { __exports as binary } from '../../../../_virtual/binary.js';
2
+ import { __require as requireIsBinary } from './is-binary.js';
3
+
4
+ var hasRequiredBinary;
5
+
6
+ function requireBinary () {
7
+ if (hasRequiredBinary) return binary;
8
+ hasRequiredBinary = 1;
9
+ Object.defineProperty(binary, "__esModule", { value: true });
10
+ binary.reconstructPacket = binary.deconstructPacket = void 0;
11
+ const is_binary_js_1 = requireIsBinary();
12
+ /**
13
+ * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.
14
+ *
15
+ * @param {Object} packet - socket.io event packet
16
+ * @return {Object} with deconstructed packet and list of buffers
17
+ * @public
18
+ */
19
+ function deconstructPacket(packet) {
20
+ const buffers = [];
21
+ const packetData = packet.data;
22
+ const pack = packet;
23
+ pack.data = _deconstructPacket(packetData, buffers);
24
+ pack.attachments = buffers.length; // number of binary 'attachments'
25
+ return { packet: pack, buffers: buffers };
26
+ }
27
+ binary.deconstructPacket = deconstructPacket;
28
+ function _deconstructPacket(data, buffers) {
29
+ if (!data)
30
+ return data;
31
+ if ((0, is_binary_js_1.isBinary)(data)) {
32
+ const placeholder = { _placeholder: true, num: buffers.length };
33
+ buffers.push(data);
34
+ return placeholder;
35
+ }
36
+ else if (Array.isArray(data)) {
37
+ const newData = new Array(data.length);
38
+ for (let i = 0; i < data.length; i++) {
39
+ newData[i] = _deconstructPacket(data[i], buffers);
40
+ }
41
+ return newData;
42
+ }
43
+ else if (typeof data === "object" && !(data instanceof Date)) {
44
+ const newData = {};
45
+ for (const key in data) {
46
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
47
+ newData[key] = _deconstructPacket(data[key], buffers);
48
+ }
49
+ }
50
+ return newData;
51
+ }
52
+ return data;
53
+ }
54
+ /**
55
+ * Reconstructs a binary packet from its placeholder packet and buffers
56
+ *
57
+ * @param {Object} packet - event packet with placeholders
58
+ * @param {Array} buffers - binary buffers to put in placeholder positions
59
+ * @return {Object} reconstructed packet
60
+ * @public
61
+ */
62
+ function reconstructPacket(packet, buffers) {
63
+ packet.data = _reconstructPacket(packet.data, buffers);
64
+ delete packet.attachments; // no longer useful
65
+ return packet;
66
+ }
67
+ binary.reconstructPacket = reconstructPacket;
68
+ function _reconstructPacket(data, buffers) {
69
+ if (!data)
70
+ return data;
71
+ if (data && data._placeholder === true) {
72
+ const isIndexValid = typeof data.num === "number" &&
73
+ data.num >= 0 &&
74
+ data.num < buffers.length;
75
+ if (isIndexValid) {
76
+ return buffers[data.num]; // appropriate buffer (should be natural order anyway)
77
+ }
78
+ else {
79
+ throw new Error("illegal attachments");
80
+ }
81
+ }
82
+ else if (Array.isArray(data)) {
83
+ for (let i = 0; i < data.length; i++) {
84
+ data[i] = _reconstructPacket(data[i], buffers);
85
+ }
86
+ }
87
+ else if (typeof data === "object") {
88
+ for (const key in data) {
89
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
90
+ data[key] = _reconstructPacket(data[key], buffers);
91
+ }
92
+ }
93
+ }
94
+ return data;
95
+ }
96
+ return binary;
97
+ }
98
+
99
+ export { requireBinary as __require };
@@ -0,0 +1,337 @@
1
+ import { __exports as cjs } from '../../../../_virtual/index7.js';
2
+ import require$$0 from '../../../../_virtual/index8.js';
3
+ import { __require as requireBinary } from './binary.js';
4
+ import { __require as requireIsBinary } from './is-binary.js';
5
+ import { __require as requireSrc } from '../../node_modules/debug/src/index.js';
6
+
7
+ var hasRequiredCjs;
8
+
9
+ function requireCjs () {
10
+ if (hasRequiredCjs) return cjs;
11
+ hasRequiredCjs = 1;
12
+ (function (exports) {
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.Decoder = exports.Encoder = exports.PacketType = exports.protocol = void 0;
15
+ const component_emitter_1 = require$$0;
16
+ const binary_js_1 = requireBinary();
17
+ const is_binary_js_1 = requireIsBinary();
18
+ const debug_1 = requireSrc(); // debug()
19
+ const debug = (0, debug_1.default)("socket.io-parser"); // debug()
20
+ /**
21
+ * These strings must not be used as event names, as they have a special meaning.
22
+ */
23
+ const RESERVED_EVENTS = [
24
+ "connect",
25
+ "connect_error",
26
+ "disconnect",
27
+ "disconnecting",
28
+ "newListener",
29
+ "removeListener", // used by the Node.js EventEmitter
30
+ ];
31
+ /**
32
+ * Protocol version.
33
+ *
34
+ * @public
35
+ */
36
+ exports.protocol = 5;
37
+ var PacketType;
38
+ (function (PacketType) {
39
+ PacketType[PacketType["CONNECT"] = 0] = "CONNECT";
40
+ PacketType[PacketType["DISCONNECT"] = 1] = "DISCONNECT";
41
+ PacketType[PacketType["EVENT"] = 2] = "EVENT";
42
+ PacketType[PacketType["ACK"] = 3] = "ACK";
43
+ PacketType[PacketType["CONNECT_ERROR"] = 4] = "CONNECT_ERROR";
44
+ PacketType[PacketType["BINARY_EVENT"] = 5] = "BINARY_EVENT";
45
+ PacketType[PacketType["BINARY_ACK"] = 6] = "BINARY_ACK";
46
+ })(PacketType = exports.PacketType || (exports.PacketType = {}));
47
+ /**
48
+ * A socket.io Encoder instance
49
+ */
50
+ class Encoder {
51
+ /**
52
+ * Encoder constructor
53
+ *
54
+ * @param {function} replacer - custom replacer to pass down to JSON.parse
55
+ */
56
+ constructor(replacer) {
57
+ this.replacer = replacer;
58
+ }
59
+ /**
60
+ * Encode a packet as a single string if non-binary, or as a
61
+ * buffer sequence, depending on packet type.
62
+ *
63
+ * @param {Object} obj - packet object
64
+ */
65
+ encode(obj) {
66
+ debug("encoding packet %j", obj);
67
+ if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {
68
+ if ((0, is_binary_js_1.hasBinary)(obj)) {
69
+ return this.encodeAsBinary({
70
+ type: obj.type === PacketType.EVENT
71
+ ? PacketType.BINARY_EVENT
72
+ : PacketType.BINARY_ACK,
73
+ nsp: obj.nsp,
74
+ data: obj.data,
75
+ id: obj.id,
76
+ });
77
+ }
78
+ }
79
+ return [this.encodeAsString(obj)];
80
+ }
81
+ /**
82
+ * Encode packet as string.
83
+ */
84
+ encodeAsString(obj) {
85
+ // first is type
86
+ let str = "" + obj.type;
87
+ // attachments if we have them
88
+ if (obj.type === PacketType.BINARY_EVENT ||
89
+ obj.type === PacketType.BINARY_ACK) {
90
+ str += obj.attachments + "-";
91
+ }
92
+ // if we have a namespace other than `/`
93
+ // we append it followed by a comma `,`
94
+ if (obj.nsp && "/" !== obj.nsp) {
95
+ str += obj.nsp + ",";
96
+ }
97
+ // immediately followed by the id
98
+ if (null != obj.id) {
99
+ str += obj.id;
100
+ }
101
+ // json data
102
+ if (null != obj.data) {
103
+ str += JSON.stringify(obj.data, this.replacer);
104
+ }
105
+ debug("encoded %j as %s", obj, str);
106
+ return str;
107
+ }
108
+ /**
109
+ * Encode packet as 'buffer sequence' by removing blobs, and
110
+ * deconstructing packet into object with placeholders and
111
+ * a list of buffers.
112
+ */
113
+ encodeAsBinary(obj) {
114
+ const deconstruction = (0, binary_js_1.deconstructPacket)(obj);
115
+ const pack = this.encodeAsString(deconstruction.packet);
116
+ const buffers = deconstruction.buffers;
117
+ buffers.unshift(pack); // add packet info to beginning of data list
118
+ return buffers; // write all the buffers
119
+ }
120
+ }
121
+ exports.Encoder = Encoder;
122
+ // see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript
123
+ function isObject(value) {
124
+ return Object.prototype.toString.call(value) === "[object Object]";
125
+ }
126
+ /**
127
+ * A socket.io Decoder instance
128
+ *
129
+ * @return {Object} decoder
130
+ */
131
+ class Decoder extends component_emitter_1.Emitter {
132
+ /**
133
+ * Decoder constructor
134
+ *
135
+ * @param {function} reviver - custom reviver to pass down to JSON.stringify
136
+ */
137
+ constructor(reviver) {
138
+ super();
139
+ this.reviver = reviver;
140
+ }
141
+ /**
142
+ * Decodes an encoded packet string into packet JSON.
143
+ *
144
+ * @param {String} obj - encoded packet
145
+ */
146
+ add(obj) {
147
+ let packet;
148
+ if (typeof obj === "string") {
149
+ if (this.reconstructor) {
150
+ throw new Error("got plaintext data when reconstructing a packet");
151
+ }
152
+ packet = this.decodeString(obj);
153
+ const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;
154
+ if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {
155
+ packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;
156
+ // binary packet's json
157
+ this.reconstructor = new BinaryReconstructor(packet);
158
+ // no attachments, labeled binary but no binary data to follow
159
+ if (packet.attachments === 0) {
160
+ super.emitReserved("decoded", packet);
161
+ }
162
+ }
163
+ else {
164
+ // non-binary full packet
165
+ super.emitReserved("decoded", packet);
166
+ }
167
+ }
168
+ else if ((0, is_binary_js_1.isBinary)(obj) || obj.base64) {
169
+ // raw binary data
170
+ if (!this.reconstructor) {
171
+ throw new Error("got binary data when not reconstructing a packet");
172
+ }
173
+ else {
174
+ packet = this.reconstructor.takeBinaryData(obj);
175
+ if (packet) {
176
+ // received final buffer
177
+ this.reconstructor = null;
178
+ super.emitReserved("decoded", packet);
179
+ }
180
+ }
181
+ }
182
+ else {
183
+ throw new Error("Unknown type: " + obj);
184
+ }
185
+ }
186
+ /**
187
+ * Decode a packet String (JSON data)
188
+ *
189
+ * @param {String} str
190
+ * @return {Object} packet
191
+ */
192
+ decodeString(str) {
193
+ let i = 0;
194
+ // look up type
195
+ const p = {
196
+ type: Number(str.charAt(0)),
197
+ };
198
+ if (PacketType[p.type] === undefined) {
199
+ throw new Error("unknown packet type " + p.type);
200
+ }
201
+ // look up attachments if type binary
202
+ if (p.type === PacketType.BINARY_EVENT ||
203
+ p.type === PacketType.BINARY_ACK) {
204
+ const start = i + 1;
205
+ while (str.charAt(++i) !== "-" && i != str.length) { }
206
+ const buf = str.substring(start, i);
207
+ if (buf != Number(buf) || str.charAt(i) !== "-") {
208
+ throw new Error("Illegal attachments");
209
+ }
210
+ p.attachments = Number(buf);
211
+ }
212
+ // look up namespace (if any)
213
+ if ("/" === str.charAt(i + 1)) {
214
+ const start = i + 1;
215
+ while (++i) {
216
+ const c = str.charAt(i);
217
+ if ("," === c)
218
+ break;
219
+ if (i === str.length)
220
+ break;
221
+ }
222
+ p.nsp = str.substring(start, i);
223
+ }
224
+ else {
225
+ p.nsp = "/";
226
+ }
227
+ // look up id
228
+ const next = str.charAt(i + 1);
229
+ if ("" !== next && Number(next) == next) {
230
+ const start = i + 1;
231
+ while (++i) {
232
+ const c = str.charAt(i);
233
+ if (null == c || Number(c) != c) {
234
+ --i;
235
+ break;
236
+ }
237
+ if (i === str.length)
238
+ break;
239
+ }
240
+ p.id = Number(str.substring(start, i + 1));
241
+ }
242
+ // look up json data
243
+ if (str.charAt(++i)) {
244
+ const payload = this.tryParse(str.substr(i));
245
+ if (Decoder.isPayloadValid(p.type, payload)) {
246
+ p.data = payload;
247
+ }
248
+ else {
249
+ throw new Error("invalid payload");
250
+ }
251
+ }
252
+ debug("decoded %s as %j", str, p);
253
+ return p;
254
+ }
255
+ tryParse(str) {
256
+ try {
257
+ return JSON.parse(str, this.reviver);
258
+ }
259
+ catch (e) {
260
+ return false;
261
+ }
262
+ }
263
+ static isPayloadValid(type, payload) {
264
+ switch (type) {
265
+ case PacketType.CONNECT:
266
+ return isObject(payload);
267
+ case PacketType.DISCONNECT:
268
+ return payload === undefined;
269
+ case PacketType.CONNECT_ERROR:
270
+ return typeof payload === "string" || isObject(payload);
271
+ case PacketType.EVENT:
272
+ case PacketType.BINARY_EVENT:
273
+ return (Array.isArray(payload) &&
274
+ (typeof payload[0] === "number" ||
275
+ (typeof payload[0] === "string" &&
276
+ RESERVED_EVENTS.indexOf(payload[0]) === -1)));
277
+ case PacketType.ACK:
278
+ case PacketType.BINARY_ACK:
279
+ return Array.isArray(payload);
280
+ }
281
+ }
282
+ /**
283
+ * Deallocates a parser's resources
284
+ */
285
+ destroy() {
286
+ if (this.reconstructor) {
287
+ this.reconstructor.finishedReconstruction();
288
+ this.reconstructor = null;
289
+ }
290
+ }
291
+ }
292
+ exports.Decoder = Decoder;
293
+ /**
294
+ * A manager of a binary event's 'buffer sequence'. Should
295
+ * be constructed whenever a packet of type BINARY_EVENT is
296
+ * decoded.
297
+ *
298
+ * @param {Object} packet
299
+ * @return {BinaryReconstructor} initialized reconstructor
300
+ */
301
+ class BinaryReconstructor {
302
+ constructor(packet) {
303
+ this.packet = packet;
304
+ this.buffers = [];
305
+ this.reconPack = packet;
306
+ }
307
+ /**
308
+ * Method to be called when binary data received from connection
309
+ * after a BINARY_EVENT packet.
310
+ *
311
+ * @param {Buffer | ArrayBuffer} binData - the raw binary data received
312
+ * @return {null | Object} returns null if more binary data is expected or
313
+ * a reconstructed packet object if all buffers have been received.
314
+ */
315
+ takeBinaryData(binData) {
316
+ this.buffers.push(binData);
317
+ if (this.buffers.length === this.reconPack.attachments) {
318
+ // done with buffer list
319
+ const packet = (0, binary_js_1.reconstructPacket)(this.reconPack, this.buffers);
320
+ this.finishedReconstruction();
321
+ return packet;
322
+ }
323
+ return null;
324
+ }
325
+ /**
326
+ * Cleans up binary packet reconstruction variables.
327
+ */
328
+ finishedReconstruction() {
329
+ this.reconPack = null;
330
+ this.buffers = [];
331
+ }
332
+ }
333
+ } (cjs));
334
+ return cjs;
335
+ }
336
+
337
+ export { requireCjs as __require };
@@ -0,0 +1,65 @@
1
+ import { __exports as isBinary } from '../../../../_virtual/is-binary.js';
2
+
3
+ var hasRequiredIsBinary;
4
+
5
+ function requireIsBinary () {
6
+ if (hasRequiredIsBinary) return isBinary;
7
+ hasRequiredIsBinary = 1;
8
+ Object.defineProperty(isBinary, "__esModule", { value: true });
9
+ isBinary.hasBinary = isBinary.isBinary = void 0;
10
+ const withNativeArrayBuffer = typeof ArrayBuffer === "function";
11
+ const isView = (obj) => {
12
+ return typeof ArrayBuffer.isView === "function"
13
+ ? ArrayBuffer.isView(obj)
14
+ : obj.buffer instanceof ArrayBuffer;
15
+ };
16
+ const toString = Object.prototype.toString;
17
+ const withNativeBlob = typeof Blob === "function" ||
18
+ (typeof Blob !== "undefined" &&
19
+ toString.call(Blob) === "[object BlobConstructor]");
20
+ const withNativeFile = typeof File === "function" ||
21
+ (typeof File !== "undefined" &&
22
+ toString.call(File) === "[object FileConstructor]");
23
+ /**
24
+ * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.
25
+ *
26
+ * @private
27
+ */
28
+ function isBinary$1(obj) {
29
+ return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||
30
+ (withNativeBlob && obj instanceof Blob) ||
31
+ (withNativeFile && obj instanceof File));
32
+ }
33
+ isBinary.isBinary = isBinary$1;
34
+ function hasBinary(obj, toJSON) {
35
+ if (!obj || typeof obj !== "object") {
36
+ return false;
37
+ }
38
+ if (Array.isArray(obj)) {
39
+ for (let i = 0, l = obj.length; i < l; i++) {
40
+ if (hasBinary(obj[i])) {
41
+ return true;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ if (isBinary$1(obj)) {
47
+ return true;
48
+ }
49
+ if (obj.toJSON &&
50
+ typeof obj.toJSON === "function" &&
51
+ arguments.length === 1) {
52
+ return hasBinary(obj.toJSON(), true);
53
+ }
54
+ for (const key in obj) {
55
+ if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {
56
+ return true;
57
+ }
58
+ }
59
+ return false;
60
+ }
61
+ isBinary.hasBinary = hasBinary;
62
+ return isBinary;
63
+ }
64
+
65
+ export { requireIsBinary as __require };
@@ -0,0 +1,86 @@
1
+ import { isBinary } from './is-binary.js';
2
+
3
+ /**
4
+ * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.
5
+ *
6
+ * @param {Object} packet - socket.io event packet
7
+ * @return {Object} with deconstructed packet and list of buffers
8
+ * @public
9
+ */
10
+ function deconstructPacket(packet) {
11
+ const buffers = [];
12
+ const packetData = packet.data;
13
+ const pack = packet;
14
+ pack.data = _deconstructPacket(packetData, buffers);
15
+ pack.attachments = buffers.length; // number of binary 'attachments'
16
+ return { packet: pack, buffers: buffers };
17
+ }
18
+ function _deconstructPacket(data, buffers) {
19
+ if (!data)
20
+ return data;
21
+ if (isBinary(data)) {
22
+ const placeholder = { _placeholder: true, num: buffers.length };
23
+ buffers.push(data);
24
+ return placeholder;
25
+ }
26
+ else if (Array.isArray(data)) {
27
+ const newData = new Array(data.length);
28
+ for (let i = 0; i < data.length; i++) {
29
+ newData[i] = _deconstructPacket(data[i], buffers);
30
+ }
31
+ return newData;
32
+ }
33
+ else if (typeof data === "object" && !(data instanceof Date)) {
34
+ const newData = {};
35
+ for (const key in data) {
36
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
37
+ newData[key] = _deconstructPacket(data[key], buffers);
38
+ }
39
+ }
40
+ return newData;
41
+ }
42
+ return data;
43
+ }
44
+ /**
45
+ * Reconstructs a binary packet from its placeholder packet and buffers
46
+ *
47
+ * @param {Object} packet - event packet with placeholders
48
+ * @param {Array} buffers - binary buffers to put in placeholder positions
49
+ * @return {Object} reconstructed packet
50
+ * @public
51
+ */
52
+ function reconstructPacket(packet, buffers) {
53
+ packet.data = _reconstructPacket(packet.data, buffers);
54
+ delete packet.attachments; // no longer useful
55
+ return packet;
56
+ }
57
+ function _reconstructPacket(data, buffers) {
58
+ if (!data)
59
+ return data;
60
+ if (data && data._placeholder === true) {
61
+ const isIndexValid = typeof data.num === "number" &&
62
+ data.num >= 0 &&
63
+ data.num < buffers.length;
64
+ if (isIndexValid) {
65
+ return buffers[data.num]; // appropriate buffer (should be natural order anyway)
66
+ }
67
+ else {
68
+ throw new Error("illegal attachments");
69
+ }
70
+ }
71
+ else if (Array.isArray(data)) {
72
+ for (let i = 0; i < data.length; i++) {
73
+ data[i] = _reconstructPacket(data[i], buffers);
74
+ }
75
+ }
76
+ else if (typeof data === "object") {
77
+ for (const key in data) {
78
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
79
+ data[key] = _reconstructPacket(data[key], buffers);
80
+ }
81
+ }
82
+ }
83
+ return data;
84
+ }
85
+
86
+ export { deconstructPacket, reconstructPacket };