@cratis/arc 22.0.1 → 22.1.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 (205) hide show
  1. package/dist/cjs/queries/ObservableQueryFor.js +9 -4
  2. package/dist/cjs/queries/ObservableQueryFor.js.map +1 -1
  3. package/dist/cjs/queries/QueryInstanceCache.js +6 -6
  4. package/dist/cjs/queries/QueryInstanceCache.js.map +1 -1
  5. package/dist/cjs/queries/QueryResult.js +23 -4
  6. package/dist/cjs/queries/QueryResult.js.map +1 -1
  7. package/dist/cjs/queries/QueryResultWithState.js +20 -7
  8. package/dist/cjs/queries/QueryResultWithState.js.map +1 -1
  9. package/dist/cjs/queries/ServerSentEventHubConnection.js +120 -58
  10. package/dist/cjs/queries/ServerSentEventHubConnection.js.map +1 -1
  11. package/dist/cjs/queries/WebSocketHubConnection.js +121 -51
  12. package/dist/cjs/queries/WebSocketHubConnection.js.map +1 -1
  13. package/dist/esm/queries/IQueryResult.d.ts +1 -0
  14. package/dist/esm/queries/IQueryResult.d.ts.map +1 -1
  15. package/dist/esm/queries/ObservableQueryFor.d.ts +6 -6
  16. package/dist/esm/queries/ObservableQueryFor.d.ts.map +1 -1
  17. package/dist/esm/queries/ObservableQueryFor.js +9 -4
  18. package/dist/esm/queries/ObservableQueryFor.js.map +1 -1
  19. package/dist/esm/queries/QueryInstanceCache.d.ts +1 -1
  20. package/dist/esm/queries/QueryInstanceCache.d.ts.map +1 -1
  21. package/dist/esm/queries/QueryInstanceCache.js +6 -6
  22. package/dist/esm/queries/QueryInstanceCache.js.map +1 -1
  23. package/dist/esm/queries/QueryResult.d.ts +2 -0
  24. package/dist/esm/queries/QueryResult.d.ts.map +1 -1
  25. package/dist/esm/queries/QueryResult.js +23 -4
  26. package/dist/esm/queries/QueryResult.js.map +1 -1
  27. package/dist/esm/queries/QueryResultWithState.d.ts +3 -3
  28. package/dist/esm/queries/QueryResultWithState.d.ts.map +1 -1
  29. package/dist/esm/queries/QueryResultWithState.js +20 -7
  30. package/dist/esm/queries/QueryResultWithState.js.map +1 -1
  31. package/dist/esm/queries/ServerSentEventHubConnection.d.ts +11 -4
  32. package/dist/esm/queries/ServerSentEventHubConnection.d.ts.map +1 -1
  33. package/dist/esm/queries/ServerSentEventHubConnection.js +120 -58
  34. package/dist/esm/queries/ServerSentEventHubConnection.js.map +1 -1
  35. package/dist/esm/queries/WebSocketHubConnection.d.ts +13 -2
  36. package/dist/esm/queries/WebSocketHubConnection.d.ts.map +1 -1
  37. package/dist/esm/queries/WebSocketHubConnection.js +121 -51
  38. package/dist/esm/queries/WebSocketHubConnection.js.map +1 -1
  39. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.d.ts +17 -0
  40. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.d.ts.map +1 -1
  41. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.js +34 -0
  42. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.js.map +1 -1
  43. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts +2 -1
  44. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts.map +1 -1
  45. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.js +3 -1
  46. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.js.map +1 -1
  47. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_a_not_ready_result.d.ts +2 -0
  48. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_a_not_ready_result.d.ts.map +1 -0
  49. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_a_not_ready_result.js +34 -0
  50. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_a_not_ready_result.js.map +1 -0
  51. package/dist/esm/queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.d.ts +2 -0
  52. package/dist/esm/queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.d.ts.map +1 -0
  53. package/dist/esm/queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.js +52 -0
  54. package/dist/esm/queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.js.map +1 -0
  55. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.js +26 -2
  56. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.js.map +1 -1
  57. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.js +60 -3
  58. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.js.map +1 -1
  59. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.d.ts +2 -0
  60. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.d.ts.map +1 -0
  61. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.js +83 -0
  62. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.js.map +1 -0
  63. package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.d.ts +2 -0
  64. package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.d.ts.map +1 -0
  65. package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.js +22 -0
  66. package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.js.map +1 -0
  67. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.d.ts +2 -0
  68. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.d.ts.map +1 -0
  69. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.js +17 -0
  70. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.js.map +1 -0
  71. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.d.ts +2 -0
  72. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.d.ts.map +1 -0
  73. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.js +16 -0
  74. package/dist/esm/queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.js.map +1 -0
  75. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.d.ts +2 -0
  76. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.d.ts.map +1 -0
  77. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.js +19 -0
  78. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.js.map +1 -0
  79. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.d.ts +2 -0
  80. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.d.ts.map +1 -0
  81. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.js +19 -0
  82. package/dist/esm/queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.js.map +1 -0
  83. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_deferred_promise.d.ts +7 -0
  84. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_deferred_promise.d.ts.map +1 -0
  85. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_deferred_promise.js +12 -0
  86. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_deferred_promise.js.map +1 -0
  87. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts +2 -1
  88. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts.map +1 -1
  89. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.js +15 -4
  90. package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.js.map +1 -1
  91. package/dist/esm/queries/for_ServerSentEventHubConnection/when_a_retired_event_source_fires/ignores_connected_and_error_callbacks.d.ts +2 -0
  92. package/dist/esm/queries/for_ServerSentEventHubConnection/when_a_retired_event_source_fires/ignores_connected_and_error_callbacks.d.ts.map +1 -0
  93. package/dist/esm/queries/for_ServerSentEventHubConnection/when_a_retired_event_source_fires/ignores_connected_and_error_callbacks.js +44 -0
  94. package/dist/esm/queries/for_ServerSentEventHubConnection/when_a_retired_event_source_fires/ignores_connected_and_error_callbacks.js.map +1 -0
  95. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_replaced.d.ts +2 -0
  96. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_replaced.d.ts.map +1 -0
  97. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_replaced.js +74 -0
  98. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_replaced.js.map +1 -0
  99. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_unsubscribed.d.ts +2 -0
  100. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_unsubscribed.d.ts.map +1 -0
  101. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_unsubscribed.js +74 -0
  102. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_unsubscribed.js.map +1 -0
  103. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_is_rejected.d.ts +2 -0
  104. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_is_rejected.d.ts.map +1 -0
  105. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_is_rejected.js +59 -0
  106. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_is_rejected.js.map +1 -0
  107. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_returns_non_ok.d.ts +2 -0
  108. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_returns_non_ok.d.ts.map +1 -0
  109. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_returns_non_ok.js +58 -0
  110. package/dist/esm/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_returns_non_ok.js.map +1 -0
  111. package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.js +6 -3
  112. package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.js.map +1 -1
  113. package/dist/esm/queries/for_ServerSentEventHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.js +23 -6
  114. package/dist/esm/queries/for_ServerSentEventHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.js.map +1 -1
  115. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.js +20 -5
  116. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.js.map +1 -1
  117. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/and_an_immediate_open_wins_the_backoff_race.d.ts +2 -0
  118. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/and_an_immediate_open_wins_the_backoff_race.d.ts.map +1 -0
  119. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/and_an_immediate_open_wins_the_backoff_race.js +20 -0
  120. package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/and_an_immediate_open_wins_the_backoff_race.js.map +1 -0
  121. package/dist/esm/queries/for_ServerSentEventHubConnection/when_replacing_a_subscription/ignores_messages_from_the_retired_generation.d.ts +2 -0
  122. package/dist/esm/queries/for_ServerSentEventHubConnection/when_replacing_a_subscription/ignores_messages_from_the_retired_generation.d.ts.map +1 -0
  123. package/dist/esm/queries/for_ServerSentEventHubConnection/when_replacing_a_subscription/ignores_messages_from_the_retired_generation.js +68 -0
  124. package/dist/esm/queries/for_ServerSentEventHubConnection/when_replacing_a_subscription/ignores_messages_from_the_retired_generation.js.map +1 -0
  125. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.js +38 -13
  126. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.js.map +1 -1
  127. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscription_revisions_are_not_advertised/uses_legacy_protocol.d.ts +2 -0
  128. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscription_revisions_are_not_advertised/uses_legacy_protocol.d.ts.map +1 -0
  129. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscription_revisions_are_not_advertised/uses_legacy_protocol.js +54 -0
  130. package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscription_revisions_are_not_advertised/uses_legacy_protocol.js.map +1 -0
  131. package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.js +18 -4
  132. package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.js.map +1 -1
  133. package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.js +22 -5
  134. package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.js.map +1 -1
  135. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/ignores_a_pending_reconnect_and_stale_socket_callbacks.d.ts +2 -0
  136. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/ignores_a_pending_reconnect_and_stale_socket_callbacks.d.ts.map +1 -0
  137. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/ignores_a_pending_reconnect_and_stale_socket_callbacks.js +108 -0
  138. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/ignores_a_pending_reconnect_and_stale_socket_callbacks.js.map +1 -0
  139. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/replaces_a_closing_socket_safely.d.ts +2 -0
  140. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/replaces_a_closing_socket_safely.d.ts.map +1 -0
  141. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/replaces_a_closing_socket_safely.js +33 -0
  142. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/replaces_a_closing_socket_safely.js.map +1 -0
  143. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.js +26 -4
  144. package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.js.map +1 -1
  145. package/dist/esm/queries/for_WebSocketHubConnection/when_replacing_a_subscription/ignores_stale_result_unauthorized_and_error.d.ts +2 -0
  146. package/dist/esm/queries/for_WebSocketHubConnection/when_replacing_a_subscription/ignores_stale_result_unauthorized_and_error.d.ts.map +1 -0
  147. package/dist/esm/queries/for_WebSocketHubConnection/when_replacing_a_subscription/ignores_stale_result_unauthorized_and_error.js +62 -0
  148. package/dist/esm/queries/for_WebSocketHubConnection/when_replacing_a_subscription/ignores_stale_result_unauthorized_and_error.js.map +1 -0
  149. package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.js +18 -5
  150. package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.js.map +1 -1
  151. package/dist/esm/queries/for_WebSocketHubConnection/when_subscription_revisions_are_supported/upgrades_active_subscriptions_to_strict_mode.d.ts +2 -0
  152. package/dist/esm/queries/for_WebSocketHubConnection/when_subscription_revisions_are_supported/upgrades_active_subscriptions_to_strict_mode.d.ts.map +1 -0
  153. package/dist/esm/queries/for_WebSocketHubConnection/when_subscription_revisions_are_supported/upgrades_active_subscriptions_to_strict_mode.js +56 -0
  154. package/dist/esm/queries/for_WebSocketHubConnection/when_subscription_revisions_are_supported/upgrades_active_subscriptions_to_strict_mode.js.map +1 -0
  155. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.js +16 -3
  156. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.js.map +1 -1
  157. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/with_revision_support_not_advertised.d.ts +2 -0
  158. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/with_revision_support_not_advertised.d.ts.map +1 -0
  159. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/with_revision_support_not_advertised.js +33 -0
  160. package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/with_revision_support_not_advertised.js.map +1 -0
  161. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  162. package/package.json +1 -1
  163. package/queries/IQueryResult.ts +10 -0
  164. package/queries/ObservableQueryFor.ts +54 -26
  165. package/queries/QueryInstanceCache.ts +42 -19
  166. package/queries/QueryResult.ts +145 -79
  167. package/queries/QueryResultWithState.ts +32 -9
  168. package/queries/ServerSentEventHubConnection.ts +270 -83
  169. package/queries/WebSocketHubConnection.ts +188 -56
  170. package/queries/for_ObservableQueryFor/given/TestQueries.ts +30 -1
  171. package/queries/for_ObservableQueryFor/given/an_observable_query_for.ts +3 -0
  172. package/queries/for_ObservableQueryFor/when_performing/with_a_not_ready_result.ts +46 -0
  173. package/queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.ts +76 -0
  174. package/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.ts +91 -57
  175. package/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.ts +125 -53
  176. package/queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.ts +107 -0
  177. package/queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.ts +63 -0
  178. package/queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.ts +25 -0
  179. package/queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.ts +24 -0
  180. package/queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.ts +28 -0
  181. package/queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.ts +25 -0
  182. package/queries/for_ServerSentEventHubConnection/given/a_deferred_promise.ts +15 -0
  183. package/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.ts +18 -7
  184. package/queries/for_ServerSentEventHubConnection/when_a_retired_event_source_fires/ignores_connected_and_error_callbacks.ts +59 -0
  185. package/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_replaced.ts +113 -0
  186. package/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_query_is_unsubscribed.ts +109 -0
  187. package/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_is_rejected.ts +81 -0
  188. package/queries/for_ServerSentEventHubConnection/when_connection_changes_while_subscribe_is_in_flight/and_the_stale_request_returns_non_ok.ts +83 -0
  189. package/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.ts +30 -21
  190. package/queries/for_ServerSentEventHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.ts +56 -32
  191. package/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.ts +23 -6
  192. package/queries/for_ServerSentEventHubConnection/when_reconnecting/and_an_immediate_open_wins_the_backoff_race.ts +41 -0
  193. package/queries/for_ServerSentEventHubConnection/when_replacing_a_subscription/ignores_messages_from_the_retired_generation.ts +92 -0
  194. package/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.ts +69 -30
  195. package/queries/for_ServerSentEventHubConnection/when_subscription_revisions_are_not_advertised/uses_legacy_protocol.ts +69 -0
  196. package/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.ts +43 -24
  197. package/queries/for_WebSocketHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.ts +53 -29
  198. package/queries/for_WebSocketHubConnection/when_reconnecting/ignores_a_pending_reconnect_and_stale_socket_callbacks.ts +131 -0
  199. package/queries/for_WebSocketHubConnection/when_reconnecting/replaces_a_closing_socket_safely.ts +39 -0
  200. package/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.ts +72 -36
  201. package/queries/for_WebSocketHubConnection/when_replacing_a_subscription/ignores_stale_result_unauthorized_and_error.ts +88 -0
  202. package/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.ts +54 -27
  203. package/queries/for_WebSocketHubConnection/when_subscription_revisions_are_supported/upgrades_active_subscriptions_to_strict_mode.ts +72 -0
  204. package/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.ts +43 -18
  205. package/queries/for_WebSocketHubConnection/when_unsubscribing/with_revision_support_not_advertised.ts +44 -0
@@ -0,0 +1,52 @@
1
+ import * as sinon from 'sinon';
2
+ import { DateOnly, TimeOnly } from '@cratis/fundamentals';
3
+ import { an_observable_query_for } from '../given/an_observable_query_for';
4
+ import { given } from '../../../given';
5
+ import { Globals } from '../../../Globals';
6
+ import { QueryTransportMethod } from '../../QueryTransportMethod';
7
+ describe('and the model has a calendar collection', given(an_observable_query_for, context => {
8
+ let subscription;
9
+ let fakeEventSource;
10
+ let received;
11
+ let originalQueryDirectMode;
12
+ let originalTransportMethod;
13
+ let originalFactory;
14
+ beforeEach(() => {
15
+ originalQueryDirectMode = Globals.queryDirectMode;
16
+ originalTransportMethod = Globals.queryTransportMethod;
17
+ originalFactory = Globals.eventSourceFactory;
18
+ Globals.queryDirectMode = true;
19
+ Globals.queryTransportMethod = QueryTransportMethod.ServerSentEvents;
20
+ fakeEventSource = { onmessage: null, onerror: null, close: sinon.stub() };
21
+ Globals.eventSourceFactory = (() => fakeEventSource);
22
+ context.calendarEnumerableQuery.setOrigin('https://example.com');
23
+ received = [];
24
+ subscription = context.calendarEnumerableQuery.subscribe(result => received.push(result), { category: 'test-category' });
25
+ fakeEventSource.onmessage({
26
+ data: JSON.stringify({
27
+ data: [{ children: [{ date: '2026-02-03', time: '14:15:16' }] }],
28
+ isSuccess: true,
29
+ isAuthorized: true,
30
+ isValid: true,
31
+ hasExceptions: false,
32
+ validationResults: [],
33
+ exceptionMessages: [],
34
+ exceptionStackTrace: '',
35
+ paging: { page: 0, size: 0, totalItems: 1, totalPages: 1 }
36
+ })
37
+ });
38
+ });
39
+ afterEach(() => {
40
+ subscription?.unsubscribe();
41
+ Globals.queryDirectMode = originalQueryDirectMode;
42
+ Globals.queryTransportMethod = originalTransportMethod;
43
+ Globals.eventSourceFactory = originalFactory;
44
+ sinon.restore();
45
+ });
46
+ it('should deliver the result to the subscriber', () => received.length.should.equal(1));
47
+ it('should deserialize the child date', () => received[0].data[0].children[0].date.should.be.instanceOf(DateOnly));
48
+ it('should preserve the child date', () => received[0].data[0].children[0].date.equals(DateOnly.from(2026, 2, 3)).should.be.true);
49
+ it('should deserialize the child time', () => received[0].data[0].children[0].time.should.be.instanceOf(TimeOnly));
50
+ it('should preserve the child time', () => received[0].data[0].children[0].time.equals(TimeOnly.from(14, 15, 16)).should.be.true);
51
+ }));
52
+ //# sourceMappingURL=and_the_model_has_a_calendar_collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"and_the_model_has_a_calendar_collection.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_receiving_a_result/and_the_model_has_a_calendar_collection.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import { given } from '../../../given';
3
3
  import { Globals } from '../../../Globals';
4
4
  import { QueryTransportMethod } from '../../QueryTransportMethod';
5
5
  import * as sinon from 'sinon';
6
- describe('when subscribing with direct mode and SSE transport', given(an_observable_query_for, context => {
6
+ describe('when subscribing with direct mode and SSE transport', given(an_observable_query_for, (context) => {
7
7
  let callback;
8
8
  let subscription;
9
9
  let capturedUrl;
10
+ let eventSourceInstance;
10
11
  let originalQueryDirectMode;
11
12
  let originalTransportMethod;
12
13
  beforeEach(() => {
@@ -18,6 +19,7 @@ describe('when subscribing with direct mode and SSE transport', given(an_observa
18
19
  callback = sinon.stub();
19
20
  const FakeEventSourceConstructor = function (url) {
20
21
  capturedUrl = url;
22
+ eventSourceInstance = this;
21
23
  Object.assign(this, {
22
24
  onopen: null,
23
25
  onerror: null,
@@ -27,8 +29,24 @@ describe('when subscribing with direct mode and SSE transport', given(an_observa
27
29
  removeEventListener: sinon.stub(),
28
30
  });
29
31
  };
30
- globalThis['EventSource'] = FakeEventSourceConstructor;
32
+ globalThis['EventSource'] =
33
+ FakeEventSourceConstructor;
31
34
  subscription = context.query.subscribe(callback, { id: 'test-id' });
35
+ const result = {
36
+ data: 'ready result',
37
+ isSuccess: true,
38
+ isAuthorized: true,
39
+ isValid: true,
40
+ hasExceptions: false,
41
+ validationResults: [],
42
+ exceptionMessages: [],
43
+ exceptionStackTrace: '',
44
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
45
+ };
46
+ eventSourceInstance.onmessage?.({ data: JSON.stringify(result) });
47
+ eventSourceInstance.onmessage?.({
48
+ data: JSON.stringify({ ...result, isSuccess: false, isReady: false }),
49
+ });
32
50
  });
33
51
  afterEach(() => {
34
52
  Globals.queryDirectMode = originalQueryDirectMode;
@@ -50,5 +68,11 @@ describe('when subscribing with direct mode and SSE transport', given(an_observa
50
68
  it('should return a subscription', () => {
51
69
  subscription.should.not.be.undefined;
52
70
  });
71
+ it('should normalize omitted readiness to true', () => {
72
+ callback.firstCall.args[0].isReady.should.be.true;
73
+ });
74
+ it('should preserve false readiness', () => {
75
+ callback.secondCall.args[0].isReady.should.be.false;
76
+ });
53
77
  }));
54
78
  //# sourceMappingURL=with_direct_mode_and_sse_transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with_direct_mode_and_sse_transport.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,QAAQ,CAAC,qDAAqD,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,EAAE;IACrG,IAAI,QAAyB,CAAC;IAC9B,IAAI,YAAiD,CAAC;IACtD,IAAI,WAAmB,CAAC;IACxB,IAAI,uBAAgC,CAAC;IACrC,IAAI,uBAA6C,CAAC;IAElD,UAAU,CAAC,GAAG,EAAE;QACZ,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;QAClD,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAEvD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;QAErE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/C,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAExB,MAAM,0BAA0B,GAAG,UAA6B,GAAW;YACvE,WAAW,GAAG,GAAG,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAChB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnB,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE;gBAC9B,mBAAmB,EAAE,KAAK,CAAC,IAAI,EAAE;aACpC,CAAC,CAAC;QACP,CAAC,CAAC;QACD,UAAsC,CAAC,aAAa,CAAC,GAAG,0BAA0B,CAAC;QAEpF,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,eAAe,GAAG,uBAAuB,CAAC;QAClD,OAAO,CAAC,oBAAoB,GAAG,uBAAuB,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACf,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,OAAQ,UAAsC,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"with_direct_mode_and_sse_transport.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,14 @@ import { Globals } from '../../../Globals';
4
4
  import { QueryTransportMethod } from '../../QueryTransportMethod';
5
5
  import { SSE_HUB_ROUTE } from '../../ServerSentEventQueryConnection';
6
6
  import { resetSharedMultiplexer } from '../../ObservableQueryMultiplexer';
7
+ import { HubMessageType } from '../../WebSocketHubConnection';
7
8
  import * as sinon from 'sinon';
8
- describe('when subscribing with direct mode disabled and SSE transport', given(an_observable_query_for, context => {
9
+ describe('when subscribing with direct mode disabled and SSE transport', given(an_observable_query_for, (context) => {
9
10
  let callback;
10
11
  let subscription;
11
12
  let capturedUrl;
13
+ let fetchStub;
14
+ let eventSourceInstance;
12
15
  let originalQueryDirectMode;
13
16
  let originalTransportMethod;
14
17
  beforeEach(() => {
@@ -21,6 +24,7 @@ describe('when subscribing with direct mode disabled and SSE transport', given(a
21
24
  callback = sinon.stub();
22
25
  const FakeEventSourceConstructor = function (url) {
23
26
  capturedUrl = url;
27
+ eventSourceInstance = this;
24
28
  Object.assign(this, {
25
29
  onopen: null,
26
30
  onerror: null,
@@ -30,8 +34,44 @@ describe('when subscribing with direct mode disabled and SSE transport', given(a
30
34
  removeEventListener: sinon.stub(),
31
35
  });
32
36
  };
33
- globalThis['EventSource'] = FakeEventSourceConstructor;
37
+ globalThis['EventSource'] =
38
+ FakeEventSourceConstructor;
39
+ fetchStub = sinon.stub().resolves({ ok: true });
40
+ globalThis['fetch'] = fetchStub;
34
41
  subscription = context.query.subscribe(callback, { id: 'test-id' });
42
+ eventSourceInstance.onopen?.();
43
+ eventSourceInstance.onmessage?.({
44
+ data: JSON.stringify({
45
+ type: HubMessageType.Connected,
46
+ payload: 'connection-1',
47
+ }),
48
+ });
49
+ let subscribeRequest;
50
+ try {
51
+ subscribeRequest = JSON.parse(fetchStub.firstCall.args[1].body);
52
+ }
53
+ catch (error) {
54
+ throw new Error('The SSE hub subscribe request was not valid JSON', {
55
+ cause: error,
56
+ });
57
+ }
58
+ eventSourceInstance.onmessage?.({
59
+ data: JSON.stringify({
60
+ type: HubMessageType.QueryResult,
61
+ queryId: subscribeRequest.queryId,
62
+ payload: {
63
+ data: 'ready result',
64
+ isSuccess: true,
65
+ isAuthorized: true,
66
+ isValid: true,
67
+ hasExceptions: false,
68
+ validationResults: [],
69
+ exceptionMessages: [],
70
+ exceptionStackTrace: '',
71
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
72
+ },
73
+ }),
74
+ });
35
75
  });
36
76
  afterEach(() => {
37
77
  Globals.queryDirectMode = originalQueryDirectMode;
@@ -40,6 +80,7 @@ describe('when subscribing with direct mode disabled and SSE transport', given(a
40
80
  subscription.unsubscribe();
41
81
  }
42
82
  delete globalThis['EventSource'];
83
+ delete globalThis['fetch'];
43
84
  resetSharedMultiplexer();
44
85
  });
45
86
  it('should connect to the centralized SSE hub endpoint', () => {
@@ -49,7 +90,23 @@ describe('when subscribing with direct mode disabled and SSE transport', given(a
49
90
  capturedUrl.should.not.include('query=');
50
91
  });
51
92
  it('should return a subscription', () => {
52
- subscription.should.not.be.undefined;
93
+ (subscription === undefined).should.equal(false);
94
+ });
95
+ it('should omit revisions when the server does not advertise support', () => {
96
+ (getSubscribeBody().revision === undefined).should.equal(true);
97
+ });
98
+ function getSubscribeBody() {
99
+ try {
100
+ return JSON.parse(fetchStub.firstCall.args[1].body);
101
+ }
102
+ catch (error) {
103
+ throw new Error('Expected a valid subscribe request body', {
104
+ cause: error,
105
+ });
106
+ }
107
+ }
108
+ it('should normalize omitted readiness to true', () => {
109
+ callback.firstCall.args[0].isReady.should.equal(true);
53
110
  });
54
111
  }));
55
112
  //# sourceMappingURL=with_direct_mode_disabled_and_sse_transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with_direct_mode_disabled_and_sse_transport.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,QAAQ,CAAC,8DAA8D,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,EAAE;IAC9G,IAAI,QAAyB,CAAC;IAC9B,IAAI,YAAiD,CAAC;IACtD,IAAI,WAAmB,CAAC;IACxB,IAAI,uBAAgC,CAAC;IACrC,IAAI,uBAA6C,CAAC;IAElD,UAAU,CAAC,GAAG,EAAE;QACZ,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;QAClD,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACvD,sBAAsB,EAAE,CAAC;QAEzB,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAChC,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;QAErE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/C,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGxB,MAAM,0BAA0B,GAAG,UAA6B,GAAW;YACvE,WAAW,GAAG,GAAG,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAChB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnB,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE;gBAC9B,mBAAmB,EAAE,KAAK,CAAC,IAAI,EAAE;aACpC,CAAC,CAAC;QACP,CAAC,CAAC;QACD,UAAsC,CAAC,aAAa,CAAC,GAAG,0BAA0B,CAAC;QAEpF,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,eAAe,GAAG,uBAAuB,CAAC;QAClD,OAAO,CAAC,oBAAoB,GAAG,uBAAuB,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACf,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,OAAQ,UAAsC,CAAC,aAAa,CAAC,CAAC;QAC9D,sBAAsB,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAClF,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"with_direct_mode_disabled_and_sse_transport.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_web_socket_hub_payload_without_readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_web_socket_hub_payload_without_readiness.d.ts","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ import sinon from 'sinon';
2
+ import { given } from '../../../given';
3
+ import { Globals } from '../../../Globals';
4
+ import { HubMessageType } from '../../WebSocketHubConnection';
5
+ import { resetSharedMultiplexer } from '../../ObservableQueryMultiplexer';
6
+ import { QueryTransportMethod } from '../../QueryTransportMethod';
7
+ import { an_observable_query_for } from '../given/an_observable_query_for';
8
+ describe('when subscribing with web socket hub payload without readiness', given(an_observable_query_for, (context) => {
9
+ let callback;
10
+ let subscription;
11
+ let originalQueryDirectMode;
12
+ let originalTransportMethod;
13
+ let originalWebSocket;
14
+ let socket;
15
+ beforeEach(() => {
16
+ originalQueryDirectMode = Globals.queryDirectMode;
17
+ originalTransportMethod = Globals.queryTransportMethod;
18
+ originalWebSocket = globalThis.WebSocket;
19
+ resetSharedMultiplexer();
20
+ Globals.queryDirectMode = false;
21
+ Globals.queryTransportMethod = QueryTransportMethod.WebSocket;
22
+ context.query.setOrigin('https://example.com');
23
+ callback = sinon.stub();
24
+ socket = {
25
+ readyState: 0,
26
+ onopen: null,
27
+ onclose: null,
28
+ onerror: null,
29
+ onmessage: null,
30
+ send: sinon.stub(),
31
+ close: sinon.stub(),
32
+ };
33
+ const WebSocketStub = sinon.stub().returns(socket);
34
+ Object.assign(WebSocketStub, {
35
+ CONNECTING: 0,
36
+ OPEN: 1,
37
+ CLOSING: 2,
38
+ CLOSED: 3,
39
+ });
40
+ globalThis['WebSocket'] = WebSocketStub;
41
+ subscription = context.query.subscribe(callback, { id: 'test-id' });
42
+ socket.readyState = 1;
43
+ socket.onopen?.();
44
+ let subscribeMessage;
45
+ try {
46
+ subscribeMessage = JSON.parse(socket.send.firstCall.args[0]);
47
+ }
48
+ catch (error) {
49
+ throw new Error('The WebSocket subscribe message was not valid JSON', {
50
+ cause: error,
51
+ });
52
+ }
53
+ socket.onmessage?.({
54
+ data: JSON.stringify({
55
+ type: HubMessageType.QueryResult,
56
+ queryId: subscribeMessage.queryId,
57
+ payload: {
58
+ data: 'ready result',
59
+ isSuccess: true,
60
+ isAuthorized: true,
61
+ isValid: true,
62
+ hasExceptions: false,
63
+ validationResults: [],
64
+ exceptionMessages: [],
65
+ exceptionStackTrace: '',
66
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
67
+ },
68
+ }),
69
+ });
70
+ });
71
+ afterEach(() => {
72
+ subscription?.unsubscribe();
73
+ Globals.queryDirectMode = originalQueryDirectMode;
74
+ Globals.queryTransportMethod = originalTransportMethod;
75
+ globalThis.WebSocket = originalWebSocket;
76
+ resetSharedMultiplexer();
77
+ sinon.restore();
78
+ });
79
+ it('should normalize omitted readiness to true', () => {
80
+ callback.firstCall.args[0].isReady.should.equal(true);
81
+ });
82
+ }));
83
+ //# sourceMappingURL=with_web_socket_hub_payload_without_readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_web_socket_hub_payload_without_readiness.js","sourceRoot":"","sources":["../../../../../queries/for_ObservableQueryFor/when_subscribing/with_web_socket_hub_payload_without_readiness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,QAAQ,CACJ,gEAAgE,EAChE,KAAK,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAE;IACvC,IAAI,QAAyB,CAAC;IAC9B,IAAI,YAAiD,CAAC;IACtD,IAAI,uBAAgC,CAAC;IACrC,IAAI,uBAA6C,CAAC;IAClD,IAAI,iBAAmC,CAAC;IACxC,IAAI,MAQH,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACZ,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;QAClD,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACvD,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC;QACzC,sBAAsB,EAAE,CAAC;QAEzB,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAChC,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/C,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAExB,MAAM,GAAG;YACL,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;SACtB,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;YACzB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;SACZ,CAAC,CAAC;QACF,UAAsC,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAErE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAIlB,IAAI,gBAAqC,CAAC;QAC1C,IAAI,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,EAAE;gBAClE,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,IAAI,EAAE,cAAc,CAAC,WAAW;gBAChC,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,OAAO,EAAE;oBACL,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,KAAK;oBACpB,iBAAiB,EAAE,EAAE;oBACrB,iBAAiB,EAAE,EAAE;oBACrB,mBAAmB,EAAE,EAAE;oBACvB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;iBAC7D;aACJ,CAAC;SACL,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,eAAe,GAAG,uBAAuB,CAAC;QAClD,OAAO,CAAC,oBAAoB,GAAG,uBAAuB,CAAC;QACvD,UAAU,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACzC,sBAAsB,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_only_readiness_changed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_only_readiness_changed.d.ts","sourceRoot":"","sources":["../../../../../queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import sinon from 'sinon';
2
+ import { PagingInfo } from '../../PagingInfo';
3
+ import { QueryInstanceCache } from '../../QueryInstanceCache';
4
+ import { QueryResultWithState } from '../../QueryResultWithState';
5
+ describe('when setting the last result with only readiness changed', () => {
6
+ const key = 'MyQuery::';
7
+ const data = ['a', 'b'];
8
+ let listener;
9
+ beforeEach(() => {
10
+ const cache = new QueryInstanceCache();
11
+ cache.getOrCreate(key, () => ({}));
12
+ listener = sinon.stub();
13
+ cache.addListener(key, listener);
14
+ cache.setLastResult(key, new QueryResultWithState(data, PagingInfo.noPaging, false, true, true, [], false, [], '', false, undefined, false));
15
+ listener.resetHistory();
16
+ cache.setLastResult(key, new QueryResultWithState(data, PagingInfo.noPaging, false, true, true, [], false, [], '', false, undefined, true));
17
+ });
18
+ afterEach(() => sinon.restore());
19
+ it('should notify the listener', () => listener.calledOnce.should.be.true);
20
+ it('should provide the changed readiness', () => listener.firstCall.args[0].isReady.should.be.true);
21
+ });
22
+ //# sourceMappingURL=with_only_readiness_changed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_only_readiness_changed.js","sourceRoot":"","sources":["../../../../../queries/for_QueryInstanceCache/when_setting_last_result/with_only_readiness_changed.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACtE,MAAM,GAAG,GAAG,WAAW,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,IAAI,QAAyB,CAAC;IAE9B,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACvC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,CAAC,WAAW,CAAW,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE3C,KAAK,CAAC,aAAa,CACf,GAAG,EACH,IAAI,oBAAoB,CACpB,IAAI,EACJ,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,KAAK,EACL,EAAE,EACF,EAAE,EACF,KAAK,EACL,SAAS,EACT,KAAK,CACR,CACJ,CAAC;QACF,QAAQ,CAAC,YAAY,EAAE,CAAC;QAExB,KAAK,CAAC,aAAa,CACf,GAAG,EACH,IAAI,oBAAoB,CACpB,IAAI,EACJ,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,KAAK,EACL,EAAE,EACF,EAAE,EACF,KAAK,EACL,SAAS,EACT,IAAI,CACP,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3E,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAC5C,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_readiness_false.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_readiness_false.d.ts","sourceRoot":"","sources":["../../../../../queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { QueryResult } from '../../QueryResult';
2
+ describe('when constructing from a server result with readiness false', () => {
3
+ const result = new QueryResult({
4
+ data: null,
5
+ isSuccess: false,
6
+ isReady: false,
7
+ isAuthorized: true,
8
+ isValid: true,
9
+ hasExceptions: false,
10
+ validationResults: [],
11
+ exceptionMessages: [],
12
+ exceptionStackTrace: '',
13
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
14
+ }, Object, false);
15
+ it('should not be ready', () => result.isReady.should.be.false);
16
+ });
17
+ //# sourceMappingURL=with_readiness_false.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_readiness_false.js","sourceRoot":"","sources":["../../../../../queries/for_QueryResult/when_constructing_from_a_server_result/with_readiness_false.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IACzE,MAAM,MAAM,GAAG,IAAI,WAAW,CAC1B;QACI,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;KAC7D,EACD,MAAM,EACN,KAAK,CACR,CAAC;IAEF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=without_readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"without_readiness.d.ts","sourceRoot":"","sources":["../../../../../queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { QueryResult } from '../../QueryResult';
2
+ describe('when constructing from a server result without readiness', () => {
3
+ const result = new QueryResult({
4
+ data: {},
5
+ isSuccess: true,
6
+ isAuthorized: true,
7
+ isValid: true,
8
+ hasExceptions: false,
9
+ validationResults: [],
10
+ exceptionMessages: [],
11
+ exceptionStackTrace: '',
12
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
13
+ }, Object, false);
14
+ it('should be ready', () => result.isReady.should.be.true);
15
+ });
16
+ //# sourceMappingURL=without_readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"without_readiness.js","sourceRoot":"","sources":["../../../../../queries/for_QueryResult/when_constructing_from_a_server_result/without_readiness.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,WAAW,CAC1B;QACI,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;KAC7D,EACD,MAAM,EACN,KAAK,CACR,CAAC;IAEF,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_readiness_false.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_readiness_false.d.ts","sourceRoot":"","sources":["../../../../../queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { QueryResult } from '../../QueryResult';
2
+ import { QueryResultWithState } from '../../QueryResultWithState';
3
+ describe('when creating from query result with readiness false', () => {
4
+ const queryResult = new QueryResult({
5
+ data: null,
6
+ isSuccess: false,
7
+ isReady: false,
8
+ isAuthorized: true,
9
+ isValid: true,
10
+ hasExceptions: false,
11
+ validationResults: [],
12
+ exceptionMessages: [],
13
+ exceptionStackTrace: '',
14
+ paging: { page: 0, size: 0, totalItems: 0, totalPages: 0 },
15
+ }, Object, false);
16
+ const result = QueryResultWithState.fromQueryResult(queryResult, false);
17
+ it('should not be ready', () => result.isReady.should.be.false);
18
+ });
19
+ //# sourceMappingURL=with_readiness_false.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_readiness_false.js","sourceRoot":"","sources":["../../../../../queries/for_QueryResultWithState/when_creating_from_query_result/with_readiness_false.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,WAAW,CAC/B;QACI,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;KAC7D,EACD,MAAM,EACN,KAAK,CACR,CAAC;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAExE,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=without_readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"without_readiness.d.ts","sourceRoot":"","sources":["../../../../../queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { PagingInfo } from '../../PagingInfo';
2
+ import { QueryResultWithState } from '../../QueryResultWithState';
3
+ describe('when creating from query result without readiness', () => {
4
+ const queryResult = {
5
+ data: 'ready result',
6
+ paging: PagingInfo.noPaging,
7
+ isSuccess: true,
8
+ isAuthorized: true,
9
+ isValid: true,
10
+ validationResults: [],
11
+ hasExceptions: false,
12
+ exceptionMessages: [],
13
+ exceptionStackTrace: '',
14
+ hasData: true,
15
+ };
16
+ const result = QueryResultWithState.fromQueryResult(queryResult, false);
17
+ it('should be ready', () => result.isReady.should.be.true);
18
+ });
19
+ //# sourceMappingURL=without_readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"without_readiness.js","sourceRoot":"","sources":["../../../../../queries/for_QueryResultWithState/when_creating_from_query_result/without_readiness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC/D,MAAM,WAAW,GAAyB;QACtC,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,UAAU,CAAC,QAAQ;QAC3B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,OAAO,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAExE,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class a_deferred_promise<T> {
2
+ readonly promise: Promise<T>;
3
+ resolve: (value: T) => void;
4
+ reject: (reason?: unknown) => void;
5
+ constructor();
6
+ }
7
+ //# sourceMappingURL=a_deferred_promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a_deferred_promise.d.ts","sourceRoot":"","sources":["../../../../../queries/for_ServerSentEventHubConnection/given/a_deferred_promise.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAG,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAG,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpC,cAKC;CACJ"}
@@ -0,0 +1,12 @@
1
+ export class a_deferred_promise {
2
+ promise;
3
+ resolve;
4
+ reject;
5
+ constructor() {
6
+ this.promise = new Promise((resolve, reject) => {
7
+ this.resolve = resolve;
8
+ this.reject = reject;
9
+ });
10
+ }
11
+ }
12
+ //# sourceMappingURL=a_deferred_promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a_deferred_promise.js","sourceRoot":"","sources":["../../../../../queries/for_ServerSentEventHubConnection/given/a_deferred_promise.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IAClB,OAAO,CAAa;IAC7B,OAAO,CAAsB;IAC7B,MAAM,CAA8B;IAEpC;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -10,12 +10,13 @@ export declare class a_server_sent_event_hub_connection {
10
10
  close: sinon.SinonStub;
11
11
  readyState: number;
12
12
  };
13
+ eventSources: Array<typeof this.fakeEventSource>;
13
14
  policy: sinon.SinonStubbedInstance<IReconnectPolicy>;
14
15
  fetchStub: sinon.SinonStub;
15
16
  constructor();
16
17
  setup(): void;
17
18
  simulateOpen(): void;
18
- simulateMessage(payload: object): void;
19
+ simulateMessage(payload: Record<string, unknown>): void;
19
20
  simulateError(): void;
20
21
  }
21
22
  //# sourceMappingURL=a_server_sent_event_hub_connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"a_server_sent_event_hub_connection.d.ts","sourceRoot":"","sources":["../../../../../queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAC;AAI7E,qBAAa,kCAAkC;IAC3C,UAAU,EAAG,4BAA4B,CAAC;IAC1C,eAAe,EAAG;QACd,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAClD,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAG,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACtD,SAAS,EAAG,KAAK,CAAC,SAAS,CAAC;IAE5B,cAEC;IAOD,KAAK,IAAI,IAAI,CAwCZ;IAED,YAAY,IAAI,IAAI,CAGnB;IAED,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErC;IAED,aAAa,IAAI,IAAI,CAEpB;CACJ"}
1
+ {"version":3,"file":"a_server_sent_event_hub_connection.d.ts","sourceRoot":"","sources":["../../../../../queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAC;AAI7E,qBAAa,kCAAkC;IAC3C,UAAU,EAAG,4BAA4B,CAAC;IAC1C,eAAe,EAAG;QACd,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAClD,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,EAAG,KAAK,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,EAAG,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACtD,SAAS,EAAG,KAAK,CAAC,SAAS,CAAC;IAE5B,cAEC;IAOD,KAAK,IAAI,IAAI,CAgDZ;IAED,YAAY,IAAI,IAAI,CAGnB;IAED,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAItD;IAED,aAAa,IAAI,IAAI,CAEpB;CACJ"}
@@ -3,12 +3,14 @@ import { ServerSentEventHubConnection } from '../../ServerSentEventHubConnection
3
3
  export class a_server_sent_event_hub_connection {
4
4
  connection;
5
5
  fakeEventSource;
6
+ eventSources;
6
7
  policy;
7
8
  fetchStub;
8
9
  constructor() {
9
10
  this.setup();
10
11
  }
11
12
  setup() {
13
+ this.eventSources = [];
12
14
  this.fakeEventSource = {
13
15
  onopen: null,
14
16
  onmessage: null,
@@ -18,9 +20,16 @@ export class a_server_sent_event_hub_connection {
18
20
  };
19
21
  const self = this;
20
22
  const FakeEventSourceClass = function () {
21
- Object.assign(self.fakeEventSource, { onopen: null, onmessage: null, onerror: null });
22
- self.fakeEventSource.readyState = 0;
23
- return self.fakeEventSource;
23
+ const eventSource = {
24
+ onopen: null,
25
+ onmessage: null,
26
+ onerror: null,
27
+ close: sinon.stub(),
28
+ readyState: 0,
29
+ };
30
+ self.eventSources.push(eventSource);
31
+ self.fakeEventSource = eventSource;
32
+ return eventSource;
24
33
  };
25
34
  globalThis['EventSource'] = FakeEventSourceClass;
26
35
  globalThis['EventSource'].CONNECTING = 0;
@@ -41,7 +50,9 @@ export class a_server_sent_event_hub_connection {
41
50
  this.fakeEventSource.onopen?.();
42
51
  }
43
52
  simulateMessage(payload) {
44
- this.fakeEventSource.onmessage?.({ data: JSON.stringify(payload) });
53
+ this.fakeEventSource.onmessage?.({
54
+ data: JSON.stringify(payload),
55
+ });
45
56
  }
46
57
  simulateError() {
47
58
  this.fakeEventSource.onerror?.();