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,200 +0,0 @@
1
- var Pusher = require('pusher_integration');
2
- var TestEnv = require('testenv');
3
-
4
- if (TestEnv === "web") window.Pusher = Pusher;
5
-
6
- var Integration = require("integration");
7
- var Mocks = require("mocks");
8
- var Network = require("net_info").Network;
9
- var util = require("core/util").default;
10
- var Runtime = require('runtime').default;
11
- var transports = Runtime.Transports;
12
- var Defaults = require('core/defaults').default;
13
-
14
- if (TestEnv == "web") {
15
- var BASE_FALLBACK = "sockjs"
16
- } else {
17
- var BASE_FALLBACK = "xhr_polling"
18
- }
19
-
20
- module.exports = function() {
21
- Integration.describe("Timeout Configuration", function() {
22
- var transport;
23
- var pusher;
24
-
25
- beforeEach(function() {
26
- jasmine.clock().uninstall();
27
- jasmine.clock().install();
28
-
29
- spyOn(Network, "isOnline").and.returnValue(true);
30
-
31
- spyOn(transports.ws, "isSupported").and.returnValue(true);
32
- spyOn(transports[BASE_FALLBACK], "isSupported").and.returnValue(false);
33
-
34
- spyOn(Runtime, "getLocalStorage").and.returnValue({});
35
-
36
- spyOn(transports.ws, "createConnection").and.callFake(function() {
37
- transport = Mocks.getTransport(true);
38
- transport.supportsPing.and.returnValue(false);
39
- return transport;
40
- });
41
- });
42
-
43
- afterEach(function() {
44
- pusher.disconnect();
45
- jasmine.clock().uninstall();
46
- });
47
-
48
- it("should transition to unavailable after default timeout", function() {
49
- var onUnavailable = jasmine.createSpy("onUnavailable");
50
-
51
- pusher = new Pusher("foobar", {cluster: "mt1"});
52
- pusher.connect();
53
- pusher.connection.bind("unavailable", onUnavailable);
54
-
55
- jasmine.clock().tick(Defaults.unavailableTimeout - 1);
56
- expect(onUnavailable).not.toHaveBeenCalled();
57
- jasmine.clock().tick(1);
58
- expect(onUnavailable).toHaveBeenCalled();
59
- });
60
-
61
- it("should transition to unavailable after timeout passed as an option", function() {
62
- var onUnavailable = jasmine.createSpy("onUnavailable");
63
-
64
- pusher = new Pusher("foobar", { cluster: "mt1", unavailableTimeout: 2345 });
65
- pusher.connect();
66
- pusher.connection.bind("unavailable", onUnavailable);
67
-
68
- jasmine.clock().tick(2344);
69
- expect(onUnavailable).not.toHaveBeenCalled();
70
- jasmine.clock().tick(1);
71
- expect(onUnavailable).toHaveBeenCalled();
72
- });
73
-
74
- it("should obey the server's activity timeout and the default pong timeout", function() {
75
- pusher = new Pusher("foobar", { cluster: "mt1" });
76
- pusher.connect();
77
-
78
- var firstTransport = transport;
79
-
80
- firstTransport.state = "initialized";
81
- firstTransport.emit("initialized");
82
- firstTransport.state = "open";
83
- firstTransport.emit("open");
84
- firstTransport.emit("message", {
85
- data: JSON.stringify({
86
- event: "pusher:connection_established",
87
- data: {
88
- socket_id: "123.456",
89
- activity_timeout: 12
90
- }
91
- })
92
- });
93
-
94
- expect(pusher.connection.state).toEqual("connected");
95
- jasmine.clock().tick(12000 - 1);
96
- expect(firstTransport.send).not.toHaveBeenCalled();
97
- jasmine.clock().tick(1);
98
- expect(firstTransport.send).toHaveBeenCalled();
99
-
100
- jasmine.clock().tick(Defaults.pongTimeout - 1);
101
- expect(firstTransport.close).not.toHaveBeenCalled();
102
- jasmine.clock().tick(2);
103
- expect(firstTransport.close).toHaveBeenCalled();
104
- });
105
-
106
- it("should obey the activity timeout from the handshake if it's lower than one specified in options", function() {
107
- pusher = new Pusher("foobar", {
108
- cluster: "mt1",
109
- activityTimeout: 16000,
110
- pongTimeout: 2222
111
- });
112
- pusher.connect();
113
-
114
- var firstTransport = transport;
115
-
116
- firstTransport.state = "initialized";
117
- firstTransport.emit("initialized");
118
- firstTransport.state = "open";
119
- firstTransport.emit("open");
120
- firstTransport.emit("message", {
121
- data: JSON.stringify({
122
- event: "pusher:connection_established",
123
- data: {
124
- socket_id: "123.456",
125
- activity_timeout: 15
126
- }
127
- })
128
- });
129
-
130
- expect(pusher.connection.state).toEqual("connected");
131
- jasmine.clock().tick(15000 - 1);
132
- expect(firstTransport.send).not.toHaveBeenCalled();
133
- jasmine.clock().tick(1);
134
- expect(firstTransport.send).toHaveBeenCalled();
135
- });
136
-
137
- it("should obey the activity timeout specified in options if it's lower than one from the handshake", function() {
138
- pusher = new Pusher("foobar", {
139
- cluster: "mt1",
140
- activityTimeout: 15555,
141
- pongTimeout: 2222
142
- });
143
- pusher.connect();
144
-
145
- var firstTransport = transport;
146
-
147
- firstTransport.state = "initialized";
148
- firstTransport.emit("initialized");
149
- firstTransport.state = "open";
150
- firstTransport.emit("open");
151
- firstTransport.emit("message", {
152
- data: JSON.stringify({
153
- event: "pusher:connection_established",
154
- data: {
155
- socket_id: "123.456",
156
- activity_timeout: 17
157
- }
158
- })
159
- });
160
-
161
- expect(pusher.connection.state).toEqual("connected");
162
- jasmine.clock().tick(15555 - 1);
163
- expect(firstTransport.send).not.toHaveBeenCalled();
164
- jasmine.clock().tick(1);
165
- expect(firstTransport.send).toHaveBeenCalled();
166
- });
167
-
168
- it("should obey the pong timeout passed in options", function() {
169
- pusher = new Pusher("foobar", {
170
- cluster: "mt1",
171
- pongTimeout: 2222
172
- });
173
- pusher.connect();
174
-
175
- var firstTransport = transport;
176
-
177
- firstTransport.state = "initialized";
178
- firstTransport.emit("initialized");
179
- firstTransport.state = "open";
180
- firstTransport.emit("open");
181
- firstTransport.emit("message", {
182
- data: JSON.stringify({
183
- event: "pusher:connection_established",
184
- data: {
185
- socket_id: "123.456",
186
- activity_timeout: 120
187
- }
188
- })
189
- });
190
-
191
- // first, send the ping
192
- jasmine.clock().tick(120000);
193
- // wait for the pong timeout
194
- jasmine.clock().tick(2221);
195
- expect(firstTransport.close).not.toHaveBeenCalled();
196
- jasmine.clock().tick(2);
197
- expect(firstTransport.close).toHaveBeenCalled();
198
- });
199
- });
200
- }
@@ -1,103 +0,0 @@
1
- var TestEnv = require('testenv');
2
- var Pusher = require('pusher_integration');
3
- if (TestEnv === "web") window.Pusher = Pusher;
4
- var Integration = require("integration");
5
- var Mocks = require("mocks");
6
- var Runtime = require('runtime').default;
7
- var Network = require("net_info").Network;
8
- var defineTransport = require('core/strategies/strategy_builder').defineTransport;
9
- var BestConnectedEverStrategy = require('core/strategies/best_connected_ever_strategy').default;
10
- var transports = Runtime.Transports;
11
-
12
- if (TestEnv == "web") {
13
- var BASE_FALLBACK = "sockjs"
14
- } else {
15
- var BASE_FALLBACK = "xhr_polling"
16
- }
17
-
18
- module.exports = function() {
19
- Integration.describe("Transport lists", function() {
20
- var _isReady = Pusher.isReady;
21
-
22
- beforeEach(function() {
23
- spyOn(transports.ws, "isSupported").and.returnValue(true);
24
- spyOn(transports.xhr_streaming, "isSupported").and.returnValue(true);
25
- spyOn(transports[BASE_FALLBACK], "isSupported").and.returnValue(true);
26
-
27
- spyOn(transports.ws, "createConnection")
28
- .and.callFake(Mocks.getTransport);
29
- spyOn(transports.xhr_streaming, "createConnection")
30
- .and.callFake(Mocks.getTransport);
31
- spyOn(transports[BASE_FALLBACK], "createConnection")
32
- .and.callFake(Mocks.getTransport);
33
-
34
- spyOn(Runtime, "getDefaultStrategy").and.callFake(function(config) {
35
- return new BestConnectedEverStrategy([
36
- defineTransport(config, 'a', 'ws', 1, {}),
37
- defineTransport(config, 'b', 'xhr_streaming', 2, {}),
38
- defineTransport(config, 'c', BASE_FALLBACK, 3, {}),
39
- ]);
40
- });
41
-
42
- spyOn(Network, "isOnline").and.returnValue(true);
43
- Pusher.isReady = true;
44
- });
45
-
46
- afterEach(function() {
47
- Pusher.isReady = _isReady;
48
- });
49
-
50
- it("should use all transports if the whitelist is not specified", function() {
51
- var pusher = new Pusher("asdf", {cluster: "mt1"});
52
- expect(transports.ws.createConnection).toHaveBeenCalled();
53
- expect(transports.xhr_streaming.createConnection).toHaveBeenCalled();
54
- expect(transports[BASE_FALLBACK].createConnection).toHaveBeenCalled();
55
- pusher.disconnect();
56
- });
57
-
58
- it("should not use any transports if the whitelist is empty", function() {
59
- var pusher = new Pusher("asdf", {
60
- cluster: "mt1",
61
- enabledTransports: []
62
- });
63
- expect(transports.ws.createConnection).not.toHaveBeenCalled();
64
- expect(transports.xhr_streaming.createConnection).not.toHaveBeenCalled();
65
- expect(transports[BASE_FALLBACK].createConnection).not.toHaveBeenCalled();
66
- pusher.disconnect();
67
- });
68
-
69
- it("should use only transports from the whitelist", function() {
70
- var pusher = new Pusher("asdf", {
71
- cluster: "mt1",
72
- enabledTransports: ["a", "c"]
73
- });
74
- expect(transports.ws.createConnection).toHaveBeenCalled();
75
- expect(transports.xhr_streaming.createConnection).not.toHaveBeenCalled();
76
- expect(transports[BASE_FALLBACK].createConnection).toHaveBeenCalled();
77
- pusher.disconnect();
78
- });
79
-
80
- it("should not use transports from the blacklist", function() {
81
- var pusher = new Pusher("asdf", {
82
- cluster: "mt1",
83
- disabledTransports: ["a", "b"]
84
- });
85
- expect(transports.ws.createConnection).not.toHaveBeenCalled();
86
- expect(transports.xhr_streaming.createConnection).not.toHaveBeenCalled();
87
- expect(transports[BASE_FALLBACK].createConnection).toHaveBeenCalled();
88
- pusher.disconnect();
89
- });
90
-
91
- it("should not use transports from the blacklist, even if they are on the whitelist", function() {
92
- var pusher = new Pusher("asdf", {
93
- cluster: "mt1",
94
- enabledTransports: ["b", "c"],
95
- disabledTransports: ["b"]
96
- });
97
- expect(transports.ws.createConnection).not.toHaveBeenCalled();
98
- expect(transports.xhr_streaming.createConnection).not.toHaveBeenCalled();
99
- expect(transports[BASE_FALLBACK].createConnection).toHaveBeenCalled();
100
- pusher.disconnect();
101
- });
102
- });
103
- }
@@ -1,12 +0,0 @@
1
- var sharedTestsContext = require.context("./core", true, /_spec$/);
2
- var testConfigs = [{
3
- transport: "ws",
4
- forceTLS: true,
5
- },{
6
- transport: "ws",
7
- forceTLS: false,
8
- }];
9
-
10
- sharedTestsContext.keys().forEach((key) => {
11
- sharedTestsContext(key)(testConfigs);
12
- })
@@ -1,63 +0,0 @@
1
- // the webpack context API uses Object.keys and Array.prototype.forEach
2
- // both of which are unavailable in old versions of IE.
3
- require('../polyfills');
4
-
5
- // there are some circular dependencies and there are type errors when requiring
6
- // runtime before core/pusher
7
- require('core/pusher');
8
-
9
- var Runtime = require('runtime').default;
10
- var TestEnv = require('testenv');
11
-
12
- var testConfigs = getTestConfigs();
13
-
14
- // We can access this 'env var' here because there's a webpack.DefinePlugin
15
- // overwriting this value with whatever is set at compile time
16
- if (process.env.MINIMAL_INTEGRATION_TESTS) {
17
- testConfigs = testConfigs.filter((config) => config.forceTLS && config.transport === "ws")
18
- }
19
-
20
- var sharedTestsContext = require.context("./core", true, /_spec$/);
21
- sharedTestsContext.keys().forEach((key) => {
22
- sharedTestsContext(key)(testConfigs);
23
- });
24
-
25
- var webTestsContext = require.context("./web", true, /_spec$/);
26
- webTestsContext.keys().forEach(webTestsContext);
27
-
28
- function getTestConfigs() {
29
- var testConfigs = [{
30
- transport: "ws",
31
- forceTLS: true,
32
- },{
33
- transport: "ws",
34
- forceTLS: false,
35
- }];
36
-
37
- if (Runtime.isXHRSupported()) {
38
- // CORS-compatible browsers
39
- if (TestEnv !== "web" || !/Android 2\./i.test(navigator.userAgent)) {
40
- testConfigs.push({ transport: "xhr_streaming", forceTLS: true})
41
- testConfigs.push({ transport: "xhr_streaming", forceTLS: false})
42
- }
43
- testConfigs.push({transport: "xhr_polling", forceTLS: true})
44
- testConfigs.push({transport: "xhr_polling", forceTLS: false})
45
-
46
- } else if (Runtime.isXDRSupported(false)) {
47
-
48
- testConfigs.push({transport: "xdr_streaming", forceTLS: true})
49
- testConfigs.push({transport: "xdr_streaming", forceTLS: false})
50
- testConfigs.push({transport: "xdr_polling", forceTLS: true})
51
- testConfigs.push({transport: "xdr_polling", forceTLS: false})
52
-
53
- // IE can fall back to SockJS if protocols don't match
54
- // No SockJS TLS tests due to the way JS files are served
55
- testConfigs.push({transport: "sockjs", forceTLS: false})
56
-
57
- } else {
58
- // Browsers using SockJS
59
- testConfigs.push({ transport: "sockjs", forceTLS: true})
60
- testConfigs.push({ transport: "sockjs", forceTLS: false})
61
- }
62
- return testConfigs
63
- }
@@ -1,13 +0,0 @@
1
- var sharedTestsContext = require.context("./core", true, /_spec$/);
2
- var testConfigs = [{
3
- transport: "ws",
4
- forceTLS: true,
5
- },{
6
- transport: "ws",
7
- forceTLS: false,
8
- }];
9
-
10
-
11
- sharedTestsContext.keys().forEach((key) => {
12
- sharedTestsContext(key)(testConfigs);
13
- })
@@ -1,97 +0,0 @@
1
- const Pusher = require('pusher_integration');
2
- window.Pusher = Pusher;
3
-
4
- const Integration = require('integration');
5
- const JSONPRequest = require('dom/jsonp_request').default;
6
- const waitsFor = require('../../../helpers/waitsFor');
7
-
8
- Integration.describe("JSONP", function() {
9
- it("should send a request and receive a correct response", async function() {
10
- var callback = jasmine.createSpy();
11
- var receiver = Pusher.ScriptReceivers.create(callback);
12
- var url = Integration.API_URL + "/v2/jsonp/echo";
13
- var request;
14
-
15
- request = new JSONPRequest(url, {
16
- "session": 2289545,
17
- "features": ["ws", "sockjs"],
18
- "version": "1.13.0",
19
- "t0": 1355850357911,
20
- "timeline": [
21
- { t: 0, e: 2 },
22
- { t: 2, e: 2, type: "ws" },
23
- { t: 1001, e: 4, type: "ws" },
24
- { t: 1001, e: 0, type: "sockjs" },
25
- { t: 2000, e: 5 },
26
- { t: 2158, e: 1, type: "sockjs" },
27
- { t: 2378, e: 2, type: "sockjs" },
28
- { t: 3892, e: 3, type: "sockjs" },
29
- { t: 3892, e: 3 }
30
- ]
31
- });
32
- request.send(receiver);
33
-
34
- await waitsFor(function() {
35
- return callback.calls.count() > 0;
36
- }, "JSONP to respond", 5000);
37
-
38
- expect(callback.calls.count()).toEqual(1);
39
- expect(callback).toHaveBeenCalledWith(null, {
40
- "session": 2289545,
41
- "features": ["ws", "sockjs"],
42
- "version": "1.13.0",
43
- "t0": 1355850357911,
44
- "timeline": [
45
- { t: 0, e: 2 },
46
- { t: 2, e: 2, type: "ws" },
47
- { t: 1001, e: 4, type: "ws" },
48
- { t: 1001, e: 0, type: "sockjs" },
49
- { t: 2000, e: 5 },
50
- { t: 2158, e: 1, type: "sockjs" },
51
- { t: 2378, e: 2, type: "sockjs" },
52
- { t: 3892, e: 3, type: "sockjs" },
53
- { t: 3892, e: 3 }
54
- ]
55
- });
56
-
57
- request.cleanup()
58
- });
59
-
60
- it("should call back without a result on 404 response", async function() {
61
- var callback = jasmine.createSpy();
62
- var receiver = Pusher.ScriptReceivers.create(callback);
63
- var url = Integration.API_URL + "/jsonp/404";
64
- var request;
65
-
66
- request = new JSONPRequest(url, {});
67
- request.send(receiver);
68
-
69
- await waitsFor(function() {
70
- return callback.calls.count() > 0;
71
- }, "JSONP to respond", 5000);
72
-
73
- expect(callback.calls.count()).toEqual(1);
74
- expect(callback.calls.first().args[1]).toBe(undefined);
75
-
76
- request.cleanup();
77
- });
78
-
79
- it("should call back without a result on 500 response", async function() {
80
- var callback = jasmine.createSpy();
81
- var receiver = Pusher.ScriptReceivers.create(callback);
82
- var url = Integration.API_URL + "/jsonp/500";
83
- var request;
84
-
85
- request = new JSONPRequest(url, {});
86
- request.send(receiver);
87
-
88
- await waitsFor(function() {
89
- return callback.calls.count() > 0;
90
- }, "JSONP to respond", 5000);
91
-
92
- expect(callback.calls.count()).toEqual(1);
93
- expect(callback.calls.first().args[1]).toBe(undefined);
94
-
95
- request.cleanup();
96
- });
97
- });
@@ -1,90 +0,0 @@
1
- const Pusher = require('pusher_integration');
2
- window.Pusher = Pusher;
3
-
4
- const Integration = require('integration');
5
- const ScriptRequest = require('dom/script_request').default;
6
- const waitsFor = require('../../../helpers/waitsFor');
7
-
8
- Integration.describe("ScriptRequest", function() {
9
- var callback, receiver;
10
- var query, url;
11
- var request;
12
- var ScriptReceivers;
13
-
14
- beforeEach(function() {
15
- callback = jasmine.createSpy();
16
- receiver = Pusher.Integration.ScriptReceivers.create(callback);
17
- query = "receiver=" + receiver.name + "&param=test";
18
- url = Integration.API_URL + "/v2/script_request/echo?" + query;
19
- request = new ScriptRequest(url);
20
- });
21
-
22
- afterEach(function(){
23
- request.cleanup();
24
- });
25
-
26
- it("should send a request and receive a correct response", async function() {
27
- request.send(receiver);
28
-
29
- await waitsFor(function() {
30
- return callback.calls.count() > 0;
31
- }, "endpoint to respond", 5000);
32
-
33
- expect(callback.calls.count()).toEqual(1);
34
- expect(callback).toHaveBeenCalledWith(null, { param: "test" });
35
- });
36
-
37
- it("should allow cleaning up", async function() {
38
- var callback = jasmine.createSpy();
39
- var receiver = Pusher.Integration.ScriptReceivers.create(callback);
40
- var query = "receiver=" + receiver.name;
41
- var url = Integration.API_URL + "/v2/script_request/echo?" + query;
42
-
43
- var request = new ScriptRequest(url);
44
-
45
- expect(document.getElementById(receiver.id)).toBe(null);
46
- expect(document.getElementById(receiver.id + "_error")).toBe(null);
47
- request.send(receiver);
48
- // we don't test for the _error tag, because it's Opera-specific
49
- expect(document.getElementById(receiver.id)).not.toBe(null);
50
-
51
- await waitsFor(function() {
52
- return callback.calls.count() > 0;
53
- }, "endpoint to respond", 5000);
54
-
55
- expect(document.getElementById(receiver.id)).not.toBe(null);
56
- request.cleanup();
57
- expect(document.getElementById(receiver.id)).toBe(null);
58
- expect(document.getElementById(receiver.id + "_error")).toBe(null);
59
- });
60
-
61
- it("should call back without result on a 404 response", async function() {
62
- var url = Integration.API_URL + "/jsonp/404/" + receiver.number;
63
- var request = new ScriptRequest(url);
64
-
65
- request.send(receiver);
66
-
67
- await waitsFor(function() {
68
- return callback.calls.count() > 0;
69
- }, "endpoint to respond", 5000);
70
-
71
- expect(callback.calls.count()).toEqual(1);
72
- expect(callback.calls.first().args[1]).toBe(undefined);
73
- request.cleanup();
74
- });
75
-
76
- it("should call back without result on a 500 response", async function() {
77
- var url = Integration.API_URL + "/jsonp/500/" + receiver.number;
78
- var request = new ScriptRequest(url);
79
-
80
- request.send(receiver);
81
-
82
- await waitsFor(function() {
83
- return callback.calls.count() > 0;
84
- }, "endpoint to respond", 5000);
85
-
86
- expect(callback.calls.count()).toEqual(1);
87
- expect(callback.calls.first().args[1]).toBe(undefined);
88
- request.cleanup();
89
- });
90
- });
@@ -1,105 +0,0 @@
1
- // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
2
- if (!Object.keys) {
3
- Object.keys = (function() {
4
- 'use strict';
5
- var hasOwnProperty = Object.prototype.hasOwnProperty,
6
- hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString'),
7
- dontEnums = [
8
- 'toString',
9
- 'toLocaleString',
10
- 'valueOf',
11
- 'hasOwnProperty',
12
- 'isPrototypeOf',
13
- 'propertyIsEnumerable',
14
- 'constructor'
15
- ],
16
- dontEnumsLength = dontEnums.length;
17
-
18
- return function(obj) {
19
- if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {
20
- throw new TypeError('Object.keys called on non-object');
21
- }
22
-
23
- var result = [], prop, i;
24
-
25
- for (prop in obj) {
26
- if (hasOwnProperty.call(obj, prop)) {
27
- result.push(prop);
28
- }
29
- }
30
-
31
- if (hasDontEnumBug) {
32
- for (i = 0; i < dontEnumsLength; i++) {
33
- if (hasOwnProperty.call(obj, dontEnums[i])) {
34
- result.push(dontEnums[i]);
35
- }
36
- }
37
- }
38
- return result;
39
- };
40
- }());
41
- }
42
-
43
- // Production steps of ECMA-262, Edition 5, 15.4.4.18
44
- // Reference: http://es5.github.io/#x15.4.4.18
45
- if (!Array.prototype.forEach) {
46
-
47
- Array.prototype.forEach = function(callback, thisArg) {
48
-
49
- var T, k;
50
-
51
- if (this == null) {
52
- throw new TypeError(' this is null or not defined');
53
- }
54
-
55
- // 1. Let O be the result of calling toObject() passing the
56
- // |this| value as the argument.
57
- var O = Object(this);
58
-
59
- // 2. Let lenValue be the result of calling the Get() internal
60
- // method of O with the argument "length".
61
- // 3. Let len be toUint32(lenValue).
62
- var len = O.length >>> 0;
63
-
64
- // 4. If isCallable(callback) is false, throw a TypeError
65
- // exception. // See: http://es5.github.com/#x9.11
66
- if (typeof callback !== "function") {
67
- throw new TypeError(callback + ' is not a function');
68
- }
69
-
70
- // 5. If thisArg was supplied, let T be thisArg; else let
71
- // T be undefined.
72
- if (arguments.length > 1) {
73
- T = thisArg;
74
- }
75
-
76
- // 6. Let k be 0
77
- k = 0;
78
-
79
- // 7. Repeat, while k < len
80
- while (k < len) {
81
-
82
- var kValue;
83
-
84
- // a. Let Pk be ToString(k).
85
- // This is implicit for LHS operands of the in operator
86
- // b. Let kPresent be the result of calling the HasProperty
87
- // internal method of O with argument Pk.
88
- // This step can be combined with c
89
- // c. If kPresent is true, then
90
- if (k in O) {
91
-
92
- // i. Let kValue be the result of calling the Get internal
93
- // method of O with argument Pk.
94
- kValue = O[k];
95
-
96
- // ii. Call the Call internal method of callback with T as
97
- // the this value and argument list containing kValue, k, and O.
98
- callback.call(T, kValue, k, O);
99
- }
100
- // d. Increase k by 1.
101
- k++;
102
- }
103
- // 8. return undefined
104
- };
105
- }