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,297 +0,0 @@
1
- /*
2
- * ***** BEGIN LICENSE BLOCK *****
3
- * Copyright (c) 2011-2012 VMware, Inc.
4
- *
5
- * For the license see COPYING.
6
- * ***** END LICENSE BLOCK *****
7
- */
8
-
9
- var random_string_chars = 'abcdefghijklmnopqrstuvwxyz0123456789_';
10
-
11
- utils.random_string = function(length, max) {
12
- max = max || random_string_chars.length;
13
- var i, ret = [];
14
- for(i=0; i < length; i++) {
15
- ret.push( random_string_chars.substr(Math.floor(Math.random() * max),1) );
16
- }
17
- return ret.join('');
18
- };
19
-
20
- utils.random_number = function(max) {
21
- return Math.floor(Math.random() * max);
22
- };
23
-
24
- utils.random_number_string = function(max) {
25
- var t = (''+(max - 1)).length;
26
- var p = Array(t+1).join('0');
27
- return (p + utils.random_number(max)).slice(-t);
28
- };
29
-
30
- utils.getOrigin = function(url) {
31
- if (url.match(/^file:\/\//)) {
32
- // no origin when using file protocol
33
- return null;
34
- }
35
-
36
- var parts = url.match(/^(https?):\/\/([^\/:]+)(:([0-9]+))?/);
37
- var protocol = parts[1];
38
- var hostname = parts[2];
39
- var port = parts[4];
40
-
41
- if (!port) {
42
- port = (protocol === "https") ? 443 : 80;
43
- }
44
-
45
- return protocol + "://" + hostname + ":" + port;
46
- };
47
-
48
- utils.isSameOriginUrl = function(url_a, url_b) {
49
- // location.origin would do, but it's not always available.
50
- if (!url_b) url_b = _window.location.href;
51
-
52
- return utils.getOrigin(url_a) === utils.getOrigin(url_b);
53
- };
54
-
55
- utils.objectExtend = function(dst, src) {
56
- for(var k in src) {
57
- if (src.hasOwnProperty(k)) {
58
- dst[k] = src[k];
59
- }
60
- }
61
- return dst;
62
- };
63
-
64
- var WPrefix = '_jp';
65
-
66
- utils.polluteGlobalNamespace = function() {
67
- if (!(WPrefix in _window)) {
68
- _window[WPrefix] = {};
69
- }
70
- };
71
-
72
- utils.closeFrame = function (code, reason) {
73
- return 'c'+JSON.stringify([code, reason]);
74
- };
75
-
76
- utils.userSetCode = function (code) {
77
- return code === 1000 || (code >= 3000 && code <= 4999);
78
- };
79
-
80
- // See: http://www.erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/
81
- // and RFC 2988.
82
- utils.countRTO = function (rtt) {
83
- var rto;
84
- if (rtt > 100) {
85
- rto = 3 * rtt; // rto > 300msec
86
- } else {
87
- rto = rtt + 200; // 200msec < rto <= 300msec
88
- }
89
- return rto;
90
- }
91
-
92
- utils.log = function() {
93
- if (_window.console && console.log && console.log.apply) {
94
- console.log.apply(console, arguments);
95
- }
96
- };
97
-
98
- utils.bind = function(fun, that) {
99
- if (fun.bind) {
100
- return fun.bind(that);
101
- } else {
102
- return function() {
103
- return fun.apply(that, arguments);
104
- };
105
- }
106
- };
107
-
108
- utils.flatUrl = function(url) {
109
- return url.indexOf('?') === -1 && url.indexOf('#') === -1;
110
- };
111
-
112
- utils.amendUrl = function(url) {
113
- var dl = _document.location;
114
- if (!url) {
115
- throw new Error('Wrong url for SockJS');
116
- }
117
- if (!utils.flatUrl(url)) {
118
- throw new Error('Only basic urls are supported in SockJS');
119
- }
120
-
121
- // '//abc' --> 'http://abc'
122
- if (url.indexOf('//') === 0) {
123
- url = dl.protocol + url;
124
- }
125
- // '/abc' --> 'http://localhost:80/abc'
126
- if (url.indexOf('/') === 0) {
127
- url = dl.protocol + '//' + dl.host + url;
128
- }
129
- // strip trailing slashes
130
- url = url.replace(/[/]+$/,'');
131
- return url;
132
- };
133
-
134
- // IE doesn't support [].indexOf.
135
- utils.arrIndexOf = function(arr, obj){
136
- for(var i=0; i < arr.length; i++){
137
- if(arr[i] === obj){
138
- return i;
139
- }
140
- }
141
- return -1;
142
- };
143
-
144
- utils.arrSkip = function(arr, obj) {
145
- var idx = utils.arrIndexOf(arr, obj);
146
- if (idx === -1) {
147
- return arr.slice();
148
- } else {
149
- var dst = arr.slice(0, idx);
150
- return dst.concat(arr.slice(idx+1));
151
- }
152
- };
153
-
154
- // Via: https://gist.github.com/1133122/2121c601c5549155483f50be3da5305e83b8c5df
155
- utils.isArray = Array.isArray || function(value) {
156
- return {}.toString.call(value).indexOf('Array') >= 0
157
- };
158
-
159
- utils.delay = function(t, fun) {
160
- if(typeof t === 'function') {
161
- fun = t;
162
- t = 0;
163
- }
164
- return setTimeout(fun, t);
165
- };
166
-
167
-
168
- // Chars worth escaping, as defined by Douglas Crockford:
169
- // https://github.com/douglascrockford/JSON-js/blob/47a9882cddeb1e8529e07af9736218075372b8ac/json2.js#L196
170
- var json_escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
171
- json_lookup = {
172
- "\u0000":"\\u0000","\u0001":"\\u0001","\u0002":"\\u0002","\u0003":"\\u0003",
173
- "\u0004":"\\u0004","\u0005":"\\u0005","\u0006":"\\u0006","\u0007":"\\u0007",
174
- "\b":"\\b","\t":"\\t","\n":"\\n","\u000b":"\\u000b","\f":"\\f","\r":"\\r",
175
- "\u000e":"\\u000e","\u000f":"\\u000f","\u0010":"\\u0010","\u0011":"\\u0011",
176
- "\u0012":"\\u0012","\u0013":"\\u0013","\u0014":"\\u0014","\u0015":"\\u0015",
177
- "\u0016":"\\u0016","\u0017":"\\u0017","\u0018":"\\u0018","\u0019":"\\u0019",
178
- "\u001a":"\\u001a","\u001b":"\\u001b","\u001c":"\\u001c","\u001d":"\\u001d",
179
- "\u001e":"\\u001e","\u001f":"\\u001f","\"":"\\\"","\\":"\\\\",
180
- "\u007f":"\\u007f","\u0080":"\\u0080","\u0081":"\\u0081","\u0082":"\\u0082",
181
- "\u0083":"\\u0083","\u0084":"\\u0084","\u0085":"\\u0085","\u0086":"\\u0086",
182
- "\u0087":"\\u0087","\u0088":"\\u0088","\u0089":"\\u0089","\u008a":"\\u008a",
183
- "\u008b":"\\u008b","\u008c":"\\u008c","\u008d":"\\u008d","\u008e":"\\u008e",
184
- "\u008f":"\\u008f","\u0090":"\\u0090","\u0091":"\\u0091","\u0092":"\\u0092",
185
- "\u0093":"\\u0093","\u0094":"\\u0094","\u0095":"\\u0095","\u0096":"\\u0096",
186
- "\u0097":"\\u0097","\u0098":"\\u0098","\u0099":"\\u0099","\u009a":"\\u009a",
187
- "\u009b":"\\u009b","\u009c":"\\u009c","\u009d":"\\u009d","\u009e":"\\u009e",
188
- "\u009f":"\\u009f","\u00ad":"\\u00ad","\u0600":"\\u0600","\u0601":"\\u0601",
189
- "\u0602":"\\u0602","\u0603":"\\u0603","\u0604":"\\u0604","\u070f":"\\u070f",
190
- "\u17b4":"\\u17b4","\u17b5":"\\u17b5","\u200c":"\\u200c","\u200d":"\\u200d",
191
- "\u200e":"\\u200e","\u200f":"\\u200f","\u2028":"\\u2028","\u2029":"\\u2029",
192
- "\u202a":"\\u202a","\u202b":"\\u202b","\u202c":"\\u202c","\u202d":"\\u202d",
193
- "\u202e":"\\u202e","\u202f":"\\u202f","\u2060":"\\u2060","\u2061":"\\u2061",
194
- "\u2062":"\\u2062","\u2063":"\\u2063","\u2064":"\\u2064","\u2065":"\\u2065",
195
- "\u2066":"\\u2066","\u2067":"\\u2067","\u2068":"\\u2068","\u2069":"\\u2069",
196
- "\u206a":"\\u206a","\u206b":"\\u206b","\u206c":"\\u206c","\u206d":"\\u206d",
197
- "\u206e":"\\u206e","\u206f":"\\u206f","\ufeff":"\\ufeff","\ufff0":"\\ufff0",
198
- "\ufff1":"\\ufff1","\ufff2":"\\ufff2","\ufff3":"\\ufff3","\ufff4":"\\ufff4",
199
- "\ufff5":"\\ufff5","\ufff6":"\\ufff6","\ufff7":"\\ufff7","\ufff8":"\\ufff8",
200
- "\ufff9":"\\ufff9","\ufffa":"\\ufffa","\ufffb":"\\ufffb","\ufffc":"\\ufffc",
201
- "\ufffd":"\\ufffd","\ufffe":"\\ufffe","\uffff":"\\uffff"};
202
-
203
- // Some extra characters that Chrome gets wrong, and substitutes with
204
- // something else on the wire.
205
- var extra_escapable = /[\x00-\x1f\ud800-\udfff\ufffe\uffff\u0300-\u0333\u033d-\u0346\u034a-\u034c\u0350-\u0352\u0357-\u0358\u035c-\u0362\u0374\u037e\u0387\u0591-\u05af\u05c4\u0610-\u0617\u0653-\u0654\u0657-\u065b\u065d-\u065e\u06df-\u06e2\u06eb-\u06ec\u0730\u0732-\u0733\u0735-\u0736\u073a\u073d\u073f-\u0741\u0743\u0745\u0747\u07eb-\u07f1\u0951\u0958-\u095f\u09dc-\u09dd\u09df\u0a33\u0a36\u0a59-\u0a5b\u0a5e\u0b5c-\u0b5d\u0e38-\u0e39\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0f69\u0f72-\u0f76\u0f78\u0f80-\u0f83\u0f93\u0f9d\u0fa2\u0fa7\u0fac\u0fb9\u1939-\u193a\u1a17\u1b6b\u1cda-\u1cdb\u1dc0-\u1dcf\u1dfc\u1dfe\u1f71\u1f73\u1f75\u1f77\u1f79\u1f7b\u1f7d\u1fbb\u1fbe\u1fc9\u1fcb\u1fd3\u1fdb\u1fe3\u1feb\u1fee-\u1fef\u1ff9\u1ffb\u1ffd\u2000-\u2001\u20d0-\u20d1\u20d4-\u20d7\u20e7-\u20e9\u2126\u212a-\u212b\u2329-\u232a\u2adc\u302b-\u302c\uaab2-\uaab3\uf900-\ufa0d\ufa10\ufa12\ufa15-\ufa1e\ufa20\ufa22\ufa25-\ufa26\ufa2a-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufb4e\ufff0-\uffff]/g,
206
- extra_lookup;
207
-
208
- // JSON Quote string. Use native implementation when possible.
209
- var JSONQuote = (JSON && JSON.stringify) || function(string) {
210
- json_escapable.lastIndex = 0;
211
- if (json_escapable.test(string)) {
212
- string = string.replace(json_escapable, function(a) {
213
- return json_lookup[a];
214
- });
215
- }
216
- return '"' + string + '"';
217
- };
218
-
219
- // This may be quite slow, so let's delay until user actually uses bad
220
- // characters.
221
- var unroll_lookup = function(escapable) {
222
- var i;
223
- var unrolled = {}
224
- var c = []
225
- for(i=0; i<65536; i++) {
226
- c.push( String.fromCharCode(i) );
227
- }
228
- escapable.lastIndex = 0;
229
- c.join('').replace(escapable, function (a) {
230
- unrolled[ a ] = '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
231
- return '';
232
- });
233
- escapable.lastIndex = 0;
234
- return unrolled;
235
- };
236
-
237
- // Quote string, also taking care of unicode characters that browsers
238
- // often break. Especially, take care of unicode surrogates:
239
- // http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Surrogates
240
- utils.quote = function(string) {
241
- var quoted = JSONQuote(string);
242
-
243
- // In most cases this should be very fast and good enough.
244
- extra_escapable.lastIndex = 0;
245
- if(!extra_escapable.test(quoted)) {
246
- return quoted;
247
- }
248
-
249
- if(!extra_lookup) extra_lookup = unroll_lookup(extra_escapable);
250
-
251
- return quoted.replace(extra_escapable, function(a) {
252
- return extra_lookup[a];
253
- });
254
- }
255
-
256
- var _all_protocols = [
257
- 'iframe-eventsource',
258
- 'iframe-htmlfile',
259
- 'iframe-xhr-polling',
260
- 'jsonp-polling'
261
- ];
262
-
263
- utils.probeProtocols = function(url) {
264
- var probed = {};
265
- for(var i=0; i<_all_protocols.length; i++) {
266
- var protocol = _all_protocols[i];
267
- // User can have a typo in protocol name.
268
- probed[protocol] = SockJS[protocol] &&
269
- SockJS[protocol].enabled(url);
270
- }
271
- return probed;
272
- };
273
-
274
- utils.detectProtocols = function(protocols_probed, protocols_whitelist, info) {
275
- protocols_whitelist = protocols_whitelist || _all_protocols;
276
-
277
- var protocols = [];
278
- for (var i = 0; i < protocols_whitelist.length; i++) {
279
- var protocol = protocols_whitelist[i];
280
- if (protocols_probed[protocol]) {
281
- protocols.push(protocol);
282
- }
283
- }
284
- return protocols;
285
- }
286
-
287
- utils.defaultOptions = function(){
288
- return {
289
- devel: false,
290
- debug: false,
291
- protocols_whitelist: [],
292
- info: undefined,
293
- rtt: undefined,
294
- max_window_time: 4000,
295
- init_window_size: 4096
296
- };
297
- }
@@ -1,18 +0,0 @@
1
- {
2
- "name" : "sockjs-client",
3
- "author" : "Marek Majkowski",
4
- "version" : "0.0.0-unreleasable",
5
- "description" : "SockJS-client is a browser JavaScript library that provides a WebSocket-like object. SockJS gives you a coherent, cross-browser, Javascript API which creates a low latency, full duplex, cross-domain communication channel between the browser and the web server.",
6
- "keywords" : ["websockets", "websocket"],
7
- "homepage" : "http://sockjs.org",
8
-
9
- "repository": {"type" : "git",
10
- "url" : "https://github.com/sockjs/sockjs-client.git"},
11
- "devDependencies": {
12
- "uglify-js" : "1.2.5",
13
- "coffee-script" : "1.2.x",
14
- "optparse" : "1.0.3",
15
- "node-static" : "0.5.9"
16
- },
17
- "main": "sockjs.js"
18
- }
@@ -1 +0,0 @@
1
- 0.3.4
@@ -1,8 +0,0 @@
1
- import xdrHooks from './http_xdomain_request';
2
- import HTTP from 'isomorphic/http/http';
3
-
4
- HTTP.createXDR = function(method, url) {
5
- return this.createRequest(xdrHooks, method, url);
6
- };
7
-
8
- export default HTTP;
@@ -1,37 +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 * as Errors from 'core/errors';
5
-
6
- var hooks: RequestHooks = {
7
- getRequest: function(socket: HTTPRequest): Ajax {
8
- var xdr = new (<any>window).XDomainRequest();
9
- xdr.ontimeout = function() {
10
- socket.emit('error', new Errors.RequestTimedOut());
11
- socket.close();
12
- };
13
- xdr.onerror = function(e) {
14
- socket.emit('error', e);
15
- socket.close();
16
- };
17
- xdr.onprogress = function() {
18
- if (xdr.responseText && xdr.responseText.length > 0) {
19
- socket.onChunk(200, xdr.responseText);
20
- }
21
- };
22
- xdr.onload = function() {
23
- if (xdr.responseText && xdr.responseText.length > 0) {
24
- socket.onChunk(200, xdr.responseText);
25
- }
26
- socket.emit('finished', 200);
27
- socket.close();
28
- };
29
- return xdr;
30
- },
31
- abortRequest: function(xdr: Ajax) {
32
- xdr.ontimeout = xdr.onerror = xdr.onprogress = xdr.onload = null;
33
- xdr.abort();
34
- }
35
- };
36
-
37
- export default hooks;
@@ -1,50 +0,0 @@
1
- import Reachability from 'core/reachability';
2
- import { default as EventsDispatcher } from 'core/events/dispatcher';
3
-
4
- /** Really basic interface providing network availability info.
5
- *
6
- * Emits:
7
- * - online - when browser goes online
8
- * - offline - when browser goes offline
9
- */
10
- export class NetInfo extends EventsDispatcher implements Reachability {
11
- constructor() {
12
- super();
13
- var self = this;
14
- // This is okay, as IE doesn't support this stuff anyway.
15
- if (window.addEventListener !== undefined) {
16
- window.addEventListener(
17
- 'online',
18
- function() {
19
- self.emit('online');
20
- },
21
- false
22
- );
23
- window.addEventListener(
24
- 'offline',
25
- function() {
26
- self.emit('offline');
27
- },
28
- false
29
- );
30
- }
31
- }
32
-
33
- /** Returns whether browser is online or not
34
- *
35
- * Offline means definitely offline (no connection to router).
36
- * Inverse does NOT mean definitely online (only currently supported in Safari
37
- * and even there only means the device has a connection to the router).
38
- *
39
- * @return {Boolean}
40
- */
41
- isOnline(): boolean {
42
- if (window.navigator.onLine === undefined) {
43
- return true;
44
- } else {
45
- return window.navigator.onLine;
46
- }
47
- }
48
- }
49
-
50
- export var Network = new NetInfo();
@@ -1,174 +0,0 @@
1
- import Browser from './browser';
2
- import { Dependencies, DependenciesReceivers } from './dom/dependencies';
3
- import { AuthTransport, AuthTransports } from 'core/auth/auth_transports';
4
- import xhrAuth from 'isomorphic/auth/xhr_auth';
5
- import jsonpAuth from './auth/jsonp_auth';
6
- import TimelineTransport from 'core/timeline/timeline_transport';
7
- import TimelineSender from 'core/timeline/timeline_sender';
8
- import ScriptRequest from './dom/script_request';
9
- import JSONPRequest from './dom/jsonp_request';
10
- import * as Collections from 'core/utils/collections';
11
- import { ScriptReceivers } from './dom/script_receiver_factory';
12
- import jsonpTimeline from './timeline/jsonp_timeline';
13
- import Transports from './transports/transports';
14
- import Ajax from 'core/http/ajax';
15
- import { Network } from './net_info';
16
- import getDefaultStrategy from './default_strategy';
17
- import transportConnectionInitializer from './transports/transport_connection_initializer';
18
- import HTTPFactory from './http/http';
19
- import HTTPRequest from 'core/http/http_request';
20
-
21
- var Runtime: Browser = {
22
- // for jsonp auth
23
- nextAuthCallbackID: 1,
24
- auth_callbacks: {},
25
- ScriptReceivers,
26
- DependenciesReceivers,
27
- getDefaultStrategy,
28
- Transports,
29
- transportConnectionInitializer,
30
- HTTPFactory,
31
-
32
- TimelineTransport: jsonpTimeline,
33
-
34
- getXHRAPI() {
35
- return window.XMLHttpRequest;
36
- },
37
-
38
- getWebSocketAPI() {
39
- return window.WebSocket || window.MozWebSocket;
40
- },
41
-
42
- setup(PusherClass): void {
43
- (<any>window).Pusher = PusherClass; // JSONp requires Pusher to be in the global scope.
44
- var initializeOnDocumentBody = () => {
45
- this.onDocumentBody(PusherClass.ready);
46
- };
47
- if (!(<any>window).JSON) {
48
- Dependencies.load('json2', {}, initializeOnDocumentBody);
49
- } else {
50
- initializeOnDocumentBody();
51
- }
52
- },
53
-
54
- getDocument(): Document {
55
- return document;
56
- },
57
-
58
- getProtocol(): string {
59
- return this.getDocument().location.protocol;
60
- },
61
-
62
- getAuthorizers(): AuthTransports {
63
- return { ajax: xhrAuth, jsonp: jsonpAuth };
64
- },
65
-
66
- onDocumentBody(callback: Function) {
67
- if (document.body) {
68
- callback();
69
- } else {
70
- setTimeout(() => {
71
- this.onDocumentBody(callback);
72
- }, 0);
73
- }
74
- },
75
-
76
- createJSONPRequest(url: string, data: any): JSONPRequest {
77
- return new JSONPRequest(url, data);
78
- },
79
-
80
- createScriptRequest(src: string): ScriptRequest {
81
- return new ScriptRequest(src);
82
- },
83
-
84
- getLocalStorage() {
85
- try {
86
- return window.localStorage;
87
- } catch (e) {
88
- return undefined;
89
- }
90
- },
91
-
92
- createXHR(): Ajax {
93
- if (this.getXHRAPI()) {
94
- return this.createXMLHttpRequest();
95
- } else {
96
- return this.createMicrosoftXHR();
97
- }
98
- },
99
-
100
- createXMLHttpRequest(): Ajax {
101
- var Constructor = this.getXHRAPI();
102
- return new Constructor();
103
- },
104
-
105
- createMicrosoftXHR(): Ajax {
106
- return new ActiveXObject('Microsoft.XMLHTTP');
107
- },
108
-
109
- getNetwork() {
110
- return Network;
111
- },
112
-
113
- createWebSocket(url: string): any {
114
- var Constructor = this.getWebSocketAPI();
115
- return new Constructor(url);
116
- },
117
-
118
- createSocketRequest(method: string, url: string): HTTPRequest {
119
- if (this.isXHRSupported()) {
120
- return this.HTTPFactory.createXHR(method, url);
121
- } else if (this.isXDRSupported(url.indexOf('https:') === 0)) {
122
- return this.HTTPFactory.createXDR(method, url);
123
- } else {
124
- throw 'Cross-origin HTTP requests are not supported';
125
- }
126
- },
127
-
128
- isXHRSupported(): boolean {
129
- var Constructor = this.getXHRAPI();
130
- return (
131
- Boolean(Constructor) && new Constructor().withCredentials !== undefined
132
- );
133
- },
134
-
135
- isXDRSupported(useTLS?: boolean): boolean {
136
- var protocol = useTLS ? 'https:' : 'http:';
137
- var documentProtocol = this.getProtocol();
138
- return (
139
- Boolean(<any>window['XDomainRequest']) && documentProtocol === protocol
140
- );
141
- },
142
-
143
- addUnloadListener(listener: any) {
144
- if (window.addEventListener !== undefined) {
145
- window.addEventListener('unload', listener, false);
146
- } else if (window.attachEvent !== undefined) {
147
- window.attachEvent('onunload', listener);
148
- }
149
- },
150
-
151
- removeUnloadListener(listener: any) {
152
- if (window.addEventListener !== undefined) {
153
- window.removeEventListener('unload', listener, false);
154
- } else if (window.detachEvent !== undefined) {
155
- window.detachEvent('onunload', listener);
156
- }
157
- },
158
-
159
- randomInt(max: number): number {
160
- /**
161
- * Return values in the range of [0, 1[
162
- */
163
- const random = function() {
164
- const crypto = window.crypto || window['msCrypto'];
165
- const random = crypto.getRandomValues(new Uint32Array(1))[0];
166
-
167
- return random / 2 ** 32;
168
- };
169
-
170
- return Math.floor(random() * max);
171
- }
172
- };
173
-
174
- export default Runtime;
@@ -1,34 +0,0 @@
1
- import TimelineSender from 'core/timeline/timeline_sender';
2
- import TimelineTransport from 'core/timeline/timeline_transport';
3
- import Browser from 'runtime';
4
- import { AuthTransport } from 'core/auth/auth_transports';
5
- import { ScriptReceivers } from '../dom/script_receiver_factory';
6
-
7
- var getAgent = function(sender: TimelineSender, useTLS: boolean) {
8
- return function(data: any, callback: Function) {
9
- var scheme = 'http' + (useTLS ? 's' : '') + '://';
10
- var url =
11
- scheme + (sender.host || sender.options.host) + sender.options.path;
12
- var request = Browser.createJSONPRequest(url, data);
13
-
14
- var receiver = Browser.ScriptReceivers.create(function(error, result) {
15
- ScriptReceivers.remove(receiver);
16
- request.cleanup();
17
-
18
- if (result && result.host) {
19
- sender.host = result.host;
20
- }
21
- if (callback) {
22
- callback(error, result);
23
- }
24
- });
25
- request.send(receiver);
26
- };
27
- };
28
-
29
- var jsonp = {
30
- name: 'jsonp',
31
- getAgent
32
- };
33
-
34
- export default jsonp;
@@ -1,39 +0,0 @@
1
- import { Dependencies } from '../dom/dependencies';
2
-
3
- /** Initializes the transport.
4
- *
5
- * Fetches resources if needed and then transitions to initialized.
6
- */
7
- export default function() {
8
- var self = this;
9
-
10
- self.timeline.info(
11
- self.buildTimelineMessage({
12
- transport: self.name + (self.options.useTLS ? 's' : '')
13
- })
14
- );
15
-
16
- if (self.hooks.isInitialized()) {
17
- self.changeState('initialized');
18
- } else if (self.hooks.file) {
19
- self.changeState('initializing');
20
- Dependencies.load(
21
- self.hooks.file,
22
- { useTLS: self.options.useTLS },
23
- function(error, callback) {
24
- if (self.hooks.isInitialized()) {
25
- self.changeState('initialized');
26
- callback(true);
27
- } else {
28
- if (error) {
29
- self.onError(error);
30
- }
31
- self.onClose();
32
- callback(false);
33
- }
34
- }
35
- );
36
- } else {
37
- self.onClose();
38
- }
39
- }