@cratis/arc 19.12.0 → 20.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.
- package/Globals.ts +20 -1
- package/dist/cjs/Globals.d.ts +4 -0
- package/dist/cjs/Globals.d.ts.map +1 -1
- package/dist/cjs/Globals.js +6 -1
- package/dist/cjs/Globals.js.map +1 -1
- package/dist/cjs/queries/HubConnectionKeepAlive.d.ts +11 -0
- package/dist/cjs/queries/HubConnectionKeepAlive.d.ts.map +1 -0
- package/dist/cjs/queries/HubConnectionKeepAlive.js +33 -0
- package/dist/cjs/queries/HubConnectionKeepAlive.js.map +1 -0
- package/dist/cjs/queries/IObservableQueryHubConnection.d.ts +11 -0
- package/dist/cjs/queries/IObservableQueryHubConnection.d.ts.map +1 -0
- package/dist/cjs/queries/IReconnectPolicy.d.ts +8 -0
- package/dist/cjs/queries/IReconnectPolicy.d.ts.map +1 -0
- package/dist/cjs/queries/ObservableQueryConnection.d.ts +3 -1
- package/dist/cjs/queries/ObservableQueryConnection.d.ts.map +1 -1
- package/dist/cjs/queries/ObservableQueryConnection.js +8 -21
- package/dist/cjs/queries/ObservableQueryConnection.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryConnectionFactory.d.ts +13 -0
- package/dist/cjs/queries/ObservableQueryConnectionFactory.d.ts.map +1 -0
- package/dist/cjs/queries/ObservableQueryConnectionFactory.js +62 -0
- package/dist/cjs/queries/ObservableQueryConnectionFactory.js.map +1 -0
- package/dist/cjs/queries/ObservableQueryConnectionPool.d.ts +9 -0
- package/dist/cjs/queries/ObservableQueryConnectionPool.d.ts.map +1 -0
- package/dist/cjs/queries/ObservableQueryConnectionPool.js +23 -0
- package/dist/cjs/queries/ObservableQueryConnectionPool.js.map +1 -0
- package/dist/cjs/queries/ObservableQueryFor.d.ts +1 -0
- package/dist/cjs/queries/ObservableQueryFor.d.ts.map +1 -1
- package/dist/cjs/queries/ObservableQueryFor.js +10 -5
- package/dist/cjs/queries/ObservableQueryFor.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryMultiplexer.d.ts +30 -0
- package/dist/cjs/queries/ObservableQueryMultiplexer.d.ts.map +1 -0
- package/dist/cjs/queries/ObservableQueryMultiplexer.js +120 -0
- package/dist/cjs/queries/ObservableQueryMultiplexer.js.map +1 -0
- package/dist/cjs/queries/QueryInstanceCache.d.ts +29 -0
- package/dist/cjs/queries/QueryInstanceCache.d.ts.map +1 -0
- package/dist/cjs/queries/QueryInstanceCache.js +95 -0
- package/dist/cjs/queries/QueryInstanceCache.js.map +1 -0
- package/dist/cjs/queries/QueryTransportMethod.d.ts +5 -0
- package/dist/cjs/queries/QueryTransportMethod.d.ts.map +1 -0
- package/dist/cjs/queries/QueryTransportMethod.js +8 -0
- package/dist/cjs/queries/QueryTransportMethod.js.map +1 -0
- package/dist/cjs/queries/ReconnectPolicy.d.ts +15 -0
- package/dist/cjs/queries/ReconnectPolicy.d.ts.map +1 -0
- package/dist/cjs/queries/ReconnectPolicy.js +43 -0
- package/dist/cjs/queries/ReconnectPolicy.js.map +1 -0
- package/dist/cjs/queries/ServerSentEventHubConnection.d.ts +39 -0
- package/dist/cjs/queries/ServerSentEventHubConnection.d.ts.map +1 -0
- package/dist/cjs/queries/ServerSentEventHubConnection.js +233 -0
- package/dist/cjs/queries/ServerSentEventHubConnection.js.map +1 -0
- package/dist/cjs/queries/ServerSentEventQueryConnection.d.ts +14 -0
- package/dist/cjs/queries/ServerSentEventQueryConnection.d.ts.map +1 -0
- package/dist/cjs/queries/ServerSentEventQueryConnection.js +59 -0
- package/dist/cjs/queries/ServerSentEventQueryConnection.js.map +1 -0
- package/dist/cjs/queries/WebSocketHubConnection.d.ts +55 -0
- package/dist/cjs/queries/WebSocketHubConnection.d.ts.map +1 -0
- package/dist/cjs/queries/WebSocketHubConnection.js +193 -0
- package/dist/cjs/queries/WebSocketHubConnection.js.map +1 -0
- package/dist/cjs/queries/for_HubConnectionKeepAlive/behavior.d.ts +2 -0
- package/dist/cjs/queries/for_HubConnectionKeepAlive/behavior.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts +1 -2
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts.map +1 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts +9 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts.map +1 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts +2 -0
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts.map +1 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts +2 -0
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts.map +1 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts +2 -0
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts +21 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts.map +1 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts +2 -0
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts +23 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts.map +1 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts +2 -0
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts.map +1 -0
- package/dist/cjs/queries/index.d.ts +12 -0
- package/dist/cjs/queries/index.d.ts.map +1 -1
- package/dist/cjs/queries/index.js +34 -0
- package/dist/cjs/queries/index.js.map +1 -1
- package/dist/esm/Globals.d.ts +4 -0
- package/dist/esm/Globals.d.ts.map +1 -1
- package/dist/esm/Globals.js +6 -1
- package/dist/esm/Globals.js.map +1 -1
- package/dist/esm/queries/HubConnectionKeepAlive.d.ts +11 -0
- package/dist/esm/queries/HubConnectionKeepAlive.d.ts.map +1 -0
- package/dist/esm/queries/HubConnectionKeepAlive.js +31 -0
- package/dist/esm/queries/HubConnectionKeepAlive.js.map +1 -0
- package/dist/esm/queries/IObservableQueryHubConnection.d.ts +11 -0
- package/dist/esm/queries/IObservableQueryHubConnection.d.ts.map +1 -0
- package/dist/esm/queries/IObservableQueryHubConnection.js +2 -0
- package/dist/esm/queries/IObservableQueryHubConnection.js.map +1 -0
- package/dist/esm/queries/IReconnectPolicy.d.ts +8 -0
- package/dist/esm/queries/IReconnectPolicy.d.ts.map +1 -0
- package/dist/esm/queries/IReconnectPolicy.js +2 -0
- package/dist/esm/queries/IReconnectPolicy.js.map +1 -0
- package/dist/esm/queries/ObservableQueryConnection.d.ts +3 -1
- package/dist/esm/queries/ObservableQueryConnection.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryConnection.js +8 -21
- package/dist/esm/queries/ObservableQueryConnection.js.map +1 -1
- package/dist/esm/queries/ObservableQueryConnectionFactory.d.ts +13 -0
- package/dist/esm/queries/ObservableQueryConnectionFactory.d.ts.map +1 -0
- package/dist/esm/queries/ObservableQueryConnectionFactory.js +58 -0
- package/dist/esm/queries/ObservableQueryConnectionFactory.js.map +1 -0
- package/dist/esm/queries/ObservableQueryConnectionPool.d.ts +9 -0
- package/dist/esm/queries/ObservableQueryConnectionPool.d.ts.map +1 -0
- package/dist/esm/queries/ObservableQueryConnectionPool.js +21 -0
- package/dist/esm/queries/ObservableQueryConnectionPool.js.map +1 -0
- package/dist/esm/queries/ObservableQueryFor.d.ts +1 -0
- package/dist/esm/queries/ObservableQueryFor.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryFor.js +10 -5
- package/dist/esm/queries/ObservableQueryFor.js.map +1 -1
- package/dist/esm/queries/ObservableQueryMultiplexer.d.ts +30 -0
- package/dist/esm/queries/ObservableQueryMultiplexer.d.ts.map +1 -0
- package/dist/esm/queries/ObservableQueryMultiplexer.js +114 -0
- package/dist/esm/queries/ObservableQueryMultiplexer.js.map +1 -0
- package/dist/esm/queries/QueryInstanceCache.d.ts +29 -0
- package/dist/esm/queries/QueryInstanceCache.d.ts.map +1 -0
- package/dist/esm/queries/QueryInstanceCache.js +93 -0
- package/dist/esm/queries/QueryInstanceCache.js.map +1 -0
- package/dist/esm/queries/QueryTransportMethod.d.ts +5 -0
- package/dist/esm/queries/QueryTransportMethod.d.ts.map +1 -0
- package/dist/esm/queries/QueryTransportMethod.js +8 -0
- package/dist/esm/queries/QueryTransportMethod.js.map +1 -0
- package/dist/esm/queries/ReconnectPolicy.d.ts +15 -0
- package/dist/esm/queries/ReconnectPolicy.d.ts.map +1 -0
- package/dist/esm/queries/ReconnectPolicy.js +41 -0
- package/dist/esm/queries/ReconnectPolicy.js.map +1 -0
- package/dist/esm/queries/ServerSentEventHubConnection.d.ts +39 -0
- package/dist/esm/queries/ServerSentEventHubConnection.d.ts.map +1 -0
- package/dist/esm/queries/ServerSentEventHubConnection.js +231 -0
- package/dist/esm/queries/ServerSentEventHubConnection.js.map +1 -0
- package/dist/esm/queries/ServerSentEventQueryConnection.d.ts +14 -0
- package/dist/esm/queries/ServerSentEventQueryConnection.d.ts.map +1 -0
- package/dist/esm/queries/ServerSentEventQueryConnection.js +56 -0
- package/dist/esm/queries/ServerSentEventQueryConnection.js.map +1 -0
- package/dist/esm/queries/WebSocketHubConnection.d.ts +55 -0
- package/dist/esm/queries/WebSocketHubConnection.d.ts.map +1 -0
- package/dist/esm/queries/WebSocketHubConnection.js +191 -0
- package/dist/esm/queries/WebSocketHubConnection.js.map +1 -0
- package/dist/esm/queries/for_HubConnectionKeepAlive/behavior.d.ts +2 -0
- package/dist/esm/queries/for_HubConnectionKeepAlive/behavior.d.ts.map +1 -0
- package/dist/esm/queries/for_HubConnectionKeepAlive/behavior.js +57 -0
- package/dist/esm/queries/for_HubConnectionKeepAlive/behavior.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts +1 -2
- package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts.map +1 -1
- package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.js +9 -5
- package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.js.map +1 -1
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts +9 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.js +19 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.js +49 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.js +47 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.js +54 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.js +49 -0
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.js +34 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.js +18 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.js +32 -0
- package/dist/esm/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.js +54 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.js +55 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts +2 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.js +45 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.js.map +1 -0
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.js +18 -11
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.js.map +1 -1
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.js +12 -5
- package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.js.map +1 -1
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_arguments.js +12 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_arguments.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.js +11 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.js +13 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/without_arguments.js +11 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_building_key/without_arguments.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.js +12 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.js +16 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.js +23 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.js +16 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.js +17 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.js +13 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.js +17 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.js.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts +2 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts.map +1 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.js +15 -0
- package/dist/esm/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.js +24 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.js +24 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_resetting/after_scheduling.js +29 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_resetting/after_scheduling.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.js +33 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.js +28 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.js.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts +2 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts.map +1 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.js +29 -0
- package/dist/esm/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts +21 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.js +50 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.js +24 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.js +27 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.js +26 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.js +46 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.js +21 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.js +32 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.js +21 -0
- package/dist/esm/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.js +38 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.js +23 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.js +24 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.js.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts +2 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts.map +1 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.js +24 -0
- package/dist/esm/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts +23 -0
- package/dist/esm/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.js +47 -0
- package/dist/esm/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.js +24 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.js +29 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.js +31 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.js +30 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.js +31 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.js +32 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.js.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts +2 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts.map +1 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.js +23 -0
- package/dist/esm/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.js.map +1 -0
- package/dist/esm/queries/index.d.ts +12 -0
- package/dist/esm/queries/index.d.ts.map +1 -1
- package/dist/esm/queries/index.js +10 -0
- package/dist/esm/queries/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/queries/HubConnectionKeepAlive.ts +61 -0
- package/queries/IObservableQueryHubConnection.ts +50 -0
- package/queries/IReconnectPolicy.ts +39 -0
- package/queries/ObservableQueryConnection.ts +8 -24
- package/queries/ObservableQueryConnectionFactory.ts +118 -0
- package/queries/ObservableQueryConnectionPool.ts +64 -0
- package/queries/ObservableQueryFor.ts +11 -5
- package/queries/ObservableQueryMultiplexer.ts +214 -0
- package/queries/QueryInstanceCache.ts +243 -0
- package/queries/QueryTransportMethod.ts +17 -0
- package/queries/ReconnectPolicy.ts +68 -0
- package/queries/ServerSentEventHubConnection.ts +309 -0
- package/queries/ServerSentEventQueryConnection.ts +84 -0
- package/queries/WebSocketHubConnection.ts +291 -0
- package/queries/for_HubConnectionKeepAlive/behavior.ts +73 -0
- package/queries/for_ObservableQueryConnection/given/an_observable_query_connection.ts +13 -9
- package/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.ts +26 -0
- package/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.ts +62 -0
- package/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.ts +59 -0
- package/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.ts +69 -0
- package/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.ts +61 -0
- package/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.ts +47 -0
- package/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.ts +26 -0
- package/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.ts +44 -0
- package/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.ts +69 -0
- package/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.ts +70 -0
- package/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.ts +57 -0
- package/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.ts +19 -11
- package/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.ts +14 -7
- package/queries/for_QueryInstanceCache/when_building_key/with_arguments.ts +17 -0
- package/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.ts +16 -0
- package/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.ts +18 -0
- package/queries/for_QueryInstanceCache/when_building_key/without_arguments.ts +16 -0
- package/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.ts +17 -0
- package/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.ts +23 -0
- package/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.ts +29 -0
- package/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.ts +21 -0
- package/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.ts +21 -0
- package/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.ts +18 -0
- package/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.ts +23 -0
- package/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.ts +20 -0
- package/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.ts +33 -0
- package/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.ts +33 -0
- package/queries/for_ReconnectPolicy/when_resetting/after_scheduling.ts +39 -0
- package/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.ts +44 -0
- package/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.ts +38 -0
- package/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.ts +39 -0
- package/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.ts +85 -0
- package/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.ts +46 -0
- package/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.ts +34 -0
- package/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.ts +48 -0
- package/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.ts +62 -0
- package/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.ts +31 -0
- package/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.ts +42 -0
- package/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.ts +32 -0
- package/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.ts +63 -0
- package/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.ts +31 -0
- package/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.ts +36 -0
- package/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.ts +38 -0
- package/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.ts +81 -0
- package/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.ts +31 -0
- package/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.ts +47 -0
- package/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.ts +53 -0
- package/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.ts +41 -0
- package/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.ts +43 -0
- package/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.ts +42 -0
- package/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.ts +30 -0
- package/queries/index.ts +12 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { a_descriptor } from '../given/a_descriptor';
|
|
5
|
+
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
7
|
+
import { QueryTransportMethod } from '../../QueryTransportMethod';
|
|
8
|
+
import { createObservableQueryConnection } from '../../ObservableQueryConnectionFactory';
|
|
9
|
+
import { SSE_HUB_ROUTE } from '../../ServerSentEventQueryConnection';
|
|
10
|
+
import { MultiplexedObservableQueryConnection, resetSharedMultiplexer } from '../../ObservableQueryMultiplexer';
|
|
11
|
+
import { IObservableQueryConnection } from '../../IObservableQueryConnection';
|
|
12
|
+
|
|
13
|
+
import * as sinon from 'sinon';
|
|
14
|
+
|
|
15
|
+
describe('when creating with hub mode and SSE transport', given(a_descriptor, context => {
|
|
16
|
+
let connection: IObservableQueryConnection<unknown>;
|
|
17
|
+
let capturedUrl: string;
|
|
18
|
+
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
Globals.queryDirectMode = false;
|
|
21
|
+
Globals.queryTransportMethod = QueryTransportMethod.ServerSentEvents;
|
|
22
|
+
|
|
23
|
+
const FakeEventSourceConstructor = function (this: EventSource, url: string) {
|
|
24
|
+
capturedUrl = url;
|
|
25
|
+
Object.assign(this, {
|
|
26
|
+
onopen: null,
|
|
27
|
+
onerror: null,
|
|
28
|
+
onmessage: null,
|
|
29
|
+
close: sinon.stub(),
|
|
30
|
+
addEventListener: sinon.stub(),
|
|
31
|
+
removeEventListener: sinon.stub(),
|
|
32
|
+
readyState: 0,
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
(globalThis as Record<string, unknown>)['EventSource'] = FakeEventSourceConstructor;
|
|
36
|
+
|
|
37
|
+
// Also stub fetch for the POST subscribe/unsubscribe calls
|
|
38
|
+
(globalThis as Record<string, unknown>)['fetch'] = sinon.stub().resolves({ ok: true } as Response);
|
|
39
|
+
|
|
40
|
+
connection = createObservableQueryConnection(context.descriptor);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
afterEach(() => {
|
|
44
|
+
Globals.queryDirectMode = context.originalDirectMode;
|
|
45
|
+
Globals.queryTransportMethod = context.originalTransportMethod;
|
|
46
|
+
delete (globalThis as Record<string, unknown>)['EventSource'];
|
|
47
|
+
delete (globalThis as Record<string, unknown>)['fetch'];
|
|
48
|
+
resetSharedMultiplexer();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('should return a MultiplexedObservableQueryConnection', () => {
|
|
52
|
+
connection.should.be.instanceOf(MultiplexedObservableQueryConnection);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('should target the SSE demultiplexer endpoint when connecting', () => {
|
|
56
|
+
(connection as MultiplexedObservableQueryConnection<unknown>).connect(sinon.stub());
|
|
57
|
+
capturedUrl.should.include(SSE_HUB_ROUTE);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should not include query name in URL', () => {
|
|
61
|
+
(connection as MultiplexedObservableQueryConnection<unknown>).connect(sinon.stub());
|
|
62
|
+
capturedUrl.should.not.include('query=');
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('should not include the per-query route', () => {
|
|
66
|
+
(connection as MultiplexedObservableQueryConnection<unknown>).connect(sinon.stub());
|
|
67
|
+
capturedUrl.should.not.include('/api/test/item-42');
|
|
68
|
+
});
|
|
69
|
+
}));
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { a_descriptor } from '../given/a_descriptor';
|
|
5
|
+
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
7
|
+
import { QueryTransportMethod } from '../../QueryTransportMethod';
|
|
8
|
+
import { createObservableQueryConnection } from '../../ObservableQueryConnectionFactory';
|
|
9
|
+
import { MultiplexedObservableQueryConnection, WS_HUB_ROUTE, resetSharedMultiplexer } from '../../ObservableQueryMultiplexer';
|
|
10
|
+
import { IObservableQueryConnection } from '../../IObservableQueryConnection';
|
|
11
|
+
|
|
12
|
+
import * as sinon from 'sinon';
|
|
13
|
+
|
|
14
|
+
describe('when creating with hub mode and WebSocket transport', given(a_descriptor, context => {
|
|
15
|
+
let connection: IObservableQueryConnection<unknown>;
|
|
16
|
+
let originalWebSocket: typeof WebSocket;
|
|
17
|
+
let capturedUrl: string;
|
|
18
|
+
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
Globals.queryDirectMode = false;
|
|
21
|
+
Globals.queryTransportMethod = QueryTransportMethod.WebSocket;
|
|
22
|
+
|
|
23
|
+
originalWebSocket = global.WebSocket;
|
|
24
|
+
(global as Record<string, unknown>).WebSocket = function (url: string) {
|
|
25
|
+
capturedUrl = url;
|
|
26
|
+
return {
|
|
27
|
+
onopen: null,
|
|
28
|
+
onclose: null,
|
|
29
|
+
onerror: null,
|
|
30
|
+
onmessage: null,
|
|
31
|
+
close: sinon.stub(),
|
|
32
|
+
send: sinon.stub(),
|
|
33
|
+
readyState: 0,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
connection = createObservableQueryConnection(context.descriptor);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
afterEach(() => {
|
|
41
|
+
Globals.queryDirectMode = context.originalDirectMode;
|
|
42
|
+
Globals.queryTransportMethod = context.originalTransportMethod;
|
|
43
|
+
global.WebSocket = originalWebSocket;
|
|
44
|
+
sinon.restore();
|
|
45
|
+
resetSharedMultiplexer();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('should return a MultiplexedObservableQueryConnection', () => {
|
|
49
|
+
connection.should.be.instanceOf(MultiplexedObservableQueryConnection);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('should target the WebSocket demultiplexer endpoint when connecting', () => {
|
|
53
|
+
(connection as MultiplexedObservableQueryConnection<unknown>).connect(sinon.stub());
|
|
54
|
+
capturedUrl.should.include(WS_HUB_ROUTE);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('should not target the per-query route', () => {
|
|
58
|
+
(connection as MultiplexedObservableQueryConnection<unknown>).connect(sinon.stub());
|
|
59
|
+
capturedUrl.should.not.include('/api/test/item-42');
|
|
60
|
+
});
|
|
61
|
+
}));
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import sinon from 'sinon';
|
|
5
|
+
import { ObservableQueryConnectionPool } from '../../../ObservableQueryConnectionPool';
|
|
6
|
+
import { IObservableQueryConnection } from '../../../IObservableQueryConnection';
|
|
7
|
+
import { QueryResult } from '../../../QueryResult';
|
|
8
|
+
|
|
9
|
+
describe('when acquiring from a pool with multiple slots and the least-loaded slot is chosen', () => {
|
|
10
|
+
let connectStubs: sinon.SinonStub[];
|
|
11
|
+
let disconnectStubs: sinon.SinonStub[];
|
|
12
|
+
let pool: ObservableQueryConnectionPool<string>;
|
|
13
|
+
let cleanups: Array<() => void>;
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
connectStubs = [];
|
|
17
|
+
disconnectStubs = [];
|
|
18
|
+
cleanups = [];
|
|
19
|
+
|
|
20
|
+
pool = new ObservableQueryConnectionPool<string>(3, () => {
|
|
21
|
+
const connectStub = sinon.stub();
|
|
22
|
+
const disconnectStub = sinon.stub();
|
|
23
|
+
connectStubs.push(connectStub);
|
|
24
|
+
disconnectStubs.push(disconnectStub);
|
|
25
|
+
return {
|
|
26
|
+
connect: connectStub,
|
|
27
|
+
disconnect: disconnectStub,
|
|
28
|
+
lastPingLatency: 0,
|
|
29
|
+
averageLatency: 0,
|
|
30
|
+
} as IObservableQueryConnection<string>;
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// First subscriber fills slot 0
|
|
34
|
+
cleanups.push(pool.acquire((_: QueryResult<string>) => _));
|
|
35
|
+
// Release slot 0 — now it is the least-loaded again
|
|
36
|
+
cleanups[0]();
|
|
37
|
+
// Next subscriber should re-use slot 0 (count = 0) not slot 1 (never used but same count)
|
|
38
|
+
cleanups.push(pool.acquire((_: QueryResult<string>) => _));
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
afterEach(() => {
|
|
42
|
+
sinon.restore();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('should have created two connections', () => connectStubs.length.should.equal(2));
|
|
46
|
+
it('should have called connect on both', () => connectStubs.every(s => s.calledOnce).should.be.true);
|
|
47
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { ObservableQueryConnectionPool } from '../../../ObservableQueryConnectionPool';
|
|
5
|
+
import { IObservableQueryConnection } from '../../../IObservableQueryConnection';
|
|
6
|
+
import { QueryResult } from '../../../QueryResult';
|
|
7
|
+
|
|
8
|
+
describe('when constructing a pool with zero size', () => {
|
|
9
|
+
let pool: ObservableQueryConnectionPool<string>;
|
|
10
|
+
let connectCalled: boolean;
|
|
11
|
+
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
connectCalled = false;
|
|
14
|
+
const fakeConnection: IObservableQueryConnection<string> = {
|
|
15
|
+
connect: () => { connectCalled = true; },
|
|
16
|
+
disconnect: () => {},
|
|
17
|
+
lastPingLatency: 0,
|
|
18
|
+
averageLatency: 0,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
pool = new ObservableQueryConnectionPool<string>(0, () => fakeConnection);
|
|
22
|
+
pool.acquire((_: QueryResult<string>) => _);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should fall back to at least one slot and still connect', () => connectCalled.should.be.true);
|
|
26
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import sinon from 'sinon';
|
|
5
|
+
import { ObservableQueryConnectionPool } from '../../../ObservableQueryConnectionPool';
|
|
6
|
+
import { IObservableQueryConnection } from '../../../IObservableQueryConnection';
|
|
7
|
+
import { QueryResult } from '../../../QueryResult';
|
|
8
|
+
|
|
9
|
+
describe('when acquiring from a pool with a single slot', () => {
|
|
10
|
+
let connectStub: sinon.SinonStub;
|
|
11
|
+
let disconnectStub: sinon.SinonStub;
|
|
12
|
+
let pool: ObservableQueryConnectionPool<string>;
|
|
13
|
+
let cleanup: () => void;
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
connectStub = sinon.stub();
|
|
17
|
+
disconnectStub = sinon.stub();
|
|
18
|
+
|
|
19
|
+
const fakeConnection: IObservableQueryConnection<string> = {
|
|
20
|
+
connect: connectStub,
|
|
21
|
+
disconnect: disconnectStub,
|
|
22
|
+
lastPingLatency: 0,
|
|
23
|
+
averageLatency: 0,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
pool = new ObservableQueryConnectionPool<string>(1, () => fakeConnection);
|
|
27
|
+
cleanup = pool.acquire((result: QueryResult<string>) => result);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
afterEach(() => {
|
|
31
|
+
sinon.restore();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it('should call connect on the underlying connection', () => connectStub.calledOnce.should.be.true);
|
|
35
|
+
it('should provide a cleanup function', () => (typeof cleanup).should.equal('function'));
|
|
36
|
+
|
|
37
|
+
describe('when the cleanup function is invoked', () => {
|
|
38
|
+
beforeEach(() => {
|
|
39
|
+
cleanup();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should disconnect the connection', () => disconnectStub.calledOnce.should.be.true);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { an_observable_query_for } from '../given/an_observable_query_for';
|
|
5
|
+
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
7
|
+
import { QueryTransportMethod } from '../../QueryTransportMethod';
|
|
8
|
+
import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
9
|
+
|
|
10
|
+
import * as sinon from 'sinon';
|
|
11
|
+
|
|
12
|
+
describe('when subscribing with direct mode and SSE transport', given(an_observable_query_for, context => {
|
|
13
|
+
let callback: sinon.SinonStub;
|
|
14
|
+
let subscription: ObservableQuerySubscription<string>;
|
|
15
|
+
let capturedUrl: string;
|
|
16
|
+
let originalQueryDirectMode: boolean;
|
|
17
|
+
let originalTransportMethod: QueryTransportMethod;
|
|
18
|
+
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
originalQueryDirectMode = Globals.queryDirectMode;
|
|
21
|
+
originalTransportMethod = Globals.queryTransportMethod;
|
|
22
|
+
|
|
23
|
+
Globals.queryDirectMode = true;
|
|
24
|
+
Globals.queryTransportMethod = QueryTransportMethod.ServerSentEvents;
|
|
25
|
+
|
|
26
|
+
context.query.setOrigin('https://example.com');
|
|
27
|
+
callback = sinon.stub();
|
|
28
|
+
|
|
29
|
+
const FakeEventSourceConstructor = function (this: EventSource, url: string) {
|
|
30
|
+
capturedUrl = url;
|
|
31
|
+
Object.assign(this, {
|
|
32
|
+
onopen: null,
|
|
33
|
+
onerror: null,
|
|
34
|
+
onmessage: null,
|
|
35
|
+
close: sinon.stub(),
|
|
36
|
+
addEventListener: sinon.stub(),
|
|
37
|
+
removeEventListener: sinon.stub(),
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
(globalThis as Record<string, unknown>)['EventSource'] = FakeEventSourceConstructor;
|
|
41
|
+
|
|
42
|
+
subscription = context.query.subscribe(callback, { id: 'test-id' });
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
afterEach(() => {
|
|
46
|
+
Globals.queryDirectMode = originalQueryDirectMode;
|
|
47
|
+
Globals.queryTransportMethod = originalTransportMethod;
|
|
48
|
+
if (subscription) {
|
|
49
|
+
subscription.unsubscribe();
|
|
50
|
+
}
|
|
51
|
+
delete (globalThis as Record<string, unknown>)['EventSource'];
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('should connect to the per-query SSE URL', () => {
|
|
55
|
+
capturedUrl.should.include('/api/test/test-id');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('should not connect to the hub SSE endpoint', () => {
|
|
59
|
+
capturedUrl.should.not.include('/.cratis/queries/sse');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('should not include a query name parameter', () => {
|
|
63
|
+
capturedUrl.should.not.include('query=');
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it('should return a subscription', () => {
|
|
67
|
+
subscription.should.not.be.undefined;
|
|
68
|
+
});
|
|
69
|
+
}));
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { an_observable_query_for } from '../given/an_observable_query_for';
|
|
5
|
+
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
7
|
+
import { QueryTransportMethod } from '../../QueryTransportMethod';
|
|
8
|
+
import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
9
|
+
import { SSE_HUB_ROUTE } from '../../ServerSentEventQueryConnection';
|
|
10
|
+
import { resetSharedMultiplexer } from '../../ObservableQueryMultiplexer';
|
|
11
|
+
|
|
12
|
+
import * as sinon from 'sinon';
|
|
13
|
+
|
|
14
|
+
describe('when subscribing with direct mode disabled and SSE transport', given(an_observable_query_for, context => {
|
|
15
|
+
let callback: sinon.SinonStub;
|
|
16
|
+
let subscription: ObservableQuerySubscription<string>;
|
|
17
|
+
let capturedUrl: string;
|
|
18
|
+
let originalQueryDirectMode: boolean;
|
|
19
|
+
let originalTransportMethod: QueryTransportMethod;
|
|
20
|
+
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
originalQueryDirectMode = Globals.queryDirectMode;
|
|
23
|
+
originalTransportMethod = Globals.queryTransportMethod;
|
|
24
|
+
resetSharedMultiplexer();
|
|
25
|
+
|
|
26
|
+
Globals.queryDirectMode = false;
|
|
27
|
+
Globals.queryTransportMethod = QueryTransportMethod.ServerSentEvents;
|
|
28
|
+
|
|
29
|
+
context.query.setOrigin('https://example.com');
|
|
30
|
+
callback = sinon.stub();
|
|
31
|
+
|
|
32
|
+
// EventSource doesn't exist in Node.js — inject a fake via globalThis
|
|
33
|
+
const FakeEventSourceConstructor = function (this: EventSource, url: string) {
|
|
34
|
+
capturedUrl = url;
|
|
35
|
+
Object.assign(this, {
|
|
36
|
+
onopen: null,
|
|
37
|
+
onerror: null,
|
|
38
|
+
onmessage: null,
|
|
39
|
+
close: sinon.stub(),
|
|
40
|
+
addEventListener: sinon.stub(),
|
|
41
|
+
removeEventListener: sinon.stub(),
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
(globalThis as Record<string, unknown>)['EventSource'] = FakeEventSourceConstructor;
|
|
45
|
+
|
|
46
|
+
subscription = context.query.subscribe(callback, { id: 'test-id' });
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
afterEach(() => {
|
|
50
|
+
Globals.queryDirectMode = originalQueryDirectMode;
|
|
51
|
+
Globals.queryTransportMethod = originalTransportMethod;
|
|
52
|
+
if (subscription) {
|
|
53
|
+
subscription.unsubscribe();
|
|
54
|
+
}
|
|
55
|
+
delete (globalThis as Record<string, unknown>)['EventSource'];
|
|
56
|
+
resetSharedMultiplexer();
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it('should connect to the centralized SSE hub endpoint', () => {
|
|
60
|
+
capturedUrl.should.include(SSE_HUB_ROUTE);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('should not include query name in URL since subscriptions are done via POST', () => {
|
|
64
|
+
capturedUrl.should.not.include('query=');
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('should return a subscription', () => {
|
|
68
|
+
subscription.should.not.be.undefined;
|
|
69
|
+
});
|
|
70
|
+
}));
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { an_observable_query_for } from '../given/an_observable_query_for';
|
|
5
|
+
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
7
|
+
import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
8
|
+
|
|
9
|
+
import * as sinon from 'sinon';
|
|
10
|
+
|
|
11
|
+
describe('when subscribing with direct mode enabled', given(an_observable_query_for, context => {
|
|
12
|
+
let callback: sinon.SinonStub;
|
|
13
|
+
let subscription: ObservableQuerySubscription<string>;
|
|
14
|
+
let originalWebSocket: typeof WebSocket;
|
|
15
|
+
let capturedUrl: string;
|
|
16
|
+
let originalQueryDirectMode: boolean;
|
|
17
|
+
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
originalQueryDirectMode = Globals.queryDirectMode;
|
|
20
|
+
Globals.queryDirectMode = true;
|
|
21
|
+
|
|
22
|
+
context.query.setOrigin('https://example.com');
|
|
23
|
+
callback = sinon.stub();
|
|
24
|
+
|
|
25
|
+
originalWebSocket = global.WebSocket;
|
|
26
|
+
(global as Record<string, unknown>).WebSocket = function (url: string) {
|
|
27
|
+
capturedUrl = url;
|
|
28
|
+
return {
|
|
29
|
+
onopen: null,
|
|
30
|
+
onclose: null,
|
|
31
|
+
onerror: null,
|
|
32
|
+
onmessage: null,
|
|
33
|
+
close: sinon.stub(),
|
|
34
|
+
send: sinon.stub(),
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
subscription = context.query.subscribe(callback, { id: 'test-id' });
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
afterEach(() => {
|
|
42
|
+
Globals.queryDirectMode = originalQueryDirectMode;
|
|
43
|
+
if (subscription) {
|
|
44
|
+
subscription.unsubscribe();
|
|
45
|
+
}
|
|
46
|
+
global.WebSocket = originalWebSocket;
|
|
47
|
+
sinon.restore();
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should connect directly to the per-query WebSocket URL', () => {
|
|
51
|
+
capturedUrl.should.include('/api/test/test-id');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('should return a subscription', () => {
|
|
55
|
+
subscription.should.not.be.undefined;
|
|
56
|
+
});
|
|
57
|
+
}));
|
package/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.ts
CHANGED
|
@@ -10,19 +10,26 @@ import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
|
10
10
|
describe('when subscribing with partially missing required arguments', given(an_observable_query_for, context => {
|
|
11
11
|
let callback: sinon.SinonStub;
|
|
12
12
|
let subscription: ObservableQuerySubscription<string>;
|
|
13
|
-
let
|
|
13
|
+
let originalWebSocket: typeof WebSocket;
|
|
14
|
+
let webSocketCalled: boolean;
|
|
14
15
|
|
|
15
16
|
beforeEach(() => {
|
|
16
17
|
context.queryWithMultipleRequiredParameters.setOrigin('https://example.com');
|
|
17
18
|
callback = sinon.stub();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
webSocketCalled = false;
|
|
20
|
+
|
|
21
|
+
originalWebSocket = global.WebSocket;
|
|
22
|
+
(global as Record<string, unknown>).WebSocket = function () {
|
|
23
|
+
webSocketCalled = true;
|
|
24
|
+
return {
|
|
25
|
+
onopen: null,
|
|
26
|
+
onclose: null,
|
|
27
|
+
onerror: null,
|
|
28
|
+
onmessage: null,
|
|
29
|
+
close: sinon.stub(),
|
|
30
|
+
send: sinon.stub(),
|
|
31
|
+
};
|
|
32
|
+
};
|
|
26
33
|
|
|
27
34
|
subscription = context.queryWithMultipleRequiredParameters.subscribe(callback, {
|
|
28
35
|
userId: 'user-1',
|
|
@@ -34,7 +41,8 @@ describe('when subscribing with partially missing required arguments', given(an_
|
|
|
34
41
|
if (subscription) {
|
|
35
42
|
subscription.unsubscribe();
|
|
36
43
|
}
|
|
37
|
-
|
|
44
|
+
global.WebSocket = originalWebSocket;
|
|
45
|
+
sinon.restore();
|
|
38
46
|
});
|
|
39
47
|
|
|
40
48
|
it('should return a subscription', () => {
|
|
@@ -42,7 +50,7 @@ describe('when subscribing with partially missing required arguments', given(an_
|
|
|
42
50
|
});
|
|
43
51
|
|
|
44
52
|
it('should not create a web socket connection', () => {
|
|
45
|
-
|
|
53
|
+
webSocketCalled.should.be.false;
|
|
46
54
|
});
|
|
47
55
|
|
|
48
56
|
it('should call callback immediately with default value', () => {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { an_observable_query_for } from '../given/an_observable_query_for';
|
|
5
5
|
import { given } from '../../../given';
|
|
6
|
+
import { Globals } from '../../../Globals';
|
|
6
7
|
|
|
7
8
|
import * as sinon from 'sinon';
|
|
8
9
|
import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
@@ -10,15 +11,19 @@ import { ObservableQuerySubscription } from '../../ObservableQuerySubscription';
|
|
|
10
11
|
describe('when subscribing with route and query args', given(an_observable_query_for, context => {
|
|
11
12
|
let callback: sinon.SinonStub;
|
|
12
13
|
let subscription: ObservableQuerySubscription<string>;
|
|
13
|
-
let
|
|
14
|
+
let originalWebSocket: typeof WebSocket;
|
|
14
15
|
let capturedUrl: string;
|
|
16
|
+
let originalDirectMode: boolean;
|
|
15
17
|
|
|
16
18
|
beforeEach(() => {
|
|
19
|
+
originalDirectMode = Globals.queryDirectMode;
|
|
20
|
+
Globals.queryDirectMode = true;
|
|
17
21
|
context.queryWithRouteAndQueryArgs.setOrigin('https://example.com');
|
|
18
22
|
callback = sinon.stub();
|
|
19
23
|
|
|
20
|
-
//
|
|
21
|
-
|
|
24
|
+
// Replace WebSocket to capture the URL
|
|
25
|
+
originalWebSocket = global.WebSocket;
|
|
26
|
+
(global as Record<string, unknown>).WebSocket = function (url: string) {
|
|
22
27
|
capturedUrl = url;
|
|
23
28
|
return {
|
|
24
29
|
onopen: null,
|
|
@@ -26,9 +31,9 @@ describe('when subscribing with route and query args', given(an_observable_query
|
|
|
26
31
|
onerror: null,
|
|
27
32
|
onmessage: null,
|
|
28
33
|
close: sinon.stub(),
|
|
29
|
-
send: sinon.stub()
|
|
30
|
-
}
|
|
31
|
-
}
|
|
34
|
+
send: sinon.stub(),
|
|
35
|
+
};
|
|
36
|
+
};
|
|
32
37
|
|
|
33
38
|
// Subscribe with args that include both route parameter (id) and query parameters (filter, limit)
|
|
34
39
|
subscription = context.queryWithRouteAndQueryArgs.subscribe(callback, {
|
|
@@ -39,10 +44,12 @@ describe('when subscribing with route and query args', given(an_observable_query
|
|
|
39
44
|
});
|
|
40
45
|
|
|
41
46
|
afterEach(() => {
|
|
47
|
+
Globals.queryDirectMode = originalDirectMode;
|
|
42
48
|
if (subscription) {
|
|
43
49
|
subscription.unsubscribe();
|
|
44
50
|
}
|
|
45
|
-
|
|
51
|
+
global.WebSocket = originalWebSocket;
|
|
52
|
+
sinon.restore();
|
|
46
53
|
});
|
|
47
54
|
|
|
48
55
|
it('should include route parameter in the path', () => {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryInstanceCache } from '../../QueryInstanceCache';
|
|
5
|
+
|
|
6
|
+
describe('when building key for a query with arguments', () => {
|
|
7
|
+
let cache: QueryInstanceCache;
|
|
8
|
+
let result: string;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
cache = new QueryInstanceCache();
|
|
12
|
+
result = cache.buildKey('MyQuery', { id: '42', category: 'books' });
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should return key containing the query name', () => result.should.contain('MyQuery::'));
|
|
16
|
+
it('should serialize arguments as sorted JSON', () => result.should.equal('MyQuery::{"category":"books","id":"42"}'));
|
|
17
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryInstanceCache } from '../../QueryInstanceCache';
|
|
5
|
+
|
|
6
|
+
describe('when building key for a query with an empty arguments object', () => {
|
|
7
|
+
let cache: QueryInstanceCache;
|
|
8
|
+
let result: string;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
cache = new QueryInstanceCache();
|
|
12
|
+
result = cache.buildKey('MyQuery', {});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should produce the same key as no arguments', () => result.should.equal('MyQuery::'));
|
|
16
|
+
});
|
package/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryInstanceCache } from '../../QueryInstanceCache';
|
|
5
|
+
|
|
6
|
+
describe('when building key for a query with the same arguments in different order', () => {
|
|
7
|
+
let cache: QueryInstanceCache;
|
|
8
|
+
let keyA: string;
|
|
9
|
+
let keyB: string;
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
cache = new QueryInstanceCache();
|
|
13
|
+
keyA = cache.buildKey('MyQuery', { z: 1, a: 2 });
|
|
14
|
+
keyB = cache.buildKey('MyQuery', { a: 2, z: 1 });
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should produce identical keys regardless of property order', () => keyA.should.equal(keyB));
|
|
18
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryInstanceCache } from '../../QueryInstanceCache';
|
|
5
|
+
|
|
6
|
+
describe('when building key for a query without arguments', () => {
|
|
7
|
+
let cache: QueryInstanceCache;
|
|
8
|
+
let result: string;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
cache = new QueryInstanceCache();
|
|
12
|
+
result = cache.buildKey('MyQuery');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should return key with empty args suffix', () => result.should.equal('MyQuery::'));
|
|
16
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { QueryInstanceCache } from '../../QueryInstanceCache';
|
|
5
|
+
|
|
6
|
+
describe('when getting the last result for a key that has no result yet', () => {
|
|
7
|
+
let cache: QueryInstanceCache;
|
|
8
|
+
let result: unknown;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
cache = new QueryInstanceCache();
|
|
12
|
+
cache.getOrCreate('MyQuery::', () => ({}));
|
|
13
|
+
result = cache.getLastResult('MyQuery::');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('should return undefined', () => (result === undefined).should.be.true);
|
|
17
|
+
});
|