@cendarsoss/pusher-js 8.4.11

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 (425) hide show
  1. package/.editorconfig +14 -0
  2. package/.github/ISSUE_TEMPLATE.md +11 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +14 -0
  4. package/.github/dependabot.yml +14 -0
  5. package/.github/stale.yml +26 -0
  6. package/.github/workflows/release.yml +112 -0
  7. package/.github/workflows/release_pr.yml +43 -0
  8. package/.github/workflows/run-tests.yml +62 -0
  9. package/.gitmodules +3 -0
  10. package/.prettierrc +2 -0
  11. package/CHANGELOG.md +928 -0
  12. package/DELTA_COMPRESSION.md +365 -0
  13. package/DELTA_USAGE.md +179 -0
  14. package/IMPLEMENTATION_SUMMARY.md +261 -0
  15. package/IMPORT_GUIDE.md +638 -0
  16. package/LIBRARY_STRUCTURE_ANALYSIS.md +940 -0
  17. package/LICENCE +19 -0
  18. package/Makefile +14 -0
  19. package/README.md +709 -0
  20. package/TAG_FILTERING_CLIENT.md +471 -0
  21. package/bower.json +19 -0
  22. package/bun.lock +2695 -0
  23. package/dist/node/filter.js +252 -0
  24. package/dist/node/filter.js.map +1 -0
  25. package/dist/node/pusher.js +4434 -0
  26. package/dist/node/pusher.js.map +1 -0
  27. package/dist/web/filter.mjs +252 -0
  28. package/dist/web/filter.mjs.map +1 -0
  29. package/dist/web/pusher.mjs +5889 -0
  30. package/dist/web/pusher.mjs.map +1 -0
  31. package/examples/delta-compression-example.html +372 -0
  32. package/examples/delta-seamless-example.html +185 -0
  33. package/index.d.ts +36 -0
  34. package/integration_tests_server/index.js +176 -0
  35. package/integration_tests_server/package-lock.json +1177 -0
  36. package/integration_tests_server/package.json +15 -0
  37. package/interactive/.env +16 -0
  38. package/interactive/CONFLATION_TEST.md +73 -0
  39. package/interactive/DELTA_COMPRESSION_TESTING.md +262 -0
  40. package/interactive/bun.lock +208 -0
  41. package/interactive/package-lock.json +1075 -0
  42. package/interactive/package.json +32 -0
  43. package/interactive/public/app.js +1363 -0
  44. package/interactive/public/bundle-entry.js +14 -0
  45. package/interactive/public/conflation-test.html +508 -0
  46. package/interactive/public/conflation-test.js +785 -0
  47. package/interactive/public/delta-compression.js +1090 -0
  48. package/interactive/public/dist/bundle.js +5857 -0
  49. package/interactive/public/index.html +392 -0
  50. package/interactive/public/main.js +20 -0
  51. package/interactive/public/style.css +823 -0
  52. package/interactive/server.js +246 -0
  53. package/interactive/test-bundle.html +89 -0
  54. package/interactive/test-delta.js +146 -0
  55. package/node.js +1 -0
  56. package/package.json +94 -0
  57. package/pusher-with-encryption/index.js +1 -0
  58. package/react-native/index.d.ts +29 -0
  59. package/react-native/index.js +1 -0
  60. package/spec/config/jasmine/helpers/reporter.js +14 -0
  61. package/spec/config/jasmine/integration.json +13 -0
  62. package/spec/config/jasmine/unit.json +13 -0
  63. package/spec/config/jasmine/webpack.integration.js +33 -0
  64. package/spec/config/jasmine/webpack.unit.js +30 -0
  65. package/spec/config/karma/available_browsers.json +4957 -0
  66. package/spec/config/karma/config.ci.js +25 -0
  67. package/spec/config/karma/config.common.js +50 -0
  68. package/spec/config/karma/config.integration.js +26 -0
  69. package/spec/config/karma/config.unit.js +10 -0
  70. package/spec/config/karma/config.worker.js +34 -0
  71. package/spec/config/karma/integration.js +24 -0
  72. package/spec/config/karma/unit.js +20 -0
  73. package/spec/javascripts/helpers/mocks.js +274 -0
  74. package/spec/javascripts/helpers/node/integration.js +33 -0
  75. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +1 -0
  76. package/spec/javascripts/helpers/pusher_integration.js +1 -0
  77. package/spec/javascripts/helpers/pusher_integration_class.ts +12 -0
  78. package/spec/javascripts/helpers/timers/promises.js +9 -0
  79. package/spec/javascripts/helpers/waitsFor.js +37 -0
  80. package/spec/javascripts/helpers/web/integration.js +44 -0
  81. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +1 -0
  82. package/spec/javascripts/integration/core/cluster_config_spec.js +153 -0
  83. package/spec/javascripts/integration/core/falling_back_spec.js +195 -0
  84. package/spec/javascripts/integration/core/pusher_spec/index.js +68 -0
  85. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +715 -0
  86. package/spec/javascripts/integration/core/timeout_configuration_spec.js +200 -0
  87. package/spec/javascripts/integration/core/transport_lists_spec.js +103 -0
  88. package/spec/javascripts/integration/index.node.js +12 -0
  89. package/spec/javascripts/integration/index.web.js +63 -0
  90. package/spec/javascripts/integration/index.worker.js +13 -0
  91. package/spec/javascripts/integration/web/dom/jsonp_spec.js +97 -0
  92. package/spec/javascripts/integration/web/dom/script_request_spec.js +90 -0
  93. package/spec/javascripts/polyfills/index.js +105 -0
  94. package/spec/javascripts/unit/core/channels/channel_spec.js +355 -0
  95. package/spec/javascripts/unit/core/channels/channels_spec.js +94 -0
  96. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +343 -0
  97. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +553 -0
  98. package/spec/javascripts/unit/core/channels/private_channel_spec.js +182 -0
  99. package/spec/javascripts/unit/core/config_spec.js +507 -0
  100. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +656 -0
  101. package/spec/javascripts/unit/core/connection/connection_spec.js +286 -0
  102. package/spec/javascripts/unit/core/connection/handshake_spec.js +160 -0
  103. package/spec/javascripts/unit/core/connection/protocol_spec.js +420 -0
  104. package/spec/javascripts/unit/core/defaults_spec.js +26 -0
  105. package/spec/javascripts/unit/core/events_dispatcher_spec.js +385 -0
  106. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +60 -0
  107. package/spec/javascripts/unit/core/http/http_request_spec.js +185 -0
  108. package/spec/javascripts/unit/core/http/http_socket_spec.js +370 -0
  109. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +56 -0
  110. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +164 -0
  111. package/spec/javascripts/unit/core/logger_spec.js +133 -0
  112. package/spec/javascripts/unit/core/pusher_spec.js +613 -0
  113. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +18 -0
  114. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +104 -0
  115. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +95 -0
  116. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +68 -0
  117. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +165 -0
  118. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +213 -0
  119. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +250 -0
  120. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +400 -0
  121. package/spec/javascripts/unit/core/timeline/timeline_spec.js +153 -0
  122. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +223 -0
  123. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +85 -0
  124. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +585 -0
  125. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +64 -0
  126. package/spec/javascripts/unit/core/user_spec.js +303 -0
  127. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +74 -0
  128. package/spec/javascripts/unit/core/utils/timers_spec.js +157 -0
  129. package/spec/javascripts/unit/core/utils/url_store_spec.js +14 -0
  130. package/spec/javascripts/unit/core/watchlist_spec.js +48 -0
  131. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +137 -0
  132. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +48 -0
  133. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +128 -0
  134. package/spec/javascripts/unit/core_with_runtime/readme.md +5 -0
  135. package/spec/javascripts/unit/index.node.js +11 -0
  136. package/spec/javascripts/unit/index.web.js +12 -0
  137. package/spec/javascripts/unit/index.worker.js +11 -0
  138. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +82 -0
  139. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +202 -0
  140. package/spec/javascripts/unit/node/timeline_sender_spec.js +83 -0
  141. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +249 -0
  142. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +130 -0
  143. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +68 -0
  144. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +222 -0
  145. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +64 -0
  146. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +131 -0
  147. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +127 -0
  148. package/spec/javascripts/unit/web/transports/transports_spec.js +444 -0
  149. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +156 -0
  150. package/spec/javascripts/unit/worker/timeline_sender_spec.js +76 -0
  151. package/src/core/auth/auth_transports.ts +18 -0
  152. package/src/core/auth/channel_authorizer.ts +64 -0
  153. package/src/core/auth/deprecated_channel_authorizer.ts +56 -0
  154. package/src/core/auth/options.ts +76 -0
  155. package/src/core/auth/user_authenticator.ts +62 -0
  156. package/src/core/base64.ts +49 -0
  157. package/src/core/channels/channel.ts +173 -0
  158. package/src/core/channels/channel_table.ts +7 -0
  159. package/src/core/channels/channels.ts +86 -0
  160. package/src/core/channels/encrypted_channel.ts +150 -0
  161. package/src/core/channels/filter.ts +342 -0
  162. package/src/core/channels/members.ts +80 -0
  163. package/src/core/channels/metadata.ts +5 -0
  164. package/src/core/channels/presence_channel.ts +113 -0
  165. package/src/core/channels/private_channel.ts +25 -0
  166. package/src/core/config.ts +189 -0
  167. package/src/core/connection/callbacks.ts +21 -0
  168. package/src/core/connection/connection.ts +160 -0
  169. package/src/core/connection/connection_manager.ts +371 -0
  170. package/src/core/connection/connection_manager_options.ts +14 -0
  171. package/src/core/connection/handshake/handshake_payload.ts +10 -0
  172. package/src/core/connection/handshake/index.ts +90 -0
  173. package/src/core/connection/protocol/action.ts +8 -0
  174. package/src/core/connection/protocol/message-types.ts +11 -0
  175. package/src/core/connection/protocol/protocol.ts +166 -0
  176. package/src/core/defaults.ts +66 -0
  177. package/src/core/delta/channel_state.ts +194 -0
  178. package/src/core/delta/decoders.ts +129 -0
  179. package/src/core/delta/index.ts +10 -0
  180. package/src/core/delta/manager.ts +504 -0
  181. package/src/core/delta/types.ts +60 -0
  182. package/src/core/errors.ts +69 -0
  183. package/src/core/events/callback.ts +6 -0
  184. package/src/core/events/callback_registry.ts +75 -0
  185. package/src/core/events/callback_table.ts +7 -0
  186. package/src/core/events/dispatcher.ts +84 -0
  187. package/src/core/http/ajax.ts +24 -0
  188. package/src/core/http/http_factory.ts +16 -0
  189. package/src/core/http/http_polling_socket.ts +24 -0
  190. package/src/core/http/http_request.ts +81 -0
  191. package/src/core/http/http_socket.ts +220 -0
  192. package/src/core/http/http_streaming_socket.ts +19 -0
  193. package/src/core/http/request_hooks.ts +9 -0
  194. package/src/core/http/socket_hooks.ts +11 -0
  195. package/src/core/http/state.ts +7 -0
  196. package/src/core/http/url_location.ts +6 -0
  197. package/src/core/logger.ts +66 -0
  198. package/src/core/options.ts +61 -0
  199. package/src/core/pusher-licence.js +7 -0
  200. package/src/core/pusher-with-encryption.js +1 -0
  201. package/src/core/pusher-with-encryption.ts +14 -0
  202. package/src/core/pusher.js +10 -0
  203. package/src/core/pusher.ts +412 -0
  204. package/src/core/reachability.ts +7 -0
  205. package/src/core/socket.ts +14 -0
  206. package/src/core/strategies/best_connected_ever_strategy.ts +81 -0
  207. package/src/core/strategies/delayed_strategy.ts +48 -0
  208. package/src/core/strategies/first_connected_strategy.ts +31 -0
  209. package/src/core/strategies/if_strategy.ts +34 -0
  210. package/src/core/strategies/sequential_strategy.ts +129 -0
  211. package/src/core/strategies/strategy.ts +8 -0
  212. package/src/core/strategies/strategy_builder.ts +67 -0
  213. package/src/core/strategies/strategy_options.ts +18 -0
  214. package/src/core/strategies/strategy_runner.ts +6 -0
  215. package/src/core/strategies/transport_strategy.ts +144 -0
  216. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +157 -0
  217. package/src/core/timeline/level.ts +7 -0
  218. package/src/core/timeline/timeline.ts +90 -0
  219. package/src/core/timeline/timeline_sender.ts +33 -0
  220. package/src/core/timeline/timeline_transport.ts +11 -0
  221. package/src/core/transports/assistant_to_the_transport_manager.ts +104 -0
  222. package/src/core/transports/ping_delay_options.ts +7 -0
  223. package/src/core/transports/transport.ts +54 -0
  224. package/src/core/transports/transport_connection.ts +241 -0
  225. package/src/core/transports/transport_connection_options.ts +8 -0
  226. package/src/core/transports/transport_hooks.ts +16 -0
  227. package/src/core/transports/transport_manager.ts +52 -0
  228. package/src/core/transports/transports_table.ts +12 -0
  229. package/src/core/transports/url_scheme.ts +13 -0
  230. package/src/core/transports/url_schemes.ts +47 -0
  231. package/src/core/user.ts +186 -0
  232. package/src/core/util.ts +34 -0
  233. package/src/core/utils/collections.ts +353 -0
  234. package/src/core/utils/factory.ts +79 -0
  235. package/src/core/utils/flat_promise.ts +10 -0
  236. package/src/core/utils/timers/abstract_timer.ts +39 -0
  237. package/src/core/utils/timers/index.ts +39 -0
  238. package/src/core/utils/timers/scheduling.ts +11 -0
  239. package/src/core/utils/timers/timed_callback.ts +5 -0
  240. package/src/core/utils/url_store.ts +48 -0
  241. package/src/core/watchlist.ts +31 -0
  242. package/src/d.ts/constants/index.d.ts +5 -0
  243. package/src/d.ts/faye-websocket/faye-websocket.d.ts +21 -0
  244. package/src/d.ts/global/global.d.ts +1 -0
  245. package/src/d.ts/module/module.d.ts +12 -0
  246. package/src/d.ts/tweetnacl-util/index.d.ts +6 -0
  247. package/src/d.ts/window/events.d.ts +4 -0
  248. package/src/d.ts/window/sockjs.d.ts +3 -0
  249. package/src/d.ts/window/websocket.d.ts +4 -0
  250. package/src/d.ts/window/xmlhttprequest.d.ts +3 -0
  251. package/src/filter.ts +5 -0
  252. package/src/index.ts +8 -0
  253. package/src/runtimes/interface.ts +60 -0
  254. package/src/runtimes/isomorphic/auth/xhr_auth.ts +90 -0
  255. package/src/runtimes/isomorphic/default_strategy.ts +155 -0
  256. package/src/runtimes/isomorphic/http/http.ts +32 -0
  257. package/src/runtimes/isomorphic/http/http_xhr_request.ts +35 -0
  258. package/src/runtimes/isomorphic/runtime.ts +62 -0
  259. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +50 -0
  260. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +19 -0
  261. package/src/runtimes/isomorphic/transports/transports.ts +83 -0
  262. package/src/runtimes/node/net_info.ts +10 -0
  263. package/src/runtimes/node/runtime.ts +68 -0
  264. package/src/runtimes/react-native/net_info.ts +42 -0
  265. package/src/runtimes/react-native/runtime.ts +65 -0
  266. package/src/runtimes/web/auth/jsonp_auth.ts +51 -0
  267. package/src/runtimes/web/browser.ts +24 -0
  268. package/src/runtimes/web/default_strategy.ts +201 -0
  269. package/src/runtimes/web/dom/dependencies.ts +16 -0
  270. package/src/runtimes/web/dom/dependency_loader.ts +93 -0
  271. package/src/runtimes/web/dom/json2.js +486 -0
  272. package/src/runtimes/web/dom/jsonp_request.ts +52 -0
  273. package/src/runtimes/web/dom/script_receiver.ts +8 -0
  274. package/src/runtimes/web/dom/script_receiver_factory.ts +57 -0
  275. package/src/runtimes/web/dom/script_request.ts +85 -0
  276. package/src/runtimes/web/http/http.ts +8 -0
  277. package/src/runtimes/web/http/http_xdomain_request.ts +37 -0
  278. package/src/runtimes/web/net_info.ts +50 -0
  279. package/src/runtimes/web/runtime.ts +174 -0
  280. package/src/runtimes/web/timeline/jsonp_timeline.ts +34 -0
  281. package/src/runtimes/web/transports/transport_connection_initializer.ts +39 -0
  282. package/src/runtimes/web/transports/transports.ts +67 -0
  283. package/src/runtimes/worker/auth/fetch_auth.ts +69 -0
  284. package/src/runtimes/worker/net_info.ts +10 -0
  285. package/src/runtimes/worker/runtime.ts +75 -0
  286. package/src/runtimes/worker/timeline/fetch_timeline.ts +39 -0
  287. package/tsconfig.json +18 -0
  288. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +1 -0
  289. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +4 -0
  290. package/types/src/core/auth/auth_transports.d.ts +9 -0
  291. package/types/src/core/auth/channel_authorizer.d.ts +3 -0
  292. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +18 -0
  293. package/types/src/core/auth/options.d.ts +48 -0
  294. package/types/src/core/auth/user_authenticator.d.ts +3 -0
  295. package/types/src/core/base64.d.ts +1 -0
  296. package/types/src/core/channels/channel.d.ts +25 -0
  297. package/types/src/core/channels/channel_table.d.ts +5 -0
  298. package/types/src/core/channels/channels.d.ts +12 -0
  299. package/types/src/core/channels/encrypted_channel.d.ts +15 -0
  300. package/types/src/core/channels/filter.d.ts +33 -0
  301. package/types/src/core/channels/members.d.ts +14 -0
  302. package/types/src/core/channels/metadata.d.ts +4 -0
  303. package/types/src/core/channels/presence_channel.d.ts +13 -0
  304. package/types/src/core/channels/private_channel.d.ts +5 -0
  305. package/types/src/core/config.d.ts +31 -0
  306. package/types/src/core/connection/callbacks.d.ts +18 -0
  307. package/types/src/core/connection/connection.d.ts +16 -0
  308. package/types/src/core/connection/connection_manager.d.ts +50 -0
  309. package/types/src/core/connection/connection_manager_options.d.ts +11 -0
  310. package/types/src/core/connection/handshake/handshake_payload.d.ts +8 -0
  311. package/types/src/core/connection/handshake/index.d.ts +12 -0
  312. package/types/src/core/connection/protocol/action.d.ts +7 -0
  313. package/types/src/core/connection/protocol/message-types.d.ts +10 -0
  314. package/types/src/core/connection/protocol/protocol.d.ts +10 -0
  315. package/types/src/core/defaults.d.ts +26 -0
  316. package/types/src/core/delta/channel_state.d.ts +23 -0
  317. package/types/src/core/delta/decoders.d.ts +12 -0
  318. package/types/src/core/delta/index.d.ts +4 -0
  319. package/types/src/core/delta/manager.d.ts +27 -0
  320. package/types/src/core/delta/types.d.ts +50 -0
  321. package/types/src/core/errors.d.ts +28 -0
  322. package/types/src/core/events/callback.d.ts +5 -0
  323. package/types/src/core/events/callback_registry.d.ts +11 -0
  324. package/types/src/core/events/callback_table.d.ts +5 -0
  325. package/types/src/core/events/dispatcher.d.ts +14 -0
  326. package/types/src/core/http/ajax.d.ts +16 -0
  327. package/types/src/core/http/http_factory.d.ts +13 -0
  328. package/types/src/core/http/http_polling_socket.d.ts +3 -0
  329. package/types/src/core/http/http_request.d.ts +17 -0
  330. package/types/src/core/http/http_socket.d.ts +32 -0
  331. package/types/src/core/http/http_streaming_socket.d.ts +3 -0
  332. package/types/src/core/http/request_hooks.d.ts +6 -0
  333. package/types/src/core/http/socket_hooks.d.ts +8 -0
  334. package/types/src/core/http/state.d.ts +6 -0
  335. package/types/src/core/http/url_location.d.ts +5 -0
  336. package/types/src/core/logger.d.ts +11 -0
  337. package/types/src/core/options.d.ts +36 -0
  338. package/types/src/core/pusher-with-encryption.d.ts +5 -0
  339. package/types/src/core/pusher.d.ts +56 -0
  340. package/types/src/core/reachability.d.ts +5 -0
  341. package/types/src/core/socket.d.ts +12 -0
  342. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +10 -0
  343. package/types/src/core/strategies/delayed_strategy.d.ts +15 -0
  344. package/types/src/core/strategies/first_connected_strategy.d.ts +8 -0
  345. package/types/src/core/strategies/if_strategy.d.ts +10 -0
  346. package/types/src/core/strategies/sequential_strategy.d.ts +16 -0
  347. package/types/src/core/strategies/strategy.d.ts +6 -0
  348. package/types/src/core/strategies/strategy_builder.d.ts +5 -0
  349. package/types/src/core/strategies/strategy_options.d.ts +16 -0
  350. package/types/src/core/strategies/strategy_runner.d.ts +5 -0
  351. package/types/src/core/strategies/transport_strategy.d.ts +15 -0
  352. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +20 -0
  353. package/types/src/core/timeline/level.d.ts +6 -0
  354. package/types/src/core/timeline/timeline.d.ts +25 -0
  355. package/types/src/core/timeline/timeline_sender.d.ts +13 -0
  356. package/types/src/core/timeline/timeline_transport.d.ts +6 -0
  357. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +14 -0
  358. package/types/src/core/transports/ping_delay_options.d.ts +6 -0
  359. package/types/src/core/transports/transport.d.ts +8 -0
  360. package/types/src/core/transports/transport_connection.d.ts +35 -0
  361. package/types/src/core/transports/transport_connection_options.d.ts +6 -0
  362. package/types/src/core/transports/transport_hooks.d.ts +13 -0
  363. package/types/src/core/transports/transport_manager.d.ts +14 -0
  364. package/types/src/core/transports/transports_table.d.ts +10 -0
  365. package/types/src/core/transports/url_scheme.d.ts +11 -0
  366. package/types/src/core/transports/url_schemes.d.ts +4 -0
  367. package/types/src/core/user.d.ts +21 -0
  368. package/types/src/core/util.d.ts +8 -0
  369. package/types/src/core/utils/collections.d.ts +18 -0
  370. package/types/src/core/utils/factory.d.ts +29 -0
  371. package/types/src/core/utils/flat_promise.d.ts +6 -0
  372. package/types/src/core/utils/timers/abstract_timer.d.ts +10 -0
  373. package/types/src/core/utils/timers/index.d.ts +9 -0
  374. package/types/src/core/utils/timers/scheduling.d.ts +8 -0
  375. package/types/src/core/utils/timers/timed_callback.d.ts +4 -0
  376. package/types/src/core/utils/url_store.d.ts +4 -0
  377. package/types/src/core/watchlist.d.ts +8 -0
  378. package/types/src/runtimes/interface.d.ts +43 -0
  379. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +3 -0
  380. package/types/src/runtimes/isomorphic/default_strategy.d.ts +5 -0
  381. package/types/src/runtimes/isomorphic/http/http.d.ts +3 -0
  382. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +3 -0
  383. package/types/src/runtimes/isomorphic/runtime.d.ts +2 -0
  384. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +6 -0
  385. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +1 -0
  386. package/types/src/runtimes/isomorphic/transports/transports.d.ts +5 -0
  387. package/types/src/runtimes/node/net_info.d.ts +6 -0
  388. package/types/src/runtimes/node/runtime.d.ts +3 -0
  389. package/types/src/runtimes/react-native/net_info.d.ts +8 -0
  390. package/types/src/runtimes/react-native/runtime.d.ts +3 -0
  391. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +3 -0
  392. package/types/src/runtimes/web/browser.d.ts +19 -0
  393. package/types/src/runtimes/web/default_strategy.d.ts +5 -0
  394. package/types/src/runtimes/web/dom/dependencies.d.ts +4 -0
  395. package/types/src/runtimes/web/dom/dependency_loader.d.ts +10 -0
  396. package/types/src/runtimes/web/dom/jsonp_request.d.ts +10 -0
  397. package/types/src/runtimes/web/dom/script_receiver.d.ts +7 -0
  398. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +10 -0
  399. package/types/src/runtimes/web/dom/script_request.d.ts +9 -0
  400. package/types/src/runtimes/web/http/http.d.ts +2 -0
  401. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +3 -0
  402. package/types/src/runtimes/web/net_info.d.ts +7 -0
  403. package/types/src/runtimes/web/runtime.d.ts +3 -0
  404. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +6 -0
  405. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +1 -0
  406. package/types/src/runtimes/web/transports/transports.d.ts +2 -0
  407. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +3 -0
  408. package/types/src/runtimes/worker/net_info.d.ts +6 -0
  409. package/types/src/runtimes/worker/runtime.d.ts +3 -0
  410. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +6 -0
  411. package/vite.config.js +52 -0
  412. package/vite.config.node.js +72 -0
  413. package/webpack/config.node.js +26 -0
  414. package/webpack/config.react-native.js +35 -0
  415. package/webpack/config.shared.js +50 -0
  416. package/webpack/config.web.js +36 -0
  417. package/webpack/config.worker.js +42 -0
  418. package/webpack/dev.server.js +17 -0
  419. package/webpack/hosting_config.js +6 -0
  420. package/with-encryption/index.d.ts +29 -0
  421. package/with-encryption/index.js +4 -0
  422. package/worker/index.d.ts +29 -0
  423. package/worker/index.js +1 -0
  424. package/worker/with-encryption/index.d.ts +29 -0
  425. package/worker/with-encryption/index.js +1 -0
@@ -0,0 +1,14 @@
1
+ import Metadata from '../channels/metadata';
2
+ import CallbackRegistry from './callback_registry';
3
+ export default class Dispatcher {
4
+ callbacks: CallbackRegistry;
5
+ global_callbacks: Function[];
6
+ failThrough: Function;
7
+ constructor(failThrough?: Function);
8
+ bind(eventName: string, callback: Function, context?: any): this;
9
+ bind_global(callback: Function): this;
10
+ unbind(eventName?: string, callback?: Function, context?: any): this;
11
+ unbind_global(callback?: Function): this;
12
+ unbind_all(): this;
13
+ emit(eventName: string, data?: any, metadata?: Metadata): Dispatcher;
14
+ }
@@ -0,0 +1,16 @@
1
+ interface Ajax {
2
+ open(method: string, url: string, async?: boolean, user?: string, password?: string): void;
3
+ send(payload?: any): void;
4
+ setRequestHeader(key: string, value: string): void;
5
+ onreadystatechange: Function;
6
+ readyState: number;
7
+ responseText: string;
8
+ status: number;
9
+ withCredentials?: boolean;
10
+ ontimeout: Function;
11
+ onerror: Function;
12
+ onprogress: Function;
13
+ onload: Function;
14
+ abort: Function;
15
+ }
16
+ export default Ajax;
@@ -0,0 +1,13 @@
1
+ import HTTPSocket from './http_socket';
2
+ import SocketHooks from './socket_hooks';
3
+ import HTTPRequest from './http_request';
4
+ import RequestHooks from './request_hooks';
5
+ interface HTTPFactory {
6
+ createStreamingSocket(url: string): HTTPSocket;
7
+ createPollingSocket(url: string): HTTPSocket;
8
+ createSocket(hooks: SocketHooks, url: string): HTTPSocket;
9
+ createXHR(method: string, url: string): HTTPRequest;
10
+ createXDR?(method: string, url: string): HTTPRequest;
11
+ createRequest(hooks: RequestHooks, method: string, url: string): HTTPRequest;
12
+ }
13
+ export default HTTPFactory;
@@ -0,0 +1,3 @@
1
+ import SocketHooks from './socket_hooks';
2
+ declare var hooks: SocketHooks;
3
+ export default hooks;
@@ -0,0 +1,17 @@
1
+ import RequestHooks from './request_hooks';
2
+ import Ajax from './ajax';
3
+ import { default as EventsDispatcher } from '../events/dispatcher';
4
+ export default class HTTPRequest extends EventsDispatcher {
5
+ hooks: RequestHooks;
6
+ method: string;
7
+ url: string;
8
+ position: number;
9
+ xhr: Ajax;
10
+ unloader: Function;
11
+ constructor(hooks: RequestHooks, method: string, url: string);
12
+ start(payload?: any): void;
13
+ close(): void;
14
+ onChunk(status: number, data: any): void;
15
+ private advanceBuffer;
16
+ private isBufferTooLong;
17
+ }
@@ -0,0 +1,32 @@
1
+ import URLLocation from './url_location';
2
+ import State from './state';
3
+ import Socket from '../socket';
4
+ import SocketHooks from './socket_hooks';
5
+ import HTTPRequest from './http_request';
6
+ declare class HTTPSocket implements Socket {
7
+ hooks: SocketHooks;
8
+ session: string;
9
+ location: URLLocation;
10
+ readyState: State;
11
+ stream: HTTPRequest;
12
+ onopen: () => void;
13
+ onerror: (error: any) => void;
14
+ onclose: (closeEvent: any) => void;
15
+ onmessage: (message: any) => void;
16
+ onactivity: () => void;
17
+ constructor(hooks: SocketHooks, url: string);
18
+ send(payload: any): boolean;
19
+ ping(): void;
20
+ close(code: any, reason: any): void;
21
+ sendRaw(payload: any): boolean;
22
+ reconnect(): void;
23
+ onClose(code: any, reason: any, wasClean: any): void;
24
+ private onChunk;
25
+ private onOpen;
26
+ private onEvent;
27
+ private onActivity;
28
+ private onError;
29
+ private openStream;
30
+ private closeStream;
31
+ }
32
+ export default HTTPSocket;
@@ -0,0 +1,3 @@
1
+ import SocketHooks from './socket_hooks';
2
+ declare var hooks: SocketHooks;
3
+ export default hooks;
@@ -0,0 +1,6 @@
1
+ import Ajax from './ajax';
2
+ interface RequestHooks {
3
+ getRequest(HTTPRequest: any): Ajax;
4
+ abortRequest(HTTPRequest: any): void;
5
+ }
6
+ export default RequestHooks;
@@ -0,0 +1,8 @@
1
+ import URLLocation from './url_location';
2
+ interface SocketHooks {
3
+ getReceiveURL(url: URLLocation, session: string): string;
4
+ onHeartbeat(Socket: any): void;
5
+ sendHeartbeat(Socket: any): void;
6
+ onFinished(Socket: any, Status: any): void;
7
+ }
8
+ export default SocketHooks;
@@ -0,0 +1,6 @@
1
+ declare enum State {
2
+ CONNECTING = 0,
3
+ OPEN = 1,
4
+ CLOSED = 3
5
+ }
6
+ export default State;
@@ -0,0 +1,5 @@
1
+ interface URLLocation {
2
+ base: string;
3
+ queryString: string;
4
+ }
5
+ export default URLLocation;
@@ -0,0 +1,11 @@
1
+ declare class Logger {
2
+ debug(...args: any[]): void;
3
+ warn(...args: any[]): void;
4
+ error(...args: any[]): void;
5
+ private globalLog;
6
+ private globalLogWarn;
7
+ private globalLogError;
8
+ private log;
9
+ }
10
+ declare const _default: Logger;
11
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import { ChannelAuthorizationOptions, UserAuthenticationOptions } from './auth/options';
2
+ import { ChannelAuthorizerGenerator, DeprecatedAuthOptions } from './auth/deprecated_channel_authorizer';
3
+ import { AuthTransport, Transport } from './config';
4
+ import * as nacl from 'tweetnacl';
5
+ import { DeltaOptions } from './delta/types';
6
+ export interface Options {
7
+ activityTimeout?: number;
8
+ auth?: DeprecatedAuthOptions;
9
+ authEndpoint?: string;
10
+ authTransport?: AuthTransport;
11
+ authorizer?: ChannelAuthorizerGenerator;
12
+ channelAuthorization?: ChannelAuthorizationOptions;
13
+ userAuthentication?: UserAuthenticationOptions;
14
+ cluster: string;
15
+ deltaCompression?: DeltaOptions;
16
+ enableStats?: boolean;
17
+ disableStats?: boolean;
18
+ disabledTransports?: Transport[];
19
+ enabledTransports?: Transport[];
20
+ forceTLS?: boolean;
21
+ httpHost?: string;
22
+ httpPath?: string;
23
+ httpPort?: number;
24
+ httpsPort?: number;
25
+ ignoreNullOrigin?: boolean;
26
+ nacl?: nacl;
27
+ pongTimeout?: number;
28
+ statsHost?: string;
29
+ timelineParams?: any;
30
+ unavailableTimeout?: number;
31
+ wsHost?: string;
32
+ wsPath?: string;
33
+ wsPort?: number;
34
+ wssPort?: number;
35
+ }
36
+ export declare function validateOptions(options: any): void;
@@ -0,0 +1,5 @@
1
+ import Pusher from './pusher';
2
+ import { Options } from './options';
3
+ export default class PusherWithEncryption extends Pusher {
4
+ constructor(app_key: string, options: Options);
5
+ }
@@ -0,0 +1,56 @@
1
+ import AbstractRuntime from '../runtimes/interface';
2
+ import Channels from './channels/channels';
3
+ import Channel from './channels/channel';
4
+ import { default as EventsDispatcher } from './events/dispatcher';
5
+ import Timeline from './timeline/timeline';
6
+ import TimelineSender from './timeline/timeline_sender';
7
+ import ConnectionManager from './connection/connection_manager';
8
+ import { PeriodicTimer } from './utils/timers';
9
+ import { Options } from './options';
10
+ import { Config } from './config';
11
+ import UserFacade from './user';
12
+ import DeltaCompressionManager from './delta/manager';
13
+ import { DeltaStats } from './delta/types';
14
+ import { FilterNode, Filter, validateFilter, FilterExamples } from './channels/filter';
15
+ export { FilterNode, Filter, validateFilter, FilterExamples };
16
+ export default class Pusher {
17
+ static instances: Pusher[];
18
+ static isReady: boolean;
19
+ static logToConsole: boolean;
20
+ static Runtime: AbstractRuntime;
21
+ static ScriptReceivers: any;
22
+ static DependenciesReceivers: any;
23
+ static auth_callbacks: any;
24
+ static ready(): void;
25
+ static log: (message: any) => void;
26
+ private static getClientFeatures;
27
+ key: string;
28
+ config: Config;
29
+ channels: Channels;
30
+ global_emitter: EventsDispatcher;
31
+ sessionID: number;
32
+ timeline: Timeline;
33
+ timelineSender: TimelineSender;
34
+ connection: ConnectionManager;
35
+ timelineSenderTimer: PeriodicTimer;
36
+ user: UserFacade;
37
+ deltaCompression: DeltaCompressionManager;
38
+ constructor(app_key: string, options: Options);
39
+ channel(name: string): Channel;
40
+ allChannels(): Channel[];
41
+ connect(): void;
42
+ disconnect(): void;
43
+ bind(event_name: string, callback: Function, context?: any): Pusher;
44
+ unbind(event_name?: string, callback?: Function, context?: any): Pusher;
45
+ bind_global(callback: Function): Pusher;
46
+ unbind_global(callback?: Function): Pusher;
47
+ unbind_all(callback?: Function): Pusher;
48
+ subscribeAll(): void;
49
+ subscribe(channel_name: string, tagsFilter?: any): Channel;
50
+ unsubscribe(channel_name: string): void;
51
+ send_event(event_name: string, data: any, channel?: string): boolean;
52
+ shouldUseTLS(): boolean;
53
+ signin(): void;
54
+ getDeltaStats(): DeltaStats | null;
55
+ resetDeltaStats(): void;
56
+ }
@@ -0,0 +1,5 @@
1
+ import { default as EventsDispatcher } from './events/dispatcher';
2
+ interface Reachability extends EventsDispatcher {
3
+ isOnline(): boolean;
4
+ }
5
+ export default Reachability;
@@ -0,0 +1,12 @@
1
+ interface Socket {
2
+ send(payload: any): void;
3
+ ping?(): void;
4
+ close(code?: any, reason?: any): any;
5
+ sendRaw?(payload: any): boolean;
6
+ onopen?(evt?: any): void;
7
+ onerror?(error: any): void;
8
+ onclose?(closeEvent: any): void;
9
+ onmessage?(message: any): void;
10
+ onactivity?(): void;
11
+ }
12
+ export default Socket;
@@ -0,0 +1,10 @@
1
+ import Strategy from './strategy';
2
+ export default class BestConnectedEverStrategy implements Strategy {
3
+ strategies: Strategy[];
4
+ constructor(strategies: Strategy[]);
5
+ isSupported(): boolean;
6
+ connect(minPriority: number, callback: Function): {
7
+ abort: () => void;
8
+ forceMinPriority: (p: any) => void;
9
+ };
10
+ }
@@ -0,0 +1,15 @@
1
+ import Strategy from './strategy';
2
+ export default class DelayedStrategy implements Strategy {
3
+ strategy: Strategy;
4
+ options: {
5
+ delay: number;
6
+ };
7
+ constructor(strategy: Strategy, { delay: number }: {
8
+ delay: any;
9
+ });
10
+ isSupported(): boolean;
11
+ connect(minPriority: number, callback: Function): {
12
+ abort: () => void;
13
+ forceMinPriority: (p: any) => void;
14
+ };
15
+ }
@@ -0,0 +1,8 @@
1
+ import Strategy from './strategy';
2
+ import StrategyRunner from './strategy_runner';
3
+ export default class FirstConnectedStrategy implements Strategy {
4
+ strategy: Strategy;
5
+ constructor(strategy: Strategy);
6
+ isSupported(): boolean;
7
+ connect(minPriority: number, callback: Function): StrategyRunner;
8
+ }
@@ -0,0 +1,10 @@
1
+ import Strategy from './strategy';
2
+ import StrategyRunner from './strategy_runner';
3
+ export default class IfStrategy implements Strategy {
4
+ test: () => boolean;
5
+ trueBranch: Strategy;
6
+ falseBranch: Strategy;
7
+ constructor(test: () => boolean, trueBranch: Strategy, falseBranch: Strategy);
8
+ isSupported(): boolean;
9
+ connect(minPriority: number, callback: Function): StrategyRunner;
10
+ }
@@ -0,0 +1,16 @@
1
+ import Strategy from './strategy';
2
+ import StrategyOptions from './strategy_options';
3
+ export default class SequentialStrategy implements Strategy {
4
+ strategies: Strategy[];
5
+ loop: boolean;
6
+ failFast: boolean;
7
+ timeout: number;
8
+ timeoutLimit: number;
9
+ constructor(strategies: Strategy[], options: StrategyOptions);
10
+ isSupported(): boolean;
11
+ connect(minPriority: number, callback: Function): {
12
+ abort: () => void;
13
+ forceMinPriority: (p: any) => void;
14
+ };
15
+ private tryStrategy;
16
+ }
@@ -0,0 +1,6 @@
1
+ import StrategyRunner from './strategy_runner';
2
+ interface Strategy {
3
+ isSupported(): boolean;
4
+ connect(minPriority: number, callback: Function): StrategyRunner;
5
+ }
6
+ export default Strategy;
@@ -0,0 +1,5 @@
1
+ import TransportManager from '../transports/transport_manager';
2
+ import Strategy from './strategy';
3
+ import StrategyOptions from '../strategies/strategy_options';
4
+ import { Config } from '../config';
5
+ export declare var defineTransport: (config: Config, name: string, type: string, priority: number, options: StrategyOptions, manager?: TransportManager) => Strategy;
@@ -0,0 +1,16 @@
1
+ import Timeline from '../timeline/timeline';
2
+ interface StrategyOptions {
3
+ failFast?: boolean;
4
+ hostNonTLS?: string;
5
+ hostTLS?: string;
6
+ httpPath?: string;
7
+ ignoreNullOrigin?: boolean;
8
+ key?: string;
9
+ loop?: boolean;
10
+ timeline?: Timeline;
11
+ timeout?: number;
12
+ timeoutLimit?: number;
13
+ ttl?: number;
14
+ useTLS?: boolean;
15
+ }
16
+ export default StrategyOptions;
@@ -0,0 +1,5 @@
1
+ interface StrategyRunner {
2
+ forceMinPriority: (number: any) => void;
3
+ abort: () => void;
4
+ }
5
+ export default StrategyRunner;
@@ -0,0 +1,15 @@
1
+ import Strategy from './strategy';
2
+ import Transport from '../transports/transport';
3
+ import StrategyOptions from './strategy_options';
4
+ export default class TransportStrategy implements Strategy {
5
+ name: string;
6
+ priority: number;
7
+ transport: Transport;
8
+ options: StrategyOptions;
9
+ constructor(name: string, priority: number, transport: Transport, options: StrategyOptions);
10
+ isSupported(): boolean;
11
+ connect(minPriority: number, callback: Function): {
12
+ abort: () => void;
13
+ forceMinPriority: (p: any) => void;
14
+ };
15
+ }
@@ -0,0 +1,20 @@
1
+ import Strategy from './strategy';
2
+ import StrategyOptions from './strategy_options';
3
+ import TransportStrategy from './transport_strategy';
4
+ import Timeline from '../timeline/timeline';
5
+ export interface TransportStrategyDictionary {
6
+ [key: string]: TransportStrategy;
7
+ }
8
+ export default class WebSocketPrioritizedCachedStrategy implements Strategy {
9
+ strategy: Strategy;
10
+ transports: TransportStrategyDictionary;
11
+ ttl: number;
12
+ usingTLS: boolean;
13
+ timeline: Timeline;
14
+ constructor(strategy: Strategy, transports: TransportStrategyDictionary, options: StrategyOptions);
15
+ isSupported(): boolean;
16
+ connect(minPriority: number, callback: Function): {
17
+ abort: () => void;
18
+ forceMinPriority: (p: any) => void;
19
+ };
20
+ }
@@ -0,0 +1,6 @@
1
+ declare enum TimelineLevel {
2
+ ERROR = 3,
3
+ INFO = 6,
4
+ DEBUG = 7
5
+ }
6
+ export default TimelineLevel;
@@ -0,0 +1,25 @@
1
+ import { default as Level } from './level';
2
+ export interface TimelineOptions {
3
+ level?: Level;
4
+ limit?: number;
5
+ version?: string;
6
+ cluster?: string;
7
+ features?: string[];
8
+ params?: any;
9
+ }
10
+ export default class Timeline {
11
+ key: string;
12
+ session: number;
13
+ events: any[];
14
+ options: TimelineOptions;
15
+ sent: number;
16
+ uniqueID: number;
17
+ constructor(key: string, session: number, options: TimelineOptions);
18
+ log(level: any, event: any): void;
19
+ error(event: any): void;
20
+ info(event: any): void;
21
+ debug(event: any): void;
22
+ isEmpty(): boolean;
23
+ send(sendfn: any, callback: any): boolean;
24
+ generateUniqueID(): number;
25
+ }
@@ -0,0 +1,13 @@
1
+ import Timeline from './timeline';
2
+ export interface TimelineSenderOptions {
3
+ host?: string;
4
+ port?: number;
5
+ path?: string;
6
+ }
7
+ export default class TimelineSender {
8
+ timeline: Timeline;
9
+ options: TimelineSenderOptions;
10
+ host: string;
11
+ constructor(timeline: Timeline, options: TimelineSenderOptions);
12
+ send(useTLS: boolean, callback?: Function): void;
13
+ }
@@ -0,0 +1,6 @@
1
+ import TimelineSender from '../timeline/timeline_sender';
2
+ interface TimelineTransport {
3
+ name: string;
4
+ getAgent: (sender: TimelineSender, useTLS: boolean) => (data: any, callback: Function) => void;
5
+ }
6
+ export default TimelineTransport;
@@ -0,0 +1,14 @@
1
+ import TransportManager from './transport_manager';
2
+ import TransportConnection from './transport_connection';
3
+ import Transport from './transport';
4
+ import PingDelayOptions from './ping_delay_options';
5
+ export default class AssistantToTheTransportManager {
6
+ manager: TransportManager;
7
+ transport: Transport;
8
+ minPingDelay: number;
9
+ maxPingDelay: number;
10
+ pingDelay: number;
11
+ constructor(manager: TransportManager, transport: Transport, options: PingDelayOptions);
12
+ createConnection(name: string, priority: number, key: string, options: Object): TransportConnection;
13
+ isSupported(environment: string): boolean;
14
+ }
@@ -0,0 +1,6 @@
1
+ interface PingDelayOptions {
2
+ minPingDelay?: number;
3
+ maxPingDelay?: number;
4
+ pingDelay?: number;
5
+ }
6
+ export default PingDelayOptions;
@@ -0,0 +1,8 @@
1
+ import TransportHooks from './transport_hooks';
2
+ import TransportConnection from './transport_connection';
3
+ export default class Transport {
4
+ hooks: TransportHooks;
5
+ constructor(hooks: TransportHooks);
6
+ isSupported(environment: any): boolean;
7
+ createConnection(name: string, priority: number, key: string, options: any): TransportConnection;
8
+ }
@@ -0,0 +1,35 @@
1
+ import { default as EventsDispatcher } from '../events/dispatcher';
2
+ import TransportHooks from './transport_hooks';
3
+ import Socket from '../socket';
4
+ import Timeline from '../timeline/timeline';
5
+ import TransportConnectionOptions from './transport_connection_options';
6
+ export default class TransportConnection extends EventsDispatcher {
7
+ hooks: TransportHooks;
8
+ name: string;
9
+ priority: number;
10
+ key: string;
11
+ options: TransportConnectionOptions;
12
+ state: string;
13
+ timeline: Timeline;
14
+ activityTimeout: number;
15
+ id: number;
16
+ socket: Socket;
17
+ beforeOpen: Function;
18
+ initialize: Function;
19
+ constructor(hooks: TransportHooks, name: string, priority: number, key: string, options: TransportConnectionOptions);
20
+ handlesActivityChecks(): boolean;
21
+ supportsPing(): boolean;
22
+ connect(): boolean;
23
+ close(): boolean;
24
+ send(data: any): boolean;
25
+ ping(): void;
26
+ private onOpen;
27
+ private onError;
28
+ private onClose;
29
+ private onMessage;
30
+ private onActivity;
31
+ private bindListeners;
32
+ private unbindListeners;
33
+ private changeState;
34
+ buildTimelineMessage(message: any): any;
35
+ }
@@ -0,0 +1,6 @@
1
+ import Timeline from '../timeline/timeline';
2
+ interface TransportConnectionOptions {
3
+ timeline: Timeline;
4
+ activityTimeout: number;
5
+ }
6
+ export default TransportConnectionOptions;
@@ -0,0 +1,13 @@
1
+ import URLScheme from './url_scheme';
2
+ import Socket from '../socket';
3
+ interface TransportHooks {
4
+ file?: string;
5
+ urls: URLScheme;
6
+ handlesActivityChecks: boolean;
7
+ supportsPing: boolean;
8
+ isInitialized(): boolean;
9
+ isSupported(environment?: any): boolean;
10
+ getSocket(url: string, options?: any): Socket;
11
+ beforeOpen?: Function;
12
+ }
13
+ export default TransportHooks;
@@ -0,0 +1,14 @@
1
+ import AssistantToTheTransportManager from './assistant_to_the_transport_manager';
2
+ import Transport from './transport';
3
+ import PingDelayOptions from './ping_delay_options';
4
+ export interface TransportManagerOptions extends PingDelayOptions {
5
+ lives?: number;
6
+ }
7
+ export default class TransportManager {
8
+ options: TransportManagerOptions;
9
+ livesLeft: number;
10
+ constructor(options: TransportManagerOptions);
11
+ getAssistant(transport: Transport): AssistantToTheTransportManager;
12
+ isAlive(): boolean;
13
+ reportDeath(): void;
14
+ }
@@ -0,0 +1,10 @@
1
+ import Transport from './transport';
2
+ interface TransportsTable {
3
+ ws: Transport;
4
+ xhr_streaming: Transport;
5
+ xdr_streaming?: Transport;
6
+ xhr_polling: Transport;
7
+ xdr_polling?: Transport;
8
+ sockjs?: Transport;
9
+ }
10
+ export default TransportsTable;
@@ -0,0 +1,11 @@
1
+ export interface URLSchemeParams {
2
+ useTLS: boolean;
3
+ hostTLS: string;
4
+ hostNonTLS: string;
5
+ httpPath: string;
6
+ }
7
+ interface URLScheme {
8
+ getInitial(key: string, params: any): string;
9
+ getPath?(key: string, options: any): string;
10
+ }
11
+ export default URLScheme;
@@ -0,0 +1,4 @@
1
+ import { default as URLScheme } from './url_scheme';
2
+ export declare var ws: URLScheme;
3
+ export declare var http: URLScheme;
4
+ export declare var sockjs: URLScheme;
@@ -0,0 +1,21 @@
1
+ import Pusher from './pusher';
2
+ import Channel from './channels/channel';
3
+ import WatchlistFacade from './watchlist';
4
+ import EventsDispatcher from './events/dispatcher';
5
+ export default class UserFacade extends EventsDispatcher {
6
+ pusher: Pusher;
7
+ signin_requested: boolean;
8
+ user_data: any;
9
+ serverToUserChannel: Channel;
10
+ signinDonePromise: Promise<any>;
11
+ watchlist: WatchlistFacade;
12
+ private _signinDoneResolve;
13
+ constructor(pusher: Pusher);
14
+ signin(): void;
15
+ private _signin;
16
+ private _onAuthorize;
17
+ private _onSigninSuccess;
18
+ private _subscribeChannels;
19
+ private _cleanup;
20
+ private _newSigninPromiseIfNeeded;
21
+ }
@@ -0,0 +1,8 @@
1
+ import TimedCallback from './utils/timers/timed_callback';
2
+ import { OneOffTimer } from './utils/timers';
3
+ declare var Util: {
4
+ now(): number;
5
+ defer(callback: TimedCallback): OneOffTimer;
6
+ method(name: string, ...args: any[]): Function;
7
+ };
8
+ export default Util;