@cratis/arc 20.54.5 → 20.54.7
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/dist/cjs/Globals.js +21 -8
- package/dist/cjs/Globals.js.map +1 -1
- package/dist/cjs/UrlHelpers.js +46 -13
- package/dist/cjs/UrlHelpers.js.map +1 -1
- package/dist/cjs/commands/Command.js +50 -38
- package/dist/cjs/commands/Command.js.map +1 -1
- package/dist/cjs/commands/CommandResult.js +58 -36
- package/dist/cjs/commands/CommandResult.js.map +1 -1
- package/dist/cjs/commands/CommandResults.js +24 -22
- package/dist/cjs/commands/CommandResults.js.map +1 -1
- package/dist/cjs/commands/CommandValidator.js +10 -2
- package/dist/cjs/commands/CommandValidator.js.map +1 -1
- package/dist/cjs/commands/index.js +2 -2
- package/dist/cjs/commands/index.js.map +1 -1
- package/dist/cjs/deepEqual.js +9 -9
- package/dist/cjs/deepEqual.js.map +1 -1
- package/dist/cjs/identity/IIdentityProvider.js +5 -1
- package/dist/cjs/identity/IIdentityProvider.js.map +1 -1
- package/dist/cjs/identity/IdentityProvider.js +44 -22
- package/dist/cjs/identity/IdentityProvider.js.map +1 -1
- package/dist/cjs/identity/index.js +2 -1
- package/dist/cjs/identity/index.js.map +1 -1
- package/dist/cjs/index.js +1 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/joinPaths.js +2 -0
- package/dist/cjs/joinPaths.js.map +1 -1
- package/dist/cjs/messaging/IMessenger.js +5 -1
- package/dist/cjs/messaging/IMessenger.js.map +1 -1
- package/dist/cjs/messaging/Message.js +10 -2
- package/dist/cjs/messaging/Message.js.map +1 -1
- package/dist/cjs/messaging/Messenger.js +15 -10
- package/dist/cjs/messaging/Messenger.js.map +1 -1
- package/dist/cjs/messaging/index.js +2 -1
- package/dist/cjs/messaging/index.js.map +1 -1
- package/dist/cjs/queries/HubConnectionKeepAlive.js +41 -6
- package/dist/cjs/queries/HubConnectionKeepAlive.js.map +1 -1
- package/dist/cjs/queries/IQueryProvider.js +5 -1
- package/dist/cjs/queries/IQueryProvider.js.map +1 -1
- package/dist/cjs/queries/NullObservableQueryConnection.js +13 -7
- package/dist/cjs/queries/NullObservableQueryConnection.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryConnection.js +43 -31
- package/dist/cjs/queries/ObservableQueryConnection.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryConnectionFactory.js +36 -14
- package/dist/cjs/queries/ObservableQueryConnectionFactory.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryConnectionPool.js +37 -6
- package/dist/cjs/queries/ObservableQueryConnectionPool.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryDiagnostics.js +29 -14
- package/dist/cjs/queries/ObservableQueryDiagnostics.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryFor.js +57 -31
- package/dist/cjs/queries/ObservableQueryFor.js.map +1 -1
- package/dist/cjs/queries/ObservableQueryMultiplexer.js +109 -51
- package/dist/cjs/queries/ObservableQueryMultiplexer.js.map +1 -1
- package/dist/cjs/queries/ObservableQuerySubscription.js +12 -3
- package/dist/cjs/queries/ObservableQuerySubscription.js.map +1 -1
- package/dist/cjs/queries/Paging.js +20 -6
- package/dist/cjs/queries/Paging.js.map +1 -1
- package/dist/cjs/queries/PagingInfo.js +23 -7
- package/dist/cjs/queries/PagingInfo.js.map +1 -1
- package/dist/cjs/queries/QueryFor.js +42 -24
- package/dist/cjs/queries/QueryFor.js.map +1 -1
- package/dist/cjs/queries/QueryInstanceCache.js +149 -37
- package/dist/cjs/queries/QueryInstanceCache.js.map +1 -1
- package/dist/cjs/queries/QueryProvider.js +13 -3
- package/dist/cjs/queries/QueryProvider.js.map +1 -1
- package/dist/cjs/queries/QueryResult.js +39 -33
- package/dist/cjs/queries/QueryResult.js.map +1 -1
- package/dist/cjs/queries/QueryResultWithState.js +26 -4
- package/dist/cjs/queries/QueryResultWithState.js.map +1 -1
- package/dist/cjs/queries/QueryTransportMethod.js +15 -5
- package/dist/cjs/queries/QueryTransportMethod.js.map +1 -1
- package/dist/cjs/queries/QueryValidator.js +10 -2
- package/dist/cjs/queries/QueryValidator.js.map +1 -1
- package/dist/cjs/queries/ReconnectPolicy.js +27 -6
- package/dist/cjs/queries/ReconnectPolicy.js.map +1 -1
- package/dist/cjs/queries/ServerSentEventHubConnection.js +107 -61
- package/dist/cjs/queries/ServerSentEventHubConnection.js.map +1 -1
- package/dist/cjs/queries/ServerSentEventQueryConnection.js +31 -23
- package/dist/cjs/queries/ServerSentEventQueryConnection.js.map +1 -1
- package/dist/cjs/queries/SortDirection.js +18 -6
- package/dist/cjs/queries/SortDirection.js.map +1 -1
- package/dist/cjs/queries/Sorting.js +16 -4
- package/dist/cjs/queries/Sorting.js.map +1 -1
- package/dist/cjs/queries/SortingActions.js +15 -4
- package/dist/cjs/queries/SortingActions.js.map +1 -1
- package/dist/cjs/queries/SortingActionsForObservableQuery.js +16 -4
- package/dist/cjs/queries/SortingActionsForObservableQuery.js.map +1 -1
- package/dist/cjs/queries/SortingActionsForQuery.js +16 -4
- package/dist/cjs/queries/SortingActionsForQuery.js.map +1 -1
- package/dist/cjs/queries/ValidateRequestArguments.js +13 -9
- package/dist/cjs/queries/ValidateRequestArguments.js.map +1 -1
- package/dist/cjs/queries/WebSocketHubConnection.js +98 -52
- package/dist/cjs/queries/WebSocketHubConnection.js.map +1 -1
- package/dist/cjs/queries/WebSocketMessage.js +18 -6
- package/dist/cjs/queries/WebSocketMessage.js.map +1 -1
- package/dist/cjs/queries/index.js +6 -18
- package/dist/cjs/queries/index.js.map +1 -1
- package/dist/cjs/reflection/ParameterDescriptor.js +11 -2
- package/dist/cjs/reflection/ParameterDescriptor.js.map +1 -1
- package/dist/cjs/reflection/ParametersHelper.js +11 -3
- package/dist/cjs/reflection/ParametersHelper.js.map +1 -1
- package/dist/cjs/reflection/PropertyDescriptor.js +11 -2
- package/dist/cjs/reflection/PropertyDescriptor.js.map +1 -1
- package/dist/cjs/reflection/index.js +2 -1
- package/dist/cjs/reflection/index.js.map +1 -1
- package/dist/cjs/validation/PropertyRule.js +23 -5
- package/dist/cjs/validation/PropertyRule.js.map +1 -1
- package/dist/cjs/validation/PropertyValidator.js +25 -6
- package/dist/cjs/validation/PropertyValidator.js.map +1 -1
- package/dist/cjs/validation/RuleBuilder.js +22 -4
- package/dist/cjs/validation/RuleBuilder.js.map +1 -1
- package/dist/cjs/validation/RuleBuilderExtensions.js +95 -13
- package/dist/cjs/validation/RuleBuilderExtensions.js.map +1 -1
- package/dist/cjs/validation/ValidationResult.js +6 -2
- package/dist/cjs/validation/ValidationResult.js.map +1 -1
- package/dist/cjs/validation/ValidationResultSeverity.js +21 -7
- package/dist/cjs/validation/ValidationResultSeverity.js.map +1 -1
- package/dist/cjs/validation/Validator.js +32 -9
- package/dist/cjs/validation/Validator.js.map +1 -1
- package/dist/cjs/validation/index.js +3 -5
- package/dist/cjs/validation/index.js.map +1 -1
- package/dist/cjs/validation/rules/ComparisonRules.js +46 -20
- package/dist/cjs/validation/rules/ComparisonRules.js.map +1 -1
- package/dist/cjs/validation/rules/EmailRule.js +12 -4
- package/dist/cjs/validation/rules/EmailRule.js.map +1 -1
- package/dist/cjs/validation/rules/LengthRules.js +39 -19
- package/dist/cjs/validation/rules/LengthRules.js.map +1 -1
- package/dist/cjs/validation/rules/NotEmptyRule.js +20 -6
- package/dist/cjs/validation/rules/NotEmptyRule.js.map +1 -1
- package/dist/cjs/validation/rules/PhoneRule.js +12 -4
- package/dist/cjs/validation/rules/PhoneRule.js.map +1 -1
- package/dist/cjs/validation/rules/RegexRule.js +15 -6
- package/dist/cjs/validation/rules/RegexRule.js.map +1 -1
- package/dist/cjs/validation/rules/UrlRule.js +12 -4
- package/dist/cjs/validation/rules/UrlRule.js.map +1 -1
- package/dist/esm/Globals.js +20 -8
- package/dist/esm/Globals.js.map +1 -1
- package/dist/esm/UrlHelpers.d.ts.map +1 -1
- package/dist/esm/UrlHelpers.js +46 -13
- package/dist/esm/UrlHelpers.js.map +1 -1
- package/dist/esm/commands/Command.d.ts.map +1 -1
- package/dist/esm/commands/Command.js +50 -38
- package/dist/esm/commands/Command.js.map +1 -1
- package/dist/esm/commands/CommandResult.d.ts.map +1 -1
- package/dist/esm/commands/CommandResult.js +58 -36
- package/dist/esm/commands/CommandResult.js.map +1 -1
- package/dist/esm/commands/CommandResults.d.ts.map +1 -1
- package/dist/esm/commands/CommandResults.js +24 -22
- package/dist/esm/commands/CommandResults.js.map +1 -1
- package/dist/esm/commands/CommandValidator.d.ts.map +1 -1
- package/dist/esm/commands/CommandValidator.js +10 -2
- package/dist/esm/commands/CommandValidator.js.map +1 -1
- package/dist/esm/commands/for_Command/CommandWithRouteParams.d.ts.map +1 -1
- package/dist/esm/commands/for_Command/SomeCommand.d.ts.map +1 -1
- package/dist/esm/commands/for_Command/given/a_command.d.ts.map +1 -1
- package/dist/esm/commands/for_Command/given/a_command_with_validator.d.ts.map +1 -1
- package/dist/esm/commands/index.js +3 -1
- package/dist/esm/commands/index.js.map +1 -1
- package/dist/esm/deepEqual.d.ts.map +1 -1
- package/dist/esm/deepEqual.js +9 -9
- package/dist/esm/deepEqual.js.map +1 -1
- package/dist/esm/given.d.ts.map +1 -1
- package/dist/esm/helpers/fetchHelper.d.ts.map +1 -1
- package/dist/esm/identity/IIdentityProvider.d.ts.map +1 -1
- package/dist/esm/identity/IIdentityProvider.js +5 -1
- package/dist/esm/identity/IIdentityProvider.js.map +1 -1
- package/dist/esm/identity/IdentityProvider.d.ts.map +1 -1
- package/dist/esm/identity/IdentityProvider.js +44 -22
- package/dist/esm/identity/IdentityProvider.js.map +1 -1
- package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +1 -1
- package/dist/esm/identity/index.js +3 -0
- package/dist/esm/identity/index.js.map +1 -1
- package/dist/esm/joinPaths.js +2 -0
- package/dist/esm/joinPaths.js.map +1 -1
- package/dist/esm/messaging/IMessenger.d.ts.map +1 -1
- package/dist/esm/messaging/IMessenger.js +5 -1
- package/dist/esm/messaging/IMessenger.js.map +1 -1
- package/dist/esm/messaging/Message.d.ts.map +1 -1
- package/dist/esm/messaging/Message.js +10 -2
- package/dist/esm/messaging/Message.js.map +1 -1
- package/dist/esm/messaging/Messenger.d.ts.map +1 -1
- package/dist/esm/messaging/Messenger.js +15 -10
- package/dist/esm/messaging/Messenger.js.map +1 -1
- package/dist/esm/messaging/for_Messenger/when_scoping_messages.js.map +1 -1
- package/dist/esm/messaging/index.js +3 -0
- package/dist/esm/messaging/index.js.map +1 -1
- package/dist/esm/queries/HubConnectionKeepAlive.d.ts.map +1 -1
- package/dist/esm/queries/HubConnectionKeepAlive.js +41 -6
- package/dist/esm/queries/HubConnectionKeepAlive.js.map +1 -1
- package/dist/esm/queries/IQueryProvider.d.ts.map +1 -1
- package/dist/esm/queries/IQueryProvider.js +5 -1
- package/dist/esm/queries/IQueryProvider.js.map +1 -1
- package/dist/esm/queries/NullObservableQueryConnection.d.ts.map +1 -1
- package/dist/esm/queries/NullObservableQueryConnection.js +13 -7
- package/dist/esm/queries/NullObservableQueryConnection.js.map +1 -1
- package/dist/esm/queries/ObservableQueryConnection.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryConnection.js +43 -31
- package/dist/esm/queries/ObservableQueryConnection.js.map +1 -1
- package/dist/esm/queries/ObservableQueryConnectionFactory.js +36 -14
- package/dist/esm/queries/ObservableQueryConnectionFactory.js.map +1 -1
- package/dist/esm/queries/ObservableQueryConnectionPool.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryConnectionPool.js +37 -6
- package/dist/esm/queries/ObservableQueryConnectionPool.js.map +1 -1
- package/dist/esm/queries/ObservableQueryDiagnostics.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryDiagnostics.js +29 -14
- package/dist/esm/queries/ObservableQueryDiagnostics.js.map +1 -1
- package/dist/esm/queries/ObservableQueryFor.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryFor.js +57 -31
- package/dist/esm/queries/ObservableQueryFor.js.map +1 -1
- package/dist/esm/queries/ObservableQueryMultiplexer.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQueryMultiplexer.js +109 -51
- package/dist/esm/queries/ObservableQueryMultiplexer.js.map +1 -1
- package/dist/esm/queries/ObservableQuerySubscription.d.ts.map +1 -1
- package/dist/esm/queries/ObservableQuerySubscription.js +12 -3
- package/dist/esm/queries/ObservableQuerySubscription.js.map +1 -1
- package/dist/esm/queries/Paging.d.ts.map +1 -1
- package/dist/esm/queries/Paging.js +20 -6
- package/dist/esm/queries/Paging.js.map +1 -1
- package/dist/esm/queries/PagingInfo.d.ts.map +1 -1
- package/dist/esm/queries/PagingInfo.js +23 -7
- package/dist/esm/queries/PagingInfo.js.map +1 -1
- package/dist/esm/queries/QueryFor.d.ts.map +1 -1
- package/dist/esm/queries/QueryFor.js +42 -24
- package/dist/esm/queries/QueryFor.js.map +1 -1
- package/dist/esm/queries/QueryInstanceCache.d.ts.map +1 -1
- package/dist/esm/queries/QueryInstanceCache.js +149 -37
- package/dist/esm/queries/QueryInstanceCache.js.map +1 -1
- package/dist/esm/queries/QueryProvider.d.ts.map +1 -1
- package/dist/esm/queries/QueryProvider.js +13 -3
- package/dist/esm/queries/QueryProvider.js.map +1 -1
- package/dist/esm/queries/QueryResult.d.ts.map +1 -1
- package/dist/esm/queries/QueryResult.js +39 -33
- package/dist/esm/queries/QueryResult.js.map +1 -1
- package/dist/esm/queries/QueryResultWithState.d.ts.map +1 -1
- package/dist/esm/queries/QueryResultWithState.js +26 -4
- package/dist/esm/queries/QueryResultWithState.js.map +1 -1
- package/dist/esm/queries/QueryTransportMethod.js +13 -5
- package/dist/esm/queries/QueryTransportMethod.js.map +1 -1
- package/dist/esm/queries/QueryValidator.d.ts.map +1 -1
- package/dist/esm/queries/QueryValidator.js +10 -2
- package/dist/esm/queries/QueryValidator.js.map +1 -1
- package/dist/esm/queries/ReconnectPolicy.d.ts.map +1 -1
- package/dist/esm/queries/ReconnectPolicy.js +27 -6
- package/dist/esm/queries/ReconnectPolicy.js.map +1 -1
- package/dist/esm/queries/ServerSentEventHubConnection.d.ts.map +1 -1
- package/dist/esm/queries/ServerSentEventHubConnection.js +107 -61
- package/dist/esm/queries/ServerSentEventHubConnection.js.map +1 -1
- package/dist/esm/queries/ServerSentEventQueryConnection.d.ts.map +1 -1
- package/dist/esm/queries/ServerSentEventQueryConnection.js +31 -23
- package/dist/esm/queries/ServerSentEventQueryConnection.js.map +1 -1
- package/dist/esm/queries/SortDirection.js +16 -6
- package/dist/esm/queries/SortDirection.js.map +1 -1
- package/dist/esm/queries/Sorting.d.ts.map +1 -1
- package/dist/esm/queries/Sorting.js +16 -4
- package/dist/esm/queries/Sorting.js.map +1 -1
- package/dist/esm/queries/SortingActions.d.ts.map +1 -1
- package/dist/esm/queries/SortingActions.js +15 -4
- package/dist/esm/queries/SortingActions.js.map +1 -1
- package/dist/esm/queries/SortingActionsForObservableQuery.d.ts.map +1 -1
- package/dist/esm/queries/SortingActionsForObservableQuery.js +16 -4
- package/dist/esm/queries/SortingActionsForObservableQuery.js.map +1 -1
- package/dist/esm/queries/SortingActionsForQuery.d.ts.map +1 -1
- package/dist/esm/queries/SortingActionsForQuery.js +16 -4
- package/dist/esm/queries/SortingActionsForQuery.js.map +1 -1
- package/dist/esm/queries/ValidateRequestArguments.js +13 -9
- package/dist/esm/queries/ValidateRequestArguments.js.map +1 -1
- package/dist/esm/queries/WebSocketHubConnection.d.ts.map +1 -1
- package/dist/esm/queries/WebSocketHubConnection.js +97 -52
- package/dist/esm/queries/WebSocketHubConnection.js.map +1 -1
- package/dist/esm/queries/WebSocketMessage.js +16 -6
- package/dist/esm/queries/WebSocketMessage.js.map +1 -1
- 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_with_websocket.d.ts.map +1 -1
- package/dist/esm/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts.map +1 -1
- package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.d.ts.map +1 -1
- package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts.map +1 -1
- package/dist/esm/queries/for_QueryFor/given/TestQueries.d.ts.map +1 -1
- package/dist/esm/queries/for_QueryFor/given/a_query_for.d.ts.map +1 -1
- package/dist/esm/queries/for_QueryFor/given/a_query_with_validator.d.ts.map +1 -1
- package/dist/esm/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts.map +1 -1
- package/dist/esm/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts.map +1 -1
- package/dist/esm/queries/index.js +3 -1
- package/dist/esm/queries/index.js.map +1 -1
- package/dist/esm/reflection/ParameterDescriptor.d.ts.map +1 -1
- package/dist/esm/reflection/ParameterDescriptor.js +11 -2
- package/dist/esm/reflection/ParameterDescriptor.js.map +1 -1
- package/dist/esm/reflection/ParametersHelper.d.ts.map +1 -1
- package/dist/esm/reflection/ParametersHelper.js +11 -3
- package/dist/esm/reflection/ParametersHelper.js.map +1 -1
- package/dist/esm/reflection/PropertyDescriptor.d.ts.map +1 -1
- package/dist/esm/reflection/PropertyDescriptor.js +11 -2
- package/dist/esm/reflection/PropertyDescriptor.js.map +1 -1
- package/dist/esm/reflection/index.js +3 -0
- package/dist/esm/reflection/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/validation/PropertyRule.d.ts.map +1 -1
- package/dist/esm/validation/PropertyRule.js +23 -5
- package/dist/esm/validation/PropertyRule.js.map +1 -1
- package/dist/esm/validation/PropertyValidator.d.ts.map +1 -1
- package/dist/esm/validation/PropertyValidator.js +25 -6
- package/dist/esm/validation/PropertyValidator.js.map +1 -1
- package/dist/esm/validation/RuleBuilder.d.ts.map +1 -1
- package/dist/esm/validation/RuleBuilder.js +22 -4
- package/dist/esm/validation/RuleBuilder.js.map +1 -1
- package/dist/esm/validation/RuleBuilderExtensions.js +95 -13
- package/dist/esm/validation/RuleBuilderExtensions.js.map +1 -1
- package/dist/esm/validation/ValidationResult.d.ts.map +1 -1
- package/dist/esm/validation/ValidationResult.js +6 -2
- package/dist/esm/validation/ValidationResult.js.map +1 -1
- package/dist/esm/validation/ValidationResultSeverity.js +19 -7
- package/dist/esm/validation/ValidationResultSeverity.js.map +1 -1
- package/dist/esm/validation/Validator.d.ts.map +1 -1
- package/dist/esm/validation/Validator.js +32 -9
- package/dist/esm/validation/Validator.js.map +1 -1
- package/dist/esm/validation/index.js +3 -0
- package/dist/esm/validation/index.js.map +1 -1
- package/dist/esm/validation/rules/ComparisonRules.d.ts.map +1 -1
- package/dist/esm/validation/rules/ComparisonRules.js +46 -20
- package/dist/esm/validation/rules/ComparisonRules.js.map +1 -1
- package/dist/esm/validation/rules/EmailRule.d.ts.map +1 -1
- package/dist/esm/validation/rules/EmailRule.js +12 -4
- package/dist/esm/validation/rules/EmailRule.js.map +1 -1
- package/dist/esm/validation/rules/LengthRules.d.ts.map +1 -1
- package/dist/esm/validation/rules/LengthRules.js +39 -19
- package/dist/esm/validation/rules/LengthRules.js.map +1 -1
- package/dist/esm/validation/rules/NotEmptyRule.d.ts.map +1 -1
- package/dist/esm/validation/rules/NotEmptyRule.js +20 -6
- package/dist/esm/validation/rules/NotEmptyRule.js.map +1 -1
- package/dist/esm/validation/rules/PhoneRule.d.ts.map +1 -1
- package/dist/esm/validation/rules/PhoneRule.js +12 -4
- package/dist/esm/validation/rules/PhoneRule.js.map +1 -1
- package/dist/esm/validation/rules/RegexRule.d.ts.map +1 -1
- package/dist/esm/validation/rules/RegexRule.js +15 -6
- package/dist/esm/validation/rules/RegexRule.js.map +1 -1
- package/dist/esm/validation/rules/UrlRule.d.ts.map +1 -1
- package/dist/esm/validation/rules/UrlRule.js +12 -4
- package/dist/esm/validation/rules/UrlRule.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/GetHttpHeaders.d.ts +0 -2
- package/dist/cjs/GetHttpHeaders.d.ts.map +0 -1
- package/dist/cjs/Globals.d.ts +0 -21
- package/dist/cjs/Globals.d.ts.map +0 -1
- package/dist/cjs/ICanBeConfigured.d.ts +0 -8
- package/dist/cjs/ICanBeConfigured.d.ts.map +0 -1
- package/dist/cjs/UrlHelpers.d.ts +0 -9
- package/dist/cjs/UrlHelpers.d.ts.map +0 -1
- package/dist/cjs/commands/Command.d.ts +0 -45
- package/dist/cjs/commands/Command.d.ts.map +0 -1
- package/dist/cjs/commands/CommandResult.d.ts +0 -49
- package/dist/cjs/commands/CommandResult.d.ts.map +0 -1
- package/dist/cjs/commands/CommandResults.d.ts +0 -23
- package/dist/cjs/commands/CommandResults.d.ts.map +0 -1
- package/dist/cjs/commands/CommandValidator.d.ts +0 -6
- package/dist/cjs/commands/CommandValidator.d.ts.map +0 -1
- package/dist/cjs/commands/ICommand.d.ts +0 -21
- package/dist/cjs/commands/ICommand.d.ts.map +0 -1
- package/dist/cjs/commands/ICommandResult.d.ts +0 -15
- package/dist/cjs/commands/ICommandResult.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/CommandWithRouteParams.d.ts +0 -16
- package/dist/cjs/commands/for_Command/CommandWithRouteParams.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/SomeCommand.d.ts +0 -14
- package/dist/cjs/commands/for_Command/SomeCommand.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/given/a_command.d.ts +0 -12
- package/dist/cjs/commands/for_Command/given/a_command.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/given/a_command_with_validator.d.ts +0 -33
- package/dist/cjs/commands/for_Command/given/a_command_with_validator.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_clearing_the_command.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_clearing_the_command.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_constructing_command.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_constructing_command.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_origin.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_origin.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/and_command_route_not_found.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/and_command_route_not_found.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_allowed_severity_warning.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_allowed_severity_warning.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failing.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_passing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_client_validation_passing.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_command_properties.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_command_properties.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_custom_http_headers.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_custom_http_headers.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_empty_required_string_property.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_empty_required_string_property.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_microservice_header.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_microservice_header.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_missing_required_property.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_missing_required_property.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_null_required_property.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_null_required_property.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_route_parameters.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_route_parameters.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_executing/with_successful_response.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_executing/with_successful_response.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_property_has_changed_and_we_revert.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_property_has_changed_and_we_revert.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/does_not_update_initial_values.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/does_not_update_initial_values.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_client_validation_failure.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_client_validation_failure.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_client_validation_passing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_client_validation_passing.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_empty_required_string_property.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_empty_required_string_property.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_null_required_property.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_null_required_property.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_required_property_missing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_required_property_missing.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_route_parameters.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_route_parameters.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_successful_response.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_successful_response.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating/with_validation_errors.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating/with_validation_errors.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_client_validation_failure.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_client_validation_failure.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_client_validation_passing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_client_validation_passing.d.ts.map +0 -1
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_required_property_missing.d.ts +0 -2
- package/dist/cjs/commands/for_Command/when_validating_client_side/with_required_property_missing.d.ts.map +0 -1
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts +0 -2
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts.map +0 -1
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts +0 -2
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts.map +0 -1
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts +0 -2
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts.map +0 -1
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts +0 -2
- package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts.map +0 -1
- package/dist/cjs/commands/for_CommandResult/when_constructing_with_primitive_response.d.ts +0 -2
- package/dist/cjs/commands/for_CommandResult/when_constructing_with_primitive_response.d.ts.map +0 -1
- package/dist/cjs/commands/index.d.ts +0 -8
- package/dist/cjs/commands/index.d.ts.map +0 -1
- package/dist/cjs/deepEqual.d.ts +0 -2
- package/dist/cjs/deepEqual.d.ts.map +0 -1
- package/dist/cjs/given.d.ts +0 -5
- package/dist/cjs/given.d.ts.map +0 -1
- package/dist/cjs/helpers/fetchHelper.d.ts +0 -7
- package/dist/cjs/helpers/fetchHelper.d.ts.map +0 -1
- package/dist/cjs/identity/IIdentity.d.ts +0 -10
- package/dist/cjs/identity/IIdentity.d.ts.map +0 -1
- package/dist/cjs/identity/IIdentityProvider.d.ts +0 -6
- package/dist/cjs/identity/IIdentityProvider.d.ts.map +0 -1
- package/dist/cjs/identity/IdentityProvider.d.ts +0 -20
- package/dist/cjs/identity/IdentityProvider.d.ts.map +0 -1
- package/dist/cjs/identity/IdentityProviderResult.d.ts +0 -7
- package/dist/cjs/identity/IdentityProviderResult.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts +0 -12
- package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_roles.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_roles.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/without_roles.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_getting_current/without_roles.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_origin_set.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_origin_set.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_unauthorized_response.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_unauthorized_response.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_setting_api_base_path.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_setting_api_base_path.d.ts.map +0 -1
- package/dist/cjs/identity/for_IdentityProvider/when_setting_origin.d.ts +0 -2
- package/dist/cjs/identity/for_IdentityProvider/when_setting_origin.d.ts.map +0 -1
- package/dist/cjs/identity/index.d.ts +0 -5
- package/dist/cjs/identity/index.d.ts.map +0 -1
- package/dist/cjs/index.d.ts +0 -14
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/joinPaths.d.ts +0 -2
- package/dist/cjs/joinPaths.d.ts.map +0 -1
- package/dist/cjs/messaging/IMessenger.d.ts +0 -10
- package/dist/cjs/messaging/IMessenger.d.ts.map +0 -1
- package/dist/cjs/messaging/Message.d.ts +0 -7
- package/dist/cjs/messaging/Message.d.ts.map +0 -1
- package/dist/cjs/messaging/Messenger.d.ts +0 -20
- package/dist/cjs/messaging/Messenger.d.ts.map +0 -1
- package/dist/cjs/messaging/for_Messenger/when_scoping_messages.d.ts +0 -2
- package/dist/cjs/messaging/for_Messenger/when_scoping_messages.d.ts.map +0 -1
- package/dist/cjs/messaging/index.d.ts +0 -4
- package/dist/cjs/messaging/index.d.ts.map +0 -1
- package/dist/cjs/queries/ChangeSet.d.ts +0 -6
- package/dist/cjs/queries/ChangeSet.d.ts.map +0 -1
- package/dist/cjs/queries/HubConnectionKeepAlive.d.ts +0 -12
- package/dist/cjs/queries/HubConnectionKeepAlive.d.ts.map +0 -1
- package/dist/cjs/queries/IChangeStreamFor.d.ts +0 -4
- package/dist/cjs/queries/IChangeStreamFor.d.ts.map +0 -1
- package/dist/cjs/queries/IObservableQueryConnection.d.ts +0 -8
- package/dist/cjs/queries/IObservableQueryConnection.d.ts.map +0 -1
- package/dist/cjs/queries/IObservableQueryDiagnostics.d.ts +0 -9
- package/dist/cjs/queries/IObservableQueryDiagnostics.d.ts.map +0 -1
- package/dist/cjs/queries/IObservableQueryFor.d.ts +0 -14
- package/dist/cjs/queries/IObservableQueryFor.d.ts.map +0 -1
- package/dist/cjs/queries/IObservableQueryHubConnection.d.ts +0 -12
- package/dist/cjs/queries/IObservableQueryHubConnection.d.ts.map +0 -1
- package/dist/cjs/queries/IQuery.d.ts +0 -10
- package/dist/cjs/queries/IQuery.d.ts.map +0 -1
- package/dist/cjs/queries/IQueryFor.d.ts +0 -13
- package/dist/cjs/queries/IQueryFor.d.ts.map +0 -1
- package/dist/cjs/queries/IQueryProvider.d.ts +0 -6
- package/dist/cjs/queries/IQueryProvider.d.ts.map +0 -1
- package/dist/cjs/queries/IQueryResult.d.ts +0 -17
- package/dist/cjs/queries/IQueryResult.d.ts.map +0 -1
- package/dist/cjs/queries/IReconnectPolicy.d.ts +0 -8
- package/dist/cjs/queries/IReconnectPolicy.d.ts.map +0 -1
- package/dist/cjs/queries/NullObservableQueryConnection.d.ts +0 -11
- package/dist/cjs/queries/NullObservableQueryConnection.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryConnection.d.ts +0 -29
- package/dist/cjs/queries/ObservableQueryConnection.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryConnectionFactory.d.ts +0 -13
- package/dist/cjs/queries/ObservableQueryConnectionFactory.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryConnectionPool.d.ts +0 -9
- package/dist/cjs/queries/ObservableQueryConnectionPool.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryDiagnostics.d.ts +0 -21
- package/dist/cjs/queries/ObservableQueryDiagnostics.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryDiagnosticsSnapshot.d.ts +0 -48
- package/dist/cjs/queries/ObservableQueryDiagnosticsSnapshot.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryFor.d.ts +0 -37
- package/dist/cjs/queries/ObservableQueryFor.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQueryMultiplexer.d.ts +0 -33
- package/dist/cjs/queries/ObservableQueryMultiplexer.d.ts.map +0 -1
- package/dist/cjs/queries/ObservableQuerySubscription.d.ts +0 -7
- package/dist/cjs/queries/ObservableQuerySubscription.d.ts.map +0 -1
- package/dist/cjs/queries/Paging.d.ts +0 -8
- package/dist/cjs/queries/Paging.d.ts.map +0 -1
- package/dist/cjs/queries/PagingInfo.d.ts +0 -9
- package/dist/cjs/queries/PagingInfo.d.ts.map +0 -1
- package/dist/cjs/queries/QueryFor.d.ts +0 -34
- package/dist/cjs/queries/QueryFor.d.ts.map +0 -1
- package/dist/cjs/queries/QueryInstanceCache.d.ts +0 -39
- package/dist/cjs/queries/QueryInstanceCache.d.ts.map +0 -1
- package/dist/cjs/queries/QueryProvider.d.ts +0 -13
- package/dist/cjs/queries/QueryProvider.d.ts.map +0 -1
- package/dist/cjs/queries/QueryResult.d.ts +0 -53
- package/dist/cjs/queries/QueryResult.d.ts.map +0 -1
- package/dist/cjs/queries/QueryResultWithState.d.ts +0 -24
- package/dist/cjs/queries/QueryResultWithState.d.ts.map +0 -1
- package/dist/cjs/queries/QueryTransportMethod.d.ts +0 -5
- package/dist/cjs/queries/QueryTransportMethod.d.ts.map +0 -1
- package/dist/cjs/queries/QueryValidator.d.ts +0 -6
- package/dist/cjs/queries/QueryValidator.d.ts.map +0 -1
- package/dist/cjs/queries/ReconnectPolicy.d.ts +0 -15
- package/dist/cjs/queries/ReconnectPolicy.d.ts.map +0 -1
- package/dist/cjs/queries/ServerSentEventHubConnection.d.ts +0 -41
- package/dist/cjs/queries/ServerSentEventHubConnection.d.ts.map +0 -1
- package/dist/cjs/queries/ServerSentEventQueryConnection.d.ts +0 -14
- package/dist/cjs/queries/ServerSentEventQueryConnection.d.ts.map +0 -1
- package/dist/cjs/queries/SortDirection.d.ts +0 -6
- package/dist/cjs/queries/SortDirection.d.ts.map +0 -1
- package/dist/cjs/queries/Sorting.d.ts +0 -9
- package/dist/cjs/queries/Sorting.d.ts.map +0 -1
- package/dist/cjs/queries/SortingActions.d.ts +0 -10
- package/dist/cjs/queries/SortingActions.d.ts.map +0 -1
- package/dist/cjs/queries/SortingActionsForObservableQuery.d.ts +0 -10
- package/dist/cjs/queries/SortingActionsForObservableQuery.d.ts.map +0 -1
- package/dist/cjs/queries/SortingActionsForQuery.d.ts +0 -10
- package/dist/cjs/queries/SortingActionsForQuery.d.ts.map +0 -1
- package/dist/cjs/queries/ValidateRequestArguments.d.ts +0 -2
- package/dist/cjs/queries/ValidateRequestArguments.d.ts.map +0 -1
- package/dist/cjs/queries/WebSocketHubConnection.d.ts +0 -58
- package/dist/cjs/queries/WebSocketHubConnection.d.ts.map +0 -1
- package/dist/cjs/queries/WebSocketMessage.d.ts +0 -11
- package/dist/cjs/queries/WebSocketMessage.d.ts.map +0 -1
- package/dist/cjs/queries/for_HubConnectionKeepAlive/behavior.d.ts +0 -2
- package/dist/cjs/queries/for_HubConnectionKeepAlive/behavior.d.ts.map +0 -1
- package/dist/cjs/queries/for_HubConnectionKeepAlive/when_started_with_custom_idle_threshold/respects_threshold.d.ts +0 -2
- package/dist/cjs/queries/for_HubConnectionKeepAlive/when_started_with_custom_idle_threshold/respects_threshold.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts +0 -9
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection_with_websocket.d.ts +0 -21
- package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection_with_websocket.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnection/when_constructing.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnection/when_constructing.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnection/when_receiving_data_message_with_type.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnection/when_receiving_data_message_with_type.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnection/when_receiving_legacy_data_message.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnection/when_receiving_legacy_data_message.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts +0 -9
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/given/a_descriptor.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_sse_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_direct_mode_and_websocket_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport_and_connection_count_exceeding_safe_limit.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport_and_connection_count_exceeding_safe_limit.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport_and_connection_count_within_safe_limit.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_sse_transport_and_connection_count_within_safe_limit.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport_and_high_connection_count.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionFactory/when_creating/with_hub_mode_and_websocket_transport_and_high_connection_count.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_least_loaded_slot_is_chosen.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_multiple_slots/and_size_is_zero.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryConnectionPool/when_acquiring/with_single_slot/and_one_subscriber.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryDiagnostics/when_tracking_owners.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryDiagnostics/when_tracking_owners.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/given/TestQueries.d.ts +0 -53
- package/dist/cjs/queries/for_ObservableQueryFor/given/TestQueries.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts +0 -10
- package/dist/cjs/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_disposing.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_disposing.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partially_missing_required_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partially_missing_required_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_microservice.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_microservice.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_origin.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_setting_origin.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_and_sse_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_disabled_and_sse_transport.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_direct_mode_enabled.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_multiple_required_route_parameters.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_multiple_required_route_parameters.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_sse_transport_and_null_or_undefined_args.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_sse_transport_and_null_or_undefined_args.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_sse_transport_and_route_and_query_args.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_sse_transport_and_route_and_query_args.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_stale_descriptor_backed_instance_property.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_hub_mode_and_stale_descriptor_backed_instance_property.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_partially_missing_required_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_a_changed_cache_key.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_a_changed_cache_key.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_a_new_cache_key.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_a_new_cache_key.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_an_explicit_size.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_an_explicit_size.d.ts.map +0 -1
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_the_same_cache_key.d.ts +0 -2
- package/dist/cjs/queries/for_ObservableQueryMultiplexer/when_getting_or_creating/with_the_same_cache_key.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/given/TestQueries.d.ts +0 -57
- package/dist/cjs/queries/for_QueryFor/given/TestQueries.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/given/a_query_for.d.ts +0 -11
- package/dist/cjs/queries/for_QueryFor/given/a_query_for.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/given/a_query_with_validator.d.ts +0 -35
- package/dist/cjs/queries/for_QueryFor/given/a_query_with_validator.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_constructing.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_constructing.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_constructing_enumerable.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_constructing_enumerable.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_abort_controller.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_abort_controller.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_parameter_descriptor_values.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_parameter_descriptor_values.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_fetch_error.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_fetch_error.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_paging.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_paging.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_partially_missing_required_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_partially_missing_required_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_sorting.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_sorting.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_setting_api_base_path.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_setting_api_base_path.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_setting_microservice.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_setting_microservice.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryFor/when_setting_origin.d.ts +0 -2
- package/dist/cjs/queries/for_QueryFor/when_setting_origin.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_acquiring/after_release.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_acquiring/after_release.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_empty_arguments_object.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/with_same_arguments_different_order.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_building_key/without_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_deferring_dispose/with_cancellation_before_timeout.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_deferring_dispose/with_cancellation_before_timeout.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_deferring_dispose/without_cancellation.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_deferring_dispose/without_cancellation.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/an_empty_cache.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/an_empty_cache.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/with_active_subscriptions.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/with_active_subscriptions.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/with_pending_deferred_cleanup.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_disposing/with_pending_deferred_cleanup.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_no_result_stored.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_last_result/with_stored_result.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_existing_entry.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_getting_or_creating/with_new_entry.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/a_key_that_does_not_exist.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/one_of_two_subscribers.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/the_only_subscriber.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/with_retention_timeout/after_timeout_elapses.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/with_retention_timeout/after_timeout_elapses.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/with_retention_timeout/before_timeout_elapses.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_releasing/with_retention_timeout/before_timeout_elapses.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_a_result.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_changed_data.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_changed_data.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_identical_data_as_previous_result.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/with_identical_data_as_previous_result.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/without_previous_result.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_setting_last_result/without_previous_result.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_active_subscriptions.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_active_subscriptions.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_no_subscriptions.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_no_subscriptions.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_pending_deferred_cleanup.d.ts +0 -2
- package/dist/cjs/queries/for_QueryInstanceCache/when_tearing_down_all_subscriptions/with_pending_deferred_cleanup.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_null_for_enumerable.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_null_for_enumerable.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_null_for_non_enumerable.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_null_for_non_enumerable.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResult/when_data_is_single_item_for_enumerable/and_it_is_an_array.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResult/when_data_is_single_item_for_enumerable/and_it_is_an_array.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_empty/with_null_default_value.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_empty/with_null_default_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_empty/with_undefined_default_value.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_empty/with_undefined_default_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_from_query_result/with_null_data.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_from_query_result/with_null_data.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_from_query_result/with_undefined_data.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_from_query_result/with_undefined_data.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_null_default_value.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_null_default_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_undefined_default_value.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_undefined_default_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_valid_default_value.d.ts +0 -2
- package/dist/cjs/queries/for_QueryResultWithState/when_creating_initial/with_valid_default_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_canceling/with_pending_timer.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_cancelling/with_pending_timer.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_resetting/after_scheduling.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/delay_is_capped_at_max.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_not_reached/first_attempt.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_max_attempts_reached/abandons_reconnect.d.ts.map +0 -1
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_rescheduled_before_first_fires/cancels_previous_timer.d.ts +0 -2
- package/dist/cjs/queries/for_ReconnectPolicy/when_scheduling/and_rescheduled_before_first_fires/cancels_previous_timer.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts +0 -21
- package/dist/cjs/queries/for_ServerSentEventHubConnection/given/a_server_sent_event_hub_connection.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_connect_timeout_fires/triggers_reconnect.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_disposing/cleans_up_resources.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_keep_alive_is_idle/triggers_reconnect.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_reconnecting/after_error.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/and_subscribe_post_fails.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/and_subscribe_post_fails.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/queues_until_connected.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_subscribing/sends_subscribe_post.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/nulls_event_source_handlers_before_closing.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/nulls_event_source_handlers_before_closing.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventHubConnection/when_unsubscribing/the_only_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/with_query_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_connecting/without_event_source_available.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/after_connecting.d.ts.map +0 -1
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts +0 -2
- package/dist/cjs/queries/for_ServerSentEventQueryConnection/when_disconnecting/before_message_arrives.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_empty_string_value.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_empty_string_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_missing_property.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_missing_property.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_no_required_arguments.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_no_required_arguments.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_null_value.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_null_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_numeric_zero_value.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_numeric_zero_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_undefined_value.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_undefined_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_valid_string_value.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/with_valid_string_value.d.ts.map +0 -1
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/without_arguments_object.d.ts +0 -2
- package/dist/cjs/queries/for_ValidateRequestArguments/when_validating_arguments/without_arguments_object.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts +0 -23
- package/dist/cjs/queries/for_WebSocketHubConnection/given/a_web_socket_hub_connection.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_disposing/cleans_up_resources.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_keep_alive_is_idle/sends_a_ping.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_a_message/resets_keep_alive_timer.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_receiving_unauthorized/notifies_subscriber_and_removes_subscription.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/after_unexpected_close.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_reconnecting/resubscribes_all_queries.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_subscribing/to_a_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/nulls_socket_handlers_before_closing.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/nulls_socket_handlers_before_closing.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketHubConnection/when_unsubscribing/the_only_query.d.ts.map +0 -1
- package/dist/cjs/queries/for_WebSocketMessage/when_creating_messages.d.ts +0 -2
- package/dist/cjs/queries/for_WebSocketMessage/when_creating_messages.d.ts.map +0 -1
- package/dist/cjs/queries/index.d.ts +0 -39
- package/dist/cjs/queries/index.d.ts.map +0 -1
- package/dist/cjs/reflection/IHaveParameters.d.ts +0 -5
- package/dist/cjs/reflection/IHaveParameters.d.ts.map +0 -1
- package/dist/cjs/reflection/ParameterDescriptor.d.ts +0 -8
- package/dist/cjs/reflection/ParameterDescriptor.d.ts.map +0 -1
- package/dist/cjs/reflection/ParametersHelper.d.ts +0 -5
- package/dist/cjs/reflection/ParametersHelper.d.ts.map +0 -1
- package/dist/cjs/reflection/PropertyDescriptor.d.ts +0 -8
- package/dist/cjs/reflection/PropertyDescriptor.d.ts.map +0 -1
- package/dist/cjs/reflection/index.d.ts +0 -5
- package/dist/cjs/reflection/index.d.ts.map +0 -1
- package/dist/cjs/validation/IValidationRule.d.ts +0 -5
- package/dist/cjs/validation/IValidationRule.d.ts.map +0 -1
- package/dist/cjs/validation/PropertyRule.d.ts +0 -11
- package/dist/cjs/validation/PropertyRule.d.ts.map +0 -1
- package/dist/cjs/validation/PropertyValidator.d.ts +0 -11
- package/dist/cjs/validation/PropertyValidator.d.ts.map +0 -1
- package/dist/cjs/validation/RuleBuilder.d.ts +0 -11
- package/dist/cjs/validation/RuleBuilder.d.ts.map +0 -1
- package/dist/cjs/validation/RuleBuilderExtensions.d.ts +0 -32
- package/dist/cjs/validation/RuleBuilderExtensions.d.ts.map +0 -1
- package/dist/cjs/validation/ValidationResult.d.ts +0 -9
- package/dist/cjs/validation/ValidationResult.d.ts.map +0 -1
- package/dist/cjs/validation/ValidationResultSeverity.d.ts +0 -7
- package/dist/cjs/validation/ValidationResultSeverity.d.ts.map +0 -1
- package/dist/cjs/validation/Validator.d.ts +0 -11
- package/dist/cjs/validation/Validator.d.ts.map +0 -1
- package/dist/cjs/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts +0 -2
- package/dist/cjs/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts.map +0 -1
- package/dist/cjs/validation/for_Validator/when_using_custom_error_message.d.ts +0 -2
- package/dist/cjs/validation/for_Validator/when_using_custom_error_message.d.ts.map +0 -1
- package/dist/cjs/validation/for_Validator/when_validating/with_all_rules_passing.d.ts +0 -2
- package/dist/cjs/validation/for_Validator/when_validating/with_all_rules_passing.d.ts.map +0 -1
- package/dist/cjs/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts +0 -2
- package/dist/cjs/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts.map +0 -1
- package/dist/cjs/validation/for_Validator/when_validating/with_one_rule_failing.d.ts +0 -2
- package/dist/cjs/validation/for_Validator/when_validating/with_one_rule_failing.d.ts.map +0 -1
- package/dist/cjs/validation/index.d.ts +0 -14
- package/dist/cjs/validation/index.d.ts.map +0 -1
- package/dist/cjs/validation/rules/ComparisonRules.d.ts +0 -22
- package/dist/cjs/validation/rules/ComparisonRules.d.ts.map +0 -1
- package/dist/cjs/validation/rules/EmailRule.d.ts +0 -7
- package/dist/cjs/validation/rules/EmailRule.d.ts.map +0 -1
- package/dist/cjs/validation/rules/LengthRules.d.ts +0 -18
- package/dist/cjs/validation/rules/LengthRules.d.ts.map +0 -1
- package/dist/cjs/validation/rules/NotEmptyRule.d.ts +0 -10
- package/dist/cjs/validation/rules/NotEmptyRule.d.ts.map +0 -1
- package/dist/cjs/validation/rules/PhoneRule.d.ts +0 -7
- package/dist/cjs/validation/rules/PhoneRule.d.ts.map +0 -1
- package/dist/cjs/validation/rules/RegexRule.d.ts +0 -7
- package/dist/cjs/validation/rules/RegexRule.d.ts.map +0 -1
- package/dist/cjs/validation/rules/UrlRule.d.ts +0 -7
- package/dist/cjs/validation/rules/UrlRule.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts +0 -2
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts +0 -2
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts +0 -2
- package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts +0 -2
- package/dist/cjs/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts +0 -2
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts +0 -2
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts +0 -2
- package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts +0 -2
- package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts +0 -2
- package/dist/cjs/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts +0 -2
- package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts.map +0 -1
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts +0 -2
- package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts.map +0 -1
|
@@ -6,7 +6,19 @@ var ReconnectPolicy = require('./ReconnectPolicy.js');
|
|
|
6
6
|
var QueryResult = require('./QueryResult.js');
|
|
7
7
|
var WebSocketHubConnection = require('./WebSocketHubConnection.js');
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
10
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
11
|
+
/**
|
|
12
|
+
* A multiplexed SSE hub connection that uses EventSource for server→client streaming
|
|
13
|
+
* and fetch POST requests for client→server subscribe/unsubscribe commands.
|
|
14
|
+
*
|
|
15
|
+
* Protocol:
|
|
16
|
+
* 1. Open EventSource to the SSE hub endpoint.
|
|
17
|
+
* 2. Server sends a {@link HubMessageType.Connected} message with the connection identifier.
|
|
18
|
+
* 3. Client sends POST to subscribe/unsubscribe endpoints using the connection identifier.
|
|
19
|
+
* 4. Server streams {@link HubMessageType.QueryResult} messages tagged with queryId.
|
|
20
|
+
* 5. When EventSource closes, server cleans up all subscriptions for this connection.
|
|
21
|
+
*/ class ServerSentEventHubConnection {
|
|
10
22
|
_sseUrl;
|
|
11
23
|
_subscribeUrl;
|
|
12
24
|
_unsubscribeUrl;
|
|
@@ -22,47 +34,69 @@ class ServerSentEventHubConnection {
|
|
|
22
34
|
_latencySamples = [];
|
|
23
35
|
_connectTimeoutTimer;
|
|
24
36
|
_keepAlive;
|
|
25
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Initializes a new instance of {@link ServerSentEventHubConnection}.
|
|
39
|
+
* @param {string} _sseUrl The SSE hub endpoint URL (e.g. `http://localhost:5000/.cratis/queries/sse`).
|
|
40
|
+
* @param {string} _subscribeUrl The subscribe POST endpoint URL.
|
|
41
|
+
* @param {string} _unsubscribeUrl The unsubscribe POST endpoint URL.
|
|
42
|
+
* @param {string} _microservice The microservice name to pass as a query argument.
|
|
43
|
+
* @param {number} keepAliveIntervalMs How long without any server message before the connection
|
|
44
|
+
* is considered stale and a reconnect is forced (default: 30 000 ms).
|
|
45
|
+
* @param {number} connectTimeoutMs How long to wait for the {@link HubMessageType.Connected}
|
|
46
|
+
* message after the HTTP connection opens before giving up and retrying (default: 15 000 ms).
|
|
47
|
+
* @param {IReconnectPolicy} _policy The reconnect policy to use (default: {@link ReconnectPolicy}).
|
|
48
|
+
*/ constructor(_sseUrl, _subscribeUrl, _unsubscribeUrl, _microservice, keepAliveIntervalMs = 30000, _connectTimeoutMs = 15000, _policy = new ReconnectPolicy.ReconnectPolicy()){
|
|
26
49
|
this._sseUrl = _sseUrl;
|
|
27
50
|
this._subscribeUrl = _subscribeUrl;
|
|
28
51
|
this._unsubscribeUrl = _unsubscribeUrl;
|
|
29
52
|
this._microservice = _microservice;
|
|
30
53
|
this._connectTimeoutMs = _connectTimeoutMs;
|
|
31
54
|
this._policy = _policy;
|
|
55
|
+
// SSE is server→client only: the client cannot send pings. Instead we watch for
|
|
56
|
+
// inactivity — if the server stops sending messages (including its own keep-alive
|
|
57
|
+
// pings) for the entire idle threshold, the connection is stale and we reconnect.
|
|
58
|
+
//
|
|
59
|
+
// The idle threshold is set to 1.5× the check interval so the server's keep-alive
|
|
60
|
+
// ping (which fires on the same cadence) has time to arrive over the network before
|
|
61
|
+
// the client declares the connection dead. Without this tolerance the client's timer
|
|
62
|
+
// and the server's timer race — the client often fires first and reconnects
|
|
63
|
+
// unnecessarily.
|
|
32
64
|
const idleThresholdMs = Math.round(keepAliveIntervalMs * 1.5);
|
|
33
|
-
this._keepAlive = new HubConnectionKeepAlive.HubConnectionKeepAlive(keepAliveIntervalMs, ()
|
|
65
|
+
this._keepAlive = new HubConnectionKeepAlive.HubConnectionKeepAlive(keepAliveIntervalMs, ()=>{
|
|
34
66
|
if (!this._disconnected && this._subscriptions.size > 0) {
|
|
35
67
|
console.warn(`SSE hub: no messages received for ${idleThresholdMs}ms, reconnecting '${this._sseUrl}'`);
|
|
36
68
|
this.reconnect();
|
|
37
69
|
}
|
|
38
70
|
}, idleThresholdMs);
|
|
39
71
|
}
|
|
40
|
-
get queryCount() {
|
|
72
|
+
/** @inheritdoc */ get queryCount() {
|
|
41
73
|
return this._subscriptions.size;
|
|
42
74
|
}
|
|
43
|
-
get isConnected() {
|
|
75
|
+
/** @inheritdoc */ get isConnected() {
|
|
44
76
|
return this._connectionId !== undefined && this._eventSource?.readyState === EventSource.OPEN;
|
|
45
77
|
}
|
|
46
|
-
get lastPingLatency() {
|
|
78
|
+
/** @inheritdoc */ get lastPingLatency() {
|
|
47
79
|
return this._lastPongLatency;
|
|
48
80
|
}
|
|
49
|
-
get averageLatency() {
|
|
50
|
-
if (this._latencySamples.length === 0)
|
|
51
|
-
|
|
52
|
-
return this._latencySamples.reduce((a, b) => a + b, 0) / this._latencySamples.length;
|
|
81
|
+
/** @inheritdoc */ get averageLatency() {
|
|
82
|
+
if (this._latencySamples.length === 0) return 0;
|
|
83
|
+
return this._latencySamples.reduce((a, b)=>a + b, 0) / this._latencySamples.length;
|
|
53
84
|
}
|
|
54
|
-
subscribe(queryId, request, callback) {
|
|
55
|
-
const sub = {
|
|
85
|
+
/** @inheritdoc */ subscribe(queryId, request, callback) {
|
|
86
|
+
const sub = {
|
|
87
|
+
request,
|
|
88
|
+
callback
|
|
89
|
+
};
|
|
56
90
|
this._subscriptions.set(queryId, sub);
|
|
57
91
|
this.ensureConnected();
|
|
58
92
|
if (this._connectionId) {
|
|
59
93
|
this.sendSubscribe(queryId, request);
|
|
60
|
-
}
|
|
61
|
-
|
|
94
|
+
} else {
|
|
95
|
+
// Not yet connected, queue for when Connected message arrives.
|
|
62
96
|
this._pendingSubscriptions.set(queryId, sub);
|
|
63
97
|
}
|
|
64
98
|
}
|
|
65
|
-
unsubscribe(queryId) {
|
|
99
|
+
/** @inheritdoc */ unsubscribe(queryId) {
|
|
66
100
|
this._subscriptions.delete(queryId);
|
|
67
101
|
this._pendingSubscriptions.delete(queryId);
|
|
68
102
|
if (this._connectionId) {
|
|
@@ -72,7 +106,7 @@ class ServerSentEventHubConnection {
|
|
|
72
106
|
this.close();
|
|
73
107
|
}
|
|
74
108
|
}
|
|
75
|
-
dispose() {
|
|
109
|
+
/** @inheritdoc */ dispose() {
|
|
76
110
|
this._disconnected = true;
|
|
77
111
|
this._subscriptions.clear();
|
|
78
112
|
this._pendingSubscriptions.clear();
|
|
@@ -98,6 +132,10 @@ class ServerSentEventHubConnection {
|
|
|
98
132
|
this._keepAlive.stop();
|
|
99
133
|
this.clearConnectTimeout();
|
|
100
134
|
if (this._eventSource) {
|
|
135
|
+
// Detach all handlers BEFORE closing so that the async onerror / onmessage
|
|
136
|
+
// events that fire after close() cannot observe the new _disconnected=false
|
|
137
|
+
// state set by an immediately following ensureConnected() call. Without this,
|
|
138
|
+
// a stale onerror triggers an unintended reconnect with exponential back-off.
|
|
101
139
|
this._eventSource.onopen = null;
|
|
102
140
|
this._eventSource.onmessage = null;
|
|
103
141
|
this._eventSource.onerror = null;
|
|
@@ -114,29 +152,28 @@ class ServerSentEventHubConnection {
|
|
|
114
152
|
}
|
|
115
153
|
this._connectionId = undefined;
|
|
116
154
|
this._eventSource = new EventSource(url);
|
|
117
|
-
this._eventSource.onopen = ()
|
|
118
|
-
if (this._disconnected)
|
|
119
|
-
return;
|
|
155
|
+
this._eventSource.onopen = ()=>{
|
|
156
|
+
if (this._disconnected) return;
|
|
120
157
|
console.log(`SSE hub connection established: '${url}'`);
|
|
121
158
|
this._policy.reset();
|
|
122
159
|
this._keepAlive.start();
|
|
160
|
+
// If the server does not send a Connected message within the timeout, the
|
|
161
|
+
// connection is broken. Close and retry via the reconnect policy.
|
|
123
162
|
this.clearConnectTimeout();
|
|
124
|
-
this._connectTimeoutTimer = setTimeout(()
|
|
163
|
+
this._connectTimeoutTimer = setTimeout(()=>{
|
|
125
164
|
if (!this._disconnected && !this._connectionId) {
|
|
126
165
|
console.warn(`SSE hub: no Connected message within ${this._connectTimeoutMs}ms, retrying '${url}'`);
|
|
127
166
|
this.reconnect();
|
|
128
167
|
}
|
|
129
168
|
}, this._connectTimeoutMs);
|
|
130
169
|
};
|
|
131
|
-
this._eventSource.onmessage = (event)
|
|
132
|
-
if (this._disconnected)
|
|
133
|
-
return;
|
|
170
|
+
this._eventSource.onmessage = (event)=>{
|
|
171
|
+
if (this._disconnected) return;
|
|
134
172
|
this._keepAlive.recordActivity();
|
|
135
173
|
this.handleMessage(event.data);
|
|
136
174
|
};
|
|
137
|
-
this._eventSource.onerror = ()
|
|
138
|
-
if (this._disconnected)
|
|
139
|
-
return;
|
|
175
|
+
this._eventSource.onerror = ()=>{
|
|
176
|
+
if (this._disconnected) return;
|
|
140
177
|
console.warn(`SSE hub connection error: '${url}'`);
|
|
141
178
|
this.reconnect();
|
|
142
179
|
};
|
|
@@ -144,15 +181,17 @@ class ServerSentEventHubConnection {
|
|
|
144
181
|
reconnect() {
|
|
145
182
|
this._keepAlive.stop();
|
|
146
183
|
this.clearConnectTimeout();
|
|
184
|
+
// Close the EventSource so the reconnect policy manages the schedule.
|
|
147
185
|
this._eventSource?.close();
|
|
148
186
|
this._eventSource = undefined;
|
|
149
187
|
this._connectionId = undefined;
|
|
150
|
-
|
|
188
|
+
// Move all active subscriptions to pending so they re-subscribe when
|
|
189
|
+
// the next Connected message arrives after the managed reconnect.
|
|
190
|
+
for (const [queryId, sub] of this._subscriptions){
|
|
151
191
|
this._pendingSubscriptions.set(queryId, sub);
|
|
152
192
|
}
|
|
153
|
-
if (this._subscriptions.size === 0)
|
|
154
|
-
|
|
155
|
-
this._policy.schedule(() => {
|
|
193
|
+
if (this._subscriptions.size === 0) return;
|
|
194
|
+
this._policy.schedule(()=>{
|
|
156
195
|
if (!this._disconnected && this._subscriptions.size > 0) {
|
|
157
196
|
this.openEventSource();
|
|
158
197
|
}
|
|
@@ -167,7 +206,7 @@ class ServerSentEventHubConnection {
|
|
|
167
206
|
handleMessage(rawData) {
|
|
168
207
|
try {
|
|
169
208
|
const message = JSON.parse(rawData);
|
|
170
|
-
switch
|
|
209
|
+
switch(message.type){
|
|
171
210
|
case WebSocketHubConnection.HubMessageType.Connected:
|
|
172
211
|
this.handleConnected(message);
|
|
173
212
|
break;
|
|
@@ -184,88 +223,95 @@ class ServerSentEventHubConnection {
|
|
|
184
223
|
console.error(`SSE hub: query '${message.queryId}' error:`, message.payload);
|
|
185
224
|
break;
|
|
186
225
|
}
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
226
|
+
} catch (error) {
|
|
189
227
|
console.error('SSE hub: error parsing message', error);
|
|
190
228
|
}
|
|
191
229
|
}
|
|
192
230
|
handleConnected(message) {
|
|
193
231
|
this._connectionId = message.payload;
|
|
194
232
|
console.log(`SSE hub: connected with id '${this._connectionId}'`);
|
|
233
|
+
// Connected message arrived — cancel the connect timeout.
|
|
195
234
|
this.clearConnectTimeout();
|
|
196
|
-
|
|
235
|
+
// Send all pending subscriptions now that we have a connection ID.
|
|
236
|
+
for (const [queryId, sub] of this._pendingSubscriptions){
|
|
197
237
|
this.sendSubscribe(queryId, sub.request);
|
|
198
238
|
}
|
|
199
239
|
this._pendingSubscriptions.clear();
|
|
200
240
|
}
|
|
201
241
|
handleQueryResult(message) {
|
|
202
|
-
if (!message.queryId)
|
|
203
|
-
return;
|
|
242
|
+
if (!message.queryId) return;
|
|
204
243
|
const sub = this._subscriptions.get(message.queryId);
|
|
205
|
-
if (!sub)
|
|
206
|
-
return;
|
|
244
|
+
if (!sub) return;
|
|
207
245
|
const result = message.payload;
|
|
208
246
|
sub.callback(result);
|
|
209
247
|
}
|
|
210
248
|
handleUnauthorized(message) {
|
|
211
|
-
if (!message.queryId)
|
|
212
|
-
return;
|
|
249
|
+
if (!message.queryId) return;
|
|
213
250
|
const sub = this._subscriptions.get(message.queryId);
|
|
214
|
-
if (!sub)
|
|
215
|
-
return;
|
|
251
|
+
if (!sub) return;
|
|
216
252
|
this._subscriptions.delete(message.queryId);
|
|
217
253
|
this._pendingSubscriptions.delete(message.queryId);
|
|
218
254
|
sub.callback(QueryResult.QueryResult.unauthorized());
|
|
219
255
|
}
|
|
220
256
|
sendSubscribe(queryId, request, attempt = 0) {
|
|
221
|
-
if (!this._connectionId || this._disconnected)
|
|
222
|
-
|
|
257
|
+
if (!this._connectionId || this._disconnected) return;
|
|
258
|
+
// Capture the connection ID so retries can detect if a reconnect has already fired
|
|
259
|
+
// for a different reason and made this retry obsolete.
|
|
223
260
|
const connectionId = this._connectionId;
|
|
224
261
|
const body = {
|
|
225
262
|
connectionId,
|
|
226
263
|
queryId,
|
|
227
|
-
request
|
|
264
|
+
request
|
|
228
265
|
};
|
|
229
266
|
const customHeaders = Globals.Globals.httpHeadersCallback?.() ?? {};
|
|
267
|
+
// Maximum number of subscribe retries before falling back to a full SSE reconnect.
|
|
268
|
+
// In a round-robin load-balanced deployment the subscribe POST may land on a different
|
|
269
|
+
// backend instance than the one holding the SSE connection. Retrying gives the load
|
|
270
|
+
// balancer the chance to route a subsequent attempt to the correct instance without
|
|
271
|
+
// tearing down the SSE connection unnecessarily. With N backend instances at most
|
|
272
|
+
// N-1 retries are needed, so 3 retries covers deployments with up to 4 replicas.
|
|
230
273
|
const maxRetries = 3;
|
|
231
274
|
const retryDelayMs = 200;
|
|
232
275
|
fetch(this._subscribeUrl, {
|
|
233
276
|
method: 'POST',
|
|
234
|
-
headers: {
|
|
235
|
-
|
|
236
|
-
|
|
277
|
+
headers: {
|
|
278
|
+
'Content-Type': 'application/json',
|
|
279
|
+
...customHeaders
|
|
280
|
+
},
|
|
281
|
+
body: JSON.stringify(body)
|
|
282
|
+
}).then((response)=>{
|
|
237
283
|
if (!response.ok) {
|
|
238
284
|
if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {
|
|
239
|
-
setTimeout(()
|
|
240
|
-
}
|
|
241
|
-
else if (this._connectionId === connectionId && !this._disconnected) {
|
|
285
|
+
setTimeout(()=>this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));
|
|
286
|
+
} else if (this._connectionId === connectionId && !this._disconnected) {
|
|
242
287
|
console.warn(`SSE hub: subscribe POST for '${queryId}' returned ${response.status} after ${attempt + 1} attempt(s), reconnecting`);
|
|
243
288
|
this.reconnect();
|
|
244
289
|
}
|
|
245
290
|
}
|
|
246
|
-
}).catch(error
|
|
291
|
+
}).catch((error)=>{
|
|
247
292
|
if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {
|
|
248
|
-
setTimeout(()
|
|
249
|
-
}
|
|
250
|
-
else if (this._connectionId === connectionId && !this._disconnected) {
|
|
293
|
+
setTimeout(()=>this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));
|
|
294
|
+
} else if (this._connectionId === connectionId && !this._disconnected) {
|
|
251
295
|
console.error(`SSE hub: subscribe POST failed for '${queryId}' after ${attempt + 1} attempt(s), reconnecting`, error);
|
|
252
296
|
this.reconnect();
|
|
253
297
|
}
|
|
254
298
|
});
|
|
255
299
|
}
|
|
256
300
|
sendUnsubscribe(queryId) {
|
|
257
|
-
if (!this._connectionId)
|
|
258
|
-
return;
|
|
301
|
+
if (!this._connectionId) return;
|
|
259
302
|
const body = {
|
|
260
303
|
connectionId: this._connectionId,
|
|
261
|
-
queryId
|
|
304
|
+
queryId
|
|
262
305
|
};
|
|
263
306
|
const customHeaders = Globals.Globals.httpHeadersCallback?.() ?? {};
|
|
264
307
|
fetch(this._unsubscribeUrl, {
|
|
265
308
|
method: 'POST',
|
|
266
|
-
headers: {
|
|
267
|
-
|
|
268
|
-
|
|
309
|
+
headers: {
|
|
310
|
+
'Content-Type': 'application/json',
|
|
311
|
+
...customHeaders
|
|
312
|
+
},
|
|
313
|
+
body: JSON.stringify(body)
|
|
314
|
+
}).catch((error)=>{
|
|
269
315
|
console.error(`SSE hub: unsubscribe POST failed for '${queryId}'`, error);
|
|
270
316
|
});
|
|
271
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSentEventHubConnection.js","sources":["../../../queries/ServerSentEventHubConnection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Globals } from '../Globals';\nimport { IObservableQueryHubConnection } from './IObservableQueryHubConnection';\nimport { DataReceived } from './ObservableQueryConnection';\nimport { HubConnectionKeepAlive } from './HubConnectionKeepAlive';\nimport { IReconnectPolicy } from './IReconnectPolicy';\nimport { ReconnectPolicy } from './ReconnectPolicy';\nimport { QueryResult } from './QueryResult';\nimport { HubMessage, HubMessageType, SubscriptionRequest } from './WebSocketHubConnection';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ninterface ActiveSubscription {\n request: SubscriptionRequest;\n callback: DataReceived<any>;\n}\n\n/**\n * A multiplexed SSE hub connection that uses EventSource for server→client streaming\n * and fetch POST requests for client→server subscribe/unsubscribe commands.\n *\n * Protocol:\n * 1. Open EventSource to the SSE hub endpoint.\n * 2. Server sends a {@link HubMessageType.Connected} message with the connection identifier.\n * 3. Client sends POST to subscribe/unsubscribe endpoints using the connection identifier.\n * 4. Server streams {@link HubMessageType.QueryResult} messages tagged with queryId.\n * 5. When EventSource closes, server cleans up all subscriptions for this connection.\n */\nexport class ServerSentEventHubConnection implements IObservableQueryHubConnection {\n private _eventSource?: EventSource;\n private _connectionId?: string;\n private _disconnected = false;\n private _subscriptions: Map<string, ActiveSubscription> = new Map();\n private _pendingSubscriptions: Map<string, ActiveSubscription> = new Map();\n private _lastPongLatency: number = 0;\n private _latencySamples: number[] = [];\n private _connectTimeoutTimer?: ReturnType<typeof setTimeout>;\n private readonly _keepAlive: HubConnectionKeepAlive;\n\n /**\n * Initializes a new instance of {@link ServerSentEventHubConnection}.\n * @param {string} _sseUrl The SSE hub endpoint URL (e.g. `http://localhost:5000/.cratis/queries/sse`).\n * @param {string} _subscribeUrl The subscribe POST endpoint URL.\n * @param {string} _unsubscribeUrl The unsubscribe POST endpoint URL.\n * @param {string} _microservice The microservice name to pass as a query argument.\n * @param {number} keepAliveIntervalMs How long without any server message before the connection\n * is considered stale and a reconnect is forced (default: 30 000 ms).\n * @param {number} connectTimeoutMs How long to wait for the {@link HubMessageType.Connected}\n * message after the HTTP connection opens before giving up and retrying (default: 15 000 ms).\n * @param {IReconnectPolicy} _policy The reconnect policy to use (default: {@link ReconnectPolicy}).\n */\n constructor(\n private readonly _sseUrl: string,\n private readonly _subscribeUrl: string,\n private readonly _unsubscribeUrl: string,\n private readonly _microservice: string,\n keepAliveIntervalMs: number = 30000,\n private readonly _connectTimeoutMs: number = 15000,\n private readonly _policy: IReconnectPolicy = new ReconnectPolicy()\n ) {\n // SSE is server→client only: the client cannot send pings. Instead we watch for\n // inactivity — if the server stops sending messages (including its own keep-alive\n // pings) for the entire idle threshold, the connection is stale and we reconnect.\n //\n // The idle threshold is set to 1.5× the check interval so the server's keep-alive\n // ping (which fires on the same cadence) has time to arrive over the network before\n // the client declares the connection dead. Without this tolerance the client's timer\n // and the server's timer race — the client often fires first and reconnects\n // unnecessarily.\n const idleThresholdMs = Math.round(keepAliveIntervalMs * 1.5);\n this._keepAlive = new HubConnectionKeepAlive(keepAliveIntervalMs, () => {\n if (!this._disconnected && this._subscriptions.size > 0) {\n console.warn(`SSE hub: no messages received for ${idleThresholdMs}ms, reconnecting '${this._sseUrl}'`);\n this.reconnect();\n }\n }, idleThresholdMs);\n }\n\n /** @inheritdoc */\n get queryCount(): number {\n return this._subscriptions.size;\n }\n\n /** @inheritdoc */\n get isConnected(): boolean {\n return this._connectionId !== undefined && this._eventSource?.readyState === EventSource.OPEN;\n }\n\n /** @inheritdoc */\n get lastPingLatency(): number {\n return this._lastPongLatency;\n }\n\n /** @inheritdoc */\n get averageLatency(): number {\n if (this._latencySamples.length === 0) return 0;\n return this._latencySamples.reduce((a, b) => a + b, 0) / this._latencySamples.length;\n }\n\n /** @inheritdoc */\n subscribe(queryId: string, request: SubscriptionRequest, callback: DataReceived<any>): void {\n const sub: ActiveSubscription = { request, callback };\n this._subscriptions.set(queryId, sub);\n\n this.ensureConnected();\n\n if (this._connectionId) {\n this.sendSubscribe(queryId, request);\n } else {\n // Not yet connected, queue for when Connected message arrives.\n this._pendingSubscriptions.set(queryId, sub);\n }\n }\n\n /** @inheritdoc */\n unsubscribe(queryId: string): void {\n this._subscriptions.delete(queryId);\n this._pendingSubscriptions.delete(queryId);\n\n if (this._connectionId) {\n this.sendUnsubscribe(queryId);\n }\n\n if (this._subscriptions.size === 0) {\n this.close();\n }\n }\n\n /** @inheritdoc */\n dispose(): void {\n this._disconnected = true;\n this._subscriptions.clear();\n this._pendingSubscriptions.clear();\n this._policy.cancel();\n this._keepAlive.stop();\n this.clearConnectTimeout();\n this._eventSource?.close();\n this._eventSource = undefined;\n this._connectionId = undefined;\n }\n\n private ensureConnected(): void {\n if (this._disconnected) {\n this._disconnected = false;\n }\n\n if (this._eventSource && this._eventSource.readyState !== EventSource.CLOSED) {\n return;\n }\n\n this.openEventSource();\n }\n\n private close(): void {\n this._disconnected = true;\n this._policy.cancel();\n this._keepAlive.stop();\n this.clearConnectTimeout();\n if (this._eventSource) {\n // Detach all handlers BEFORE closing so that the async onerror / onmessage\n // events that fire after close() cannot observe the new _disconnected=false\n // state set by an immediately following ensureConnected() call. Without this,\n // a stale onerror triggers an unintended reconnect with exponential back-off.\n this._eventSource.onopen = null;\n this._eventSource.onmessage = null;\n this._eventSource.onerror = null;\n this._eventSource.close();\n }\n this._eventSource = undefined;\n this._connectionId = undefined;\n }\n\n private openEventSource(): void {\n let url = this._sseUrl;\n if (this._microservice?.length > 0) {\n const param = `${Globals.microserviceWSQueryArgument}=${encodeURIComponent(this._microservice)}`;\n url += (url.includes('?') ? '&' : '?') + param;\n }\n\n this._connectionId = undefined;\n this._eventSource = new EventSource(url);\n\n this._eventSource.onopen = () => {\n if (this._disconnected) return;\n console.log(`SSE hub connection established: '${url}'`);\n this._policy.reset();\n this._keepAlive.start();\n\n // If the server does not send a Connected message within the timeout, the\n // connection is broken. Close and retry via the reconnect policy.\n this.clearConnectTimeout();\n this._connectTimeoutTimer = setTimeout(() => {\n if (!this._disconnected && !this._connectionId) {\n console.warn(`SSE hub: no Connected message within ${this._connectTimeoutMs}ms, retrying '${url}'`);\n this.reconnect();\n }\n }, this._connectTimeoutMs);\n };\n\n this._eventSource.onmessage = (event: MessageEvent) => {\n if (this._disconnected) return;\n this._keepAlive.recordActivity();\n this.handleMessage(event.data as string);\n };\n\n this._eventSource.onerror = () => {\n if (this._disconnected) return;\n console.warn(`SSE hub connection error: '${url}'`);\n this.reconnect();\n };\n }\n\n private reconnect(): void {\n this._keepAlive.stop();\n this.clearConnectTimeout();\n\n // Close the EventSource so the reconnect policy manages the schedule.\n this._eventSource?.close();\n this._eventSource = undefined;\n this._connectionId = undefined;\n\n // Move all active subscriptions to pending so they re-subscribe when\n // the next Connected message arrives after the managed reconnect.\n for (const [queryId, sub] of this._subscriptions) {\n this._pendingSubscriptions.set(queryId, sub);\n }\n\n if (this._subscriptions.size === 0) return;\n\n this._policy.schedule(() => {\n if (!this._disconnected && this._subscriptions.size > 0) {\n this.openEventSource();\n }\n }, this._sseUrl);\n }\n\n private clearConnectTimeout(): void {\n if (this._connectTimeoutTimer !== undefined) {\n clearTimeout(this._connectTimeoutTimer);\n this._connectTimeoutTimer = undefined;\n }\n }\n\n private handleMessage(rawData: string): void {\n try {\n const message = JSON.parse(rawData) as HubMessage;\n\n switch (message.type) {\n case HubMessageType.Connected:\n this.handleConnected(message);\n break;\n case HubMessageType.QueryResult:\n this.handleQueryResult(message);\n break;\n case HubMessageType.Ping:\n // Server-sent keep-alive ping — activity already recorded in onmessage.\n break;\n case HubMessageType.Unauthorized:\n console.warn(`SSE hub: query '${message.queryId}' unauthorized`);\n this.handleUnauthorized(message);\n break;\n case HubMessageType.Error:\n console.error(`SSE hub: query '${message.queryId}' error:`, message.payload);\n break;\n }\n } catch (error) {\n console.error('SSE hub: error parsing message', error);\n }\n }\n\n private handleConnected(message: HubMessage): void {\n this._connectionId = message.payload as string;\n console.log(`SSE hub: connected with id '${this._connectionId}'`);\n\n // Connected message arrived — cancel the connect timeout.\n this.clearConnectTimeout();\n\n // Send all pending subscriptions now that we have a connection ID.\n for (const [queryId, sub] of this._pendingSubscriptions) {\n this.sendSubscribe(queryId, sub.request);\n }\n this._pendingSubscriptions.clear();\n }\n\n private handleQueryResult(message: HubMessage): void {\n if (!message.queryId) return;\n\n const sub = this._subscriptions.get(message.queryId);\n if (!sub) return;\n\n const result = message.payload as QueryResult<any>;\n sub.callback(result);\n }\n\n private handleUnauthorized(message: HubMessage): void {\n if (!message.queryId) return;\n\n const sub = this._subscriptions.get(message.queryId);\n if (!sub) return;\n\n this._subscriptions.delete(message.queryId);\n this._pendingSubscriptions.delete(message.queryId);\n sub.callback(QueryResult.unauthorized());\n }\n\n private sendSubscribe(queryId: string, request: SubscriptionRequest, attempt: number = 0): void {\n if (!this._connectionId || this._disconnected) return;\n\n // Capture the connection ID so retries can detect if a reconnect has already fired\n // for a different reason and made this retry obsolete.\n const connectionId = this._connectionId;\n\n const body = {\n connectionId,\n queryId,\n request,\n };\n\n const customHeaders = Globals.httpHeadersCallback?.() ?? {};\n\n // Maximum number of subscribe retries before falling back to a full SSE reconnect.\n // In a round-robin load-balanced deployment the subscribe POST may land on a different\n // backend instance than the one holding the SSE connection. Retrying gives the load\n // balancer the chance to route a subsequent attempt to the correct instance without\n // tearing down the SSE connection unnecessarily. With N backend instances at most\n // N-1 retries are needed, so 3 retries covers deployments with up to 4 replicas.\n const maxRetries = 3;\n const retryDelayMs = 200;\n\n fetch(this._subscribeUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...customHeaders },\n body: JSON.stringify(body),\n }).then(response => {\n if (!response.ok) {\n if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {\n setTimeout(() => this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));\n } else if (this._connectionId === connectionId && !this._disconnected) {\n console.warn(`SSE hub: subscribe POST for '${queryId}' returned ${response.status} after ${attempt + 1} attempt(s), reconnecting`);\n this.reconnect();\n }\n }\n }).catch(error => {\n if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {\n setTimeout(() => this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));\n } else if (this._connectionId === connectionId && !this._disconnected) {\n console.error(`SSE hub: subscribe POST failed for '${queryId}' after ${attempt + 1} attempt(s), reconnecting`, error);\n this.reconnect();\n }\n });\n }\n\n private sendUnsubscribe(queryId: string): void {\n if (!this._connectionId) return;\n\n const body = {\n connectionId: this._connectionId,\n queryId,\n };\n\n const customHeaders = Globals.httpHeadersCallback?.() ?? {};\n\n fetch(this._unsubscribeUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...customHeaders },\n body: JSON.stringify(body),\n }).catch(error => {\n console.error(`SSE hub: unsubscribe POST failed for '${queryId}'`, error);\n });\n }\n}\n"],"names":["ReconnectPolicy","HubConnectionKeepAlive","Globals","HubMessageType","QueryResult"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerSentEventHubConnection.js","sources":["../../../queries/ServerSentEventHubConnection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Globals } from '../Globals';\nimport { IObservableQueryHubConnection } from './IObservableQueryHubConnection';\nimport { DataReceived } from './ObservableQueryConnection';\nimport { HubConnectionKeepAlive } from './HubConnectionKeepAlive';\nimport { IReconnectPolicy } from './IReconnectPolicy';\nimport { ReconnectPolicy } from './ReconnectPolicy';\nimport { QueryResult } from './QueryResult';\nimport { HubMessage, HubMessageType, SubscriptionRequest } from './WebSocketHubConnection';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ninterface ActiveSubscription {\n request: SubscriptionRequest;\n callback: DataReceived<any>;\n}\n\n/**\n * A multiplexed SSE hub connection that uses EventSource for server→client streaming\n * and fetch POST requests for client→server subscribe/unsubscribe commands.\n *\n * Protocol:\n * 1. Open EventSource to the SSE hub endpoint.\n * 2. Server sends a {@link HubMessageType.Connected} message with the connection identifier.\n * 3. Client sends POST to subscribe/unsubscribe endpoints using the connection identifier.\n * 4. Server streams {@link HubMessageType.QueryResult} messages tagged with queryId.\n * 5. When EventSource closes, server cleans up all subscriptions for this connection.\n */\nexport class ServerSentEventHubConnection implements IObservableQueryHubConnection {\n private _eventSource?: EventSource;\n private _connectionId?: string;\n private _disconnected = false;\n private _subscriptions: Map<string, ActiveSubscription> = new Map();\n private _pendingSubscriptions: Map<string, ActiveSubscription> = new Map();\n private _lastPongLatency: number = 0;\n private _latencySamples: number[] = [];\n private _connectTimeoutTimer?: ReturnType<typeof setTimeout>;\n private readonly _keepAlive: HubConnectionKeepAlive;\n\n /**\n * Initializes a new instance of {@link ServerSentEventHubConnection}.\n * @param {string} _sseUrl The SSE hub endpoint URL (e.g. `http://localhost:5000/.cratis/queries/sse`).\n * @param {string} _subscribeUrl The subscribe POST endpoint URL.\n * @param {string} _unsubscribeUrl The unsubscribe POST endpoint URL.\n * @param {string} _microservice The microservice name to pass as a query argument.\n * @param {number} keepAliveIntervalMs How long without any server message before the connection\n * is considered stale and a reconnect is forced (default: 30 000 ms).\n * @param {number} connectTimeoutMs How long to wait for the {@link HubMessageType.Connected}\n * message after the HTTP connection opens before giving up and retrying (default: 15 000 ms).\n * @param {IReconnectPolicy} _policy The reconnect policy to use (default: {@link ReconnectPolicy}).\n */\n constructor(\n private readonly _sseUrl: string,\n private readonly _subscribeUrl: string,\n private readonly _unsubscribeUrl: string,\n private readonly _microservice: string,\n keepAliveIntervalMs: number = 30000,\n private readonly _connectTimeoutMs: number = 15000,\n private readonly _policy: IReconnectPolicy = new ReconnectPolicy()\n ) {\n // SSE is server→client only: the client cannot send pings. Instead we watch for\n // inactivity — if the server stops sending messages (including its own keep-alive\n // pings) for the entire idle threshold, the connection is stale and we reconnect.\n //\n // The idle threshold is set to 1.5× the check interval so the server's keep-alive\n // ping (which fires on the same cadence) has time to arrive over the network before\n // the client declares the connection dead. Without this tolerance the client's timer\n // and the server's timer race — the client often fires first and reconnects\n // unnecessarily.\n const idleThresholdMs = Math.round(keepAliveIntervalMs * 1.5);\n this._keepAlive = new HubConnectionKeepAlive(keepAliveIntervalMs, () => {\n if (!this._disconnected && this._subscriptions.size > 0) {\n console.warn(`SSE hub: no messages received for ${idleThresholdMs}ms, reconnecting '${this._sseUrl}'`);\n this.reconnect();\n }\n }, idleThresholdMs);\n }\n\n /** @inheritdoc */\n get queryCount(): number {\n return this._subscriptions.size;\n }\n\n /** @inheritdoc */\n get isConnected(): boolean {\n return this._connectionId !== undefined && this._eventSource?.readyState === EventSource.OPEN;\n }\n\n /** @inheritdoc */\n get lastPingLatency(): number {\n return this._lastPongLatency;\n }\n\n /** @inheritdoc */\n get averageLatency(): number {\n if (this._latencySamples.length === 0) return 0;\n return this._latencySamples.reduce((a, b) => a + b, 0) / this._latencySamples.length;\n }\n\n /** @inheritdoc */\n subscribe(queryId: string, request: SubscriptionRequest, callback: DataReceived<any>): void {\n const sub: ActiveSubscription = { request, callback };\n this._subscriptions.set(queryId, sub);\n\n this.ensureConnected();\n\n if (this._connectionId) {\n this.sendSubscribe(queryId, request);\n } else {\n // Not yet connected, queue for when Connected message arrives.\n this._pendingSubscriptions.set(queryId, sub);\n }\n }\n\n /** @inheritdoc */\n unsubscribe(queryId: string): void {\n this._subscriptions.delete(queryId);\n this._pendingSubscriptions.delete(queryId);\n\n if (this._connectionId) {\n this.sendUnsubscribe(queryId);\n }\n\n if (this._subscriptions.size === 0) {\n this.close();\n }\n }\n\n /** @inheritdoc */\n dispose(): void {\n this._disconnected = true;\n this._subscriptions.clear();\n this._pendingSubscriptions.clear();\n this._policy.cancel();\n this._keepAlive.stop();\n this.clearConnectTimeout();\n this._eventSource?.close();\n this._eventSource = undefined;\n this._connectionId = undefined;\n }\n\n private ensureConnected(): void {\n if (this._disconnected) {\n this._disconnected = false;\n }\n\n if (this._eventSource && this._eventSource.readyState !== EventSource.CLOSED) {\n return;\n }\n\n this.openEventSource();\n }\n\n private close(): void {\n this._disconnected = true;\n this._policy.cancel();\n this._keepAlive.stop();\n this.clearConnectTimeout();\n if (this._eventSource) {\n // Detach all handlers BEFORE closing so that the async onerror / onmessage\n // events that fire after close() cannot observe the new _disconnected=false\n // state set by an immediately following ensureConnected() call. Without this,\n // a stale onerror triggers an unintended reconnect with exponential back-off.\n this._eventSource.onopen = null;\n this._eventSource.onmessage = null;\n this._eventSource.onerror = null;\n this._eventSource.close();\n }\n this._eventSource = undefined;\n this._connectionId = undefined;\n }\n\n private openEventSource(): void {\n let url = this._sseUrl;\n if (this._microservice?.length > 0) {\n const param = `${Globals.microserviceWSQueryArgument}=${encodeURIComponent(this._microservice)}`;\n url += (url.includes('?') ? '&' : '?') + param;\n }\n\n this._connectionId = undefined;\n this._eventSource = new EventSource(url);\n\n this._eventSource.onopen = () => {\n if (this._disconnected) return;\n console.log(`SSE hub connection established: '${url}'`);\n this._policy.reset();\n this._keepAlive.start();\n\n // If the server does not send a Connected message within the timeout, the\n // connection is broken. Close and retry via the reconnect policy.\n this.clearConnectTimeout();\n this._connectTimeoutTimer = setTimeout(() => {\n if (!this._disconnected && !this._connectionId) {\n console.warn(`SSE hub: no Connected message within ${this._connectTimeoutMs}ms, retrying '${url}'`);\n this.reconnect();\n }\n }, this._connectTimeoutMs);\n };\n\n this._eventSource.onmessage = (event: MessageEvent) => {\n if (this._disconnected) return;\n this._keepAlive.recordActivity();\n this.handleMessage(event.data as string);\n };\n\n this._eventSource.onerror = () => {\n if (this._disconnected) return;\n console.warn(`SSE hub connection error: '${url}'`);\n this.reconnect();\n };\n }\n\n private reconnect(): void {\n this._keepAlive.stop();\n this.clearConnectTimeout();\n\n // Close the EventSource so the reconnect policy manages the schedule.\n this._eventSource?.close();\n this._eventSource = undefined;\n this._connectionId = undefined;\n\n // Move all active subscriptions to pending so they re-subscribe when\n // the next Connected message arrives after the managed reconnect.\n for (const [queryId, sub] of this._subscriptions) {\n this._pendingSubscriptions.set(queryId, sub);\n }\n\n if (this._subscriptions.size === 0) return;\n\n this._policy.schedule(() => {\n if (!this._disconnected && this._subscriptions.size > 0) {\n this.openEventSource();\n }\n }, this._sseUrl);\n }\n\n private clearConnectTimeout(): void {\n if (this._connectTimeoutTimer !== undefined) {\n clearTimeout(this._connectTimeoutTimer);\n this._connectTimeoutTimer = undefined;\n }\n }\n\n private handleMessage(rawData: string): void {\n try {\n const message = JSON.parse(rawData) as HubMessage;\n\n switch (message.type) {\n case HubMessageType.Connected:\n this.handleConnected(message);\n break;\n case HubMessageType.QueryResult:\n this.handleQueryResult(message);\n break;\n case HubMessageType.Ping:\n // Server-sent keep-alive ping — activity already recorded in onmessage.\n break;\n case HubMessageType.Unauthorized:\n console.warn(`SSE hub: query '${message.queryId}' unauthorized`);\n this.handleUnauthorized(message);\n break;\n case HubMessageType.Error:\n console.error(`SSE hub: query '${message.queryId}' error:`, message.payload);\n break;\n }\n } catch (error) {\n console.error('SSE hub: error parsing message', error);\n }\n }\n\n private handleConnected(message: HubMessage): void {\n this._connectionId = message.payload as string;\n console.log(`SSE hub: connected with id '${this._connectionId}'`);\n\n // Connected message arrived — cancel the connect timeout.\n this.clearConnectTimeout();\n\n // Send all pending subscriptions now that we have a connection ID.\n for (const [queryId, sub] of this._pendingSubscriptions) {\n this.sendSubscribe(queryId, sub.request);\n }\n this._pendingSubscriptions.clear();\n }\n\n private handleQueryResult(message: HubMessage): void {\n if (!message.queryId) return;\n\n const sub = this._subscriptions.get(message.queryId);\n if (!sub) return;\n\n const result = message.payload as QueryResult<any>;\n sub.callback(result);\n }\n\n private handleUnauthorized(message: HubMessage): void {\n if (!message.queryId) return;\n\n const sub = this._subscriptions.get(message.queryId);\n if (!sub) return;\n\n this._subscriptions.delete(message.queryId);\n this._pendingSubscriptions.delete(message.queryId);\n sub.callback(QueryResult.unauthorized());\n }\n\n private sendSubscribe(queryId: string, request: SubscriptionRequest, attempt: number = 0): void {\n if (!this._connectionId || this._disconnected) return;\n\n // Capture the connection ID so retries can detect if a reconnect has already fired\n // for a different reason and made this retry obsolete.\n const connectionId = this._connectionId;\n\n const body = {\n connectionId,\n queryId,\n request,\n };\n\n const customHeaders = Globals.httpHeadersCallback?.() ?? {};\n\n // Maximum number of subscribe retries before falling back to a full SSE reconnect.\n // In a round-robin load-balanced deployment the subscribe POST may land on a different\n // backend instance than the one holding the SSE connection. Retrying gives the load\n // balancer the chance to route a subsequent attempt to the correct instance without\n // tearing down the SSE connection unnecessarily. With N backend instances at most\n // N-1 retries are needed, so 3 retries covers deployments with up to 4 replicas.\n const maxRetries = 3;\n const retryDelayMs = 200;\n\n fetch(this._subscribeUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...customHeaders },\n body: JSON.stringify(body),\n }).then(response => {\n if (!response.ok) {\n if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {\n setTimeout(() => this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));\n } else if (this._connectionId === connectionId && !this._disconnected) {\n console.warn(`SSE hub: subscribe POST for '${queryId}' returned ${response.status} after ${attempt + 1} attempt(s), reconnecting`);\n this.reconnect();\n }\n }\n }).catch(error => {\n if (attempt < maxRetries && this._connectionId === connectionId && !this._disconnected) {\n setTimeout(() => this.sendSubscribe(queryId, request, attempt + 1), retryDelayMs * (attempt + 1));\n } else if (this._connectionId === connectionId && !this._disconnected) {\n console.error(`SSE hub: subscribe POST failed for '${queryId}' after ${attempt + 1} attempt(s), reconnecting`, error);\n this.reconnect();\n }\n });\n }\n\n private sendUnsubscribe(queryId: string): void {\n if (!this._connectionId) return;\n\n const body = {\n connectionId: this._connectionId,\n queryId,\n };\n\n const customHeaders = Globals.httpHeadersCallback?.() ?? {};\n\n fetch(this._unsubscribeUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...customHeaders },\n body: JSON.stringify(body),\n }).catch(error => {\n console.error(`SSE hub: unsubscribe POST failed for '${queryId}'`, error);\n });\n }\n}\n"],"names":["ServerSentEventHubConnection","_eventSource","_connectionId","_disconnected","_subscriptions","Map","_pendingSubscriptions","_lastPongLatency","_latencySamples","_connectTimeoutTimer","_keepAlive","_subscribeUrl","_unsubscribeUrl","keepAliveIntervalMs","_connectTimeoutMs","_policy","ReconnectPolicy","_sseUrl","_microservice","idleThresholdMs","Math","round","HubConnectionKeepAlive","size","console","warn","reconnect","queryCount","isConnected","undefined","readyState","EventSource","OPEN","lastPingLatency","averageLatency","length","reduce","a","b","subscribe","queryId","request","callback","sub","set","ensureConnected","sendSubscribe","unsubscribe","delete","sendUnsubscribe","close","dispose","clear","cancel","stop","clearConnectTimeout","CLOSED","openEventSource","onopen","onmessage","onerror","url","param","Globals","microserviceWSQueryArgument","encodeURIComponent","includes","log","reset","start","setTimeout","event","recordActivity","handleMessage","data","schedule","clearTimeout","rawData","message","JSON","parse","type","HubMessageType","Connected","handleConnected","QueryResult","handleQueryResult","Ping","Unauthorized","handleUnauthorized","Error","error","payload","get","result","unauthorized","attempt","connectionId","body","customHeaders","httpHeadersCallback","maxRetries","retryDelayMs","fetch","method","headers","stringify","then","response","ok","status","catch"],"mappings":"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"}
|
|
@@ -1,53 +1,61 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
/**
|
|
6
|
+
* The SSE demultiplexer route used when connecting through the multiplexed observable query endpoint.
|
|
7
|
+
*/ const SSE_HUB_ROUTE = '/.cratis/queries/sse';
|
|
8
|
+
/**
|
|
9
|
+
* Represents a direct Server-Sent Events (SSE) connection for a single observable query.
|
|
10
|
+
*
|
|
11
|
+
* In direct mode the URL points to the per-query endpoint (e.g. `/api/queries/latest`).
|
|
12
|
+
* The backend detects the `Accept: text/event-stream` header and streams results directly.
|
|
13
|
+
*
|
|
14
|
+
* The caller (typically {@link createObservableQueryConnection}) decides which URL to use;
|
|
15
|
+
* this class is transport-agnostic beyond being SSE.
|
|
16
|
+
*/ class ServerSentEventQueryConnection {
|
|
5
17
|
_url;
|
|
6
18
|
_eventSource;
|
|
7
19
|
_disconnected = false;
|
|
8
|
-
lastPingLatency = 0;
|
|
9
|
-
averageLatency = 0;
|
|
10
|
-
|
|
20
|
+
/** @inheritdoc */ lastPingLatency = 0;
|
|
21
|
+
/** @inheritdoc */ averageLatency = 0;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes a new instance of {@link ServerSentEventQueryConnection}.
|
|
24
|
+
* @param {URL} url The fully qualified URL of the SSE endpoint (including query parameters).
|
|
25
|
+
*/ constructor(_url){
|
|
11
26
|
this._url = _url;
|
|
12
27
|
}
|
|
13
|
-
connect(dataReceived, queryArguments) {
|
|
14
|
-
if (this._disconnected)
|
|
15
|
-
|
|
28
|
+
/** @inheritdoc */ connect(dataReceived, queryArguments) {
|
|
29
|
+
if (this._disconnected) return;
|
|
30
|
+
// Guard against environments where EventSource is not available (e.g. Node.js, SSR).
|
|
16
31
|
if (typeof EventSource === 'undefined') {
|
|
17
32
|
return;
|
|
18
33
|
}
|
|
19
34
|
let url = this._url.toString();
|
|
20
35
|
if (queryArguments) {
|
|
21
36
|
const separator = url.includes('?') ? '&' : '?';
|
|
22
|
-
const query = Object.entries(queryArguments)
|
|
23
|
-
.filter(([, value]) => value !== undefined && value !== null)
|
|
24
|
-
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
|
|
25
|
-
.join('&');
|
|
37
|
+
const query = Object.entries(queryArguments).filter(([, value])=>value !== undefined && value !== null).map(([key, value])=>`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join('&');
|
|
26
38
|
if (query) {
|
|
27
39
|
url = `${url}${separator}${query}`;
|
|
28
40
|
}
|
|
29
41
|
}
|
|
30
42
|
this._eventSource = new EventSource(url);
|
|
31
|
-
this._eventSource.onmessage = (event)
|
|
32
|
-
if (this._disconnected)
|
|
33
|
-
return;
|
|
43
|
+
this._eventSource.onmessage = (event)=>{
|
|
44
|
+
if (this._disconnected) return;
|
|
34
45
|
try {
|
|
35
46
|
const result = JSON.parse(event.data);
|
|
36
47
|
dataReceived(result);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
48
|
+
} catch (error) {
|
|
39
49
|
console.error('SSE: error parsing message', error);
|
|
40
50
|
}
|
|
41
51
|
};
|
|
42
|
-
this._eventSource.onerror = ()
|
|
43
|
-
if (this._disconnected)
|
|
44
|
-
return;
|
|
52
|
+
this._eventSource.onerror = ()=>{
|
|
53
|
+
if (this._disconnected) return;
|
|
45
54
|
console.warn(`SSE: connection error for '${url}', EventSource will retry automatically.`);
|
|
46
55
|
};
|
|
47
56
|
}
|
|
48
|
-
disconnect() {
|
|
49
|
-
if (this._disconnected)
|
|
50
|
-
return;
|
|
57
|
+
/** @inheritdoc */ disconnect() {
|
|
58
|
+
if (this._disconnected) return;
|
|
51
59
|
this._disconnected = true;
|
|
52
60
|
this._eventSource?.close();
|
|
53
61
|
this._eventSource = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSentEventQueryConnection.js","sources":["../../../queries/ServerSentEventQueryConnection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { DataReceived } from './ObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\n\n/**\n * The SSE demultiplexer route used when connecting through the multiplexed observable query endpoint.\n */\nexport const SSE_HUB_ROUTE = '/.cratis/queries/sse';\n\n/**\n * Represents a direct Server-Sent Events (SSE) connection for a single observable query.\n *\n * In direct mode the URL points to the per-query endpoint (e.g. `/api/queries/latest`).\n * The backend detects the `Accept: text/event-stream` header and streams results directly.\n *\n * The caller (typically {@link createObservableQueryConnection}) decides which URL to use;\n * this class is transport-agnostic beyond being SSE.\n */\nexport class ServerSentEventQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n private _eventSource?: EventSource;\n private _disconnected = false;\n\n /** @inheritdoc */\n readonly lastPingLatency: number = 0;\n\n /** @inheritdoc */\n readonly averageLatency: number = 0;\n\n /**\n * Initializes a new instance of {@link ServerSentEventQueryConnection}.\n * @param {URL} url The fully qualified URL of the SSE endpoint (including query parameters).\n */\n constructor(private readonly _url: URL) {}\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>, queryArguments?: object): void {\n if (this._disconnected) return;\n\n // Guard against environments where EventSource is not available (e.g. Node.js, SSR).\n if (typeof EventSource === 'undefined') {\n return;\n }\n\n let url = this._url.toString();\n if (queryArguments) {\n const separator = url.includes('?') ? '&' : '?';\n const query = Object.entries(queryArguments)\n .filter(([, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)\n .join('&');\n if (query) {\n url = `${url}${separator}${query}`;\n }\n }\n\n this._eventSource = new EventSource(url);\n\n this._eventSource.onmessage = (event: MessageEvent) => {\n if (this._disconnected) return;\n try {\n const result = JSON.parse(event.data as string) as QueryResult<TDataType>;\n dataReceived(result);\n } catch (error) {\n console.error('SSE: error parsing message', error);\n }\n };\n\n this._eventSource.onerror = () => {\n if (this._disconnected) return;\n console.warn(`SSE: connection error for '${url}', EventSource will retry automatically.`);\n };\n }\n\n /** @inheritdoc */\n disconnect(): void {\n if (this._disconnected) return;\n this._disconnected = true;\n this._eventSource?.close();\n this._eventSource = undefined;\n }\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ServerSentEventQueryConnection.js","sources":["../../../queries/ServerSentEventQueryConnection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { DataReceived } from './ObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\n\n/**\n * The SSE demultiplexer route used when connecting through the multiplexed observable query endpoint.\n */\nexport const SSE_HUB_ROUTE = '/.cratis/queries/sse';\n\n/**\n * Represents a direct Server-Sent Events (SSE) connection for a single observable query.\n *\n * In direct mode the URL points to the per-query endpoint (e.g. `/api/queries/latest`).\n * The backend detects the `Accept: text/event-stream` header and streams results directly.\n *\n * The caller (typically {@link createObservableQueryConnection}) decides which URL to use;\n * this class is transport-agnostic beyond being SSE.\n */\nexport class ServerSentEventQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n private _eventSource?: EventSource;\n private _disconnected = false;\n\n /** @inheritdoc */\n readonly lastPingLatency: number = 0;\n\n /** @inheritdoc */\n readonly averageLatency: number = 0;\n\n /**\n * Initializes a new instance of {@link ServerSentEventQueryConnection}.\n * @param {URL} url The fully qualified URL of the SSE endpoint (including query parameters).\n */\n constructor(private readonly _url: URL) {}\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>, queryArguments?: object): void {\n if (this._disconnected) return;\n\n // Guard against environments where EventSource is not available (e.g. Node.js, SSR).\n if (typeof EventSource === 'undefined') {\n return;\n }\n\n let url = this._url.toString();\n if (queryArguments) {\n const separator = url.includes('?') ? '&' : '?';\n const query = Object.entries(queryArguments)\n .filter(([, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)\n .join('&');\n if (query) {\n url = `${url}${separator}${query}`;\n }\n }\n\n this._eventSource = new EventSource(url);\n\n this._eventSource.onmessage = (event: MessageEvent) => {\n if (this._disconnected) return;\n try {\n const result = JSON.parse(event.data as string) as QueryResult<TDataType>;\n dataReceived(result);\n } catch (error) {\n console.error('SSE: error parsing message', error);\n }\n };\n\n this._eventSource.onerror = () => {\n if (this._disconnected) return;\n console.warn(`SSE: connection error for '${url}', EventSource will retry automatically.`);\n };\n }\n\n /** @inheritdoc */\n disconnect(): void {\n if (this._disconnected) return;\n this._disconnected = true;\n this._eventSource?.close();\n this._eventSource = undefined;\n }\n}\n"],"names":["SSE_HUB_ROUTE","ServerSentEventQueryConnection","_eventSource","_disconnected","lastPingLatency","averageLatency","_url","connect","dataReceived","queryArguments","EventSource","url","toString","separator","includes","query","Object","entries","filter","value","undefined","map","key","encodeURIComponent","String","join","onmessage","event","result","JSON","parse","data","error","console","onerror","warn","disconnect","close"],"mappings":";;AAAA;AACA;AAMA;;IAGO,MAAMA,aAAAA,GAAgB;AAE7B;;;;;;;;AAQC,IACM,MAAMC,8BAAAA,CAAAA;;IACDC,YAAAA;AACAC,IAAAA,aAAAA,GAAgB,KAAA;uBAGxB,eAASC,GAA0B,CAAA;uBAGnC,cAASC,GAAyB,CAAA;AAElC;;;QAIA,WAAA,CAAY,IAA0B,CAAE;aAAXC,IAAAA,GAAAA,IAAAA;AAAY,IAAA;AAEzC,uBACAC,OAAAA,CAAQC,YAAqC,EAAEC,cAAuB,EAAQ;QAC1E,IAAI,IAAI,CAACN,aAAa,EAAE;;QAGxB,IAAI,OAAOO,gBAAgB,WAAA,EAAa;AACpC,YAAA;AACJ,QAAA;AAEA,QAAA,IAAIC,GAAAA,GAAM,IAAI,CAACL,IAAI,CAACM,QAAQ,EAAA;AAC5B,QAAA,IAAIH,cAAAA,EAAgB;AAChB,YAAA,MAAMI,SAAAA,GAAYF,GAAAA,CAAIG,QAAQ,CAAC,OAAO,GAAA,GAAM,GAAA;AAC5C,YAAA,MAAMC,KAAAA,GAAQC,MAAAA,CAAOC,OAAO,CAACR,gBACxBS,MAAM,CAAC,CAAC,GAAGC,KAAAA,CAAM,GAAKA,KAAAA,KAAUC,SAAAA,IAAaD,UAAU,IAAA,CAAA,CACvDE,GAAG,CAAC,CAAC,CAACC,GAAAA,EAAKH,KAAAA,CAAM,GAAK,GAAGI,kBAAAA,CAAmBD,GAAAA,CAAAA,CAAK,CAAC,EAAEC,kBAAAA,CAAmBC,MAAAA,CAAOL,KAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CACvFM,IAAI,CAAC,GAAA,CAAA;AACV,YAAA,IAAIV,KAAAA,EAAO;gBACPJ,GAAAA,GAAM,CAAA,EAAGA,GAAAA,CAAAA,EAAME,SAAAA,CAAAA,EAAYE,KAAAA,CAAAA,CAAO;AACtC,YAAA;AACJ,QAAA;AAEA,QAAA,IAAI,CAACb,YAAY,GAAG,IAAIQ,WAAAA,CAAYC,GAAAA,CAAAA;AAEpC,QAAA,IAAI,CAACT,YAAY,CAACwB,SAAS,GAAG,CAACC,KAAAA,GAAAA;YAC3B,IAAI,IAAI,CAACxB,aAAa,EAAE;YACxB,IAAI;AACA,gBAAA,MAAMyB,MAAAA,GAASC,IAAAA,CAAKC,KAAK,CAACH,MAAMI,IAAI,CAAA;gBACpCvB,YAAAA,CAAaoB,MAAAA,CAAAA;AACjB,YAAA,CAAA,CAAE,OAAOI,KAAAA,EAAO;gBACZC,OAAAA,CAAQD,KAAK,CAAC,4BAAA,EAA8BA,KAAAA,CAAAA;AAChD,YAAA;AACJ,QAAA,CAAA;AAEA,QAAA,IAAI,CAAC9B,YAAY,CAACgC,OAAO,GAAG,IAAA;YACxB,IAAI,IAAI,CAAC/B,aAAa,EAAE;AACxB8B,YAAAA,OAAAA,CAAQE,IAAI,CAAC,CAAC,2BAA2B,EAAExB,GAAAA,CAAI,wCAAwC,CAAC,CAAA;AAC5F,QAAA,CAAA;AACJ,IAAA;AAEA,uBACAyB,UAAAA,GAAmB;QACf,IAAI,IAAI,CAACjC,aAAa,EAAE;QACxB,IAAI,CAACA,aAAa,GAAG,IAAA;QACrB,IAAI,CAACD,YAAY,EAAEmC,KAAAA,EAAAA;QACnB,IAAI,CAACnC,YAAY,GAAGkB,SAAAA;AACxB,IAAA;AACJ;;;;;"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
/**
|
|
6
|
+
* Defines the direction of sorting.
|
|
7
|
+
*/ var SortDirection = /*#__PURE__*/ function(SortDirection) {
|
|
8
|
+
/**
|
|
9
|
+
* Unspecified sort direction.
|
|
10
|
+
*/ SortDirection[SortDirection["unspecified"] = 0] = "unspecified";
|
|
11
|
+
/**
|
|
12
|
+
* Sort in ascending order.
|
|
13
|
+
*/ SortDirection[SortDirection["ascending"] = 1] = "ascending";
|
|
14
|
+
/**
|
|
15
|
+
* Sort in descending order.
|
|
16
|
+
*/ SortDirection[SortDirection["descending"] = 2] = "descending";
|
|
17
|
+
return SortDirection;
|
|
18
|
+
}({});
|
|
19
|
+
|
|
20
|
+
exports.SortDirection = SortDirection;
|
|
9
21
|
//# sourceMappingURL=SortDirection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortDirection.js","sources":["../../../queries/SortDirection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Defines the direction of sorting.\n */\nexport enum SortDirection {\n /**\n * Unspecified sort direction.\n */\n unspecified = 0,\n\n /**\n * Sort in ascending order.\n */\n ascending = 1,\n\n /**\n * Sort in descending order.\n */\n descending = 2,\n}"],"names":["SortDirection"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SortDirection.js","sources":["../../../queries/SortDirection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Defines the direction of sorting.\n */\nexport enum SortDirection {\n /**\n * Unspecified sort direction.\n */\n unspecified = 0,\n\n /**\n * Sort in ascending order.\n */\n ascending = 1,\n\n /**\n * Sort in descending order.\n */\n descending = 2,\n}"],"names":["SortDirection"],"mappings":";;AAAA;AACA;AAEA;;IAGO,IAAKA,aAAAA,iBAAAA,SAAAA,aAAAA,EAAAA;AACR;;AAEC,QAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAA;AAGD;;AAEC,QAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAA;AAGD;;AAEC,QAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAA;AAbOA,IAAAA,OAAAA,aAAAA;AAeX,CAAA,CAAA,EAAA;;;;"}
|