pingerchips-js 1.0.0 → 2.0.0

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 (435) hide show
  1. package/README.md +53 -655
  2. package/index.js +169 -0
  3. package/package.json +20 -59
  4. package/.editorconfig +0 -14
  5. package/.github/ISSUE_TEMPLATE.md +0 -11
  6. package/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  7. package/.github/dependabot.yml +0 -14
  8. package/.github/stale.yml +0 -26
  9. package/.github/workflows/release.yml +0 -112
  10. package/.github/workflows/release_pr.yml +0 -43
  11. package/.github/workflows/run-tests.yml +0 -62
  12. package/.gitmodules +0 -3
  13. package/.prettierrc +0 -2
  14. package/CHANGELOG.md +0 -924
  15. package/LICENCE +0 -19
  16. package/Makefile +0 -78
  17. package/bower.json +0 -28
  18. package/dist/node/pusher.js +0 -10870
  19. package/dist/node/pusher.js.map +0 -1
  20. package/dist/react-native/pusher.js +0 -9
  21. package/dist/react-native/pusher.js.map +0 -1
  22. package/dist/web/json2.js +0 -486
  23. package/dist/web/json2.min.js +0 -1
  24. package/dist/web/pusher-with-encryption.js +0 -7009
  25. package/dist/web/pusher-with-encryption.js.map +0 -1
  26. package/dist/web/pusher-with-encryption.min.js +0 -9
  27. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  28. package/dist/web/pusher.js +0 -4587
  29. package/dist/web/pusher.js.map +0 -1
  30. package/dist/web/pusher.min.js +0 -9
  31. package/dist/web/pusher.min.js.map +0 -1
  32. package/dist/web/sockjs.js +0 -2435
  33. package/dist/web/sockjs.min.js +0 -89
  34. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  35. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  36. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  37. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  38. package/dist/worker/pusher.worker.js +0 -4200
  39. package/dist/worker/pusher.worker.js.map +0 -1
  40. package/dist/worker/pusher.worker.min.js +0 -9
  41. package/dist/worker/pusher.worker.min.js.map +0 -1
  42. package/index.d.ts +0 -29
  43. package/integration_tests_server/index.js +0 -176
  44. package/integration_tests_server/package-lock.json +0 -1177
  45. package/integration_tests_server/package.json +0 -15
  46. package/node.js +0 -1
  47. package/pusher-with-encryption/index.js +0 -1
  48. package/react-native/index.d.ts +0 -29
  49. package/react-native/index.js +0 -1
  50. package/spec/config/jasmine/helpers/reporter.js +0 -14
  51. package/spec/config/jasmine/integration.json +0 -13
  52. package/spec/config/jasmine/unit.json +0 -13
  53. package/spec/config/jasmine/webpack.integration.js +0 -33
  54. package/spec/config/jasmine/webpack.unit.js +0 -30
  55. package/spec/config/karma/available_browsers.json +0 -4957
  56. package/spec/config/karma/config.ci.js +0 -25
  57. package/spec/config/karma/config.common.js +0 -50
  58. package/spec/config/karma/config.integration.js +0 -26
  59. package/spec/config/karma/config.unit.js +0 -10
  60. package/spec/config/karma/config.worker.js +0 -34
  61. package/spec/config/karma/integration.js +0 -24
  62. package/spec/config/karma/unit.js +0 -20
  63. package/spec/javascripts/helpers/mocks.js +0 -274
  64. package/spec/javascripts/helpers/node/integration.js +0 -33
  65. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  66. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  67. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -12
  68. package/spec/javascripts/helpers/timers/promises.js +0 -9
  69. package/spec/javascripts/helpers/waitsFor.js +0 -37
  70. package/spec/javascripts/helpers/web/integration.js +0 -44
  71. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  72. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  73. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  74. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  75. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  76. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  77. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  78. package/spec/javascripts/integration/index.node.js +0 -12
  79. package/spec/javascripts/integration/index.web.js +0 -63
  80. package/spec/javascripts/integration/index.worker.js +0 -13
  81. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  82. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  83. package/spec/javascripts/polyfills/index.js +0 -105
  84. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  85. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  86. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  87. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  88. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  89. package/spec/javascripts/unit/core/config_spec.js +0 -507
  90. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  91. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  92. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  93. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  94. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  95. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  96. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  97. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  98. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  99. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  100. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  101. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  102. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  103. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  104. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  105. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  106. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  107. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  108. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  109. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  110. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  111. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  112. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  113. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  114. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  115. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  116. package/spec/javascripts/unit/core/user_spec.js +0 -303
  117. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  118. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  119. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  120. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  121. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  122. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  123. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  124. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  125. package/spec/javascripts/unit/index.node.js +0 -11
  126. package/spec/javascripts/unit/index.web.js +0 -12
  127. package/spec/javascripts/unit/index.worker.js +0 -11
  128. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  129. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  130. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  131. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  132. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  133. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  134. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  135. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  136. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  137. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  138. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  139. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  140. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  141. package/src/core/auth/auth_transports.ts +0 -18
  142. package/src/core/auth/channel_authorizer.ts +0 -64
  143. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  144. package/src/core/auth/options.ts +0 -78
  145. package/src/core/auth/user_authenticator.ts +0 -62
  146. package/src/core/base64.ts +0 -49
  147. package/src/core/channels/channel.ts +0 -163
  148. package/src/core/channels/channel_table.ts +0 -7
  149. package/src/core/channels/channels.ts +0 -85
  150. package/src/core/channels/encrypted_channel.ts +0 -149
  151. package/src/core/channels/members.ts +0 -80
  152. package/src/core/channels/metadata.ts +0 -5
  153. package/src/core/channels/presence_channel.ts +0 -113
  154. package/src/core/channels/private_channel.ts +0 -25
  155. package/src/core/config.ts +0 -189
  156. package/src/core/connection/callbacks.ts +0 -21
  157. package/src/core/connection/connection.ts +0 -160
  158. package/src/core/connection/connection_manager.ts +0 -371
  159. package/src/core/connection/connection_manager_options.ts +0 -14
  160. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  161. package/src/core/connection/handshake/index.ts +0 -90
  162. package/src/core/connection/protocol/action.ts +0 -8
  163. package/src/core/connection/protocol/message-types.ts +0 -8
  164. package/src/core/connection/protocol/protocol.ts +0 -154
  165. package/src/core/defaults.ts +0 -66
  166. package/src/core/errors.ts +0 -69
  167. package/src/core/events/callback.ts +0 -6
  168. package/src/core/events/callback_registry.ts +0 -75
  169. package/src/core/events/callback_table.ts +0 -7
  170. package/src/core/events/dispatcher.ts +0 -84
  171. package/src/core/http/ajax.ts +0 -24
  172. package/src/core/http/http_factory.ts +0 -16
  173. package/src/core/http/http_polling_socket.ts +0 -24
  174. package/src/core/http/http_request.ts +0 -81
  175. package/src/core/http/http_socket.ts +0 -220
  176. package/src/core/http/http_streaming_socket.ts +0 -19
  177. package/src/core/http/request_hooks.ts +0 -9
  178. package/src/core/http/socket_hooks.ts +0 -11
  179. package/src/core/http/state.ts +0 -7
  180. package/src/core/http/url_location.ts +0 -6
  181. package/src/core/logger.ts +0 -53
  182. package/src/core/options.ts +0 -59
  183. package/src/core/pusher-licence.js +0 -7
  184. package/src/core/pusher-with-encryption.js +0 -1
  185. package/src/core/pusher-with-encryption.ts +0 -14
  186. package/src/core/pusher.js +0 -2
  187. package/src/core/pusher.ts +0 -249
  188. package/src/core/reachability.ts +0 -7
  189. package/src/core/socket.ts +0 -14
  190. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  191. package/src/core/strategies/delayed_strategy.ts +0 -48
  192. package/src/core/strategies/first_connected_strategy.ts +0 -28
  193. package/src/core/strategies/if_strategy.ts +0 -34
  194. package/src/core/strategies/sequential_strategy.ts +0 -129
  195. package/src/core/strategies/strategy.ts +0 -8
  196. package/src/core/strategies/strategy_builder.ts +0 -67
  197. package/src/core/strategies/strategy_options.ts +0 -18
  198. package/src/core/strategies/strategy_runner.ts +0 -6
  199. package/src/core/strategies/transport_strategy.ts +0 -144
  200. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  201. package/src/core/timeline/level.ts +0 -7
  202. package/src/core/timeline/timeline.ts +0 -90
  203. package/src/core/timeline/timeline_sender.ts +0 -33
  204. package/src/core/timeline/timeline_transport.ts +0 -11
  205. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  206. package/src/core/transports/ping_delay_options.ts +0 -7
  207. package/src/core/transports/transport.ts +0 -54
  208. package/src/core/transports/transport_connection.ts +0 -241
  209. package/src/core/transports/transport_connection_options.ts +0 -8
  210. package/src/core/transports/transport_hooks.ts +0 -16
  211. package/src/core/transports/transport_manager.ts +0 -52
  212. package/src/core/transports/transports_table.ts +0 -12
  213. package/src/core/transports/url_scheme.ts +0 -13
  214. package/src/core/transports/url_schemes.ts +0 -47
  215. package/src/core/user.ts +0 -186
  216. package/src/core/util.ts +0 -34
  217. package/src/core/utils/collections.ts +0 -353
  218. package/src/core/utils/factory.ts +0 -75
  219. package/src/core/utils/flat_promise.ts +0 -10
  220. package/src/core/utils/timers/abstract_timer.ts +0 -39
  221. package/src/core/utils/timers/index.ts +0 -39
  222. package/src/core/utils/timers/scheduling.ts +0 -11
  223. package/src/core/utils/timers/timed_callback.ts +0 -5
  224. package/src/core/utils/url_store.ts +0 -48
  225. package/src/core/watchlist.ts +0 -31
  226. package/src/d.ts/constants/index.d.ts +0 -5
  227. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  228. package/src/d.ts/global/global.d.ts +0 -1
  229. package/src/d.ts/module/module.d.ts +0 -12
  230. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  231. package/src/d.ts/window/events.d.ts +0 -4
  232. package/src/d.ts/window/sockjs.d.ts +0 -3
  233. package/src/d.ts/window/websocket.d.ts +0 -4
  234. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  235. package/src/runtimes/interface.ts +0 -59
  236. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  237. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  238. package/src/runtimes/isomorphic/http/http.ts +0 -32
  239. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  240. package/src/runtimes/isomorphic/runtime.ts +0 -62
  241. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  242. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  243. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  244. package/src/runtimes/node/net_info.ts +0 -10
  245. package/src/runtimes/node/runtime.ts +0 -68
  246. package/src/runtimes/react-native/net_info.ts +0 -42
  247. package/src/runtimes/react-native/runtime.ts +0 -65
  248. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  249. package/src/runtimes/web/browser.ts +0 -24
  250. package/src/runtimes/web/default_strategy.ts +0 -201
  251. package/src/runtimes/web/dom/dependencies.ts +0 -16
  252. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  253. package/src/runtimes/web/dom/json2.js +0 -486
  254. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  255. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  256. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  257. package/src/runtimes/web/dom/script_request.ts +0 -85
  258. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  259. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  260. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  261. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  262. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  263. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  264. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  265. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  266. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  267. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  268. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  269. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  270. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  271. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  272. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  273. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  274. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  275. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  276. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  277. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  278. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  279. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  280. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  281. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  282. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  283. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  284. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  285. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  286. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  287. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  288. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  289. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  290. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  291. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  292. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  293. package/src/runtimes/web/dom/sockjs/version +0 -1
  294. package/src/runtimes/web/http/http.ts +0 -8
  295. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  296. package/src/runtimes/web/net_info.ts +0 -50
  297. package/src/runtimes/web/runtime.ts +0 -174
  298. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  299. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  300. package/src/runtimes/web/transports/transports.ts +0 -65
  301. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  302. package/src/runtimes/worker/net_info.ts +0 -10
  303. package/src/runtimes/worker/runtime.ts +0 -75
  304. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  305. package/tsconfig.json +0 -26
  306. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  307. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  308. package/types/src/core/auth/auth_transports.d.ts +0 -9
  309. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  310. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  311. package/types/src/core/auth/options.d.ts +0 -48
  312. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  313. package/types/src/core/base64.d.ts +0 -1
  314. package/types/src/core/channels/channel.d.ts +0 -23
  315. package/types/src/core/channels/channel_table.d.ts +0 -5
  316. package/types/src/core/channels/channels.d.ts +0 -12
  317. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  318. package/types/src/core/channels/members.d.ts +0 -14
  319. package/types/src/core/channels/metadata.d.ts +0 -4
  320. package/types/src/core/channels/presence_channel.d.ts +0 -13
  321. package/types/src/core/channels/private_channel.d.ts +0 -5
  322. package/types/src/core/config.d.ts +0 -31
  323. package/types/src/core/connection/callbacks.d.ts +0 -18
  324. package/types/src/core/connection/connection.d.ts +0 -16
  325. package/types/src/core/connection/connection_manager.d.ts +0 -50
  326. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  327. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  328. package/types/src/core/connection/handshake/index.d.ts +0 -12
  329. package/types/src/core/connection/protocol/action.d.ts +0 -7
  330. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  331. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  332. package/types/src/core/defaults.d.ts +0 -26
  333. package/types/src/core/errors.d.ts +0 -28
  334. package/types/src/core/events/callback.d.ts +0 -5
  335. package/types/src/core/events/callback_registry.d.ts +0 -11
  336. package/types/src/core/events/callback_table.d.ts +0 -5
  337. package/types/src/core/events/dispatcher.d.ts +0 -14
  338. package/types/src/core/http/ajax.d.ts +0 -16
  339. package/types/src/core/http/http_factory.d.ts +0 -13
  340. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  341. package/types/src/core/http/http_request.d.ts +0 -17
  342. package/types/src/core/http/http_socket.d.ts +0 -32
  343. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  344. package/types/src/core/http/request_hooks.d.ts +0 -6
  345. package/types/src/core/http/socket_hooks.d.ts +0 -8
  346. package/types/src/core/http/state.d.ts +0 -6
  347. package/types/src/core/http/url_location.d.ts +0 -5
  348. package/types/src/core/logger.d.ts +0 -11
  349. package/types/src/core/options.d.ts +0 -34
  350. package/types/src/core/pusher-with-encryption.d.ts +0 -5
  351. package/types/src/core/pusher.d.ts +0 -49
  352. package/types/src/core/reachability.d.ts +0 -5
  353. package/types/src/core/socket.d.ts +0 -12
  354. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  355. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  356. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  357. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  358. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  359. package/types/src/core/strategies/strategy.d.ts +0 -6
  360. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  361. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  362. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  363. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  364. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  365. package/types/src/core/timeline/level.d.ts +0 -6
  366. package/types/src/core/timeline/timeline.d.ts +0 -25
  367. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  368. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  369. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  370. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  371. package/types/src/core/transports/transport.d.ts +0 -8
  372. package/types/src/core/transports/transport_connection.d.ts +0 -35
  373. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  374. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  375. package/types/src/core/transports/transport_manager.d.ts +0 -14
  376. package/types/src/core/transports/transports_table.d.ts +0 -10
  377. package/types/src/core/transports/url_scheme.d.ts +0 -11
  378. package/types/src/core/transports/url_schemes.d.ts +0 -4
  379. package/types/src/core/user.d.ts +0 -21
  380. package/types/src/core/util.d.ts +0 -8
  381. package/types/src/core/utils/collections.d.ts +0 -18
  382. package/types/src/core/utils/factory.d.ts +0 -29
  383. package/types/src/core/utils/flat_promise.d.ts +0 -6
  384. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  385. package/types/src/core/utils/timers/index.d.ts +0 -9
  386. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  387. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  388. package/types/src/core/utils/url_store.d.ts +0 -4
  389. package/types/src/core/watchlist.d.ts +0 -8
  390. package/types/src/runtimes/interface.d.ts +0 -43
  391. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  392. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  393. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  394. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  395. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  396. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  397. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  398. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  399. package/types/src/runtimes/node/net_info.d.ts +0 -6
  400. package/types/src/runtimes/node/runtime.d.ts +0 -3
  401. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  402. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  403. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  404. package/types/src/runtimes/web/browser.d.ts +0 -19
  405. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  406. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  407. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  408. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  409. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  410. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  411. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  412. package/types/src/runtimes/web/http/http.d.ts +0 -2
  413. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  414. package/types/src/runtimes/web/net_info.d.ts +0 -7
  415. package/types/src/runtimes/web/runtime.d.ts +0 -3
  416. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  417. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  419. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  420. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  421. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  422. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  423. package/webpack/config.node.js +0 -26
  424. package/webpack/config.react-native.js +0 -35
  425. package/webpack/config.shared.js +0 -50
  426. package/webpack/config.web.js +0 -36
  427. package/webpack/config.worker.js +0 -42
  428. package/webpack/dev.server.js +0 -17
  429. package/webpack/hosting_config.js +0 -6
  430. package/with-encryption/index.d.ts +0 -29
  431. package/with-encryption/index.js +0 -4
  432. package/worker/index.d.ts +0 -29
  433. package/worker/index.js +0 -1
  434. package/worker/with-encryption/index.d.ts +0 -29
  435. package/worker/with-encryption/index.js +0 -1
@@ -1,59 +0,0 @@
1
- import { AuthTransports } from '../core/auth/auth_transports';
2
- import { Config } from '../core/config';
3
- import Ajax from '../core/http/ajax';
4
- import HTTPFactory from '../core/http/http_factory';
5
- import HTTPRequest from '../core/http/http_request';
6
- import Pingerchips from '../core/pusher';
7
- import Reachability from '../core/reachability';
8
- import Socket from '../core/socket';
9
- import Strategy from '../core/strategies/strategy';
10
- import StrategyOptions from '../core/strategies/strategy_options';
11
- import TimelineTransport from '../core/timeline/timeline_transport';
12
- import TransportsTable from '../core/transports/transports_table';
13
- import JSONPRequest from './web/dom/jsonp_request';
14
-
15
- /*
16
- This interface is implemented in web/runtime, node/runtime, react-native/runtime
17
- and worker/runtime. Its job is to be the only point of contact to platform-specific
18
- code for the core library. When the core library imports "runtime", Webpack will
19
- look for src/runtimes/<platform>/runtime.ts. This is how PusherJS keeps
20
- core and platform-specific code separate.
21
- */
22
- interface Runtime {
23
- setup(PusherClass: {
24
- new (key: string, options: any): Pingerchips;
25
- ready(): void;
26
- }): void;
27
- getProtocol(): string;
28
- getAuthorizers(): AuthTransports;
29
- getLocalStorage(): any;
30
- TimelineTransport: TimelineTransport;
31
- createXHR(): Ajax;
32
- createWebSocket(url: string): Socket;
33
- getNetwork(): Reachability;
34
- getDefaultStrategy(
35
- config: Config,
36
- options: StrategyOptions,
37
- defineTransport: Function
38
- ): Strategy;
39
- Transports: TransportsTable;
40
- getWebSocketAPI(): new (url: string) => Socket;
41
- getXHRAPI(): new () => Ajax;
42
- addUnloadListener(listener: Function): void;
43
- removeUnloadListener(listener: Function): void;
44
- transportConnectionInitializer: Function;
45
- HTTPFactory: HTTPFactory;
46
- isXHRSupported(): boolean;
47
- createSocketRequest(method: string, url: string): HTTPRequest;
48
- randomInt(max: number): number;
49
-
50
- // these methods/types are only implemented in the web Runtime, so they're
51
- // optional but must be included in the interface
52
- getDocument?(): Document;
53
- createScriptRequest?(url: string): any;
54
- createJSONPRequest?(url: string, data: any): JSONPRequest;
55
- ScriptReceivers?: any;
56
- isXDRSupported?(useTLS?: boolean): boolean;
57
- }
58
-
59
- export default Runtime;
@@ -1,90 +0,0 @@
1
- import TimelineSender from 'core/timeline/timeline_sender';
2
- import * as Collections from 'core/utils/collections';
3
- import Util from 'core/util';
4
- import Runtime from 'runtime';
5
- import { AuthTransport } from 'core/auth/auth_transports';
6
- import AbstractRuntime from 'runtimes/interface';
7
- import UrlStore from 'core/utils/url_store';
8
- import {
9
- AuthRequestType,
10
- AuthTransportCallback,
11
- InternalAuthOptions
12
- } from 'core/auth/options';
13
- import { HTTPAuthError } from 'core/errors';
14
-
15
- const ajax: AuthTransport = function(
16
- context: AbstractRuntime,
17
- query: string,
18
- authOptions: InternalAuthOptions,
19
- authRequestType: AuthRequestType,
20
- callback: AuthTransportCallback
21
- ) {
22
- const xhr = Runtime.createXHR();
23
- xhr.open('POST', authOptions.endpoint, true);
24
-
25
- // add request headers
26
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
27
- for (var headerName in authOptions.headers) {
28
- xhr.setRequestHeader(headerName, authOptions.headers[headerName]);
29
- }
30
- if (authOptions.headersProvider != null) {
31
- let dynamicHeaders = authOptions.headersProvider();
32
- for (var headerName in dynamicHeaders) {
33
- xhr.setRequestHeader(headerName, dynamicHeaders[headerName]);
34
- }
35
- }
36
-
37
- xhr.onreadystatechange = function() {
38
- if (xhr.readyState === 4) {
39
- if (xhr.status === 200) {
40
- let data;
41
- let parsed = false;
42
-
43
- try {
44
- data = JSON.parse(xhr.responseText);
45
- parsed = true;
46
- } catch (e) {
47
- callback(
48
- new HTTPAuthError(
49
- 200,
50
- `JSON returned from ${authRequestType.toString()} endpoint was invalid, yet status code was 200. Data was: ${
51
- xhr.responseText
52
- }`
53
- ),
54
- null
55
- );
56
- }
57
-
58
- if (parsed) {
59
- // prevents double execution.
60
- callback(null, data);
61
- }
62
- } else {
63
- let suffix = '';
64
- switch (authRequestType) {
65
- case AuthRequestType.UserAuthentication:
66
- suffix = UrlStore.buildLogSuffix('authenticationEndpoint');
67
- break;
68
- case AuthRequestType.ChannelAuthorization:
69
- suffix = `Clients must be authorized to join private or presence channels. ${UrlStore.buildLogSuffix(
70
- 'authorizationEndpoint'
71
- )}`;
72
- break;
73
- }
74
- callback(
75
- new HTTPAuthError(
76
- xhr.status,
77
- `Unable to retrieve auth string from ${authRequestType.toString()} endpoint - ` +
78
- `received status: ${xhr.status} from ${authOptions.endpoint}. ${suffix}`
79
- ),
80
- null
81
- );
82
- }
83
- }
84
- };
85
-
86
- xhr.send(query);
87
- return xhr;
88
- };
89
-
90
- export default ajax;
@@ -1,155 +0,0 @@
1
- import * as Collections from 'core/utils/collections';
2
- import TransportManager from 'core/transports/transport_manager';
3
- import Strategy from 'core/strategies/strategy';
4
- import SequentialStrategy from 'core/strategies/sequential_strategy';
5
- import BestConnectedEverStrategy from 'core/strategies/best_connected_ever_strategy';
6
- import WebSocketPrioritizedCachedStrategy, {
7
- TransportStrategyDictionary
8
- } from 'core/strategies/websocket_prioritized_cached_strategy';
9
- import DelayedStrategy from 'core/strategies/delayed_strategy';
10
- import IfStrategy from 'core/strategies/if_strategy';
11
- import FirstConnectedStrategy from 'core/strategies/first_connected_strategy';
12
- import { Config } from 'core/config';
13
- import StrategyOptions from 'core/strategies/strategy_options';
14
-
15
- function testSupportsStrategy(strategy: Strategy) {
16
- return function() {
17
- return strategy.isSupported();
18
- };
19
- }
20
-
21
- var getDefaultStrategy = function(
22
- config: Config,
23
- baseOptions: StrategyOptions,
24
- defineTransport: Function
25
- ): Strategy {
26
- var definedTransports = <TransportStrategyDictionary>{};
27
-
28
- function defineTransportStrategy(
29
- name: string,
30
- type: string,
31
- priority: number,
32
- options: StrategyOptions,
33
- manager?: TransportManager
34
- ) {
35
- var transport = defineTransport(
36
- config,
37
- name,
38
- type,
39
- priority,
40
- options,
41
- manager
42
- );
43
-
44
- definedTransports[name] = transport;
45
-
46
- return transport;
47
- }
48
-
49
- var ws_options: StrategyOptions = Object.assign({}, baseOptions, {
50
- hostNonTLS: config.wsHost + ':' + config.wsPort,
51
- hostTLS: config.wsHost + ':' + config.wssPort,
52
- httpPath: config.wsPath
53
- });
54
- var wss_options: StrategyOptions = Collections.extend({}, ws_options, {
55
- useTLS: true
56
- });
57
- var http_options: StrategyOptions = Object.assign({}, baseOptions, {
58
- hostNonTLS: config.httpHost + ':' + config.httpPort,
59
- hostTLS: config.httpHost + ':' + config.httpsPort,
60
- httpPath: config.httpPath
61
- });
62
- var timeouts = {
63
- loop: true,
64
- timeout: 15000,
65
- timeoutLimit: 60000
66
- };
67
-
68
- var ws_manager = new TransportManager({
69
- minPingDelay: 10000,
70
- maxPingDelay: config.activityTimeout
71
- });
72
- var streaming_manager = new TransportManager({
73
- lives: 2,
74
- minPingDelay: 10000,
75
- maxPingDelay: config.activityTimeout
76
- });
77
-
78
- var ws_transport = defineTransportStrategy(
79
- 'ws',
80
- 'ws',
81
- 3,
82
- ws_options,
83
- ws_manager
84
- );
85
- var wss_transport = defineTransportStrategy(
86
- 'wss',
87
- 'ws',
88
- 3,
89
- wss_options,
90
- ws_manager
91
- );
92
- var xhr_streaming_transport = defineTransportStrategy(
93
- 'xhr_streaming',
94
- 'xhr_streaming',
95
- 1,
96
- http_options,
97
- streaming_manager
98
- );
99
- var xhr_polling_transport = defineTransportStrategy(
100
- 'xhr_polling',
101
- 'xhr_polling',
102
- 1,
103
- http_options
104
- );
105
-
106
- var ws_loop = new SequentialStrategy([ws_transport], timeouts);
107
- var wss_loop = new SequentialStrategy([wss_transport], timeouts);
108
- var streaming_loop = new SequentialStrategy(
109
- [xhr_streaming_transport],
110
- timeouts
111
- );
112
- var polling_loop = new SequentialStrategy([xhr_polling_transport], timeouts);
113
-
114
- var http_loop = new SequentialStrategy(
115
- [
116
- new IfStrategy(
117
- testSupportsStrategy(streaming_loop),
118
- new BestConnectedEverStrategy([
119
- streaming_loop,
120
- new DelayedStrategy(polling_loop, { delay: 4000 })
121
- ]),
122
- polling_loop
123
- )
124
- ],
125
- timeouts
126
- );
127
-
128
- var wsStrategy;
129
- if (baseOptions.useTLS) {
130
- wsStrategy = new BestConnectedEverStrategy([
131
- ws_loop,
132
- new DelayedStrategy(http_loop, { delay: 2000 })
133
- ]);
134
- } else {
135
- wsStrategy = new BestConnectedEverStrategy([
136
- ws_loop,
137
- new DelayedStrategy(wss_loop, { delay: 2000 }),
138
- new DelayedStrategy(http_loop, { delay: 5000 })
139
- ]);
140
- }
141
-
142
- return new WebSocketPrioritizedCachedStrategy(
143
- new FirstConnectedStrategy(
144
- new IfStrategy(testSupportsStrategy(ws_transport), wsStrategy, http_loop)
145
- ),
146
- definedTransports,
147
- {
148
- ttl: 1800000,
149
- timeline: baseOptions.timeline,
150
- useTLS: baseOptions.useTLS
151
- }
152
- );
153
- };
154
-
155
- export default getDefaultStrategy;
@@ -1,32 +0,0 @@
1
- import HTTPRequest from 'core/http/http_request';
2
- import HTTPSocket from 'core/http/http_socket';
3
- import SocketHooks from 'core/http/socket_hooks';
4
- import RequestHooks from 'core/http/request_hooks';
5
- import streamingHooks from 'core/http/http_streaming_socket';
6
- import pollingHooks from 'core/http/http_polling_socket';
7
- import xhrHooks from './http_xhr_request';
8
- import HTTPFactory from 'core/http/http_factory';
9
-
10
- var HTTP: HTTPFactory = {
11
- createStreamingSocket(url: string): HTTPSocket {
12
- return this.createSocket(streamingHooks, url);
13
- },
14
-
15
- createPollingSocket(url: string): HTTPSocket {
16
- return this.createSocket(pollingHooks, url);
17
- },
18
-
19
- createSocket(hooks: SocketHooks, url: string): HTTPSocket {
20
- return new HTTPSocket(hooks, url);
21
- },
22
-
23
- createXHR(method: string, url: string): HTTPRequest {
24
- return this.createRequest(xhrHooks, method, url);
25
- },
26
-
27
- createRequest(hooks: RequestHooks, method: string, url: string): HTTPRequest {
28
- return new HTTPRequest(hooks, method, url);
29
- }
30
- };
31
-
32
- export default HTTP;
@@ -1,35 +0,0 @@
1
- import HTTPRequest from 'core/http/http_request';
2
- import RequestHooks from 'core/http/request_hooks';
3
- import Ajax from 'core/http/ajax';
4
- import Runtime from 'runtime';
5
-
6
- var hooks: RequestHooks = {
7
- getRequest: function(socket: HTTPRequest): Ajax {
8
- var Constructor = Runtime.getXHRAPI();
9
- var xhr = new Constructor();
10
- xhr.onreadystatechange = xhr.onprogress = function() {
11
- switch (xhr.readyState) {
12
- case 3:
13
- if (xhr.responseText && xhr.responseText.length > 0) {
14
- socket.onChunk(xhr.status, xhr.responseText);
15
- }
16
- break;
17
- case 4:
18
- // this happens only on errors, never after calling close
19
- if (xhr.responseText && xhr.responseText.length > 0) {
20
- socket.onChunk(xhr.status, xhr.responseText);
21
- }
22
- socket.emit('finished', xhr.status);
23
- socket.close();
24
- break;
25
- }
26
- };
27
- return xhr;
28
- },
29
- abortRequest: function(xhr: Ajax) {
30
- xhr.onreadystatechange = null;
31
- xhr.abort();
32
- }
33
- };
34
-
35
- export default hooks;
@@ -1,62 +0,0 @@
1
- import * as Collections from 'core/utils/collections';
2
- import Transports from 'isomorphic/transports/transports';
3
- import TimelineSender from 'core/timeline/timeline_sender';
4
- import Ajax from 'core/http/ajax';
5
- import getDefaultStrategy from './default_strategy';
6
- import TransportsTable from 'core/transports/transports_table';
7
- import transportConnectionInitializer from './transports/transport_connection_initializer';
8
- import HTTPFactory from './http/http';
9
-
10
- var Isomorphic: any = {
11
- getDefaultStrategy,
12
- Transports: <TransportsTable>Transports,
13
- transportConnectionInitializer,
14
- HTTPFactory,
15
-
16
- setup(PusherClass): void {
17
- PusherClass.ready();
18
- },
19
-
20
- getLocalStorage(): any {
21
- return undefined;
22
- },
23
-
24
- getClientFeatures(): any[] {
25
- return Collections.keys(
26
- Collections.filterObject({ ws: Transports.ws }, function(t) {
27
- return t.isSupported({});
28
- })
29
- );
30
- },
31
-
32
- getProtocol(): string {
33
- return 'http:';
34
- },
35
-
36
- isXHRSupported(): boolean {
37
- return true;
38
- },
39
-
40
- createSocketRequest(method: string, url: string) {
41
- if (this.isXHRSupported()) {
42
- return this.HTTPFactory.createXHR(method, url);
43
- } else {
44
- throw 'Cross-origin HTTP requests are not supported';
45
- }
46
- },
47
-
48
- createXHR(): Ajax {
49
- var Constructor = this.getXHRAPI();
50
- return new Constructor();
51
- },
52
-
53
- createWebSocket(url: string): any {
54
- var Constructor = this.getWebSocketAPI();
55
- return new Constructor(url);
56
- },
57
-
58
- addUnloadListener(listener: any) {},
59
- removeUnloadListener(listener: any) {}
60
- };
61
-
62
- export default Isomorphic;
@@ -1,50 +0,0 @@
1
- import Logger from 'core/logger';
2
- import TimelineSender from 'core/timeline/timeline_sender';
3
- import * as Collections from 'core/utils/collections';
4
- import Util from 'core/util';
5
- import Runtime from 'runtime';
6
- import TimelineTransport from 'core/timeline/timeline_transport';
7
-
8
- var getAgent = function(sender: TimelineSender, useTLS: boolean) {
9
- return function(data: any, callback: Function) {
10
- var scheme = 'http' + (useTLS ? 's' : '') + '://';
11
- var url =
12
- scheme + (sender.host || sender.options.host) + sender.options.path;
13
- var query = Collections.buildQueryString(data);
14
-
15
- url += '/' + 2 + '?' + query;
16
-
17
- var xhr = Runtime.createXHR();
18
- xhr.open('GET', url, true);
19
-
20
- xhr.onreadystatechange = function() {
21
- if (xhr.readyState === 4) {
22
- let { status, responseText } = xhr;
23
- if (status !== 200) {
24
- Logger.debug(
25
- `TimelineSender Error: received ${status} from stats.pusher.com`
26
- );
27
- return;
28
- }
29
-
30
- try {
31
- var { host } = JSON.parse(responseText);
32
- } catch (e) {
33
- Logger.debug(`TimelineSenderError: invalid response ${responseText}`);
34
- }
35
- if (host) {
36
- sender.host = host;
37
- }
38
- }
39
- };
40
-
41
- xhr.send();
42
- };
43
- };
44
-
45
- var xhr = {
46
- name: 'xhr',
47
- getAgent
48
- };
49
-
50
- export default xhr;
@@ -1,19 +0,0 @@
1
- /** Initializes the transport.
2
- *
3
- * Fetches resources if needed and then transitions to initialized.
4
- */
5
- export default function() {
6
- var self = this;
7
-
8
- self.timeline.info(
9
- self.buildTimelineMessage({
10
- transport: self.name + (self.options.useTLS ? 's' : '')
11
- })
12
- );
13
-
14
- if (self.hooks.isInitialized()) {
15
- self.changeState('initialized');
16
- } else {
17
- self.onClose();
18
- }
19
- }
@@ -1,81 +0,0 @@
1
- import * as URLSchemes from 'core/transports/url_schemes';
2
- import URLScheme from 'core/transports/url_scheme';
3
- import Transport from 'core/transports/transport';
4
- import Util from 'core/util';
5
- import * as Collections from 'core/utils/collections';
6
- import TransportHooks from 'core/transports/transport_hooks';
7
- import TransportsTable from 'core/transports/transports_table';
8
- import Runtime from 'runtime';
9
-
10
- /** WebSocket transport.
11
- *
12
- * Uses native WebSocket implementation, including MozWebSocket supported by
13
- * earlier Firefox versions.
14
- */
15
- var WSTransport = new Transport(<TransportHooks>{
16
- urls: URLSchemes.ws,
17
- handlesActivityChecks: false,
18
- supportsPing: false,
19
-
20
- isInitialized: function() {
21
- return Boolean(Runtime.getWebSocketAPI());
22
- },
23
- isSupported: function(): boolean {
24
- return Boolean(Runtime.getWebSocketAPI());
25
- },
26
- getSocket: function(url) {
27
- return Runtime.createWebSocket(url);
28
- }
29
- });
30
-
31
- var httpConfiguration = {
32
- urls: URLSchemes.http,
33
- handlesActivityChecks: false,
34
- supportsPing: true,
35
- isInitialized: function() {
36
- return true;
37
- }
38
- };
39
-
40
- export var streamingConfiguration = Collections.extend(
41
- {
42
- getSocket: function(url) {
43
- return Runtime.HTTPFactory.createStreamingSocket(url);
44
- }
45
- },
46
- httpConfiguration
47
- );
48
- export var pollingConfiguration = Collections.extend(
49
- {
50
- getSocket: function(url) {
51
- return Runtime.HTTPFactory.createPollingSocket(url);
52
- }
53
- },
54
- httpConfiguration
55
- );
56
-
57
- var xhrConfiguration = {
58
- isSupported: function(): boolean {
59
- return Runtime.isXHRSupported();
60
- }
61
- };
62
-
63
- /** HTTP streaming transport using CORS-enabled XMLHttpRequest. */
64
- var XHRStreamingTransport = new Transport(
65
- <TransportHooks>(
66
- Collections.extend({}, streamingConfiguration, xhrConfiguration)
67
- )
68
- );
69
-
70
- /** HTTP long-polling transport using CORS-enabled XMLHttpRequest. */
71
- var XHRPollingTransport = new Transport(
72
- <TransportHooks>Collections.extend({}, pollingConfiguration, xhrConfiguration)
73
- );
74
-
75
- var Transports: TransportsTable = {
76
- ws: WSTransport,
77
- xhr_streaming: XHRStreamingTransport,
78
- xhr_polling: XHRPollingTransport
79
- };
80
-
81
- export default Transports;
@@ -1,10 +0,0 @@
1
- import { default as EventsDispatcher } from 'core/events/dispatcher';
2
- import Reachability from 'core/reachability';
3
-
4
- export class NetInfo extends EventsDispatcher implements Reachability {
5
- isOnline(): boolean {
6
- return true;
7
- }
8
- }
9
-
10
- export var Network = new NetInfo();
@@ -1,68 +0,0 @@
1
- import Isomorphic from 'isomorphic/runtime';
2
- import { Client as WebSocket } from 'faye-websocket';
3
- import { XMLHttpRequest } from 'xmlhttprequest';
4
- import Runtime from '../interface';
5
- import { Network } from './net_info';
6
- import xhrAuth from 'isomorphic/auth/xhr_auth';
7
- import { AuthTransports } from 'core/auth/auth_transports';
8
- import xhrTimeline from 'isomorphic/timeline/xhr_timeline';
9
- import { randomInt } from 'crypto';
10
-
11
- // Very verbose but until unavoidable until
12
- // TypeScript 2.1, when spread attributes will be
13
- // supported
14
- const {
15
- getDefaultStrategy,
16
- Transports,
17
- setup,
18
- getProtocol,
19
- isXHRSupported,
20
- getLocalStorage,
21
- createXHR,
22
- createWebSocket,
23
- addUnloadListener,
24
- removeUnloadListener,
25
- transportConnectionInitializer,
26
- createSocketRequest,
27
- HTTPFactory
28
- } = Isomorphic;
29
-
30
- const NodeJS: Runtime = {
31
- getDefaultStrategy,
32
- Transports,
33
- setup,
34
- getProtocol,
35
- isXHRSupported,
36
- createSocketRequest,
37
- getLocalStorage,
38
- createXHR,
39
- createWebSocket,
40
- addUnloadListener,
41
- removeUnloadListener,
42
- transportConnectionInitializer,
43
- HTTPFactory,
44
-
45
- TimelineTransport: xhrTimeline,
46
-
47
- getAuthorizers(): AuthTransports {
48
- return { ajax: xhrAuth };
49
- },
50
-
51
- getWebSocketAPI() {
52
- return WebSocket;
53
- },
54
-
55
- getXHRAPI() {
56
- return XMLHttpRequest;
57
- },
58
-
59
- getNetwork() {
60
- return Network;
61
- },
62
-
63
- randomInt(max: number): number {
64
- return randomInt(max);
65
- }
66
- };
67
-
68
- export default NodeJS;