@kohost/api-client 3.9.12 → 4.0.4

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 (776) hide show
  1. package/dist/appError-v8-O4juF.d.cts +7 -0
  2. package/dist/appError-v8-O4juF.d.ts +7 -0
  3. package/dist/chunk-36WNTEIW.js +117 -0
  4. package/dist/chunk-36WNTEIW.js.map +1 -0
  5. package/dist/chunk-EBJTC6MA.js +26 -0
  6. package/dist/chunk-EBJTC6MA.js.map +1 -0
  7. package/dist/chunk-HKJ2B2AA.js +15 -0
  8. package/dist/chunk-HKJ2B2AA.js.map +1 -0
  9. package/dist/chunk-KBBL6OJS.js +36359 -0
  10. package/dist/chunk-KBBL6OJS.js.map +1 -0
  11. package/dist/{cjs/defs/amqpExchanges.js → chunk-KNSZIQXT.js} +32 -14
  12. package/dist/chunk-KNSZIQXT.js.map +1 -0
  13. package/dist/chunk-MYWOGDCQ.js +502 -0
  14. package/dist/chunk-MYWOGDCQ.js.map +1 -0
  15. package/dist/chunk-W2G36LNI.js +67 -0
  16. package/dist/chunk-W2G36LNI.js.map +1 -0
  17. package/dist/client.cjs +288 -0
  18. package/dist/client.cjs.map +1 -0
  19. package/dist/client.d.cts +81 -0
  20. package/dist/client.d.ts +81 -0
  21. package/dist/client.js +208 -0
  22. package/dist/client.js.map +1 -0
  23. package/dist/commands.cjs +443 -0
  24. package/dist/commands.cjs.map +1 -0
  25. package/dist/commands.d.cts +268 -0
  26. package/dist/commands.d.ts +268 -0
  27. package/dist/commands.js +380 -0
  28. package/dist/commands.js.map +1 -0
  29. package/dist/defs.cjs +83 -0
  30. package/dist/defs.cjs.map +1 -0
  31. package/dist/defs.d.cts +62 -0
  32. package/dist/defs.d.ts +62 -0
  33. package/dist/defs.js +10 -0
  34. package/dist/defs.js.map +1 -0
  35. package/dist/errors.cjs +157 -0
  36. package/dist/errors.cjs.map +1 -0
  37. package/dist/errors.d.cts +47 -0
  38. package/dist/errors.d.ts +47 -0
  39. package/dist/errors.js +32 -0
  40. package/dist/errors.js.map +1 -0
  41. package/dist/events.cjs +526 -0
  42. package/dist/events.cjs.map +1 -0
  43. package/dist/events.d.cts +230 -0
  44. package/dist/events.d.ts +230 -0
  45. package/dist/events.js +67 -0
  46. package/dist/events.js.map +1 -0
  47. package/dist/index.cjs +51708 -0
  48. package/dist/index.cjs.map +1 -0
  49. package/dist/index.d.cts +30955 -0
  50. package/dist/index.d.ts +30955 -0
  51. package/dist/index.js +51670 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/models.cjs +36397 -0
  54. package/dist/models.cjs.map +1 -0
  55. package/dist/models.d.cts +88 -0
  56. package/dist/models.d.ts +88 -0
  57. package/dist/models.js +89 -0
  58. package/dist/models.js.map +1 -0
  59. package/dist/socketIoClient.cjs +117 -0
  60. package/dist/socketIoClient.cjs.map +1 -0
  61. package/dist/socketIoClient.d.cts +43 -0
  62. package/dist/socketIoClient.d.ts +43 -0
  63. package/dist/{cjs/SocketIoClient/index.js → socketIoClient.js} +33 -31
  64. package/dist/socketIoClient.js.map +1 -0
  65. package/dist/useCases.cjs +13656 -0
  66. package/dist/useCases.cjs.map +1 -0
  67. package/dist/useCases.d.cts +21004 -0
  68. package/dist/useCases.d.ts +21004 -0
  69. package/dist/useCases.js +13576 -0
  70. package/dist/useCases.js.map +1 -0
  71. package/dist/utils.cjs +37088 -0
  72. package/dist/utils.cjs.map +1 -0
  73. package/dist/utils.d.cts +9 -0
  74. package/dist/utils.d.ts +9 -0
  75. package/dist/utils.js +190 -0
  76. package/dist/utils.js.map +1 -0
  77. package/dist/windowCovering-C3dsx-cW.d.cts +8328 -0
  78. package/dist/windowCovering-C3dsx-cW.d.ts +8328 -0
  79. package/package.json +67 -17
  80. package/dist/cjs/AMQPClient/index.js +0 -239
  81. package/dist/cjs/Client/index.js +0 -7831
  82. package/dist/cjs/Commands/CheckInReservation.js +0 -15
  83. package/dist/cjs/Commands/CheckOutReservation.js +0 -16
  84. package/dist/cjs/Commands/Command.js +0 -32
  85. package/dist/cjs/Commands/CreateImageUploadEndpoint.js +0 -13
  86. package/dist/cjs/Commands/CreateShortLink.js +0 -16
  87. package/dist/cjs/Commands/GetCategories.js +0 -13
  88. package/dist/cjs/Commands/GetMobileKey.js +0 -20
  89. package/dist/cjs/Commands/GetProducts.js +0 -13
  90. package/dist/cjs/Commands/GetReservationSpaceCategoryAvailabilities.js +0 -16
  91. package/dist/cjs/Commands/GetReservations.js +0 -16
  92. package/dist/cjs/Commands/GetRooms.js +0 -31
  93. package/dist/cjs/Commands/GetUsers.js +0 -13
  94. package/dist/cjs/Commands/OCRDocument.js +0 -15
  95. package/dist/cjs/Commands/SellProducts.js +0 -13
  96. package/dist/cjs/Commands/SendEmail.js +0 -20
  97. package/dist/cjs/Commands/SendSMS.js +0 -18
  98. package/dist/cjs/Commands/SetAlarm.js +0 -13
  99. package/dist/cjs/Commands/SetCourtesy.js +0 -13
  100. package/dist/cjs/Commands/SetDimmer.js +0 -13
  101. package/dist/cjs/Commands/SetLock.js +0 -13
  102. package/dist/cjs/Commands/SetMedia.js +0 -13
  103. package/dist/cjs/Commands/SetScene.js +0 -13
  104. package/dist/cjs/Commands/SetSwitch.js +0 -13
  105. package/dist/cjs/Commands/SetThermostat.js +0 -13
  106. package/dist/cjs/Commands/SetWindowCovering.js +0 -13
  107. package/dist/cjs/Commands/UpdateReservation.js +0 -15
  108. package/dist/cjs/Commands/UpdateUser.js +0 -37
  109. package/dist/cjs/Commands/UploadImage.js +0 -13
  110. package/dist/cjs/Commands/index.js +0 -59
  111. package/dist/cjs/Errors/AppError.js +0 -9
  112. package/dist/cjs/Errors/AuthenticationError.js +0 -10
  113. package/dist/cjs/Errors/AuthorizationError.js +0 -10
  114. package/dist/cjs/Errors/ConflictError.js +0 -10
  115. package/dist/cjs/Errors/DeviceCommError.js +0 -10
  116. package/dist/cjs/Errors/LoginError.js +0 -10
  117. package/dist/cjs/Errors/NotFoundError.js +0 -10
  118. package/dist/cjs/Errors/RequestError.js +0 -10
  119. package/dist/cjs/Errors/SystemCommError.js +0 -10
  120. package/dist/cjs/Errors/TokenExpiredError.js +0 -10
  121. package/dist/cjs/Errors/UnprocessableRequestError.js +0 -10
  122. package/dist/cjs/Errors/ValidationError.js +0 -10
  123. package/dist/cjs/Errors/index.js +0 -16
  124. package/dist/cjs/Events/ApplicationInUse.js +0 -22
  125. package/dist/cjs/Events/ApplicationOutOfUse.js +0 -22
  126. package/dist/cjs/Events/EmailEvent.js +0 -17
  127. package/dist/cjs/Events/Event.js +0 -44
  128. package/dist/cjs/Events/ReservationCheckedIn.js +0 -22
  129. package/dist/cjs/Events/ReservationCheckedOut.js +0 -22
  130. package/dist/cjs/Events/ReservationSpaceChanged.js +0 -22
  131. package/dist/cjs/Events/SMSEvent.js +0 -17
  132. package/dist/cjs/Events/SceneSet.js +0 -17
  133. package/dist/cjs/Events/ShortLinkCreated.js +0 -17
  134. package/dist/cjs/Events/SystemAlarmUpdated.js +0 -17
  135. package/dist/cjs/Events/SystemCameraUpdated.js +0 -17
  136. package/dist/cjs/Events/SystemCategoryUpdated.js +0 -17
  137. package/dist/cjs/Events/SystemCourtesyUpdated.js +0 -17
  138. package/dist/cjs/Events/SystemCredentialUpdated.js +0 -17
  139. package/dist/cjs/Events/SystemDimmerUpdated.js +0 -17
  140. package/dist/cjs/Events/SystemEntityDeleted.js +0 -17
  141. package/dist/cjs/Events/SystemGatewayUpdated.js +0 -17
  142. package/dist/cjs/Events/SystemLockUpdated.js +0 -17
  143. package/dist/cjs/Events/SystemMediaSourceUpdated.js +0 -17
  144. package/dist/cjs/Events/SystemMotionSensorUpdated.js +0 -17
  145. package/dist/cjs/Events/SystemOrganizationUpdated.js +0 -17
  146. package/dist/cjs/Events/SystemProductUpdated.js +0 -17
  147. package/dist/cjs/Events/SystemPropertyUpdated.js +0 -17
  148. package/dist/cjs/Events/SystemReservationUpdated.js +0 -17
  149. package/dist/cjs/Events/SystemSpaceUpdated.js +0 -17
  150. package/dist/cjs/Events/SystemSwitchUpdated.js +0 -17
  151. package/dist/cjs/Events/SystemThermostatUpdated.js +0 -17
  152. package/dist/cjs/Events/SystemUserUpdated.js +0 -17
  153. package/dist/cjs/Events/SystemWindowCoveringUpdated.js +0 -17
  154. package/dist/cjs/Events/index.js +0 -71
  155. package/dist/cjs/Models/Alarm.js +0 -35
  156. package/dist/cjs/Models/Announcement.js +0 -34
  157. package/dist/cjs/Models/Camera.js +0 -35
  158. package/dist/cjs/Models/Category.js +0 -36
  159. package/dist/cjs/Models/Courtesy.js +0 -39
  160. package/dist/cjs/Models/Credential.js +0 -35
  161. package/dist/cjs/Models/DeviceRouter.js +0 -36
  162. package/dist/cjs/Models/Dimmer.js +0 -61
  163. package/dist/cjs/Models/DiscoveredDevice.js +0 -36
  164. package/dist/cjs/Models/EmailMessage.js +0 -35
  165. package/dist/cjs/Models/EnergyReport.js +0 -35
  166. package/dist/cjs/Models/EnergyReportShard.js +0 -35
  167. package/dist/cjs/Models/Entity.js +0 -96
  168. package/dist/cjs/Models/Gateway.js +0 -35
  169. package/dist/cjs/Models/Identification.js +0 -38
  170. package/dist/cjs/Models/Issue.js +0 -35
  171. package/dist/cjs/Models/Lock.js +0 -39
  172. package/dist/cjs/Models/Log.js +0 -35
  173. package/dist/cjs/Models/MediaFile.js +0 -48
  174. package/dist/cjs/Models/MediaSource.js +0 -35
  175. package/dist/cjs/Models/MotionSensor.js +0 -35
  176. package/dist/cjs/Models/Order.js +0 -100
  177. package/dist/cjs/Models/Organization.js +0 -34
  178. package/dist/cjs/Models/Policy.js +0 -34
  179. package/dist/cjs/Models/Product.js +0 -35
  180. package/dist/cjs/Models/Property.js +0 -34
  181. package/dist/cjs/Models/Reservation.js +0 -114
  182. package/dist/cjs/Models/Room.js +0 -217
  183. package/dist/cjs/Models/Scene.js +0 -169
  184. package/dist/cjs/Models/ShortLink.js +0 -35
  185. package/dist/cjs/Models/SmsMessage.js +0 -35
  186. package/dist/cjs/Models/Space.js +0 -97
  187. package/dist/cjs/Models/Switch.js +0 -39
  188. package/dist/cjs/Models/SystemUser.js +0 -55
  189. package/dist/cjs/Models/Thermostat.js +0 -86
  190. package/dist/cjs/Models/Ticket.js +0 -55
  191. package/dist/cjs/Models/TimeSheet.js +0 -60
  192. package/dist/cjs/Models/User.js +0 -130
  193. package/dist/cjs/Models/Vendor.js +0 -35
  194. package/dist/cjs/Models/WindowCovering.js +0 -55
  195. package/dist/cjs/Models/index.js +0 -85
  196. package/dist/cjs/defs/deviceTypes.js +0 -15
  197. package/dist/cjs/defs/formalDeviceTypes.js +0 -6
  198. package/dist/cjs/defs/index.js +0 -11
  199. package/dist/cjs/index.js +0 -23
  200. package/dist/cjs/schemas/alarm.json +0 -85
  201. package/dist/cjs/schemas/announcement.json +0 -47
  202. package/dist/cjs/schemas/camera.json +0 -105
  203. package/dist/cjs/schemas/category.json +0 -42
  204. package/dist/cjs/schemas/courtesy.json +0 -48
  205. package/dist/cjs/schemas/credential.json +0 -54
  206. package/dist/cjs/schemas/definitions.json +0 -245
  207. package/dist/cjs/schemas/deviceRouter.json +0 -29
  208. package/dist/cjs/schemas/dimmer.json +0 -42
  209. package/dist/cjs/schemas/discoveredDevice.json +0 -44
  210. package/dist/cjs/schemas/emailMessage.json +0 -72
  211. package/dist/cjs/schemas/energyReport.json +0 -86
  212. package/dist/cjs/schemas/energyReportShard.json +0 -75
  213. package/dist/cjs/schemas/gateway.json +0 -34
  214. package/dist/cjs/schemas/identification.json +0 -61
  215. package/dist/cjs/schemas/issue.json +0 -54
  216. package/dist/cjs/schemas/lock.json +0 -57
  217. package/dist/cjs/schemas/log.json +0 -94
  218. package/dist/cjs/schemas/mediaFile.json +0 -75
  219. package/dist/cjs/schemas/mediaSource.json +0 -246
  220. package/dist/cjs/schemas/motionSensor.json +0 -32
  221. package/dist/cjs/schemas/order.json +0 -190
  222. package/dist/cjs/schemas/organization.json +0 -159
  223. package/dist/cjs/schemas/payment.json +0 -47
  224. package/dist/cjs/schemas/policy.json +0 -62
  225. package/dist/cjs/schemas/product.json +0 -45
  226. package/dist/cjs/schemas/property.json +0 -430
  227. package/dist/cjs/schemas/reservation.json +0 -146
  228. package/dist/cjs/schemas/room.json +0 -103
  229. package/dist/cjs/schemas/scene.json +0 -146
  230. package/dist/cjs/schemas/shortLink.json +0 -31
  231. package/dist/cjs/schemas/smsMessage.json +0 -62
  232. package/dist/cjs/schemas/space.json +0 -155
  233. package/dist/cjs/schemas/switch.json +0 -49
  234. package/dist/cjs/schemas/systemUser.json +0 -106
  235. package/dist/cjs/schemas/thermostat.json +0 -149
  236. package/dist/cjs/schemas/ticket.json +0 -229
  237. package/dist/cjs/schemas/timeSheet.json +0 -61
  238. package/dist/cjs/schemas/user.json +0 -189
  239. package/dist/cjs/schemas/vendor.json +0 -40
  240. package/dist/cjs/schemas/windowCovering.json +0 -48
  241. package/dist/cjs/utils/entityFactory.js +0 -86
  242. package/dist/cjs/utils/errorFactory.js +0 -32
  243. package/dist/cjs/utils/eventFactory.js +0 -10
  244. package/dist/cjs/utils/getDeviceTypes.js +0 -7
  245. package/dist/cjs/utils/getFormalDeviceType.js +0 -5
  246. package/dist/cjs/utils/index.js +0 -13
  247. package/dist/cjs/utils/schema.js +0 -25
  248. package/dist/esm/Client.js +0 -10692
  249. package/dist/esm/Client.js.map +0 -7
  250. package/dist/esm/Commands.js +0 -985
  251. package/dist/esm/Commands.js.map +0 -7
  252. package/dist/esm/Errors.js +0 -245
  253. package/dist/esm/Errors.js.map +0 -7
  254. package/dist/esm/Events.js +0 -741
  255. package/dist/esm/Events.js.map +0 -7
  256. package/dist/esm/Models.js +0 -14074
  257. package/dist/esm/Models.js.map +0 -7
  258. package/dist/esm/SocketIoClient.js +0 -5010
  259. package/dist/esm/SocketIoClient.js.map +0 -7
  260. package/dist/esm/defs.js +0 -3070
  261. package/dist/esm/defs.js.map +0 -7
  262. package/dist/esm/index.js +0 -18
  263. package/dist/esm/utils.js +0 -14263
  264. package/dist/esm/utils.js.map +0 -7
  265. package/dist/types/AMQPClient/index.d.ts +0 -128
  266. package/dist/types/AMQPClient/index.d.ts.map +0 -1
  267. package/dist/types/Client/index.d.ts +0 -58
  268. package/dist/types/Client/index.d.ts.map +0 -1
  269. package/dist/types/Commands/CheckInReservation.d.ts +0 -10
  270. package/dist/types/Commands/CheckInReservation.d.ts.map +0 -1
  271. package/dist/types/Commands/CheckOutReservation.d.ts +0 -11
  272. package/dist/types/Commands/CheckOutReservation.d.ts.map +0 -1
  273. package/dist/types/Commands/Command.d.ts +0 -12
  274. package/dist/types/Commands/Command.d.ts.map +0 -1
  275. package/dist/types/Commands/CreateImageUploadEndpoint.d.ts +0 -11
  276. package/dist/types/Commands/CreateImageUploadEndpoint.d.ts.map +0 -1
  277. package/dist/types/Commands/CreateShortLink.d.ts +0 -11
  278. package/dist/types/Commands/CreateShortLink.d.ts.map +0 -1
  279. package/dist/types/Commands/GetCategories.d.ts +0 -10
  280. package/dist/types/Commands/GetCategories.d.ts.map +0 -1
  281. package/dist/types/Commands/GetMobileKey.d.ts +0 -14
  282. package/dist/types/Commands/GetMobileKey.d.ts.map +0 -1
  283. package/dist/types/Commands/GetProducts.d.ts +0 -11
  284. package/dist/types/Commands/GetProducts.d.ts.map +0 -1
  285. package/dist/types/Commands/GetReservationSpaceCategoryAvailabilities.d.ts +0 -6
  286. package/dist/types/Commands/GetReservationSpaceCategoryAvailabilities.d.ts.map +0 -1
  287. package/dist/types/Commands/GetReservations.d.ts +0 -6
  288. package/dist/types/Commands/GetReservations.d.ts.map +0 -1
  289. package/dist/types/Commands/GetRooms.d.ts +0 -16
  290. package/dist/types/Commands/GetRooms.d.ts.map +0 -1
  291. package/dist/types/Commands/GetUsers.d.ts +0 -10
  292. package/dist/types/Commands/GetUsers.d.ts.map +0 -1
  293. package/dist/types/Commands/OCRDocument.d.ts +0 -11
  294. package/dist/types/Commands/OCRDocument.d.ts.map +0 -1
  295. package/dist/types/Commands/SellProducts.d.ts +0 -12
  296. package/dist/types/Commands/SellProducts.d.ts.map +0 -1
  297. package/dist/types/Commands/SendEmail.d.ts +0 -14
  298. package/dist/types/Commands/SendEmail.d.ts.map +0 -1
  299. package/dist/types/Commands/SendSMS.d.ts +0 -14
  300. package/dist/types/Commands/SendSMS.d.ts.map +0 -1
  301. package/dist/types/Commands/SetAlarm.d.ts +0 -13
  302. package/dist/types/Commands/SetAlarm.d.ts.map +0 -1
  303. package/dist/types/Commands/SetCourtesy.d.ts +0 -11
  304. package/dist/types/Commands/SetCourtesy.d.ts.map +0 -1
  305. package/dist/types/Commands/SetDimmer.d.ts +0 -11
  306. package/dist/types/Commands/SetDimmer.d.ts.map +0 -1
  307. package/dist/types/Commands/SetLock.d.ts +0 -11
  308. package/dist/types/Commands/SetLock.d.ts.map +0 -1
  309. package/dist/types/Commands/SetMedia.d.ts +0 -11
  310. package/dist/types/Commands/SetMedia.d.ts.map +0 -1
  311. package/dist/types/Commands/SetScene.d.ts +0 -11
  312. package/dist/types/Commands/SetScene.d.ts.map +0 -1
  313. package/dist/types/Commands/SetSwitch.d.ts +0 -11
  314. package/dist/types/Commands/SetSwitch.d.ts.map +0 -1
  315. package/dist/types/Commands/SetThermostat.d.ts +0 -13
  316. package/dist/types/Commands/SetThermostat.d.ts.map +0 -1
  317. package/dist/types/Commands/SetWindowCovering.d.ts +0 -11
  318. package/dist/types/Commands/SetWindowCovering.d.ts.map +0 -1
  319. package/dist/types/Commands/UpdateReservation.d.ts +0 -10
  320. package/dist/types/Commands/UpdateReservation.d.ts.map +0 -1
  321. package/dist/types/Commands/UpdateUser.d.ts +0 -18
  322. package/dist/types/Commands/UpdateUser.d.ts.map +0 -1
  323. package/dist/types/Commands/UploadImage.d.ts +0 -12
  324. package/dist/types/Commands/UploadImage.d.ts.map +0 -1
  325. package/dist/types/Commands/index.d.ts +0 -30
  326. package/dist/types/Commands/index.d.ts.map +0 -1
  327. package/dist/types/Errors/AppError.d.ts +0 -7
  328. package/dist/types/Errors/AppError.d.ts.map +0 -1
  329. package/dist/types/Errors/AuthenticationError.d.ts +0 -6
  330. package/dist/types/Errors/AuthenticationError.d.ts.map +0 -1
  331. package/dist/types/Errors/AuthorizationError.d.ts +0 -6
  332. package/dist/types/Errors/AuthorizationError.d.ts.map +0 -1
  333. package/dist/types/Errors/ConflictError.d.ts +0 -6
  334. package/dist/types/Errors/ConflictError.d.ts.map +0 -1
  335. package/dist/types/Errors/DeviceCommError.d.ts +0 -6
  336. package/dist/types/Errors/DeviceCommError.d.ts.map +0 -1
  337. package/dist/types/Errors/LoginError.d.ts +0 -6
  338. package/dist/types/Errors/LoginError.d.ts.map +0 -1
  339. package/dist/types/Errors/NotFoundError.d.ts +0 -6
  340. package/dist/types/Errors/NotFoundError.d.ts.map +0 -1
  341. package/dist/types/Errors/RequestError.d.ts +0 -6
  342. package/dist/types/Errors/RequestError.d.ts.map +0 -1
  343. package/dist/types/Errors/SystemCommError.d.ts +0 -6
  344. package/dist/types/Errors/SystemCommError.d.ts.map +0 -1
  345. package/dist/types/Errors/TokenExpiredError.d.ts +0 -6
  346. package/dist/types/Errors/TokenExpiredError.d.ts.map +0 -1
  347. package/dist/types/Errors/UnprocessableRequestError.d.ts +0 -6
  348. package/dist/types/Errors/UnprocessableRequestError.d.ts.map +0 -1
  349. package/dist/types/Errors/ValidationError.d.ts +0 -6
  350. package/dist/types/Errors/ValidationError.d.ts.map +0 -1
  351. package/dist/types/Errors/index.d.ts +0 -37
  352. package/dist/types/Errors/index.d.ts.map +0 -1
  353. package/dist/types/Events/ApplicationInUse.d.ts +0 -7
  354. package/dist/types/Events/ApplicationInUse.d.ts.map +0 -1
  355. package/dist/types/Events/ApplicationOutOfUse.d.ts +0 -7
  356. package/dist/types/Events/ApplicationOutOfUse.d.ts.map +0 -1
  357. package/dist/types/Events/EmailEvent.d.ts +0 -7
  358. package/dist/types/Events/EmailEvent.d.ts.map +0 -1
  359. package/dist/types/Events/Event.d.ts +0 -48
  360. package/dist/types/Events/Event.d.ts.map +0 -1
  361. package/dist/types/Events/ReservationCheckedIn.d.ts +0 -7
  362. package/dist/types/Events/ReservationCheckedIn.d.ts.map +0 -1
  363. package/dist/types/Events/ReservationCheckedOut.d.ts +0 -7
  364. package/dist/types/Events/ReservationCheckedOut.d.ts.map +0 -1
  365. package/dist/types/Events/ReservationSpaceChanged.d.ts +0 -7
  366. package/dist/types/Events/ReservationSpaceChanged.d.ts.map +0 -1
  367. package/dist/types/Events/SMSEvent.d.ts +0 -7
  368. package/dist/types/Events/SMSEvent.d.ts.map +0 -1
  369. package/dist/types/Events/SceneSet.d.ts +0 -7
  370. package/dist/types/Events/SceneSet.d.ts.map +0 -1
  371. package/dist/types/Events/ShortLinkCreated.d.ts +0 -7
  372. package/dist/types/Events/ShortLinkCreated.d.ts.map +0 -1
  373. package/dist/types/Events/SystemAlarmUpdated.d.ts +0 -7
  374. package/dist/types/Events/SystemAlarmUpdated.d.ts.map +0 -1
  375. package/dist/types/Events/SystemCameraUpdated.d.ts +0 -7
  376. package/dist/types/Events/SystemCameraUpdated.d.ts.map +0 -1
  377. package/dist/types/Events/SystemCategoryUpdated.d.ts +0 -7
  378. package/dist/types/Events/SystemCategoryUpdated.d.ts.map +0 -1
  379. package/dist/types/Events/SystemCourtesyUpdated.d.ts +0 -7
  380. package/dist/types/Events/SystemCourtesyUpdated.d.ts.map +0 -1
  381. package/dist/types/Events/SystemCredentialUpdated.d.ts +0 -7
  382. package/dist/types/Events/SystemCredentialUpdated.d.ts.map +0 -1
  383. package/dist/types/Events/SystemDimmerUpdated.d.ts +0 -7
  384. package/dist/types/Events/SystemDimmerUpdated.d.ts.map +0 -1
  385. package/dist/types/Events/SystemEntityDeleted.d.ts +0 -7
  386. package/dist/types/Events/SystemEntityDeleted.d.ts.map +0 -1
  387. package/dist/types/Events/SystemGatewayUpdated.d.ts +0 -7
  388. package/dist/types/Events/SystemGatewayUpdated.d.ts.map +0 -1
  389. package/dist/types/Events/SystemLockUpdated.d.ts +0 -7
  390. package/dist/types/Events/SystemLockUpdated.d.ts.map +0 -1
  391. package/dist/types/Events/SystemMediaSourceUpdated.d.ts +0 -7
  392. package/dist/types/Events/SystemMediaSourceUpdated.d.ts.map +0 -1
  393. package/dist/types/Events/SystemMotionSensorUpdated.d.ts +0 -7
  394. package/dist/types/Events/SystemMotionSensorUpdated.d.ts.map +0 -1
  395. package/dist/types/Events/SystemOrganizationUpdated.d.ts +0 -7
  396. package/dist/types/Events/SystemOrganizationUpdated.d.ts.map +0 -1
  397. package/dist/types/Events/SystemProductUpdated.d.ts +0 -7
  398. package/dist/types/Events/SystemProductUpdated.d.ts.map +0 -1
  399. package/dist/types/Events/SystemPropertyUpdated.d.ts +0 -7
  400. package/dist/types/Events/SystemPropertyUpdated.d.ts.map +0 -1
  401. package/dist/types/Events/SystemReservationUpdated.d.ts +0 -7
  402. package/dist/types/Events/SystemReservationUpdated.d.ts.map +0 -1
  403. package/dist/types/Events/SystemSpaceUpdated.d.ts +0 -7
  404. package/dist/types/Events/SystemSpaceUpdated.d.ts.map +0 -1
  405. package/dist/types/Events/SystemSwitchUpdated.d.ts +0 -7
  406. package/dist/types/Events/SystemSwitchUpdated.d.ts.map +0 -1
  407. package/dist/types/Events/SystemThermostatUpdated.d.ts +0 -7
  408. package/dist/types/Events/SystemThermostatUpdated.d.ts.map +0 -1
  409. package/dist/types/Events/SystemUserUpdated.d.ts +0 -7
  410. package/dist/types/Events/SystemUserUpdated.d.ts.map +0 -1
  411. package/dist/types/Events/SystemWindowCoveringUpdated.d.ts +0 -7
  412. package/dist/types/Events/SystemWindowCoveringUpdated.d.ts.map +0 -1
  413. package/dist/types/Events/index.d.ts +0 -32
  414. package/dist/types/Events/index.d.ts.map +0 -1
  415. package/dist/types/Models/Alarm.d.ts +0 -17
  416. package/dist/types/Models/Alarm.d.ts.map +0 -1
  417. package/dist/types/Models/Announcement.d.ts +0 -17
  418. package/dist/types/Models/Announcement.d.ts.map +0 -1
  419. package/dist/types/Models/Camera.d.ts +0 -17
  420. package/dist/types/Models/Camera.d.ts.map +0 -1
  421. package/dist/types/Models/Category.d.ts +0 -17
  422. package/dist/types/Models/Category.d.ts.map +0 -1
  423. package/dist/types/Models/Courtesy.d.ts +0 -18
  424. package/dist/types/Models/Courtesy.d.ts.map +0 -1
  425. package/dist/types/Models/Credential.d.ts +0 -17
  426. package/dist/types/Models/Credential.d.ts.map +0 -1
  427. package/dist/types/Models/DeviceRouter.d.ts +0 -17
  428. package/dist/types/Models/DeviceRouter.d.ts.map +0 -1
  429. package/dist/types/Models/Dimmer.d.ts +0 -23
  430. package/dist/types/Models/Dimmer.d.ts.map +0 -1
  431. package/dist/types/Models/DiscoveredDevice.d.ts +0 -17
  432. package/dist/types/Models/DiscoveredDevice.d.ts.map +0 -1
  433. package/dist/types/Models/EmailMessage.d.ts +0 -17
  434. package/dist/types/Models/EmailMessage.d.ts.map +0 -1
  435. package/dist/types/Models/EnergyReport.d.ts +0 -17
  436. package/dist/types/Models/EnergyReport.d.ts.map +0 -1
  437. package/dist/types/Models/EnergyReportShard.d.ts +0 -17
  438. package/dist/types/Models/EnergyReportShard.d.ts.map +0 -1
  439. package/dist/types/Models/Entity.d.ts +0 -12
  440. package/dist/types/Models/Entity.d.ts.map +0 -1
  441. package/dist/types/Models/Gateway.d.ts +0 -17
  442. package/dist/types/Models/Gateway.d.ts.map +0 -1
  443. package/dist/types/Models/Identification.d.ts +0 -18
  444. package/dist/types/Models/Identification.d.ts.map +0 -1
  445. package/dist/types/Models/Issue.d.ts +0 -17
  446. package/dist/types/Models/Issue.d.ts.map +0 -1
  447. package/dist/types/Models/Lock.d.ts +0 -18
  448. package/dist/types/Models/Lock.d.ts.map +0 -1
  449. package/dist/types/Models/Log.d.ts +0 -17
  450. package/dist/types/Models/Log.d.ts.map +0 -1
  451. package/dist/types/Models/MediaFile.d.ts +0 -18
  452. package/dist/types/Models/MediaFile.d.ts.map +0 -1
  453. package/dist/types/Models/MediaSource.d.ts +0 -17
  454. package/dist/types/Models/MediaSource.d.ts.map +0 -1
  455. package/dist/types/Models/MotionSensor.d.ts +0 -17
  456. package/dist/types/Models/MotionSensor.d.ts.map +0 -1
  457. package/dist/types/Models/Order.d.ts +0 -24
  458. package/dist/types/Models/Order.d.ts.map +0 -1
  459. package/dist/types/Models/Organization.d.ts +0 -17
  460. package/dist/types/Models/Organization.d.ts.map +0 -1
  461. package/dist/types/Models/Policy.d.ts +0 -17
  462. package/dist/types/Models/Policy.d.ts.map +0 -1
  463. package/dist/types/Models/Product.d.ts +0 -17
  464. package/dist/types/Models/Product.d.ts.map +0 -1
  465. package/dist/types/Models/Property.d.ts +0 -17
  466. package/dist/types/Models/Property.d.ts.map +0 -1
  467. package/dist/types/Models/Reservation.d.ts +0 -23
  468. package/dist/types/Models/Reservation.d.ts.map +0 -1
  469. package/dist/types/Models/Room.d.ts +0 -32
  470. package/dist/types/Models/Room.d.ts.map +0 -1
  471. package/dist/types/Models/Scene.d.ts +0 -24
  472. package/dist/types/Models/Scene.d.ts.map +0 -1
  473. package/dist/types/Models/ShortLink.d.ts +0 -17
  474. package/dist/types/Models/ShortLink.d.ts.map +0 -1
  475. package/dist/types/Models/SmsMessage.d.ts +0 -17
  476. package/dist/types/Models/SmsMessage.d.ts.map +0 -1
  477. package/dist/types/Models/Space.d.ts +0 -27
  478. package/dist/types/Models/Space.d.ts.map +0 -1
  479. package/dist/types/Models/Switch.d.ts +0 -18
  480. package/dist/types/Models/Switch.d.ts.map +0 -1
  481. package/dist/types/Models/SystemUser.d.ts +0 -20
  482. package/dist/types/Models/SystemUser.d.ts.map +0 -1
  483. package/dist/types/Models/Thermostat.d.ts +0 -22
  484. package/dist/types/Models/Thermostat.d.ts.map +0 -1
  485. package/dist/types/Models/Ticket.d.ts +0 -18
  486. package/dist/types/Models/Ticket.d.ts.map +0 -1
  487. package/dist/types/Models/TimeSheet.d.ts +0 -18
  488. package/dist/types/Models/TimeSheet.d.ts.map +0 -1
  489. package/dist/types/Models/User.d.ts +0 -27
  490. package/dist/types/Models/User.d.ts.map +0 -1
  491. package/dist/types/Models/Vendor.d.ts +0 -17
  492. package/dist/types/Models/Vendor.d.ts.map +0 -1
  493. package/dist/types/Models/WindowCovering.d.ts +0 -18
  494. package/dist/types/Models/WindowCovering.d.ts.map +0 -1
  495. package/dist/types/Models/index.d.ts +0 -42
  496. package/dist/types/Models/index.d.ts.map +0 -1
  497. package/dist/types/SocketIoClient/index.d.ts +0 -36
  498. package/dist/types/SocketIoClient/index.d.ts.map +0 -1
  499. package/dist/types/defs/amqpExchanges.d.ts +0 -58
  500. package/dist/types/defs/amqpExchanges.d.ts.map +0 -1
  501. package/dist/types/defs/deviceTypes.d.ts +0 -3
  502. package/dist/types/defs/deviceTypes.d.ts.map +0 -1
  503. package/dist/types/defs/formalDeviceTypes.d.ts +0 -3
  504. package/dist/types/defs/formalDeviceTypes.d.ts.map +0 -1
  505. package/dist/types/defs/index.d.ts +0 -5
  506. package/dist/types/defs/index.d.ts.map +0 -1
  507. package/dist/types/index.d.ts +0 -11
  508. package/dist/types/index.d.ts.map +0 -1
  509. package/dist/types/schemas/AlarmSchema.d.ts +0 -210
  510. package/dist/types/schemas/AnnouncementSchema.d.ts +0 -65
  511. package/dist/types/schemas/CameraSchema.d.ts +0 -205
  512. package/dist/types/schemas/CategorySchema.d.ts +0 -105
  513. package/dist/types/schemas/CourtesySchema.d.ts +0 -185
  514. package/dist/types/schemas/CredentialSchema.d.ts +0 -73
  515. package/dist/types/schemas/DefinitionsSchema.d.ts +0 -10
  516. package/dist/types/schemas/DeviceRouterSchema.d.ts +0 -23
  517. package/dist/types/schemas/DimmerSchema.d.ts +0 -184
  518. package/dist/types/schemas/DiscoveredDeviceSchema.d.ts +0 -48
  519. package/dist/types/schemas/EmailMessageSchema.d.ts +0 -49
  520. package/dist/types/schemas/EnergyReportSchema.d.ts +0 -57
  521. package/dist/types/schemas/EnergyReportShardSchema.d.ts +0 -61
  522. package/dist/types/schemas/GatewaySchema.d.ts +0 -182
  523. package/dist/types/schemas/IdentificationSchema.d.ts +0 -45
  524. package/dist/types/schemas/IssueSchema.d.ts +0 -27
  525. package/dist/types/schemas/LockSchema.d.ts +0 -190
  526. package/dist/types/schemas/LogSchema.d.ts +0 -46
  527. package/dist/types/schemas/MediaFileSchema.d.ts +0 -47
  528. package/dist/types/schemas/MediaSourceSchema.d.ts +0 -301
  529. package/dist/types/schemas/MotionSensorSchema.d.ts +0 -180
  530. package/dist/types/schemas/OrderSchema.d.ts +0 -96
  531. package/dist/types/schemas/OrganizationSchema.d.ts +0 -68
  532. package/dist/types/schemas/PaymentSchema.d.ts +0 -33
  533. package/dist/types/schemas/PolicySchema.d.ts +0 -25
  534. package/dist/types/schemas/ProductSchema.d.ts +0 -111
  535. package/dist/types/schemas/PropertySchema.d.ts +0 -227
  536. package/dist/types/schemas/ReservationSchema.d.ts +0 -143
  537. package/dist/types/schemas/RoomSchema.d.ts +0 -1422
  538. package/dist/types/schemas/SceneSchema.d.ts +0 -68
  539. package/dist/types/schemas/ShortLinkSchema.d.ts +0 -20
  540. package/dist/types/schemas/SmsMessageSchema.d.ts +0 -40
  541. package/dist/types/schemas/SpaceSchema.d.ts +0 -116
  542. package/dist/types/schemas/SwitchSchema.d.ts +0 -185
  543. package/dist/types/schemas/SystemUserSchema.d.ts +0 -213
  544. package/dist/types/schemas/ThermostatSchema.d.ts +0 -215
  545. package/dist/types/schemas/TicketSchema.d.ts +0 -100
  546. package/dist/types/schemas/TimeSheetSchema.d.ts +0 -38
  547. package/dist/types/schemas/UserSchema.d.ts +0 -334
  548. package/dist/types/schemas/VendorSchema.d.ts +0 -80
  549. package/dist/types/schemas/WindowCoveringSchema.d.ts +0 -185
  550. package/dist/types/utils/entityFactory.d.ts +0 -4
  551. package/dist/types/utils/entityFactory.d.ts.map +0 -1
  552. package/dist/types/utils/errorFactory.d.ts +0 -5
  553. package/dist/types/utils/errorFactory.d.ts.map +0 -1
  554. package/dist/types/utils/eventFactory.d.ts +0 -3
  555. package/dist/types/utils/eventFactory.d.ts.map +0 -1
  556. package/dist/types/utils/getDeviceTypes.d.ts +0 -3
  557. package/dist/types/utils/getDeviceTypes.d.ts.map +0 -1
  558. package/dist/types/utils/getFormalDeviceType.d.ts +0 -3
  559. package/dist/types/utils/getFormalDeviceType.d.ts.map +0 -1
  560. package/dist/types/utils/index.d.ts +0 -7
  561. package/dist/types/utils/index.d.ts.map +0 -1
  562. package/dist/types/utils/schema.d.ts +0 -3
  563. package/dist/types/utils/schema.d.ts.map +0 -1
  564. package/dist/useCases/AssignSpaceToReservation.js +0 -28
  565. package/dist/useCases/AutoAssociateDiscoveredDevices.js +0 -28
  566. package/dist/useCases/AutoCloseTickets.js +0 -28
  567. package/dist/useCases/BatchNotifyCheckIn.js +0 -28
  568. package/dist/useCases/BatchNotifyCheckOut.js +0 -28
  569. package/dist/useCases/BatchNotifyMissedCheckOut.js +0 -28
  570. package/dist/useCases/BatchNotifyPreArrival.js +0 -28
  571. package/dist/useCases/BulkUpdateIssue.js +0 -28
  572. package/dist/useCases/CheckInReservation.js +0 -28
  573. package/dist/useCases/CheckOutReservation.js +0 -28
  574. package/dist/useCases/CheckVerificationCode.js +0 -28
  575. package/dist/useCases/CreateAlarm.js +0 -28
  576. package/dist/useCases/CreateAnnouncement.js +0 -28
  577. package/dist/useCases/CreateCamera.js +0 -28
  578. package/dist/useCases/CreateCateory.js +0 -28
  579. package/dist/useCases/CreateCourtesy.js +0 -28
  580. package/dist/useCases/CreateDefaultScenes.js +0 -28
  581. package/dist/useCases/CreateDimmer.js +0 -28
  582. package/dist/useCases/CreateDiscoveredDevice.js +0 -28
  583. package/dist/useCases/CreateDiscoveredDeviceAssociation.js +0 -28
  584. package/dist/useCases/CreateDiscoveredDeviceAssociationMap.js +0 -28
  585. package/dist/useCases/CreateImageUploadEndpoint.js +0 -28
  586. package/dist/useCases/CreateIssue.js +0 -28
  587. package/dist/useCases/CreateLock.js +0 -28
  588. package/dist/useCases/CreateMediaSource.js +0 -28
  589. package/dist/useCases/CreateOrganization.js +0 -28
  590. package/dist/useCases/CreatePolicy.js +0 -28
  591. package/dist/useCases/CreateProperty.js +0 -28
  592. package/dist/useCases/CreateReservation.js +0 -28
  593. package/dist/useCases/CreateRoom.js +0 -28
  594. package/dist/useCases/CreateRoomInSpace.js +0 -28
  595. package/dist/useCases/CreateScene.js +0 -28
  596. package/dist/useCases/CreateSpace.js +0 -28
  597. package/dist/useCases/CreateSwitch.js +0 -28
  598. package/dist/useCases/CreateThermostat.js +0 -28
  599. package/dist/useCases/CreateTicket.js +0 -28
  600. package/dist/useCases/CreateTicketMessage.js +0 -28
  601. package/dist/useCases/CreateTimeSheet.js +0 -28
  602. package/dist/useCases/CreateTimeSheetTimeEntry.js +0 -28
  603. package/dist/useCases/CreateUser.js +0 -28
  604. package/dist/useCases/CreateUserMobileKey.js +0 -28
  605. package/dist/useCases/CreateVendor.js +0 -28
  606. package/dist/useCases/CreateWindowCovering.js +0 -28
  607. package/dist/useCases/DeleteAlarm.js +0 -28
  608. package/dist/useCases/DeleteAnnouncement.js +0 -28
  609. package/dist/useCases/DeleteCamera.js +0 -28
  610. package/dist/useCases/DeleteCategory.js +0 -28
  611. package/dist/useCases/DeleteCourtesy.js +0 -28
  612. package/dist/useCases/DeleteDimmer.js +0 -28
  613. package/dist/useCases/DeleteDiscoveredDevice.js +0 -28
  614. package/dist/useCases/DeleteIssue.js +0 -28
  615. package/dist/useCases/DeleteLock.js +0 -28
  616. package/dist/useCases/DeleteMediaFile.js +0 -28
  617. package/dist/useCases/DeleteMediaSource.js +0 -28
  618. package/dist/useCases/DeletePolicy.js +0 -28
  619. package/dist/useCases/DeleteReservation.js +0 -28
  620. package/dist/useCases/DeleteRoom.js +0 -28
  621. package/dist/useCases/DeleteSpace.js +0 -28
  622. package/dist/useCases/DeleteSwitch.js +0 -28
  623. package/dist/useCases/DeleteThermostat.js +0 -28
  624. package/dist/useCases/DeleteTicket.js +0 -28
  625. package/dist/useCases/DeleteTimeSheet.js +0 -28
  626. package/dist/useCases/DeleteTimeSheetTimeEntry.js +0 -28
  627. package/dist/useCases/DeleteUser.js +0 -28
  628. package/dist/useCases/DeleteUserCredential.js +0 -28
  629. package/dist/useCases/DeleteVendor.js +0 -28
  630. package/dist/useCases/DeleteWindowCovering.js +0 -28
  631. package/dist/useCases/DescribeAlarm.js +0 -28
  632. package/dist/useCases/DescribeAlarmConfig.js +0 -28
  633. package/dist/useCases/DescribeAnnouncement.js +0 -28
  634. package/dist/useCases/DescribeCamera.js +0 -28
  635. package/dist/useCases/DescribeCategory.js +0 -28
  636. package/dist/useCases/DescribeCourtesy.js +0 -28
  637. package/dist/useCases/DescribeDimmer.js +0 -28
  638. package/dist/useCases/DescribeDiscoveredDevice.js +0 -28
  639. package/dist/useCases/DescribeIssue.js +0 -28
  640. package/dist/useCases/DescribeLock.js +0 -28
  641. package/dist/useCases/DescribeLockCredential.js +0 -28
  642. package/dist/useCases/DescribeMediaSource.js +0 -28
  643. package/dist/useCases/DescribeMyAuth.js +0 -28
  644. package/dist/useCases/DescribeMyMobileKeyApp.js +0 -28
  645. package/dist/useCases/DescribeMyOrganization.js +0 -28
  646. package/dist/useCases/DescribeMyPasskeyRegistrations.js +0 -28
  647. package/dist/useCases/DescribeOrganization.js +0 -28
  648. package/dist/useCases/DescribePolicy.js +0 -28
  649. package/dist/useCases/DescribeProduct.js +0 -28
  650. package/dist/useCases/DescribeProperty.js +0 -28
  651. package/dist/useCases/DescribeReservation.js +0 -28
  652. package/dist/useCases/DescribeReservationEarlyCheckInProducts.js +0 -28
  653. package/dist/useCases/DescribeReservationLateCheckOutProducts.js +0 -28
  654. package/dist/useCases/DescribeReservationPetProducts.js +0 -28
  655. package/dist/useCases/DescribeReservationPromos.js +0 -28
  656. package/dist/useCases/DescribeReservationRoomUpgrades.js +0 -28
  657. package/dist/useCases/DescribeRoom.js +0 -28
  658. package/dist/useCases/DescribeSOS.js +0 -28
  659. package/dist/useCases/DescribeSelf.js +0 -28
  660. package/dist/useCases/DescribeSpace.js +0 -28
  661. package/dist/useCases/DescribeSwitch.js +0 -28
  662. package/dist/useCases/DescribeThermostat.js +0 -28
  663. package/dist/useCases/DescribeTicket.js +0 -28
  664. package/dist/useCases/DescribeTicketStats.js +0 -28
  665. package/dist/useCases/DescribeTimeSheet.js +0 -28
  666. package/dist/useCases/DescribeTimeSheetStats.js +0 -28
  667. package/dist/useCases/DescribeUser.js +0 -28
  668. package/dist/useCases/DescribeVendor.js +0 -28
  669. package/dist/useCases/DescribeWindowCovering.js +0 -28
  670. package/dist/useCases/DiscoverReservations.js +0 -28
  671. package/dist/useCases/EmailUserAccountSetup.js +0 -28
  672. package/dist/useCases/FinishRegisterPasskey.js +0 -28
  673. package/dist/useCases/ListAlarms.js +0 -28
  674. package/dist/useCases/ListAnnouncements.js +0 -28
  675. package/dist/useCases/ListCameras.js +0 -28
  676. package/dist/useCases/ListCategories.js +0 -28
  677. package/dist/useCases/ListCourtesy.js +0 -28
  678. package/dist/useCases/ListDimmers.js +0 -28
  679. package/dist/useCases/ListDiscoveredDevices.js +0 -28
  680. package/dist/useCases/ListIssues.js +0 -28
  681. package/dist/useCases/ListLocks.js +0 -28
  682. package/dist/useCases/ListMediaSources.js +0 -28
  683. package/dist/useCases/ListMyOrders.js +0 -28
  684. package/dist/useCases/ListMyProperties.js +0 -28
  685. package/dist/useCases/ListMyReservations.js +0 -28
  686. package/dist/useCases/ListMySpaces.js +0 -28
  687. package/dist/useCases/ListMyTickets.js +0 -28
  688. package/dist/useCases/ListMyTimeSheets.js +0 -28
  689. package/dist/useCases/ListOrders.js +0 -28
  690. package/dist/useCases/ListOrganizations.js +0 -28
  691. package/dist/useCases/ListPolicies.js +0 -28
  692. package/dist/useCases/ListProducts.js +0 -28
  693. package/dist/useCases/ListProperties.js +0 -28
  694. package/dist/useCases/ListReservations.js +0 -28
  695. package/dist/useCases/ListRooms.js +0 -28
  696. package/dist/useCases/ListRoomsInSpace.js +0 -28
  697. package/dist/useCases/ListScenes.js +0 -28
  698. package/dist/useCases/ListSpaces.js +0 -28
  699. package/dist/useCases/ListSwitches.js +0 -28
  700. package/dist/useCases/ListTeam.js +0 -28
  701. package/dist/useCases/ListThermostats.js +0 -28
  702. package/dist/useCases/ListTickets.js +0 -28
  703. package/dist/useCases/ListTimeSheets.js +0 -28
  704. package/dist/useCases/ListUserMobileKeys.js +0 -28
  705. package/dist/useCases/ListUserOrders.js +0 -28
  706. package/dist/useCases/ListUserReservations.js +0 -28
  707. package/dist/useCases/ListUserSpaces.js +0 -28
  708. package/dist/useCases/ListUsers.js +0 -28
  709. package/dist/useCases/ListVendors.js +0 -28
  710. package/dist/useCases/ListWindowCoverings.js +0 -28
  711. package/dist/useCases/LoginFinish.js +0 -28
  712. package/dist/useCases/LoginStart.js +0 -28
  713. package/dist/useCases/LogoutSelf.js +0 -28
  714. package/dist/useCases/LogoutUser.js +0 -28
  715. package/dist/useCases/MatchUserIdentification.js +0 -28
  716. package/dist/useCases/OCRDocument.js +0 -28
  717. package/dist/useCases/PurchaseReservationEarlyCheckInProducts.js +0 -28
  718. package/dist/useCases/PurchaseReservationLateCheckOutProducts.js +0 -28
  719. package/dist/useCases/PurchaseReservationPetProducts.js +0 -28
  720. package/dist/useCases/PurchaseReservationPromos.js +0 -28
  721. package/dist/useCases/PurchaseReservationRoomUpgrades.js +0 -28
  722. package/dist/useCases/RefreshToken.js +0 -28
  723. package/dist/useCases/RequestLoginToken.js +0 -28
  724. package/dist/useCases/SendCheckInSMS.js +0 -28
  725. package/dist/useCases/SendCheckOutSMS.js +0 -28
  726. package/dist/useCases/SendPreArrivalEmail.js +0 -28
  727. package/dist/useCases/SendPreArrivalSMS.js +0 -28
  728. package/dist/useCases/SendRoomControlSMS.js +0 -28
  729. package/dist/useCases/SendVerificationCode.js +0 -28
  730. package/dist/useCases/SetAlarm.js +0 -28
  731. package/dist/useCases/SetCamera.js +0 -28
  732. package/dist/useCases/SetCourtesy.js +0 -28
  733. package/dist/useCases/SetDimmer.js +0 -28
  734. package/dist/useCases/SetLock.js +0 -28
  735. package/dist/useCases/SetMediaSource.js +0 -28
  736. package/dist/useCases/SetRoomScene.js +0 -28
  737. package/dist/useCases/SetScene.js +0 -28
  738. package/dist/useCases/SetSpaceScene.js +0 -28
  739. package/dist/useCases/SetSwitch.js +0 -28
  740. package/dist/useCases/SetThermostat.js +0 -28
  741. package/dist/useCases/SetWindowCovering.js +0 -28
  742. package/dist/useCases/StartRegisterPasskey.js +0 -28
  743. package/dist/useCases/StartSOS.js +0 -28
  744. package/dist/useCases/StopSOS.js +0 -28
  745. package/dist/useCases/TipUser.js +0 -28
  746. package/dist/useCases/UpdateAlarm.js +0 -28
  747. package/dist/useCases/UpdateAnnouncement.js +0 -28
  748. package/dist/useCases/UpdateCamera.js +0 -28
  749. package/dist/useCases/UpdateCategory.js +0 -28
  750. package/dist/useCases/UpdateCourtesy.js +0 -28
  751. package/dist/useCases/UpdateDimmer.js +0 -28
  752. package/dist/useCases/UpdateDiscoveredDevice.js +0 -28
  753. package/dist/useCases/UpdateIssue.js +0 -28
  754. package/dist/useCases/UpdateLock.js +0 -28
  755. package/dist/useCases/UpdateMediaSource.js +0 -28
  756. package/dist/useCases/UpdateMessageReadStatus.js +0 -28
  757. package/dist/useCases/UpdateOrganization.js +0 -28
  758. package/dist/useCases/UpdatePolicy.js +0 -28
  759. package/dist/useCases/UpdateProperty.js +0 -28
  760. package/dist/useCases/UpdatePropertySettings.js +0 -28
  761. package/dist/useCases/UpdateReservation.js +0 -28
  762. package/dist/useCases/UpdateReservationExpectedArrivalTime.js +0 -28
  763. package/dist/useCases/UpdateRoom.js +0 -28
  764. package/dist/useCases/UpdateSelf.js +0 -28
  765. package/dist/useCases/UpdateSpace.js +0 -28
  766. package/dist/useCases/UpdateSwitch.js +0 -28
  767. package/dist/useCases/UpdateThermostat.js +0 -28
  768. package/dist/useCases/UpdateTicket.js +0 -28
  769. package/dist/useCases/UpdateTicketStatus.js +0 -28
  770. package/dist/useCases/UpdateTimeSheet.js +0 -28
  771. package/dist/useCases/UpdateTimeSheetTimeEntry.js +0 -28
  772. package/dist/useCases/UpdateUser.js +0 -28
  773. package/dist/useCases/UpdateVendor.js +0 -28
  774. package/dist/useCases/UpdateWindowCovering.js +0 -28
  775. package/dist/useCases/UploadImage.js +0 -28
  776. package/dist/useCases/UpsertDiscoveredDevice.js +0 -28
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../node_modules/engine.io-parser/build/cjs/commons.js", "../../node_modules/engine.io-parser/build/cjs/encodePacket.browser.js", "../../node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js", "../../node_modules/engine.io-parser/build/cjs/decodePacket.browser.js", "../../node_modules/engine.io-parser/build/cjs/index.js", "../../node_modules/@socket.io/component-emitter/lib/cjs/index.js", "../../node_modules/engine.io-client/build/cjs/globals.js", "../../node_modules/engine.io-client/build/cjs/util.js", "../../node_modules/engine.io-client/build/cjs/contrib/parseqs.js", "../../node_modules/ms/index.js", "../../node_modules/debug/src/common.js", "../../node_modules/debug/src/browser.js", "../../node_modules/engine.io-client/build/cjs/transport.js", "../../node_modules/engine.io-client/build/cjs/transports/polling.js", "../../node_modules/engine.io-client/build/cjs/contrib/has-cors.js", "../../node_modules/engine.io-client/build/cjs/transports/polling-xhr.js", "../../node_modules/engine.io-client/build/cjs/transports/websocket.js", "../../node_modules/engine.io-client/build/cjs/transports/webtransport.js", "../../node_modules/engine.io-client/build/cjs/transports/index.js", "../../node_modules/engine.io-client/build/cjs/contrib/parseuri.js", "../../node_modules/engine.io-client/build/cjs/socket.js", "../../node_modules/engine.io-client/build/cjs/transports/polling-fetch.js", "../../node_modules/engine.io-client/build/cjs/index.js", "../../node_modules/socket.io-client/build/cjs/url.js", "../../node_modules/socket.io-parser/build/cjs/is-binary.js", "../../node_modules/socket.io-parser/build/cjs/binary.js", "../../node_modules/socket.io-parser/build/cjs/index.js", "../../node_modules/socket.io-client/build/cjs/on.js", "../../node_modules/socket.io-client/build/cjs/socket.js", "../../node_modules/socket.io-client/build/cjs/contrib/backo2.js", "../../node_modules/socket.io-client/build/cjs/manager.js", "../../node_modules/socket.io-client/build/cjs/index.js", "../../node_modules/events/events.js", "../../src/SocketIoClient/index.js"],
4
- "sourcesContent": ["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ERROR_PACKET = exports.PACKET_TYPES_REVERSE = exports.PACKET_TYPES = void 0;\nconst PACKET_TYPES = Object.create(null); // no Map = no polyfill\nexports.PACKET_TYPES = PACKET_TYPES;\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nexports.PACKET_TYPES_REVERSE = PACKET_TYPES_REVERSE;\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexports.ERROR_PACKET = ERROR_PACKET;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodePacket = void 0;\nexports.encodePacketToBinary = encodePacketToBinary;\nconst commons_js_1 = require(\"./commons.js\");\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(commons_js_1.PACKET_TYPES[type] + (data || \"\"));\n};\nexports.encodePacket = encodePacket;\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nfunction encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decode = exports.encode = void 0;\n// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nconst encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexports.encode = encode;\nconst decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\nexports.decode = decode;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodePacket = void 0;\nconst commons_js_1 = require(\"./commons.js\");\nconst base64_arraybuffer_js_1 = require(\"./contrib/base64-arraybuffer.js\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = commons_js_1.PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return commons_js_1.ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: commons_js_1.PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: commons_js_1.PACKET_TYPES_REVERSE[type],\n };\n};\nexports.decodePacket = decodePacket;\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = (0, base64_arraybuffer_js_1.decode)(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodePayload = exports.decodePacket = exports.encodePayload = exports.encodePacket = exports.protocol = void 0;\nexports.createPacketEncoderStream = createPacketEncoderStream;\nexports.createPacketDecoderStream = createPacketDecoderStream;\nconst encodePacket_js_1 = require(\"./encodePacket.js\");\nObject.defineProperty(exports, \"encodePacket\", { enumerable: true, get: function () { return encodePacket_js_1.encodePacket; } });\nconst decodePacket_js_1 = require(\"./decodePacket.js\");\nObject.defineProperty(exports, \"decodePacket\", { enumerable: true, get: function () { return decodePacket_js_1.decodePacket; } });\nconst commons_js_1 = require(\"./commons.js\");\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n (0, encodePacket_js_1.encodePacket)(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nexports.encodePayload = encodePayload;\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = (0, decodePacket_js_1.decodePacket)(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexports.decodePayload = decodePayload;\nfunction createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n (0, encodePacket_js_1.encodePacketToBinary)(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nfunction createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(commons_js_1.ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue((0, decodePacket_js_1.decodePacket)(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(commons_js_1.ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexports.protocol = 4;\n", "\n/**\n * Expose `Emitter`.\n */\n\nexports.Emitter = Emitter;\n\n/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nfunction Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultBinaryType = exports.globalThisShim = exports.nextTick = void 0;\nexports.createCookieJar = createCookieJar;\nexports.nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexports.globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\nexports.defaultBinaryType = \"arraybuffer\";\nfunction createCookieJar() { }\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pick = pick;\nexports.installTimerFunctions = installTimerFunctions;\nexports.byteLength = byteLength;\nexports.randomString = randomString;\nconst globals_node_js_1 = require(\"./globals.node.js\");\nfunction pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globals_node_js_1.globalThisShim.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globals_node_js_1.globalThisShim.clearTimeout;\nfunction installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globals_node_js_1.globalThisShim);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globals_node_js_1.globalThisShim);\n }\n else {\n obj.setTimeoutFn = globals_node_js_1.globalThisShim.setTimeout.bind(globals_node_js_1.globalThisShim);\n obj.clearTimeoutFn = globals_node_js_1.globalThisShim.clearTimeout.bind(globals_node_js_1.globalThisShim);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nfunction byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nfunction randomString() {\n return (Date.now().toString(36).substring(3) +\n Math.random().toString(36).substring(2, 5));\n}\n", "\"use strict\";\n// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encode = encode;\nexports.decode = decode;\nfunction encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nfunction decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n", "/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transport = exports.TransportError = void 0;\nconst engine_io_parser_1 = require(\"engine.io-parser\");\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst util_js_1 = require(\"./util.js\");\nconst parseqs_js_1 = require(\"./contrib/parseqs.js\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:transport\"); // debug()\nclass TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexports.TransportError = TransportError;\nclass Transport extends component_emitter_1.Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n (0, util_js_1.installTimerFunctions)(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n debug(\"transport is not open, discarding packets\");\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = (0, engine_io_parser_1.decodePacket)(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = (0, parseqs_js_1.encode)(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\nexports.Transport = Transport;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Polling = void 0;\nconst transport_js_1 = require(\"../transport.js\");\nconst util_js_1 = require(\"../util.js\");\nconst engine_io_parser_1 = require(\"engine.io-parser\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:polling\"); // debug()\nclass Polling extends transport_js_1.Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n debug(\"paused\");\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n debug(\"we are currently polling - waiting to pause\");\n total++;\n this.once(\"pollComplete\", function () {\n debug(\"pre-pause polling complete\");\n --total || pause();\n });\n }\n if (!this.writable) {\n debug(\"we are currently writing - waiting to pause\");\n total++;\n this.once(\"drain\", function () {\n debug(\"pre-pause writing complete\");\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n debug(\"polling\");\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n debug(\"polling got data %s\", data);\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n (0, engine_io_parser_1.decodePayload)(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n else {\n debug('ignoring poll - transport state \"%s\"', this.readyState);\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n debug(\"writing close packet\");\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n debug(\"transport open - closing\");\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n debug(\"transport not open - deferring close\");\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n (0, engine_io_parser_1.encodePayload)(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = (0, util_js_1.randomString)();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nexports.Polling = Polling;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasCORS = void 0;\n// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexports.hasCORS = value;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XHR = exports.Request = exports.BaseXHR = void 0;\nconst polling_js_1 = require(\"./polling.js\");\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst util_js_1 = require(\"../util.js\");\nconst globals_node_js_1 = require(\"../globals.node.js\");\nconst has_cors_js_1 = require(\"../contrib/has-cors.js\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:polling\"); // debug()\nfunction empty() { }\nclass BaseXHR extends polling_js_1.Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n debug(\"xhr poll\");\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexports.BaseXHR = BaseXHR;\nclass Request extends component_emitter_1.Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n (0, util_js_1.installTimerFunctions)(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = undefined !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a;\n const opts = (0, util_js_1.pick)(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = (this._xhr = this.createRequest(opts));\n try {\n debug(\"xhr open %s: %s\", this._method, this._uri);\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n // @ts-ignore\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\"));\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n debug(\"xhr data %s\", this._data);\n xhr.send(this._data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request.requestsCount++;\n Request.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err) {\n this.emitReserved(\"error\", err, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n}\nexports.Request = Request;\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globals_node_js_1.globalThisShim ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = (function () {\n const xhr = newRequest({\n xdomain: false,\n });\n return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nclass XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request(newRequest, this.uri(), opts);\n }\n}\nexports.XHR = XHR;\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || has_cors_js_1.hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globals_node_js_1.globalThisShim[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WS = exports.BaseWS = void 0;\nconst transport_js_1 = require(\"../transport.js\");\nconst util_js_1 = require(\"../util.js\");\nconst engine_io_parser_1 = require(\"engine.io-parser\");\nconst globals_node_js_1 = require(\"../globals.node.js\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:websocket\"); // debug()\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nclass BaseWS extends transport_js_1.Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : (0, util_js_1.pick)(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n (0, engine_io_parser_1.encodePacket)(packet, this.supportsBinary, (data) => {\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n this.doWrite(packet, data);\n }\n catch (e) {\n debug(\"websocket closed before onclose event\");\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n (0, globals_node_js_1.nextTick)(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => { };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = (0, util_js_1.randomString)();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nexports.BaseWS = BaseWS;\nconst WebSocketCtor = globals_node_js_1.globalThisShim.WebSocket || globals_node_js_1.globalThisShim.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nclass WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative\n ? protocols\n ? new WebSocketCtor(uri, protocols)\n : new WebSocketCtor(uri)\n : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\nexports.WS = WS;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WT = void 0;\nconst transport_js_1 = require(\"../transport.js\");\nconst globals_node_js_1 = require(\"../globals.node.js\");\nconst engine_io_parser_1 = require(\"engine.io-parser\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:webtransport\"); // debug()\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nclass WT extends transport_js_1.Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n // @ts-ignore\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this._transport.closed\n .then(() => {\n debug(\"transport closed gracefully\");\n this.onClose();\n })\n .catch((err) => {\n debug(\"transport closed due to %s\", err);\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = (0, engine_io_parser_1.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = (0, engine_io_parser_1.createPacketEncoderStream)();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n debug(\"session is closed\");\n return;\n }\n debug(\"received chunk: %o\", value);\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n debug(\"an error occurred while reading: %s\", err);\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n (0, globals_node_js_1.nextTick)(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\nexports.WT = WT;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transports = void 0;\nconst polling_xhr_node_js_1 = require(\"./polling-xhr.node.js\");\nconst websocket_node_js_1 = require(\"./websocket.node.js\");\nconst webtransport_js_1 = require(\"./webtransport.js\");\nexports.transports = {\n websocket: websocket_node_js_1.WS,\n webtransport: webtransport_js_1.WT,\n polling: polling_xhr_node_js_1.XHR,\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = parse;\n// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan <stevenlevithan.com> (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nfunction parse(str) {\n if (str.length > 8000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Socket = exports.SocketWithUpgrade = exports.SocketWithoutUpgrade = void 0;\nconst index_js_1 = require(\"./transports/index.js\");\nconst util_js_1 = require(\"./util.js\");\nconst parseqs_js_1 = require(\"./contrib/parseqs.js\");\nconst parseuri_js_1 = require(\"./contrib/parseuri.js\");\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst engine_io_parser_1 = require(\"engine.io-parser\");\nconst globals_node_js_1 = require(\"./globals.node.js\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"engine.io-client:socket\"); // debug()\nconst withEventListeners = typeof addEventListener === \"function\" &&\n typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n // script, so we create one single event listener here which will forward the event to the socket instances\n addEventListener(\"offline\", () => {\n debug(\"closing %d connection(s) because the network was lost\", OFFLINE_EVENT_LISTENERS.length);\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nclass SocketWithoutUpgrade extends component_emitter_1.Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = globals_node_js_1.defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n /**\n * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n */\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = (0, parseuri_js_1.parse)(uri);\n opts.hostname = parsedUri.host;\n opts.secure =\n parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n }\n else if (opts.host) {\n opts.hostname = (0, parseuri_js_1.parse)(opts.host).host;\n }\n (0, util_js_1.installTimerFunctions)(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = (0, parseqs_js_1.decode)(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n debug(\"adding listener for the 'offline' event\");\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = (0, globals_node_js_1.createCookieJar)();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n debug('creating transport \"%s\"', name);\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = engine_io_parser_1.protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n debug(\"options: %j\", opts);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade &&\n SocketWithoutUpgrade.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1\n ? \"websocket\"\n : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n debug(\"setting transport %s\", transport.name);\n if (this.transport) {\n debug(\"clearing existing transport %s\", this.transport.name);\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this._onDrain.bind(this))\n .on(\"packet\", this._onPacket.bind(this))\n .on(\"error\", this._onError.bind(this))\n .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n debug(\"socket open\");\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n debug('socket receive: type \"%s\", data \"%s\"', packet.type, packet.data);\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this._onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n debug('packet received with socket readyState \"%s\"', this.readyState);\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n debug(\"flushing %d packets in socket\", packets.length);\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += (0, util_js_1.byteLength)(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n debug(\"only send %d out of %d packets\", i, this.writeBuffer.length);\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n debug(\"payload size is %d (max: %d)\", payloadSize, this._maxPayload);\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */ _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n debug(\"throttled timer detected, scheduling connection close\");\n this._pingTimeoutTime = 0;\n (0, globals_node_js_1.nextTick)(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n debug(\"socket closing - telling transport to close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err) {\n debug(\"socket error %j\", err);\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports &&\n this.transports.length > 1 &&\n this.readyState === \"opening\") {\n debug(\"trying next transport\");\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err);\n this._onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n debug('socket close with reason: \"%s\"', reason);\n // clear timers\n this.clearTimeoutFn(this._pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n debug(\"removing listener for the 'offline' event\");\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nexports.SocketWithoutUpgrade = SocketWithoutUpgrade;\nSocketWithoutUpgrade.protocol = engine_io_parser_1.protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nclass SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n debug(\"starting upgrade probes\");\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n debug('probing transport \"%s\"', name);\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n debug('probe transport \"%s\" opened', name);\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n debug('probe transport \"%s\" pong', name);\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === transport.name;\n debug('pausing current transport \"%s\"', this.transport.name);\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n debug(\"changing transport and sending upgrade packet\");\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n debug('probe transport \"%s\" failed', name);\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n debug('probe transport \"%s\" failed because of error: %s', name, err);\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n debug('\"%s\" works - aborting \"%s\"', to.name, transport.name);\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nexports.SocketWithUpgrade = SocketWithUpgrade;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nclass Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports ||\n (o.transports && typeof o.transports[0] === \"string\")) {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n .map((transportName) => index_js_1.transports[transportName])\n .filter((t) => !!t);\n }\n super(uri, o);\n }\n}\nexports.Socket = Socket;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Fetch = void 0;\nconst polling_js_1 = require(\"./polling.js\");\n/**\n * HTTP long-polling based on the built-in `fetch()` method.\n *\n * Usage: browser, Node.js (since v18), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/fetch\n * @see https://caniuse.com/fetch\n * @see https://nodejs.org/api/globals.html#fetch\n */\nclass Fetch extends polling_js_1.Polling {\n doPoll() {\n this._fetch()\n .then((res) => {\n if (!res.ok) {\n return this.onError(\"fetch read error\", res.status, res);\n }\n res.text().then((data) => this.onData(data));\n })\n .catch((err) => {\n this.onError(\"fetch read error\", err);\n });\n }\n doWrite(data, callback) {\n this._fetch(data)\n .then((res) => {\n if (!res.ok) {\n return this.onError(\"fetch write error\", res.status, res);\n }\n callback();\n })\n .catch((err) => {\n this.onError(\"fetch write error\", err);\n });\n }\n _fetch(data) {\n var _a;\n const isPost = data !== undefined;\n const headers = new Headers(this.opts.extraHeaders);\n if (isPost) {\n headers.set(\"content-type\", \"text/plain;charset=UTF-8\");\n }\n (_a = this.socket._cookieJar) === null || _a === void 0 ? void 0 : _a.appendCookies(headers);\n return fetch(this.uri(), {\n method: isPost ? \"POST\" : \"GET\",\n body: isPost ? data : null,\n headers,\n credentials: this.opts.withCredentials ? \"include\" : \"omit\",\n }).then((res) => {\n var _a;\n // @ts-ignore getSetCookie() was added in Node.js v19.7.0\n (_a = this.socket._cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(res.headers.getSetCookie());\n return res;\n });\n }\n}\nexports.Fetch = Fetch;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebTransport = exports.WebSocket = exports.NodeWebSocket = exports.XHR = exports.NodeXHR = exports.Fetch = exports.nextTick = exports.parse = exports.installTimerFunctions = exports.transports = exports.TransportError = exports.Transport = exports.protocol = exports.SocketWithUpgrade = exports.SocketWithoutUpgrade = exports.Socket = void 0;\nconst socket_js_1 = require(\"./socket.js\");\nObject.defineProperty(exports, \"Socket\", { enumerable: true, get: function () { return socket_js_1.Socket; } });\nvar socket_js_2 = require(\"./socket.js\");\nObject.defineProperty(exports, \"SocketWithoutUpgrade\", { enumerable: true, get: function () { return socket_js_2.SocketWithoutUpgrade; } });\nObject.defineProperty(exports, \"SocketWithUpgrade\", { enumerable: true, get: function () { return socket_js_2.SocketWithUpgrade; } });\nexports.protocol = socket_js_1.Socket.protocol;\nvar transport_js_1 = require(\"./transport.js\");\nObject.defineProperty(exports, \"Transport\", { enumerable: true, get: function () { return transport_js_1.Transport; } });\nObject.defineProperty(exports, \"TransportError\", { enumerable: true, get: function () { return transport_js_1.TransportError; } });\nvar index_js_1 = require(\"./transports/index.js\");\nObject.defineProperty(exports, \"transports\", { enumerable: true, get: function () { return index_js_1.transports; } });\nvar util_js_1 = require(\"./util.js\");\nObject.defineProperty(exports, \"installTimerFunctions\", { enumerable: true, get: function () { return util_js_1.installTimerFunctions; } });\nvar parseuri_js_1 = require(\"./contrib/parseuri.js\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parseuri_js_1.parse; } });\nvar globals_node_js_1 = require(\"./globals.node.js\");\nObject.defineProperty(exports, \"nextTick\", { enumerable: true, get: function () { return globals_node_js_1.nextTick; } });\nvar polling_fetch_js_1 = require(\"./transports/polling-fetch.js\");\nObject.defineProperty(exports, \"Fetch\", { enumerable: true, get: function () { return polling_fetch_js_1.Fetch; } });\nvar polling_xhr_node_js_1 = require(\"./transports/polling-xhr.node.js\");\nObject.defineProperty(exports, \"NodeXHR\", { enumerable: true, get: function () { return polling_xhr_node_js_1.XHR; } });\nvar polling_xhr_js_1 = require(\"./transports/polling-xhr.js\");\nObject.defineProperty(exports, \"XHR\", { enumerable: true, get: function () { return polling_xhr_js_1.XHR; } });\nvar websocket_node_js_1 = require(\"./transports/websocket.node.js\");\nObject.defineProperty(exports, \"NodeWebSocket\", { enumerable: true, get: function () { return websocket_node_js_1.WS; } });\nvar websocket_js_1 = require(\"./transports/websocket.js\");\nObject.defineProperty(exports, \"WebSocket\", { enumerable: true, get: function () { return websocket_js_1.WS; } });\nvar webtransport_js_1 = require(\"./transports/webtransport.js\");\nObject.defineProperty(exports, \"WebTransport\", { enumerable: true, get: function () { return webtransport_js_1.WT; } });\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.url = url;\nconst engine_io_client_1 = require(\"engine.io-client\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"socket.io-client:url\"); // debug()\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nfunction url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n debug(\"protocol-less url %s\", uri);\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n debug(\"parse %s\", uri);\n obj = (0, engine_io_client_1.parse)(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasBinary = exports.isBinary = void 0;\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nfunction isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexports.isBinary = isBinary;\nfunction hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\nexports.hasBinary = hasBinary;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reconstructPacket = exports.deconstructPacket = void 0;\nconst is_binary_js_1 = require(\"./is-binary.js\");\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nfunction deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nexports.deconstructPacket = deconstructPacket;\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if ((0, is_binary_js_1.isBinary)(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nfunction reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nexports.reconstructPacket = reconstructPacket;\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Decoder = exports.Encoder = exports.PacketType = exports.protocol = void 0;\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst binary_js_1 = require(\"./binary.js\");\nconst is_binary_js_1 = require(\"./is-binary.js\");\nconst debug_1 = require(\"debug\"); // debug()\nconst debug = (0, debug_1.default)(\"socket.io-parser\"); // debug()\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexports.protocol = 5;\nvar PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType = exports.PacketType || (exports.PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nclass Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n debug(\"encoding packet %j\", obj);\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if ((0, is_binary_js_1.hasBinary)(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n debug(\"encoded %j as %s\", obj, str);\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = (0, binary_js_1.deconstructPacket)(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\nexports.Encoder = Encoder;\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nclass Decoder extends component_emitter_1.Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if ((0, is_binary_js_1.isBinary)(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n debug(\"decoded %s as %j\", str, p);\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\nexports.Decoder = Decoder;\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = (0, binary_js_1.reconstructPacket)(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.on = on;\nfunction on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Socket = void 0;\nconst socket_io_parser_1 = require(\"socket.io-parser\");\nconst on_js_1 = require(\"./on.js\");\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"socket.io-client:socket\"); // debug()\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nclass Socket extends component_emitter_1.Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n (0, on_js_1.on)(io, \"open\", this.onopen.bind(this)),\n (0, on_js_1.on)(io, \"packet\", this.onpacket.bind(this)),\n (0, on_js_1.on)(io, \"error\", this.onerror.bind(this)),\n (0, on_js_1.on)(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a, _b, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: socket_io_parser_1.PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n debug(\"emitting packet with ack id %d\", id);\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) {\n debug(\"discard packet as the transport is not currently writable\");\n }\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n debug(\"removing packet with ack id %d from the buffer\", id);\n this.sendBuffer.splice(i, 1);\n }\n }\n debug(\"event with ack id %d has timed out after %d ms\", id, timeout);\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n debug(\"packet [%d] is discarded after %d tries\", packet.id, packet.tryCount);\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n debug(\"packet [%d] was successfully sent\", packet.id);\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n debug(\"draining queue\");\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n debug(\"packet [%d] has already been sent and is waiting for an ack\", packet.id);\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n debug(\"sending packet [%d] (try n\u00B0%d)\", packet.id, packet.tryCount);\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n debug(\"transport is open - connecting\");\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: socket_io_parser_1.PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n debug(\"close (%s)\", reason);\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case socket_io_parser_1.PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case socket_io_parser_1.PacketType.EVENT:\n case socket_io_parser_1.PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case socket_io_parser_1.PacketType.ACK:\n case socket_io_parser_1.PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case socket_io_parser_1.PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case socket_io_parser_1.PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n debug(\"emitting event %j\", args);\n if (null != packet.id) {\n debug(\"attaching ack callback to event\");\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n debug(\"sending ack %j\", args);\n self.packet({\n type: socket_io_parser_1.PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n debug(\"bad ack %s\", packet.id);\n return;\n }\n delete this.acks[packet.id];\n debug(\"calling ack %s with %j\", packet.id, packet.data);\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n debug(\"socket connected with id %s\", id);\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n debug(\"server disconnect (%s)\", this.nsp);\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n debug(\"performing disconnect (%s)\", this.nsp);\n this.packet({ type: socket_io_parser_1.PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\nexports.Socket = Socket;\n", "\"use strict\";\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Backoff = Backoff;\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Manager = void 0;\nconst engine_io_client_1 = require(\"engine.io-client\");\nconst socket_js_1 = require(\"./socket.js\");\nconst parser = __importStar(require(\"socket.io-parser\"));\nconst on_js_1 = require(\"./on.js\");\nconst backo2_js_1 = require(\"./contrib/backo2.js\");\nconst component_emitter_1 = require(\"@socket.io/component-emitter\");\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"socket.io-client:manager\"); // debug()\nclass Manager extends component_emitter_1.Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n (0, engine_io_client_1.installTimerFunctions)(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new backo2_js_1.Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n debug(\"readyState %s\", this._readyState);\n if (~this._readyState.indexOf(\"open\"))\n return this;\n debug(\"opening %s\", this.uri);\n this.engine = new engine_io_client_1.Socket(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = (0, on_js_1.on)(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n debug(\"error\");\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = (0, on_js_1.on)(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n debug(\"connect attempt will timeout after %d\", timeout);\n // set timer\n const timer = this.setTimeoutFn(() => {\n debug(\"connect attempt timed out after %d\", timeout);\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n debug(\"open\");\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push((0, on_js_1.on)(socket, \"ping\", this.onping.bind(this)), (0, on_js_1.on)(socket, \"data\", this.ondata.bind(this)), (0, on_js_1.on)(socket, \"error\", this.onerror.bind(this)), (0, on_js_1.on)(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n (0, on_js_1.on)(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n (0, engine_io_client_1.nextTick)(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n debug(\"error\", err);\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new socket_js_1.Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n debug(\"socket %s is still active, skipping close\", nsp);\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n debug(\"writing packet %j\", packet);\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n debug(\"cleanup\");\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n debug(\"disconnect\");\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n debug(\"closed due to %s\", reason);\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n debug(\"reconnect failed\");\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n debug(\"will wait %dms before reconnect attempt\", delay);\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n debug(\"attempting reconnect\");\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n debug(\"reconnect attempt error\");\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n debug(\"reconnect success\");\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\nexports.Manager = Manager;\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebTransport = exports.WebSocket = exports.NodeWebSocket = exports.XHR = exports.NodeXHR = exports.Fetch = exports.Socket = exports.Manager = exports.protocol = void 0;\nexports.io = lookup;\nexports.connect = lookup;\nexports.default = lookup;\nconst url_js_1 = require(\"./url.js\");\nconst manager_js_1 = require(\"./manager.js\");\nObject.defineProperty(exports, \"Manager\", { enumerable: true, get: function () { return manager_js_1.Manager; } });\nconst socket_js_1 = require(\"./socket.js\");\nObject.defineProperty(exports, \"Socket\", { enumerable: true, get: function () { return socket_js_1.Socket; } });\nconst debug_1 = __importDefault(require(\"debug\")); // debug()\nconst debug = (0, debug_1.default)(\"socket.io-client\"); // debug()\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = (0, url_js_1.url)(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n debug(\"ignoring socket cache for %s\", source);\n io = new manager_js_1.Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n debug(\"new io instance for %s\", source);\n cache[id] = new manager_js_1.Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager: manager_js_1.Manager,\n Socket: socket_js_1.Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nvar socket_io_parser_1 = require(\"socket.io-parser\");\nObject.defineProperty(exports, \"protocol\", { enumerable: true, get: function () { return socket_io_parser_1.protocol; } });\nvar engine_io_client_1 = require(\"engine.io-client\");\nObject.defineProperty(exports, \"Fetch\", { enumerable: true, get: function () { return engine_io_client_1.Fetch; } });\nObject.defineProperty(exports, \"NodeXHR\", { enumerable: true, get: function () { return engine_io_client_1.NodeXHR; } });\nObject.defineProperty(exports, \"XHR\", { enumerable: true, get: function () { return engine_io_client_1.XHR; } });\nObject.defineProperty(exports, \"NodeWebSocket\", { enumerable: true, get: function () { return engine_io_client_1.NodeWebSocket; } });\nObject.defineProperty(exports, \"WebSocket\", { enumerable: true, get: function () { return engine_io_client_1.WebSocket; } });\nObject.defineProperty(exports, \"WebTransport\", { enumerable: true, get: function () { return engine_io_client_1.WebTransport; } });\n\nmodule.exports = lookup;\n", "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n", "const io = require(\"socket.io-client\");\nconst { EventEmitter } = require(\"events\");\n\nmodule.exports = class SocketIoClient extends EventEmitter {\n constructor(\n config = {\n url: null,\n options: {},\n }\n ) {\n super();\n if (!config.url) throw new Error(\"config.url is required\");\n this.url = config.url;\n this.options = {\n autoConnect: false,\n forceNew: false,\n reconnection: true,\n reconnectionAttempts: Infinity,\n reconnectionDelay: 1000,\n withCredentials: true,\n transports: [\"websocket\", \"polling\"],\n upgrade: true,\n ...config.options,\n };\n\n this.socket = io(this.url, this.options);\n\n this.socket.on(\"connect\", () => {\n this.emit(\"connect\", this.socket);\n });\n\n this.socket.on(\"disconnect\", (reason) => {\n this.emit(\"disconnect\", reason);\n });\n\n this.socket.on(\"reconnect_attempt\", (data) => {\n this.emit(\"reconnect_attempt\", data);\n });\n\n this.socket.on(\"connect_error\", (error) => {\n this.emit(\"connect_error\", error);\n });\n }\n\n #url = null;\n\n get url() {\n return this.#url;\n }\n\n set url(url) {\n this.#url = url;\n }\n\n get connected() {\n return this.socket?.connected || false;\n }\n\n get disconnected() {\n return this.socket?.disconnected || false;\n }\n\n connect() {\n this.socket.connect();\n }\n\n disconnect() {\n this.socket.disconnect();\n }\n\n reconnect() {\n this.disconnect();\n this.connect();\n }\n\n subscribe(event, callback) {\n this.socket.on(event, callback);\n }\n\n unsubscribe(event, callback) {\n this.socket.off(event, callback);\n }\n\n getSubscriptions(event) {\n return this.socket.listeners(event);\n }\n\n send(event, { data = {}, query = {}, ...rest }) {\n this.socket.emit(event, { data, query, ...rest });\n }\n\n destroy() {\n this.disconnect();\n this.socket.removeAllListeners();\n this.socket = null;\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["require_cjs", "self", "_a", "_a", "require_cjs", "require_cjs", "PacketType", "require_socket", "self", "self", "socket", "require_cjs", "ReflectApply", "ReflectOwnKeys", "NumberIsNaN", "once"]
7
- }