pingerchips-js 1.0.0-a

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 (434) 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 +924 -0
  12. package/LICENCE +19 -0
  13. package/Makefile +78 -0
  14. package/README.md +707 -0
  15. package/bower.json +28 -0
  16. package/dist/node/pusher.js +10870 -0
  17. package/dist/node/pusher.js.map +1 -0
  18. package/dist/react-native/pusher.js +9 -0
  19. package/dist/react-native/pusher.js.map +1 -0
  20. package/dist/web/json2.js +486 -0
  21. package/dist/web/json2.min.js +1 -0
  22. package/dist/web/pusher-with-encryption.js +7009 -0
  23. package/dist/web/pusher-with-encryption.js.map +1 -0
  24. package/dist/web/pusher-with-encryption.min.js +9 -0
  25. package/dist/web/pusher-with-encryption.min.js.map +1 -0
  26. package/dist/web/pusher.js +4587 -0
  27. package/dist/web/pusher.js.map +1 -0
  28. package/dist/web/pusher.min.js +9 -0
  29. package/dist/web/pusher.min.js.map +1 -0
  30. package/dist/web/sockjs.js +2435 -0
  31. package/dist/web/sockjs.min.js +89 -0
  32. package/dist/worker/pusher-with-encryption.worker.js +6622 -0
  33. package/dist/worker/pusher-with-encryption.worker.js.map +1 -0
  34. package/dist/worker/pusher-with-encryption.worker.min.js +9 -0
  35. package/dist/worker/pusher-with-encryption.worker.min.js.map +1 -0
  36. package/dist/worker/pusher.worker.js +4200 -0
  37. package/dist/worker/pusher.worker.js.map +1 -0
  38. package/dist/worker/pusher.worker.min.js +9 -0
  39. package/dist/worker/pusher.worker.min.js.map +1 -0
  40. package/index.d.ts +29 -0
  41. package/integration_tests_server/index.js +176 -0
  42. package/integration_tests_server/package-lock.json +1177 -0
  43. package/integration_tests_server/package.json +15 -0
  44. package/node.js +1 -0
  45. package/package.json +70 -0
  46. package/pusher-with-encryption/index.js +1 -0
  47. package/react-native/index.d.ts +29 -0
  48. package/react-native/index.js +1 -0
  49. package/spec/config/jasmine/helpers/reporter.js +14 -0
  50. package/spec/config/jasmine/integration.json +13 -0
  51. package/spec/config/jasmine/unit.json +13 -0
  52. package/spec/config/jasmine/webpack.integration.js +33 -0
  53. package/spec/config/jasmine/webpack.unit.js +30 -0
  54. package/spec/config/karma/available_browsers.json +4957 -0
  55. package/spec/config/karma/config.ci.js +25 -0
  56. package/spec/config/karma/config.common.js +50 -0
  57. package/spec/config/karma/config.integration.js +26 -0
  58. package/spec/config/karma/config.unit.js +10 -0
  59. package/spec/config/karma/config.worker.js +34 -0
  60. package/spec/config/karma/integration.js +24 -0
  61. package/spec/config/karma/unit.js +20 -0
  62. package/spec/javascripts/helpers/mocks.js +274 -0
  63. package/spec/javascripts/helpers/node/integration.js +33 -0
  64. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +1 -0
  65. package/spec/javascripts/helpers/pusher_integration.js +1 -0
  66. package/spec/javascripts/helpers/pusher_integration_class.ts +12 -0
  67. package/spec/javascripts/helpers/timers/promises.js +9 -0
  68. package/spec/javascripts/helpers/waitsFor.js +37 -0
  69. package/spec/javascripts/helpers/web/integration.js +44 -0
  70. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +1 -0
  71. package/spec/javascripts/integration/core/cluster_config_spec.js +153 -0
  72. package/spec/javascripts/integration/core/falling_back_spec.js +195 -0
  73. package/spec/javascripts/integration/core/pusher_spec/index.js +68 -0
  74. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +715 -0
  75. package/spec/javascripts/integration/core/timeout_configuration_spec.js +200 -0
  76. package/spec/javascripts/integration/core/transport_lists_spec.js +103 -0
  77. package/spec/javascripts/integration/index.node.js +12 -0
  78. package/spec/javascripts/integration/index.web.js +63 -0
  79. package/spec/javascripts/integration/index.worker.js +13 -0
  80. package/spec/javascripts/integration/web/dom/jsonp_spec.js +97 -0
  81. package/spec/javascripts/integration/web/dom/script_request_spec.js +90 -0
  82. package/spec/javascripts/polyfills/index.js +105 -0
  83. package/spec/javascripts/unit/core/channels/channel_spec.js +355 -0
  84. package/spec/javascripts/unit/core/channels/channels_spec.js +94 -0
  85. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +343 -0
  86. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +553 -0
  87. package/spec/javascripts/unit/core/channels/private_channel_spec.js +182 -0
  88. package/spec/javascripts/unit/core/config_spec.js +507 -0
  89. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +656 -0
  90. package/spec/javascripts/unit/core/connection/connection_spec.js +286 -0
  91. package/spec/javascripts/unit/core/connection/handshake_spec.js +160 -0
  92. package/spec/javascripts/unit/core/connection/protocol_spec.js +420 -0
  93. package/spec/javascripts/unit/core/defaults_spec.js +26 -0
  94. package/spec/javascripts/unit/core/events_dispatcher_spec.js +385 -0
  95. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +60 -0
  96. package/spec/javascripts/unit/core/http/http_request_spec.js +185 -0
  97. package/spec/javascripts/unit/core/http/http_socket_spec.js +370 -0
  98. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +56 -0
  99. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +164 -0
  100. package/spec/javascripts/unit/core/logger_spec.js +133 -0
  101. package/spec/javascripts/unit/core/pusher_spec.js +613 -0
  102. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +18 -0
  103. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +104 -0
  104. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +95 -0
  105. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +68 -0
  106. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +165 -0
  107. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +213 -0
  108. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +250 -0
  109. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +400 -0
  110. package/spec/javascripts/unit/core/timeline/timeline_spec.js +153 -0
  111. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +223 -0
  112. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +85 -0
  113. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +585 -0
  114. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +64 -0
  115. package/spec/javascripts/unit/core/user_spec.js +303 -0
  116. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +74 -0
  117. package/spec/javascripts/unit/core/utils/timers_spec.js +157 -0
  118. package/spec/javascripts/unit/core/utils/url_store_spec.js +14 -0
  119. package/spec/javascripts/unit/core/watchlist_spec.js +48 -0
  120. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +137 -0
  121. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +48 -0
  122. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +128 -0
  123. package/spec/javascripts/unit/core_with_runtime/readme.md +5 -0
  124. package/spec/javascripts/unit/index.node.js +11 -0
  125. package/spec/javascripts/unit/index.web.js +12 -0
  126. package/spec/javascripts/unit/index.worker.js +11 -0
  127. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +82 -0
  128. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +202 -0
  129. package/spec/javascripts/unit/node/timeline_sender_spec.js +83 -0
  130. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +249 -0
  131. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +130 -0
  132. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +68 -0
  133. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +222 -0
  134. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +64 -0
  135. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +131 -0
  136. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +127 -0
  137. package/spec/javascripts/unit/web/transports/transports_spec.js +444 -0
  138. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +156 -0
  139. package/spec/javascripts/unit/worker/timeline_sender_spec.js +76 -0
  140. package/src/core/auth/auth_transports.ts +18 -0
  141. package/src/core/auth/channel_authorizer.ts +64 -0
  142. package/src/core/auth/deprecated_channel_authorizer.ts +58 -0
  143. package/src/core/auth/options.ts +78 -0
  144. package/src/core/auth/user_authenticator.ts +62 -0
  145. package/src/core/base64.ts +49 -0
  146. package/src/core/channels/channel.ts +163 -0
  147. package/src/core/channels/channel_table.ts +7 -0
  148. package/src/core/channels/channels.ts +85 -0
  149. package/src/core/channels/encrypted_channel.ts +149 -0
  150. package/src/core/channels/members.ts +80 -0
  151. package/src/core/channels/metadata.ts +5 -0
  152. package/src/core/channels/presence_channel.ts +113 -0
  153. package/src/core/channels/private_channel.ts +25 -0
  154. package/src/core/config.ts +189 -0
  155. package/src/core/connection/callbacks.ts +21 -0
  156. package/src/core/connection/connection.ts +160 -0
  157. package/src/core/connection/connection_manager.ts +371 -0
  158. package/src/core/connection/connection_manager_options.ts +14 -0
  159. package/src/core/connection/handshake/handshake_payload.ts +10 -0
  160. package/src/core/connection/handshake/index.ts +90 -0
  161. package/src/core/connection/protocol/action.ts +8 -0
  162. package/src/core/connection/protocol/message-types.ts +8 -0
  163. package/src/core/connection/protocol/protocol.ts +154 -0
  164. package/src/core/defaults.ts +66 -0
  165. package/src/core/errors.ts +69 -0
  166. package/src/core/events/callback.ts +6 -0
  167. package/src/core/events/callback_registry.ts +75 -0
  168. package/src/core/events/callback_table.ts +7 -0
  169. package/src/core/events/dispatcher.ts +84 -0
  170. package/src/core/http/ajax.ts +24 -0
  171. package/src/core/http/http_factory.ts +16 -0
  172. package/src/core/http/http_polling_socket.ts +24 -0
  173. package/src/core/http/http_request.ts +81 -0
  174. package/src/core/http/http_socket.ts +220 -0
  175. package/src/core/http/http_streaming_socket.ts +19 -0
  176. package/src/core/http/request_hooks.ts +9 -0
  177. package/src/core/http/socket_hooks.ts +11 -0
  178. package/src/core/http/state.ts +7 -0
  179. package/src/core/http/url_location.ts +6 -0
  180. package/src/core/logger.ts +53 -0
  181. package/src/core/options.ts +59 -0
  182. package/src/core/pusher-licence.js +7 -0
  183. package/src/core/pusher-with-encryption.js +1 -0
  184. package/src/core/pusher-with-encryption.ts +14 -0
  185. package/src/core/pusher.js +2 -0
  186. package/src/core/pusher.ts +249 -0
  187. package/src/core/reachability.ts +7 -0
  188. package/src/core/socket.ts +14 -0
  189. package/src/core/strategies/best_connected_ever_strategy.ts +81 -0
  190. package/src/core/strategies/delayed_strategy.ts +48 -0
  191. package/src/core/strategies/first_connected_strategy.ts +28 -0
  192. package/src/core/strategies/if_strategy.ts +34 -0
  193. package/src/core/strategies/sequential_strategy.ts +129 -0
  194. package/src/core/strategies/strategy.ts +8 -0
  195. package/src/core/strategies/strategy_builder.ts +67 -0
  196. package/src/core/strategies/strategy_options.ts +18 -0
  197. package/src/core/strategies/strategy_runner.ts +6 -0
  198. package/src/core/strategies/transport_strategy.ts +144 -0
  199. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +157 -0
  200. package/src/core/timeline/level.ts +7 -0
  201. package/src/core/timeline/timeline.ts +90 -0
  202. package/src/core/timeline/timeline_sender.ts +33 -0
  203. package/src/core/timeline/timeline_transport.ts +11 -0
  204. package/src/core/transports/assistant_to_the_transport_manager.ts +104 -0
  205. package/src/core/transports/ping_delay_options.ts +7 -0
  206. package/src/core/transports/transport.ts +54 -0
  207. package/src/core/transports/transport_connection.ts +241 -0
  208. package/src/core/transports/transport_connection_options.ts +8 -0
  209. package/src/core/transports/transport_hooks.ts +16 -0
  210. package/src/core/transports/transport_manager.ts +52 -0
  211. package/src/core/transports/transports_table.ts +12 -0
  212. package/src/core/transports/url_scheme.ts +13 -0
  213. package/src/core/transports/url_schemes.ts +47 -0
  214. package/src/core/user.ts +186 -0
  215. package/src/core/util.ts +34 -0
  216. package/src/core/utils/collections.ts +353 -0
  217. package/src/core/utils/factory.ts +75 -0
  218. package/src/core/utils/flat_promise.ts +10 -0
  219. package/src/core/utils/timers/abstract_timer.ts +39 -0
  220. package/src/core/utils/timers/index.ts +39 -0
  221. package/src/core/utils/timers/scheduling.ts +11 -0
  222. package/src/core/utils/timers/timed_callback.ts +5 -0
  223. package/src/core/utils/url_store.ts +48 -0
  224. package/src/core/watchlist.ts +31 -0
  225. package/src/d.ts/constants/index.d.ts +5 -0
  226. package/src/d.ts/faye-websocket/faye-websocket.d.ts +21 -0
  227. package/src/d.ts/global/global.d.ts +1 -0
  228. package/src/d.ts/module/module.d.ts +12 -0
  229. package/src/d.ts/tweetnacl-util/index.d.ts +6 -0
  230. package/src/d.ts/window/events.d.ts +4 -0
  231. package/src/d.ts/window/sockjs.d.ts +3 -0
  232. package/src/d.ts/window/websocket.d.ts +4 -0
  233. package/src/d.ts/window/xmlhttprequest.d.ts +3 -0
  234. package/src/runtimes/interface.ts +59 -0
  235. package/src/runtimes/isomorphic/auth/xhr_auth.ts +90 -0
  236. package/src/runtimes/isomorphic/default_strategy.ts +155 -0
  237. package/src/runtimes/isomorphic/http/http.ts +32 -0
  238. package/src/runtimes/isomorphic/http/http_xhr_request.ts +35 -0
  239. package/src/runtimes/isomorphic/runtime.ts +62 -0
  240. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +50 -0
  241. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +19 -0
  242. package/src/runtimes/isomorphic/transports/transports.ts +81 -0
  243. package/src/runtimes/node/net_info.ts +10 -0
  244. package/src/runtimes/node/runtime.ts +68 -0
  245. package/src/runtimes/react-native/net_info.ts +42 -0
  246. package/src/runtimes/react-native/runtime.ts +65 -0
  247. package/src/runtimes/web/auth/jsonp_auth.ts +51 -0
  248. package/src/runtimes/web/browser.ts +24 -0
  249. package/src/runtimes/web/default_strategy.ts +201 -0
  250. package/src/runtimes/web/dom/dependencies.ts +16 -0
  251. package/src/runtimes/web/dom/dependency_loader.ts +93 -0
  252. package/src/runtimes/web/dom/json2.js +486 -0
  253. package/src/runtimes/web/dom/jsonp_request.ts +52 -0
  254. package/src/runtimes/web/dom/script_receiver.ts +8 -0
  255. package/src/runtimes/web/dom/script_receiver_factory.ts +57 -0
  256. package/src/runtimes/web/dom/script_request.ts +85 -0
  257. package/src/runtimes/web/dom/sockjs/COPYING +11 -0
  258. package/src/runtimes/web/dom/sockjs/Changelog +147 -0
  259. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +19 -0
  260. package/src/runtimes/web/dom/sockjs/Makefile +109 -0
  261. package/src/runtimes/web/dom/sockjs/README.md +388 -0
  262. package/src/runtimes/web/dom/sockjs/VERSION-GEN +17 -0
  263. package/src/runtimes/web/dom/sockjs/bin/render.coffee +111 -0
  264. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +135 -0
  265. package/src/runtimes/web/dom/sockjs/lib/all.js +9 -0
  266. package/src/runtimes/web/dom/sockjs/lib/dom.js +185 -0
  267. package/src/runtimes/web/dom/sockjs/lib/dom2.js +280 -0
  268. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +57 -0
  269. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +70 -0
  270. package/src/runtimes/web/dom/sockjs/lib/index.js +41 -0
  271. package/src/runtimes/web/dom/sockjs/lib/info.js +117 -0
  272. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +1 -0
  273. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +55 -0
  274. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +28 -0
  275. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +288 -0
  276. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +16 -0
  277. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +29 -0
  278. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +35 -0
  279. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +100 -0
  280. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +30 -0
  281. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +103 -0
  282. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +106 -0
  283. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +116 -0
  284. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +44 -0
  285. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +41 -0
  286. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +65 -0
  287. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +42 -0
  288. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +138 -0
  289. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +29 -0
  290. package/src/runtimes/web/dom/sockjs/lib/utils.js +297 -0
  291. package/src/runtimes/web/dom/sockjs/package.json +18 -0
  292. package/src/runtimes/web/dom/sockjs/version +1 -0
  293. package/src/runtimes/web/http/http.ts +8 -0
  294. package/src/runtimes/web/http/http_xdomain_request.ts +37 -0
  295. package/src/runtimes/web/net_info.ts +50 -0
  296. package/src/runtimes/web/runtime.ts +174 -0
  297. package/src/runtimes/web/timeline/jsonp_timeline.ts +34 -0
  298. package/src/runtimes/web/transports/transport_connection_initializer.ts +39 -0
  299. package/src/runtimes/web/transports/transports.ts +65 -0
  300. package/src/runtimes/worker/auth/fetch_auth.ts +69 -0
  301. package/src/runtimes/worker/net_info.ts +10 -0
  302. package/src/runtimes/worker/runtime.ts +75 -0
  303. package/src/runtimes/worker/timeline/fetch_timeline.ts +39 -0
  304. package/tsconfig.json +26 -0
  305. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +1 -0
  306. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +4 -0
  307. package/types/src/core/auth/auth_transports.d.ts +9 -0
  308. package/types/src/core/auth/channel_authorizer.d.ts +3 -0
  309. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +18 -0
  310. package/types/src/core/auth/options.d.ts +48 -0
  311. package/types/src/core/auth/user_authenticator.d.ts +3 -0
  312. package/types/src/core/base64.d.ts +1 -0
  313. package/types/src/core/channels/channel.d.ts +23 -0
  314. package/types/src/core/channels/channel_table.d.ts +5 -0
  315. package/types/src/core/channels/channels.d.ts +12 -0
  316. package/types/src/core/channels/encrypted_channel.d.ts +15 -0
  317. package/types/src/core/channels/members.d.ts +14 -0
  318. package/types/src/core/channels/metadata.d.ts +4 -0
  319. package/types/src/core/channels/presence_channel.d.ts +13 -0
  320. package/types/src/core/channels/private_channel.d.ts +5 -0
  321. package/types/src/core/config.d.ts +31 -0
  322. package/types/src/core/connection/callbacks.d.ts +18 -0
  323. package/types/src/core/connection/connection.d.ts +16 -0
  324. package/types/src/core/connection/connection_manager.d.ts +50 -0
  325. package/types/src/core/connection/connection_manager_options.d.ts +11 -0
  326. package/types/src/core/connection/handshake/handshake_payload.d.ts +8 -0
  327. package/types/src/core/connection/handshake/index.d.ts +12 -0
  328. package/types/src/core/connection/protocol/action.d.ts +7 -0
  329. package/types/src/core/connection/protocol/message-types.d.ts +7 -0
  330. package/types/src/core/connection/protocol/protocol.d.ts +10 -0
  331. package/types/src/core/defaults.d.ts +26 -0
  332. package/types/src/core/errors.d.ts +28 -0
  333. package/types/src/core/events/callback.d.ts +5 -0
  334. package/types/src/core/events/callback_registry.d.ts +11 -0
  335. package/types/src/core/events/callback_table.d.ts +5 -0
  336. package/types/src/core/events/dispatcher.d.ts +14 -0
  337. package/types/src/core/http/ajax.d.ts +16 -0
  338. package/types/src/core/http/http_factory.d.ts +13 -0
  339. package/types/src/core/http/http_polling_socket.d.ts +3 -0
  340. package/types/src/core/http/http_request.d.ts +17 -0
  341. package/types/src/core/http/http_socket.d.ts +32 -0
  342. package/types/src/core/http/http_streaming_socket.d.ts +3 -0
  343. package/types/src/core/http/request_hooks.d.ts +6 -0
  344. package/types/src/core/http/socket_hooks.d.ts +8 -0
  345. package/types/src/core/http/state.d.ts +6 -0
  346. package/types/src/core/http/url_location.d.ts +5 -0
  347. package/types/src/core/logger.d.ts +11 -0
  348. package/types/src/core/options.d.ts +34 -0
  349. package/types/src/core/pusher-with-encryption.d.ts +5 -0
  350. package/types/src/core/pusher.d.ts +49 -0
  351. package/types/src/core/reachability.d.ts +5 -0
  352. package/types/src/core/socket.d.ts +12 -0
  353. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +10 -0
  354. package/types/src/core/strategies/delayed_strategy.d.ts +15 -0
  355. package/types/src/core/strategies/first_connected_strategy.d.ts +8 -0
  356. package/types/src/core/strategies/if_strategy.d.ts +10 -0
  357. package/types/src/core/strategies/sequential_strategy.d.ts +16 -0
  358. package/types/src/core/strategies/strategy.d.ts +6 -0
  359. package/types/src/core/strategies/strategy_builder.d.ts +5 -0
  360. package/types/src/core/strategies/strategy_options.d.ts +16 -0
  361. package/types/src/core/strategies/strategy_runner.d.ts +5 -0
  362. package/types/src/core/strategies/transport_strategy.d.ts +15 -0
  363. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +20 -0
  364. package/types/src/core/timeline/level.d.ts +6 -0
  365. package/types/src/core/timeline/timeline.d.ts +25 -0
  366. package/types/src/core/timeline/timeline_sender.d.ts +13 -0
  367. package/types/src/core/timeline/timeline_transport.d.ts +6 -0
  368. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +14 -0
  369. package/types/src/core/transports/ping_delay_options.d.ts +6 -0
  370. package/types/src/core/transports/transport.d.ts +8 -0
  371. package/types/src/core/transports/transport_connection.d.ts +35 -0
  372. package/types/src/core/transports/transport_connection_options.d.ts +6 -0
  373. package/types/src/core/transports/transport_hooks.d.ts +13 -0
  374. package/types/src/core/transports/transport_manager.d.ts +14 -0
  375. package/types/src/core/transports/transports_table.d.ts +10 -0
  376. package/types/src/core/transports/url_scheme.d.ts +11 -0
  377. package/types/src/core/transports/url_schemes.d.ts +4 -0
  378. package/types/src/core/user.d.ts +21 -0
  379. package/types/src/core/util.d.ts +8 -0
  380. package/types/src/core/utils/collections.d.ts +18 -0
  381. package/types/src/core/utils/factory.d.ts +29 -0
  382. package/types/src/core/utils/flat_promise.d.ts +6 -0
  383. package/types/src/core/utils/timers/abstract_timer.d.ts +10 -0
  384. package/types/src/core/utils/timers/index.d.ts +9 -0
  385. package/types/src/core/utils/timers/scheduling.d.ts +8 -0
  386. package/types/src/core/utils/timers/timed_callback.d.ts +4 -0
  387. package/types/src/core/utils/url_store.d.ts +4 -0
  388. package/types/src/core/watchlist.d.ts +8 -0
  389. package/types/src/runtimes/interface.d.ts +43 -0
  390. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +3 -0
  391. package/types/src/runtimes/isomorphic/default_strategy.d.ts +5 -0
  392. package/types/src/runtimes/isomorphic/http/http.d.ts +3 -0
  393. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +3 -0
  394. package/types/src/runtimes/isomorphic/runtime.d.ts +2 -0
  395. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +6 -0
  396. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +1 -0
  397. package/types/src/runtimes/isomorphic/transports/transports.d.ts +5 -0
  398. package/types/src/runtimes/node/net_info.d.ts +6 -0
  399. package/types/src/runtimes/node/runtime.d.ts +3 -0
  400. package/types/src/runtimes/react-native/net_info.d.ts +8 -0
  401. package/types/src/runtimes/react-native/runtime.d.ts +3 -0
  402. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +3 -0
  403. package/types/src/runtimes/web/browser.d.ts +19 -0
  404. package/types/src/runtimes/web/default_strategy.d.ts +5 -0
  405. package/types/src/runtimes/web/dom/dependencies.d.ts +4 -0
  406. package/types/src/runtimes/web/dom/dependency_loader.d.ts +10 -0
  407. package/types/src/runtimes/web/dom/jsonp_request.d.ts +10 -0
  408. package/types/src/runtimes/web/dom/script_receiver.d.ts +7 -0
  409. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +10 -0
  410. package/types/src/runtimes/web/dom/script_request.d.ts +9 -0
  411. package/types/src/runtimes/web/http/http.d.ts +2 -0
  412. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +3 -0
  413. package/types/src/runtimes/web/net_info.d.ts +7 -0
  414. package/types/src/runtimes/web/runtime.d.ts +3 -0
  415. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +6 -0
  416. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +1 -0
  417. package/types/src/runtimes/web/transports/transports.d.ts +2 -0
  418. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +3 -0
  419. package/types/src/runtimes/worker/net_info.d.ts +6 -0
  420. package/types/src/runtimes/worker/runtime.d.ts +3 -0
  421. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +6 -0
  422. package/webpack/config.node.js +26 -0
  423. package/webpack/config.react-native.js +35 -0
  424. package/webpack/config.shared.js +50 -0
  425. package/webpack/config.web.js +36 -0
  426. package/webpack/config.worker.js +42 -0
  427. package/webpack/dev.server.js +17 -0
  428. package/webpack/hosting_config.js +6 -0
  429. package/with-encryption/index.d.ts +29 -0
  430. package/with-encryption/index.js +4 -0
  431. package/worker/index.d.ts +29 -0
  432. package/worker/index.js +1 -0
  433. package/worker/with-encryption/index.d.ts +29 -0
  434. package/worker/with-encryption/index.js +1 -0
@@ -0,0 +1,10 @@
1
+ import Action from './action';
2
+ import { PusherEvent } from './message-types';
3
+ declare const Protocol: {
4
+ decodeMessage: (messageEvent: MessageEvent) => PusherEvent;
5
+ encodeMessage: (event: PusherEvent) => string;
6
+ processHandshake: (messageEvent: MessageEvent) => Action;
7
+ getCloseAction: (closeEvent: any) => string;
8
+ getCloseError: (closeEvent: any) => any;
9
+ };
10
+ export default Protocol;
@@ -0,0 +1,26 @@
1
+ import { ChannelAuthorizationOptions, UserAuthenticationOptions } from './auth/options';
2
+ import { AuthTransport } from './config';
3
+ export interface DefaultConfig {
4
+ VERSION: string;
5
+ PROTOCOL: number;
6
+ wsPort: number;
7
+ wssPort: number;
8
+ wsPath: string;
9
+ httpHost: string;
10
+ httpPort: number;
11
+ httpsPort: number;
12
+ httpPath: string;
13
+ stats_host: string;
14
+ authEndpoint: string;
15
+ authTransport: AuthTransport;
16
+ activityTimeout: number;
17
+ pongTimeout: number;
18
+ unavailableTimeout: number;
19
+ userAuthentication: UserAuthenticationOptions;
20
+ channelAuthorization: ChannelAuthorizationOptions;
21
+ cdn_http?: string;
22
+ cdn_https?: string;
23
+ dependency_suffix?: string;
24
+ }
25
+ declare var Defaults: DefaultConfig;
26
+ export default Defaults;
@@ -0,0 +1,28 @@
1
+ export declare class BadEventName extends Error {
2
+ constructor(msg?: string);
3
+ }
4
+ export declare class BadChannelName extends Error {
5
+ constructor(msg?: string);
6
+ }
7
+ export declare class RequestTimedOut extends Error {
8
+ constructor(msg?: string);
9
+ }
10
+ export declare class TransportPriorityTooLow extends Error {
11
+ constructor(msg?: string);
12
+ }
13
+ export declare class TransportClosed extends Error {
14
+ constructor(msg?: string);
15
+ }
16
+ export declare class UnsupportedFeature extends Error {
17
+ constructor(msg?: string);
18
+ }
19
+ export declare class UnsupportedTransport extends Error {
20
+ constructor(msg?: string);
21
+ }
22
+ export declare class UnsupportedStrategy extends Error {
23
+ constructor(msg?: string);
24
+ }
25
+ export declare class HTTPAuthError extends Error {
26
+ status: number;
27
+ constructor(status: number, msg?: string);
28
+ }
@@ -0,0 +1,5 @@
1
+ interface Callback {
2
+ fn: Function;
3
+ context: any;
4
+ }
5
+ export default Callback;
@@ -0,0 +1,11 @@
1
+ import Callback from './callback';
2
+ import CallbackTable from './callback_table';
3
+ export default class CallbackRegistry {
4
+ _callbacks: CallbackTable;
5
+ constructor();
6
+ get(name: string): Callback[];
7
+ add(name: string, callback: Function, context: any): void;
8
+ remove(name?: string, callback?: Function, context?: any): void;
9
+ private removeCallback;
10
+ private removeAllCallbacks;
11
+ }
@@ -0,0 +1,5 @@
1
+ import Callback from './callback';
2
+ interface CallbackTable {
3
+ [index: string]: Callback[];
4
+ }
5
+ export default CallbackTable;
@@ -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,34 @@
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
+ export interface Options {
6
+ activityTimeout?: number;
7
+ auth?: DeprecatedAuthOptions;
8
+ authEndpoint?: string;
9
+ authTransport?: AuthTransport;
10
+ authorizer?: ChannelAuthorizerGenerator;
11
+ channelAuthorization?: ChannelAuthorizationOptions;
12
+ userAuthentication?: UserAuthenticationOptions;
13
+ cluster: string;
14
+ enableStats?: boolean;
15
+ disableStats?: boolean;
16
+ disabledTransports?: Transport[];
17
+ enabledTransports?: Transport[];
18
+ forceTLS?: boolean;
19
+ httpHost?: string;
20
+ httpPath?: string;
21
+ httpPort?: number;
22
+ httpsPort?: number;
23
+ ignoreNullOrigin?: boolean;
24
+ nacl?: nacl;
25
+ pongTimeout?: number;
26
+ statsHost?: string;
27
+ timelineParams?: any;
28
+ unavailableTimeout?: number;
29
+ wsHost?: string;
30
+ wsPath?: string;
31
+ wsPort?: number;
32
+ wssPort?: number;
33
+ }
34
+ export declare function validateOptions(options: any): void;
@@ -0,0 +1,5 @@
1
+ import { Options } from './options';
2
+ import Pingerchips from './pusher';
3
+ export default class PusherWithEncryption extends Pingerchips {
4
+ constructor(app_key: string, options: Options);
5
+ }
@@ -0,0 +1,49 @@
1
+ import AbstractRuntime from '../runtimes/interface';
2
+ import Channel from './channels/channel';
3
+ import Channels from './channels/channels';
4
+ import { Config } from './config';
5
+ import ConnectionManager from './connection/connection_manager';
6
+ import { default as EventsDispatcher } from './events/dispatcher';
7
+ import { Options } from './options';
8
+ import Timeline from './timeline/timeline';
9
+ import TimelineSender from './timeline/timeline_sender';
10
+ import UserFacade from './user';
11
+ import { PeriodicTimer } from './utils/timers';
12
+ export default class Pingerchips {
13
+ static instances: Pingerchips[];
14
+ static isReady: boolean;
15
+ static logToConsole: boolean;
16
+ static Runtime: AbstractRuntime;
17
+ static ScriptReceivers: any;
18
+ static DependenciesReceivers: any;
19
+ static auth_callbacks: any;
20
+ static ready(): void;
21
+ static log: (message: any) => void;
22
+ private static getClientFeatures;
23
+ key: string;
24
+ config: Config;
25
+ channels: Channels;
26
+ global_emitter: EventsDispatcher;
27
+ sessionID: number;
28
+ timeline: Timeline;
29
+ timelineSender: TimelineSender;
30
+ connection: ConnectionManager;
31
+ timelineSenderTimer: PeriodicTimer;
32
+ user: UserFacade;
33
+ constructor(app_key: string, options: Options);
34
+ channel(name: string): Channel;
35
+ allChannels(): Channel[];
36
+ connect(): void;
37
+ disconnect(): void;
38
+ bind(event_name: string, callback: Function, context?: any): Pingerchips;
39
+ unbind(event_name?: string, callback?: Function, context?: any): Pingerchips;
40
+ bind_global(callback: Function): Pingerchips;
41
+ unbind_global(callback?: Function): Pingerchips;
42
+ unbind_all(callback?: Function): Pingerchips;
43
+ subscribeAll(): void;
44
+ subscribe(channel_name: string): Channel;
45
+ unsubscribe(channel_name: string): void;
46
+ send_event(event_name: string, data: any, channel?: string): boolean;
47
+ shouldUseTLS(): boolean;
48
+ signin(): void;
49
+ }
@@ -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;