@cratis/arc 18.4.3 → 18.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1128) hide show
  1. package/commands/Command.ts +18 -1
  2. package/commands/CommandValidator.ts +9 -7
  3. package/commands/for_Command/CommandWithRouteParams.ts +0 -2
  4. package/commands/for_Command/SomeCommand.ts +0 -2
  5. package/commands/for_Command/given/a_command.ts +4 -5
  6. package/commands/for_Command/given/a_command_with_validator.ts +55 -0
  7. package/commands/for_Command/when_executing/with_client_validation_failing.ts +69 -0
  8. package/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.ts +29 -0
  9. package/commands/for_Command/when_executing/with_client_validation_passing.ts +63 -0
  10. package/commands/for_Command/when_executing/with_custom_http_headers.ts +4 -1
  11. package/commands/for_Command/when_executing/with_origin_and_api_base_path.ts +5 -2
  12. package/commands/for_Command/when_executing/with_route_parameters.ts +5 -2
  13. package/commands/for_Command/when_validating/with_client_validation_failure.ts +26 -0
  14. package/commands/for_Command/when_validating/with_client_validation_passing.ts +77 -0
  15. package/commands/for_Command/when_validating/with_required_property_missing.ts +28 -0
  16. package/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.ts +1 -0
  17. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.ts +1 -0
  18. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.ts +1 -0
  19. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.ts +1 -0
  20. package/dist/cjs/commands/Command.d.ts +1 -1
  21. package/dist/cjs/commands/Command.d.ts.map +1 -1
  22. package/dist/cjs/commands/Command.js +13 -0
  23. package/dist/cjs/commands/Command.js.map +1 -1
  24. package/dist/cjs/commands/CommandValidator.d.ts +3 -6
  25. package/dist/cjs/commands/CommandValidator.d.ts.map +1 -1
  26. package/dist/cjs/commands/CommandValidator.js +5 -3
  27. package/dist/cjs/commands/CommandValidator.js.map +1 -1
  28. package/dist/cjs/commands/for_Command/CommandWithRouteParams.d.ts +16 -0
  29. package/dist/cjs/commands/for_Command/CommandWithRouteParams.d.ts.map +1 -0
  30. package/dist/cjs/commands/for_Command/SomeCommand.d.ts +14 -0
  31. package/dist/cjs/commands/for_Command/SomeCommand.d.ts.map +1 -0
  32. package/dist/cjs/commands/for_Command/given/a_command.d.ts +12 -0
  33. package/dist/cjs/commands/for_Command/given/a_command.d.ts.map +1 -0
  34. package/dist/cjs/commands/for_Command/given/a_command_with_validator.d.ts +33 -0
  35. package/dist/cjs/commands/for_Command/given/a_command_with_validator.d.ts.map +1 -0
  36. package/dist/cjs/commands/for_Command/when_clearing_the_command.d.ts +2 -0
  37. package/dist/cjs/commands/for_Command/when_clearing_the_command.d.ts.map +1 -0
  38. package/dist/cjs/commands/for_Command/when_constructing_command.d.ts +2 -0
  39. package/dist/cjs/commands/for_Command/when_constructing_command.d.ts.map +1 -0
  40. package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts +2 -0
  41. package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts.map +1 -0
  42. package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_origin.d.ts +2 -0
  43. package/dist/cjs/commands/for_Command/when_constructing_command_with_globals_origin.d.ts.map +1 -0
  44. package/dist/cjs/commands/for_Command/when_executing/and_command_route_not_found.d.ts +2 -0
  45. package/dist/cjs/commands/for_Command/when_executing/and_command_route_not_found.d.ts.map +1 -0
  46. package/dist/cjs/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts +2 -0
  47. package/dist/cjs/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts.map +1 -0
  48. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failing.d.ts +2 -0
  49. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failing.d.ts.map +1 -0
  50. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts +2 -0
  51. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts.map +1 -0
  52. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_passing.d.ts +2 -0
  53. package/dist/cjs/commands/for_Command/when_executing/with_client_validation_passing.d.ts.map +1 -0
  54. package/dist/cjs/commands/for_Command/when_executing/with_command_properties.d.ts +2 -0
  55. package/dist/cjs/commands/for_Command/when_executing/with_command_properties.d.ts.map +1 -0
  56. package/dist/cjs/commands/for_Command/when_executing/with_custom_http_headers.d.ts +2 -0
  57. package/dist/cjs/commands/for_Command/when_executing/with_custom_http_headers.d.ts.map +1 -0
  58. package/dist/cjs/commands/for_Command/when_executing/with_microservice_header.d.ts +2 -0
  59. package/dist/cjs/commands/for_Command/when_executing/with_microservice_header.d.ts.map +1 -0
  60. package/dist/cjs/commands/for_Command/when_executing/with_missing_required_property.d.ts +2 -0
  61. package/dist/cjs/commands/for_Command/when_executing/with_missing_required_property.d.ts.map +1 -0
  62. package/dist/cjs/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts +2 -0
  63. package/dist/cjs/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts.map +1 -0
  64. package/dist/cjs/commands/for_Command/when_executing/with_route_parameters.d.ts +2 -0
  65. package/dist/cjs/commands/for_Command/when_executing/with_route_parameters.d.ts.map +1 -0
  66. package/dist/cjs/commands/for_Command/when_executing/with_successful_response.d.ts +2 -0
  67. package/dist/cjs/commands/for_Command/when_executing/with_successful_response.d.ts.map +1 -0
  68. package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts +2 -0
  69. package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts.map +1 -0
  70. package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts +2 -0
  71. package/dist/cjs/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts.map +1 -0
  72. package/dist/cjs/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts +2 -0
  73. package/dist/cjs/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts.map +1 -0
  74. package/dist/cjs/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts +2 -0
  75. package/dist/cjs/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts.map +1 -0
  76. package/dist/cjs/commands/for_Command/when_property_has_changed_and_we_revert.d.ts +2 -0
  77. package/dist/cjs/commands/for_Command/when_property_has_changed_and_we_revert.d.ts.map +1 -0
  78. package/dist/cjs/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts +2 -0
  79. package/dist/cjs/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts.map +1 -0
  80. package/dist/cjs/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts +2 -0
  81. package/dist/cjs/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts.map +1 -0
  82. package/dist/cjs/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts +2 -0
  83. package/dist/cjs/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts.map +1 -0
  84. package/dist/cjs/commands/for_Command/when_validating/does_not_update_initial_values.d.ts +2 -0
  85. package/dist/cjs/commands/for_Command/when_validating/does_not_update_initial_values.d.ts.map +1 -0
  86. package/dist/cjs/commands/for_Command/when_validating/with_client_validation_failure.d.ts +2 -0
  87. package/dist/cjs/commands/for_Command/when_validating/with_client_validation_failure.d.ts.map +1 -0
  88. package/dist/cjs/commands/for_Command/when_validating/with_client_validation_passing.d.ts +2 -0
  89. package/dist/cjs/commands/for_Command/when_validating/with_client_validation_passing.d.ts.map +1 -0
  90. package/dist/cjs/commands/for_Command/when_validating/with_required_property_missing.d.ts +2 -0
  91. package/dist/cjs/commands/for_Command/when_validating/with_required_property_missing.d.ts.map +1 -0
  92. package/dist/cjs/commands/for_Command/when_validating/with_successful_response.d.ts +2 -0
  93. package/dist/cjs/commands/for_Command/when_validating/with_successful_response.d.ts.map +1 -0
  94. package/dist/cjs/commands/for_Command/when_validating/with_validation_errors.d.ts +2 -0
  95. package/dist/cjs/commands/for_Command/when_validating/with_validation_errors.d.ts.map +1 -0
  96. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts +2 -0
  97. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts.map +1 -0
  98. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts +2 -0
  99. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts.map +1 -0
  100. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts +2 -0
  101. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts.map +1 -0
  102. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts +2 -0
  103. package/dist/cjs/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts.map +1 -0
  104. package/dist/cjs/helpers/fetchHelper.d.ts +7 -0
  105. package/dist/cjs/helpers/fetchHelper.d.ts.map +1 -0
  106. package/dist/cjs/identity/IIdentityProvider.d.ts +2 -1
  107. package/dist/cjs/identity/IIdentityProvider.d.ts.map +1 -1
  108. package/dist/cjs/identity/IIdentityProvider.js.map +1 -1
  109. package/dist/cjs/identity/IdentityProvider.d.ts +4 -3
  110. package/dist/cjs/identity/IdentityProvider.d.ts.map +1 -1
  111. package/dist/cjs/identity/IdentityProvider.js +12 -9
  112. package/dist/cjs/identity/IdentityProvider.js.map +1 -1
  113. package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts +12 -0
  114. package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +1 -0
  115. package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts +2 -0
  116. package/dist/cjs/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts.map +1 -0
  117. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts +2 -0
  118. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts.map +1 -0
  119. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts +2 -0
  120. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts.map +1 -0
  121. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts +2 -0
  122. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts.map +1 -0
  123. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts +2 -0
  124. package/dist/cjs/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts.map +1 -0
  125. package/dist/cjs/identity/for_IdentityProvider/when_setting_api_base_path.d.ts +2 -0
  126. package/dist/cjs/identity/for_IdentityProvider/when_setting_api_base_path.d.ts.map +1 -0
  127. package/dist/cjs/identity/for_IdentityProvider/when_setting_origin.d.ts +2 -0
  128. package/dist/cjs/identity/for_IdentityProvider/when_setting_origin.d.ts.map +1 -0
  129. package/dist/cjs/queries/IObservableQueryConnection.d.ts +2 -0
  130. package/dist/cjs/queries/IObservableQueryConnection.d.ts.map +1 -1
  131. package/dist/cjs/queries/NullObservableQueryConnection.d.ts +2 -0
  132. package/dist/cjs/queries/NullObservableQueryConnection.d.ts.map +1 -1
  133. package/dist/cjs/queries/NullObservableQueryConnection.js +6 -0
  134. package/dist/cjs/queries/NullObservableQueryConnection.js.map +1 -1
  135. package/dist/cjs/queries/ObservableQueryConnection.d.ts +14 -1
  136. package/dist/cjs/queries/ObservableQueryConnection.d.ts.map +1 -1
  137. package/dist/cjs/queries/ObservableQueryConnection.js +73 -2
  138. package/dist/cjs/queries/ObservableQueryConnection.js.map +1 -1
  139. package/dist/cjs/queries/QueryFor.d.ts +2 -0
  140. package/dist/cjs/queries/QueryFor.d.ts.map +1 -1
  141. package/dist/cjs/queries/QueryFor.js +25 -0
  142. package/dist/cjs/queries/QueryFor.js.map +1 -1
  143. package/dist/cjs/queries/QueryValidator.d.ts +6 -0
  144. package/dist/cjs/queries/QueryValidator.d.ts.map +1 -0
  145. package/dist/cjs/queries/QueryValidator.js +12 -0
  146. package/dist/cjs/queries/QueryValidator.js.map +1 -0
  147. package/dist/cjs/queries/WebSocketMessage.d.ts +11 -0
  148. package/dist/cjs/queries/WebSocketMessage.d.ts.map +1 -0
  149. package/dist/cjs/queries/WebSocketMessage.js +9 -0
  150. package/dist/cjs/queries/WebSocketMessage.js.map +1 -0
  151. package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts +10 -0
  152. package/dist/cjs/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts.map +1 -0
  153. package/dist/cjs/queries/for_ObservableQueryConnection/when_constructing.d.ts +2 -0
  154. package/dist/cjs/queries/for_ObservableQueryConnection/when_constructing.d.ts.map +1 -0
  155. package/dist/cjs/queries/for_ObservableQueryFor/given/TestQueries.d.ts +42 -0
  156. package/dist/cjs/queries/for_ObservableQueryFor/given/TestQueries.d.ts.map +1 -0
  157. package/dist/cjs/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts +9 -0
  158. package/dist/cjs/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts.map +1 -0
  159. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing.d.ts +2 -0
  160. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing.d.ts.map +1 -0
  161. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts +2 -0
  162. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts.map +1 -0
  163. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts +2 -0
  164. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts.map +1 -0
  165. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts +2 -0
  166. package/dist/cjs/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts.map +1 -0
  167. package/dist/cjs/queries/for_ObservableQueryFor/when_disposing.d.ts +2 -0
  168. package/dist/cjs/queries/for_ObservableQueryFor/when_disposing.d.ts.map +1 -0
  169. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts +2 -0
  170. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts.map +1 -0
  171. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts +2 -0
  172. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts.map +1 -0
  173. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts +2 -0
  174. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts.map +1 -0
  175. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts +2 -0
  176. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +1 -0
  177. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +2 -0
  178. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +1 -0
  179. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +2 -0
  180. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +1 -0
  181. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts +2 -0
  182. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts.map +1 -0
  183. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts +2 -0
  184. package/dist/cjs/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts.map +1 -0
  185. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts +2 -0
  186. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts.map +1 -0
  187. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_microservice.d.ts +2 -0
  188. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_microservice.d.ts.map +1 -0
  189. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_origin.d.ts +2 -0
  190. package/dist/cjs/queries/for_ObservableQueryFor/when_setting_origin.d.ts.map +1 -0
  191. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts +2 -0
  192. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts.map +1 -0
  193. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts +2 -0
  194. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts.map +1 -0
  195. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts +2 -0
  196. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts.map +1 -0
  197. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts +2 -0
  198. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts.map +1 -0
  199. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts +2 -0
  200. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts.map +1 -0
  201. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts +2 -0
  202. package/dist/cjs/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts.map +1 -0
  203. package/dist/cjs/queries/for_QueryFor/given/TestQueries.d.ts +37 -0
  204. package/dist/cjs/queries/for_QueryFor/given/TestQueries.d.ts.map +1 -0
  205. package/dist/cjs/queries/for_QueryFor/given/a_query_for.d.ts +9 -0
  206. package/dist/cjs/queries/for_QueryFor/given/a_query_for.d.ts.map +1 -0
  207. package/dist/cjs/queries/for_QueryFor/given/a_query_with_validator.d.ts +35 -0
  208. package/dist/cjs/queries/for_QueryFor/given/a_query_with_validator.d.ts.map +1 -0
  209. package/dist/cjs/queries/for_QueryFor/when_constructing.d.ts +2 -0
  210. package/dist/cjs/queries/for_QueryFor/when_constructing.d.ts.map +1 -0
  211. package/dist/cjs/queries/for_QueryFor/when_constructing_enumerable.d.ts +2 -0
  212. package/dist/cjs/queries/for_QueryFor/when_constructing_enumerable.d.ts.map +1 -0
  213. package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts +2 -0
  214. package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts.map +1 -0
  215. package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts +2 -0
  216. package/dist/cjs/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts.map +1 -0
  217. package/dist/cjs/queries/for_QueryFor/when_performing/with_abort_controller.d.ts +2 -0
  218. package/dist/cjs/queries/for_QueryFor/when_performing/with_abort_controller.d.ts.map +1 -0
  219. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts +2 -0
  220. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts.map +1 -0
  221. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts +2 -0
  222. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts.map +1 -0
  223. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts +2 -0
  224. package/dist/cjs/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts.map +1 -0
  225. package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts +2 -0
  226. package/dist/cjs/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts.map +1 -0
  227. package/dist/cjs/queries/for_QueryFor/when_performing/with_fetch_error.d.ts +2 -0
  228. package/dist/cjs/queries/for_QueryFor/when_performing/with_fetch_error.d.ts.map +1 -0
  229. package/dist/cjs/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts +2 -0
  230. package/dist/cjs/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts.map +1 -0
  231. package/dist/cjs/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts +2 -0
  232. package/dist/cjs/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts.map +1 -0
  233. package/dist/cjs/queries/for_QueryFor/when_performing/with_paging.d.ts +2 -0
  234. package/dist/cjs/queries/for_QueryFor/when_performing/with_paging.d.ts.map +1 -0
  235. package/dist/cjs/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts +2 -0
  236. package/dist/cjs/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +1 -0
  237. package/dist/cjs/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +2 -0
  238. package/dist/cjs/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +1 -0
  239. package/dist/cjs/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts +2 -0
  240. package/dist/cjs/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts.map +1 -0
  241. package/dist/cjs/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +2 -0
  242. package/dist/cjs/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +1 -0
  243. package/dist/cjs/queries/for_QueryFor/when_performing/with_sorting.d.ts +2 -0
  244. package/dist/cjs/queries/for_QueryFor/when_performing/with_sorting.d.ts.map +1 -0
  245. package/dist/cjs/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts +2 -0
  246. package/dist/cjs/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts.map +1 -0
  247. package/dist/cjs/queries/for_QueryFor/when_setting_api_base_path.d.ts +2 -0
  248. package/dist/cjs/queries/for_QueryFor/when_setting_api_base_path.d.ts.map +1 -0
  249. package/dist/cjs/queries/for_QueryFor/when_setting_microservice.d.ts +2 -0
  250. package/dist/cjs/queries/for_QueryFor/when_setting_microservice.d.ts.map +1 -0
  251. package/dist/cjs/queries/for_QueryFor/when_setting_origin.d.ts +2 -0
  252. package/dist/cjs/queries/for_QueryFor/when_setting_origin.d.ts.map +1 -0
  253. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts +2 -0
  254. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts.map +1 -0
  255. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts +2 -0
  256. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts.map +1 -0
  257. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts +2 -0
  258. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts.map +1 -0
  259. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts +2 -0
  260. package/dist/cjs/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts.map +1 -0
  261. package/dist/cjs/queries/for_WebSocketMessage/when_creating_messages.d.ts +2 -0
  262. package/dist/cjs/queries/for_WebSocketMessage/when_creating_messages.d.ts.map +1 -0
  263. package/dist/cjs/queries/index.d.ts +2 -0
  264. package/dist/cjs/queries/index.d.ts.map +1 -1
  265. package/dist/cjs/queries/index.js +7 -0
  266. package/dist/cjs/queries/index.js.map +1 -1
  267. package/dist/cjs/validation/IValidationRule.d.ts +5 -0
  268. package/dist/cjs/validation/IValidationRule.d.ts.map +1 -0
  269. package/dist/cjs/validation/PropertyRule.d.ts +11 -0
  270. package/dist/cjs/validation/PropertyRule.d.ts.map +1 -0
  271. package/dist/cjs/validation/PropertyRule.js +27 -0
  272. package/dist/cjs/validation/PropertyRule.js.map +1 -0
  273. package/dist/cjs/validation/PropertyValidator.d.ts +11 -0
  274. package/dist/cjs/validation/PropertyValidator.d.ts.map +1 -0
  275. package/dist/cjs/validation/PropertyValidator.js +26 -0
  276. package/dist/cjs/validation/PropertyValidator.js.map +1 -0
  277. package/dist/cjs/validation/RuleBuilder.d.ts +11 -0
  278. package/dist/cjs/validation/RuleBuilder.d.ts.map +1 -0
  279. package/dist/cjs/validation/RuleBuilder.js +27 -0
  280. package/dist/cjs/validation/RuleBuilder.js.map +1 -0
  281. package/dist/cjs/validation/RuleBuilderExtensions.d.ts +28 -0
  282. package/dist/cjs/validation/RuleBuilderExtensions.d.ts.map +1 -0
  283. package/dist/cjs/validation/RuleBuilderExtensions.js +77 -0
  284. package/dist/cjs/validation/RuleBuilderExtensions.js.map +1 -0
  285. package/dist/cjs/validation/Validator.d.ts +8 -1
  286. package/dist/cjs/validation/Validator.d.ts.map +1 -1
  287. package/dist/cjs/validation/Validator.js +41 -0
  288. package/dist/cjs/validation/Validator.js.map +1 -1
  289. package/dist/cjs/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts +2 -0
  290. package/dist/cjs/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts.map +1 -0
  291. package/dist/cjs/validation/for_Validator/when_using_custom_error_message.d.ts +2 -0
  292. package/dist/cjs/validation/for_Validator/when_using_custom_error_message.d.ts.map +1 -0
  293. package/dist/cjs/validation/for_Validator/when_validating/with_all_rules_passing.d.ts +2 -0
  294. package/dist/cjs/validation/for_Validator/when_validating/with_all_rules_passing.d.ts.map +1 -0
  295. package/dist/cjs/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts +2 -0
  296. package/dist/cjs/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts.map +1 -0
  297. package/dist/cjs/validation/for_Validator/when_validating/with_one_rule_failing.d.ts +2 -0
  298. package/dist/cjs/validation/for_Validator/when_validating/with_one_rule_failing.d.ts.map +1 -0
  299. package/dist/cjs/validation/index.d.ts +11 -0
  300. package/dist/cjs/validation/index.d.ts.map +1 -1
  301. package/dist/cjs/validation/index.js +39 -0
  302. package/dist/cjs/validation/index.js.map +1 -1
  303. package/dist/cjs/validation/rules/ComparisonRules.d.ts +22 -0
  304. package/dist/cjs/validation/rules/ComparisonRules.d.ts.map +1 -0
  305. package/dist/cjs/validation/rules/ComparisonRules.js +62 -0
  306. package/dist/cjs/validation/rules/ComparisonRules.js.map +1 -0
  307. package/dist/cjs/validation/rules/EmailRule.d.ts +7 -0
  308. package/dist/cjs/validation/rules/EmailRule.d.ts.map +1 -0
  309. package/dist/cjs/validation/rules/EmailRule.js +19 -0
  310. package/dist/cjs/validation/rules/EmailRule.js.map +1 -0
  311. package/dist/cjs/validation/rules/LengthRules.d.ts +18 -0
  312. package/dist/cjs/validation/rules/LengthRules.d.ts.map +1 -0
  313. package/dist/cjs/validation/rules/LengthRules.js +50 -0
  314. package/dist/cjs/validation/rules/LengthRules.js.map +1 -0
  315. package/dist/cjs/validation/rules/NotEmptyRule.d.ts +10 -0
  316. package/dist/cjs/validation/rules/NotEmptyRule.d.ts.map +1 -0
  317. package/dist/cjs/validation/rules/NotEmptyRule.js +33 -0
  318. package/dist/cjs/validation/rules/NotEmptyRule.js.map +1 -0
  319. package/dist/cjs/validation/rules/RegexRule.d.ts +7 -0
  320. package/dist/cjs/validation/rules/RegexRule.d.ts.map +1 -0
  321. package/dist/cjs/validation/rules/RegexRule.js +20 -0
  322. package/dist/cjs/validation/rules/RegexRule.js.map +1 -0
  323. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts +2 -0
  324. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts.map +1 -0
  325. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts +2 -0
  326. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts.map +1 -0
  327. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts +2 -0
  328. package/dist/cjs/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts.map +1 -0
  329. package/dist/cjs/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts +2 -0
  330. package/dist/cjs/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts.map +1 -0
  331. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts +2 -0
  332. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts.map +1 -0
  333. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts +2 -0
  334. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts.map +1 -0
  335. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts +2 -0
  336. package/dist/cjs/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts.map +1 -0
  337. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts +2 -0
  338. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +1 -0
  339. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts +2 -0
  340. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +1 -0
  341. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts +2 -0
  342. package/dist/cjs/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts.map +1 -0
  343. package/dist/cjs/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts +2 -0
  344. package/dist/cjs/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts.map +1 -0
  345. package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts +2 -0
  346. package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts.map +1 -0
  347. package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts +2 -0
  348. package/dist/cjs/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +1 -0
  349. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts +2 -0
  350. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts.map +1 -0
  351. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts +2 -0
  352. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts.map +1 -0
  353. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts +2 -0
  354. package/dist/cjs/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +1 -0
  355. package/dist/cjs/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts +2 -0
  356. package/dist/cjs/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts.map +1 -0
  357. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts +2 -0
  358. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts.map +1 -0
  359. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts +2 -0
  360. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts.map +1 -0
  361. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts +2 -0
  362. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts.map +1 -0
  363. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts +2 -0
  364. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts.map +1 -0
  365. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts +2 -0
  366. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts.map +1 -0
  367. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts +2 -0
  368. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts.map +1 -0
  369. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts +2 -0
  370. package/dist/cjs/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts.map +1 -0
  371. package/dist/esm/commands/Command.d.ts +1 -1
  372. package/dist/esm/commands/Command.d.ts.map +1 -1
  373. package/dist/esm/commands/Command.js +13 -0
  374. package/dist/esm/commands/Command.js.map +1 -1
  375. package/dist/esm/commands/CommandValidator.d.ts +3 -6
  376. package/dist/esm/commands/CommandValidator.d.ts.map +1 -1
  377. package/dist/esm/commands/CommandValidator.js +5 -3
  378. package/dist/esm/commands/CommandValidator.js.map +1 -1
  379. package/dist/esm/commands/for_Command/CommandWithRouteParams.d.ts +16 -0
  380. package/dist/esm/commands/for_Command/CommandWithRouteParams.d.ts.map +1 -0
  381. package/dist/esm/commands/for_Command/CommandWithRouteParams.js +21 -0
  382. package/dist/esm/commands/for_Command/CommandWithRouteParams.js.map +1 -0
  383. package/dist/esm/commands/for_Command/SomeCommand.d.ts +14 -0
  384. package/dist/esm/commands/for_Command/SomeCommand.d.ts.map +1 -0
  385. package/dist/esm/commands/for_Command/SomeCommand.js +21 -0
  386. package/dist/esm/commands/for_Command/SomeCommand.js.map +1 -0
  387. package/dist/esm/commands/for_Command/given/a_command.d.ts +12 -0
  388. package/dist/esm/commands/for_Command/given/a_command.d.ts.map +1 -0
  389. package/dist/esm/commands/for_Command/given/a_command.js +17 -0
  390. package/dist/esm/commands/for_Command/given/a_command.js.map +1 -0
  391. package/dist/esm/commands/for_Command/given/a_command_with_validator.d.ts +33 -0
  392. package/dist/esm/commands/for_Command/given/a_command_with_validator.d.ts.map +1 -0
  393. package/dist/esm/commands/for_Command/given/a_command_with_validator.js +38 -0
  394. package/dist/esm/commands/for_Command/given/a_command_with_validator.js.map +1 -0
  395. package/dist/esm/commands/for_Command/when_clearing_the_command.d.ts +2 -0
  396. package/dist/esm/commands/for_Command/when_clearing_the_command.d.ts.map +1 -0
  397. package/dist/esm/commands/for_Command/when_clearing_the_command.js +13 -0
  398. package/dist/esm/commands/for_Command/when_clearing_the_command.js.map +1 -0
  399. package/dist/esm/commands/for_Command/when_constructing_command.d.ts +2 -0
  400. package/dist/esm/commands/for_Command/when_constructing_command.d.ts.map +1 -0
  401. package/dist/esm/commands/for_Command/when_constructing_command.js +34 -0
  402. package/dist/esm/commands/for_Command/when_constructing_command.js.map +1 -0
  403. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts +2 -0
  404. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_api_base_path.d.ts.map +1 -0
  405. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_api_base_path.js +20 -0
  406. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_api_base_path.js.map +1 -0
  407. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_origin.d.ts +2 -0
  408. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_origin.d.ts.map +1 -0
  409. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_origin.js +20 -0
  410. package/dist/esm/commands/for_Command/when_constructing_command_with_globals_origin.js.map +1 -0
  411. package/dist/esm/commands/for_Command/when_executing/and_command_route_not_found.d.ts +2 -0
  412. package/dist/esm/commands/for_Command/when_executing/and_command_route_not_found.d.ts.map +1 -0
  413. package/dist/esm/commands/for_Command/when_executing/and_command_route_not_found.js +18 -0
  414. package/dist/esm/commands/for_Command/when_executing/and_command_route_not_found.js.map +1 -0
  415. package/dist/esm/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts +2 -0
  416. package/dist/esm/commands/for_Command/when_executing/and_fetch_throws_exception.d.ts.map +1 -0
  417. package/dist/esm/commands/for_Command/when_executing/and_fetch_throws_exception.js +16 -0
  418. package/dist/esm/commands/for_Command/when_executing/and_fetch_throws_exception.js.map +1 -0
  419. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failing.d.ts +2 -0
  420. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failing.d.ts.map +1 -0
  421. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failing.js +52 -0
  422. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failing.js.map +1 -0
  423. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts +2 -0
  424. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.d.ts.map +1 -0
  425. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.js +19 -0
  426. package/dist/esm/commands/for_Command/when_executing/with_client_validation_failure_and_custom_message.js.map +1 -0
  427. package/dist/esm/commands/for_Command/when_executing/with_client_validation_passing.d.ts +2 -0
  428. package/dist/esm/commands/for_Command/when_executing/with_client_validation_passing.d.ts.map +1 -0
  429. package/dist/esm/commands/for_Command/when_executing/with_client_validation_passing.js +49 -0
  430. package/dist/esm/commands/for_Command/when_executing/with_client_validation_passing.js.map +1 -0
  431. package/dist/esm/commands/for_Command/when_executing/with_command_properties.d.ts +2 -0
  432. package/dist/esm/commands/for_Command/when_executing/with_command_properties.d.ts.map +1 -0
  433. package/dist/esm/commands/for_Command/when_executing/with_command_properties.js +32 -0
  434. package/dist/esm/commands/for_Command/when_executing/with_command_properties.js.map +1 -0
  435. package/dist/esm/commands/for_Command/when_executing/with_custom_http_headers.d.ts +2 -0
  436. package/dist/esm/commands/for_Command/when_executing/with_custom_http_headers.d.ts.map +1 -0
  437. package/dist/esm/commands/for_Command/when_executing/with_custom_http_headers.js +54 -0
  438. package/dist/esm/commands/for_Command/when_executing/with_custom_http_headers.js.map +1 -0
  439. package/dist/esm/commands/for_Command/when_executing/with_microservice_header.d.ts +2 -0
  440. package/dist/esm/commands/for_Command/when_executing/with_microservice_header.d.ts.map +1 -0
  441. package/dist/esm/commands/for_Command/when_executing/with_microservice_header.js +40 -0
  442. package/dist/esm/commands/for_Command/when_executing/with_microservice_header.js.map +1 -0
  443. package/dist/esm/commands/for_Command/when_executing/with_missing_required_property.d.ts +2 -0
  444. package/dist/esm/commands/for_Command/when_executing/with_missing_required_property.d.ts.map +1 -0
  445. package/dist/esm/commands/for_Command/when_executing/with_missing_required_property.js +24 -0
  446. package/dist/esm/commands/for_Command/when_executing/with_missing_required_property.js.map +1 -0
  447. package/dist/esm/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts +2 -0
  448. package/dist/esm/commands/for_Command/when_executing/with_origin_and_api_base_path.d.ts.map +1 -0
  449. package/dist/esm/commands/for_Command/when_executing/with_origin_and_api_base_path.js +46 -0
  450. package/dist/esm/commands/for_Command/when_executing/with_origin_and_api_base_path.js.map +1 -0
  451. package/dist/esm/commands/for_Command/when_executing/with_route_parameters.d.ts +2 -0
  452. package/dist/esm/commands/for_Command/when_executing/with_route_parameters.d.ts.map +1 -0
  453. package/dist/esm/commands/for_Command/when_executing/with_route_parameters.js +51 -0
  454. package/dist/esm/commands/for_Command/when_executing/with_route_parameters.js.map +1 -0
  455. package/dist/esm/commands/for_Command/when_executing/with_successful_response.d.ts +2 -0
  456. package/dist/esm/commands/for_Command/when_executing/with_successful_response.d.ts.map +1 -0
  457. package/dist/esm/commands/for_Command/when_executing/with_successful_response.js +39 -0
  458. package/dist/esm/commands/for_Command/when_executing/with_successful_response.js.map +1 -0
  459. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts +2 -0
  460. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.d.ts.map +1 -0
  461. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.js +11 -0
  462. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.js.map +1 -0
  463. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts +2 -0
  464. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.d.ts.map +1 -0
  465. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.js +11 -0
  466. package/dist/esm/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.js.map +1 -0
  467. package/dist/esm/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts +2 -0
  468. package/dist/esm/commands/for_Command/when_property_changes_and_initial_value_is_undefined.d.ts.map +1 -0
  469. package/dist/esm/commands/for_Command/when_property_changes_and_initial_value_is_undefined.js +8 -0
  470. package/dist/esm/commands/for_Command/when_property_changes_and_initial_value_is_undefined.js.map +1 -0
  471. package/dist/esm/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts +2 -0
  472. package/dist/esm/commands/for_Command/when_property_changes_and_there_is_a_callback.d.ts.map +1 -0
  473. package/dist/esm/commands/for_Command/when_property_changes_and_there_is_a_callback.js +10 -0
  474. package/dist/esm/commands/for_Command/when_property_changes_and_there_is_a_callback.js.map +1 -0
  475. package/dist/esm/commands/for_Command/when_property_has_changed_and_we_revert.d.ts +2 -0
  476. package/dist/esm/commands/for_Command/when_property_has_changed_and_we_revert.d.ts.map +1 -0
  477. package/dist/esm/commands/for_Command/when_property_has_changed_and_we_revert.js +11 -0
  478. package/dist/esm/commands/for_Command/when_property_has_changed_and_we_revert.js.map +1 -0
  479. package/dist/esm/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts +2 -0
  480. package/dist/esm/commands/for_Command/when_setting_initial_values_after_property_changed.d.ts.map +1 -0
  481. package/dist/esm/commands/for_Command/when_setting_initial_values_after_property_changed.js +12 -0
  482. package/dist/esm/commands/for_Command/when_setting_initial_values_after_property_changed.js.map +1 -0
  483. package/dist/esm/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts +2 -0
  484. package/dist/esm/commands/for_Command/when_validating/and_fetch_throws_exception.d.ts.map +1 -0
  485. package/dist/esm/commands/for_Command/when_validating/and_fetch_throws_exception.js +16 -0
  486. package/dist/esm/commands/for_Command/when_validating/and_fetch_throws_exception.js.map +1 -0
  487. package/dist/esm/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts +2 -0
  488. package/dist/esm/commands/for_Command/when_validating/and_validation_endpoint_not_found.d.ts.map +1 -0
  489. package/dist/esm/commands/for_Command/when_validating/and_validation_endpoint_not_found.js +18 -0
  490. package/dist/esm/commands/for_Command/when_validating/and_validation_endpoint_not_found.js.map +1 -0
  491. package/dist/esm/commands/for_Command/when_validating/does_not_update_initial_values.d.ts +2 -0
  492. package/dist/esm/commands/for_Command/when_validating/does_not_update_initial_values.d.ts.map +1 -0
  493. package/dist/esm/commands/for_Command/when_validating/does_not_update_initial_values.js +31 -0
  494. package/dist/esm/commands/for_Command/when_validating/does_not_update_initial_values.js.map +1 -0
  495. package/dist/esm/commands/for_Command/when_validating/with_client_validation_failure.d.ts +2 -0
  496. package/dist/esm/commands/for_Command/when_validating/with_client_validation_failure.d.ts.map +1 -0
  497. package/dist/esm/commands/for_Command/when_validating/with_client_validation_failure.js +18 -0
  498. package/dist/esm/commands/for_Command/when_validating/with_client_validation_failure.js.map +1 -0
  499. package/dist/esm/commands/for_Command/when_validating/with_client_validation_passing.d.ts +2 -0
  500. package/dist/esm/commands/for_Command/when_validating/with_client_validation_passing.d.ts.map +1 -0
  501. package/dist/esm/commands/for_Command/when_validating/with_client_validation_passing.js +56 -0
  502. package/dist/esm/commands/for_Command/when_validating/with_client_validation_passing.js.map +1 -0
  503. package/dist/esm/commands/for_Command/when_validating/with_required_property_missing.d.ts +2 -0
  504. package/dist/esm/commands/for_Command/when_validating/with_required_property_missing.d.ts.map +1 -0
  505. package/dist/esm/commands/for_Command/when_validating/with_required_property_missing.js +21 -0
  506. package/dist/esm/commands/for_Command/when_validating/with_required_property_missing.js.map +1 -0
  507. package/dist/esm/commands/for_Command/when_validating/with_successful_response.d.ts +2 -0
  508. package/dist/esm/commands/for_Command/when_validating/with_successful_response.d.ts.map +1 -0
  509. package/dist/esm/commands/for_Command/when_validating/with_successful_response.js +37 -0
  510. package/dist/esm/commands/for_Command/when_validating/with_successful_response.js.map +1 -0
  511. package/dist/esm/commands/for_Command/when_validating/with_validation_errors.d.ts +2 -0
  512. package/dist/esm/commands/for_Command/when_validating/with_validation_errors.d.ts.map +1 -0
  513. package/dist/esm/commands/for_Command/when_validating/with_validation_errors.js +37 -0
  514. package/dist/esm/commands/for_Command/when_validating/with_validation_errors.js.map +1 -0
  515. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts +2 -0
  516. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.d.ts.map +1 -0
  517. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.js +48 -0
  518. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.js.map +1 -0
  519. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts +2 -0
  520. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.d.ts.map +1 -0
  521. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.js +47 -0
  522. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.js.map +1 -0
  523. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts +2 -0
  524. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.d.ts.map +1 -0
  525. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.js +37 -0
  526. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.js.map +1 -0
  527. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts +2 -0
  528. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.d.ts.map +1 -0
  529. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.js +37 -0
  530. package/dist/esm/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.js.map +1 -0
  531. package/dist/esm/for_UrlHelpers/when_building_query_params/with_additional_parameters.d.ts +2 -0
  532. package/dist/esm/for_UrlHelpers/when_building_query_params/with_additional_parameters.d.ts.map +1 -0
  533. package/dist/esm/for_UrlHelpers/when_building_query_params/with_additional_parameters.js +17 -0
  534. package/dist/esm/for_UrlHelpers/when_building_query_params/with_additional_parameters.js.map +1 -0
  535. package/dist/esm/for_UrlHelpers/when_building_query_params/with_empty_parameters.d.ts +2 -0
  536. package/dist/esm/for_UrlHelpers/when_building_query_params/with_empty_parameters.d.ts.map +1 -0
  537. package/dist/esm/for_UrlHelpers/when_building_query_params/with_empty_parameters.js +11 -0
  538. package/dist/esm/for_UrlHelpers/when_building_query_params/with_empty_parameters.js.map +1 -0
  539. package/dist/esm/for_UrlHelpers/when_building_query_params/with_null_and_undefined_values.d.ts +2 -0
  540. package/dist/esm/for_UrlHelpers/when_building_query_params/with_null_and_undefined_values.d.ts.map +1 -0
  541. package/dist/esm/for_UrlHelpers/when_building_query_params/with_null_and_undefined_values.js +16 -0
  542. package/dist/esm/for_UrlHelpers/when_building_query_params/with_null_and_undefined_values.js.map +1 -0
  543. package/dist/esm/for_UrlHelpers/when_building_query_params/with_unused_parameters_only.d.ts +2 -0
  544. package/dist/esm/for_UrlHelpers/when_building_query_params/with_unused_parameters_only.d.ts.map +1 -0
  545. package/dist/esm/for_UrlHelpers/when_building_query_params/with_unused_parameters_only.js +15 -0
  546. package/dist/esm/for_UrlHelpers/when_building_query_params/with_unused_parameters_only.js.map +1 -0
  547. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_base_path_ending_with_slash.d.ts +2 -0
  548. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_base_path_ending_with_slash.d.ts.map +1 -0
  549. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_base_path_ending_with_slash.js +23 -0
  550. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_base_path_ending_with_slash.js.map +1 -0
  551. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_empty_origin.d.ts +2 -0
  552. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_empty_origin.d.ts.map +1 -0
  553. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_empty_origin.js +35 -0
  554. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_empty_origin.js.map +1 -0
  555. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_null_or_undefined_origin.d.ts +2 -0
  556. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_null_or_undefined_origin.d.ts.map +1 -0
  557. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_null_or_undefined_origin.js +42 -0
  558. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_null_or_undefined_origin.js.map +1 -0
  559. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_relative_route.d.ts +2 -0
  560. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_relative_route.d.ts.map +1 -0
  561. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_relative_route.js +23 -0
  562. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_relative_route.js.map +1 -0
  563. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_valid_parameters.d.ts +2 -0
  564. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_valid_parameters.d.ts.map +1 -0
  565. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_valid_parameters.js +23 -0
  566. package/dist/esm/for_UrlHelpers/when_creating_url_from/with_valid_parameters.js.map +1 -0
  567. package/dist/esm/for_UrlHelpers/when_creating_url_from/without_document_object.d.ts +2 -0
  568. package/dist/esm/for_UrlHelpers/when_creating_url_from/without_document_object.d.ts.map +1 -0
  569. package/dist/esm/for_UrlHelpers/when_creating_url_from/without_document_object.js +26 -0
  570. package/dist/esm/for_UrlHelpers/when_creating_url_from/without_document_object.js.map +1 -0
  571. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_all_parameters_used_in_route.d.ts +2 -0
  572. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_all_parameters_used_in_route.d.ts.map +1 -0
  573. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_all_parameters_used_in_route.js +15 -0
  574. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_all_parameters_used_in_route.js.map +1 -0
  575. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_no_parameters.d.ts +2 -0
  576. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_no_parameters.d.ts.map +1 -0
  577. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_no_parameters.js +13 -0
  578. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_no_parameters.js.map +1 -0
  579. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_unused_parameters.d.ts +2 -0
  580. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_unused_parameters.d.ts.map +1 -0
  581. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_unused_parameters.js +17 -0
  582. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_unused_parameters.js.map +1 -0
  583. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_url_encoded_values.d.ts +2 -0
  584. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_url_encoded_values.d.ts.map +1 -0
  585. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_url_encoded_values.js +14 -0
  586. package/dist/esm/for_UrlHelpers/when_replacing_route_parameters/with_url_encoded_values.js.map +1 -0
  587. package/dist/esm/helpers/fetchHelper.d.ts +7 -0
  588. package/dist/esm/helpers/fetchHelper.d.ts.map +1 -0
  589. package/dist/esm/helpers/fetchHelper.js +22 -0
  590. package/dist/esm/helpers/fetchHelper.js.map +1 -0
  591. package/dist/esm/identity/IIdentityProvider.d.ts +2 -1
  592. package/dist/esm/identity/IIdentityProvider.d.ts.map +1 -1
  593. package/dist/esm/identity/IIdentityProvider.js.map +1 -1
  594. package/dist/esm/identity/IdentityProvider.d.ts +4 -3
  595. package/dist/esm/identity/IdentityProvider.d.ts.map +1 -1
  596. package/dist/esm/identity/IdentityProvider.js +12 -9
  597. package/dist/esm/identity/IdentityProvider.js.map +1 -1
  598. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.d.ts +12 -0
  599. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +1 -0
  600. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.js +18 -0
  601. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.js.map +1 -0
  602. package/dist/esm/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts +2 -0
  603. package/dist/esm/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.d.ts.map +1 -0
  604. package/dist/esm/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.js +34 -0
  605. package/dist/esm/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.js.map +1 -0
  606. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts +2 -0
  607. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.d.ts.map +1 -0
  608. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.js +24 -0
  609. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.js.map +1 -0
  610. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts +2 -0
  611. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.d.ts.map +1 -0
  612. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.js +29 -0
  613. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.js.map +1 -0
  614. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts +2 -0
  615. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.d.ts.map +1 -0
  616. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.js +35 -0
  617. package/dist/esm/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.js.map +1 -0
  618. package/dist/esm/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts +2 -0
  619. package/dist/esm/identity/for_IdentityProvider/when_refreshing/without_api_base_path.d.ts.map +1 -0
  620. package/dist/esm/identity/for_IdentityProvider/when_refreshing/without_api_base_path.js +28 -0
  621. package/dist/esm/identity/for_IdentityProvider/when_refreshing/without_api_base_path.js.map +1 -0
  622. package/dist/esm/identity/for_IdentityProvider/when_setting_api_base_path.d.ts +2 -0
  623. package/dist/esm/identity/for_IdentityProvider/when_setting_api_base_path.d.ts.map +1 -0
  624. package/dist/esm/identity/for_IdentityProvider/when_setting_api_base_path.js +15 -0
  625. package/dist/esm/identity/for_IdentityProvider/when_setting_api_base_path.js.map +1 -0
  626. package/dist/esm/identity/for_IdentityProvider/when_setting_origin.d.ts +2 -0
  627. package/dist/esm/identity/for_IdentityProvider/when_setting_origin.d.ts.map +1 -0
  628. package/dist/esm/identity/for_IdentityProvider/when_setting_origin.js +15 -0
  629. package/dist/esm/identity/for_IdentityProvider/when_setting_origin.js.map +1 -0
  630. package/dist/esm/queries/IObservableQueryConnection.d.ts +2 -0
  631. package/dist/esm/queries/IObservableQueryConnection.d.ts.map +1 -1
  632. package/dist/esm/queries/NullObservableQueryConnection.d.ts +2 -0
  633. package/dist/esm/queries/NullObservableQueryConnection.d.ts.map +1 -1
  634. package/dist/esm/queries/NullObservableQueryConnection.js +6 -0
  635. package/dist/esm/queries/NullObservableQueryConnection.js.map +1 -1
  636. package/dist/esm/queries/ObservableQueryConnection.d.ts +14 -1
  637. package/dist/esm/queries/ObservableQueryConnection.d.ts.map +1 -1
  638. package/dist/esm/queries/ObservableQueryConnection.js +73 -2
  639. package/dist/esm/queries/ObservableQueryConnection.js.map +1 -1
  640. package/dist/esm/queries/QueryFor.d.ts +2 -0
  641. package/dist/esm/queries/QueryFor.d.ts.map +1 -1
  642. package/dist/esm/queries/QueryFor.js +25 -0
  643. package/dist/esm/queries/QueryFor.js.map +1 -1
  644. package/dist/esm/queries/QueryValidator.d.ts +6 -0
  645. package/dist/esm/queries/QueryValidator.d.ts.map +1 -0
  646. package/dist/esm/queries/QueryValidator.js +10 -0
  647. package/dist/esm/queries/QueryValidator.js.map +1 -0
  648. package/dist/esm/queries/WebSocketMessage.d.ts +11 -0
  649. package/dist/esm/queries/WebSocketMessage.d.ts.map +1 -0
  650. package/dist/esm/queries/WebSocketMessage.js +9 -0
  651. package/dist/esm/queries/WebSocketMessage.js.map +1 -0
  652. package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts +10 -0
  653. package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.d.ts.map +1 -0
  654. package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.js +19 -0
  655. package/dist/esm/queries/for_ObservableQueryConnection/given/an_observable_query_connection.js.map +1 -0
  656. package/dist/esm/queries/for_ObservableQueryConnection/when_constructing.d.ts +2 -0
  657. package/dist/esm/queries/for_ObservableQueryConnection/when_constructing.d.ts.map +1 -0
  658. package/dist/esm/queries/for_ObservableQueryConnection/when_constructing.js +11 -0
  659. package/dist/esm/queries/for_ObservableQueryConnection/when_constructing.js.map +1 -0
  660. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.d.ts +42 -0
  661. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.d.ts.map +1 -0
  662. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.js +60 -0
  663. package/dist/esm/queries/for_ObservableQueryFor/given/TestQueries.js.map +1 -0
  664. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts +9 -0
  665. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.d.ts.map +1 -0
  666. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.js +14 -0
  667. package/dist/esm/queries/for_ObservableQueryFor/given/an_observable_query_for.js.map +1 -0
  668. package/dist/esm/queries/for_ObservableQueryFor/when_constructing.d.ts +2 -0
  669. package/dist/esm/queries/for_ObservableQueryFor/when_constructing.d.ts.map +1 -0
  670. package/dist/esm/queries/for_ObservableQueryFor/when_constructing.js +37 -0
  671. package/dist/esm/queries/for_ObservableQueryFor/when_constructing.js.map +1 -0
  672. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts +2 -0
  673. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_enumerable.d.ts.map +1 -0
  674. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_enumerable.js +14 -0
  675. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_enumerable.js.map +1 -0
  676. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts +2 -0
  677. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.d.ts.map +1 -0
  678. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.js +20 -0
  679. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_api_base_path.js.map +1 -0
  680. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts +2 -0
  681. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.d.ts.map +1 -0
  682. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.js +20 -0
  683. package/dist/esm/queries/for_ObservableQueryFor/when_constructing_with_globals_origin.js.map +1 -0
  684. package/dist/esm/queries/for_ObservableQueryFor/when_disposing.d.ts +2 -0
  685. package/dist/esm/queries/for_ObservableQueryFor/when_disposing.d.ts.map +1 -0
  686. package/dist/esm/queries/for_ObservableQueryFor/when_disposing.js +19 -0
  687. package/dist/esm/queries/for_ObservableQueryFor/when_disposing.js.map +1 -0
  688. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts +2 -0
  689. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.d.ts.map +1 -0
  690. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.js +53 -0
  691. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.js.map +1 -0
  692. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts +2 -0
  693. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.d.ts.map +1 -0
  694. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.js +15 -0
  695. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.js.map +1 -0
  696. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts +2 -0
  697. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_paging.d.ts.map +1 -0
  698. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_paging.js +49 -0
  699. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_paging.js.map +1 -0
  700. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts +2 -0
  701. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +1 -0
  702. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.js +58 -0
  703. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.js.map +1 -0
  704. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +2 -0
  705. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +1 -0
  706. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.js +56 -0
  707. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.js.map +1 -0
  708. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +2 -0
  709. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +1 -0
  710. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.js +60 -0
  711. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.js.map +1 -0
  712. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts +2 -0
  713. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_sorting.d.ts.map +1 -0
  714. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_sorting.js +50 -0
  715. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_sorting.js.map +1 -0
  716. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts +2 -0
  717. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.d.ts.map +1 -0
  718. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.js +68 -0
  719. package/dist/esm/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.js.map +1 -0
  720. package/dist/esm/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts +2 -0
  721. package/dist/esm/queries/for_ObservableQueryFor/when_setting_api_base_path.d.ts.map +1 -0
  722. package/dist/esm/queries/for_ObservableQueryFor/when_setting_api_base_path.js +11 -0
  723. package/dist/esm/queries/for_ObservableQueryFor/when_setting_api_base_path.js.map +1 -0
  724. package/dist/esm/queries/for_ObservableQueryFor/when_setting_microservice.d.ts +2 -0
  725. package/dist/esm/queries/for_ObservableQueryFor/when_setting_microservice.d.ts.map +1 -0
  726. package/dist/esm/queries/for_ObservableQueryFor/when_setting_microservice.js +11 -0
  727. package/dist/esm/queries/for_ObservableQueryFor/when_setting_microservice.js.map +1 -0
  728. package/dist/esm/queries/for_ObservableQueryFor/when_setting_origin.d.ts +2 -0
  729. package/dist/esm/queries/for_ObservableQueryFor/when_setting_origin.d.ts.map +1 -0
  730. package/dist/esm/queries/for_ObservableQueryFor/when_setting_origin.js +11 -0
  731. package/dist/esm/queries/for_ObservableQueryFor/when_setting_origin.js.map +1 -0
  732. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts +2 -0
  733. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.d.ts.map +1 -0
  734. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.js +24 -0
  735. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.js.map +1 -0
  736. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts +2 -0
  737. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.d.ts.map +1 -0
  738. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.js +27 -0
  739. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.js.map +1 -0
  740. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts +2 -0
  741. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_paging.d.ts.map +1 -0
  742. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_paging.js +26 -0
  743. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_paging.js.map +1 -0
  744. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts +2 -0
  745. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.d.ts.map +1 -0
  746. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.js +45 -0
  747. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_route_and_query_args.js.map +1 -0
  748. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts +2 -0
  749. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_sorting.d.ts.map +1 -0
  750. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_sorting.js +27 -0
  751. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_sorting.js.map +1 -0
  752. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts +2 -0
  753. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.d.ts.map +1 -0
  754. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.js +24 -0
  755. package/dist/esm/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.js.map +1 -0
  756. package/dist/esm/queries/for_QueryFor/given/TestQueries.d.ts +37 -0
  757. package/dist/esm/queries/for_QueryFor/given/TestQueries.d.ts.map +1 -0
  758. package/dist/esm/queries/for_QueryFor/given/TestQueries.js +56 -0
  759. package/dist/esm/queries/for_QueryFor/given/TestQueries.js.map +1 -0
  760. package/dist/esm/queries/for_QueryFor/given/a_query_for.d.ts +9 -0
  761. package/dist/esm/queries/for_QueryFor/given/a_query_for.d.ts.map +1 -0
  762. package/dist/esm/queries/for_QueryFor/given/a_query_for.js +14 -0
  763. package/dist/esm/queries/for_QueryFor/given/a_query_for.js.map +1 -0
  764. package/dist/esm/queries/for_QueryFor/given/a_query_with_validator.d.ts +35 -0
  765. package/dist/esm/queries/for_QueryFor/given/a_query_with_validator.d.ts.map +1 -0
  766. package/dist/esm/queries/for_QueryFor/given/a_query_with_validator.js +35 -0
  767. package/dist/esm/queries/for_QueryFor/given/a_query_with_validator.js.map +1 -0
  768. package/dist/esm/queries/for_QueryFor/when_constructing.d.ts +2 -0
  769. package/dist/esm/queries/for_QueryFor/when_constructing.d.ts.map +1 -0
  770. package/dist/esm/queries/for_QueryFor/when_constructing.js +37 -0
  771. package/dist/esm/queries/for_QueryFor/when_constructing.js.map +1 -0
  772. package/dist/esm/queries/for_QueryFor/when_constructing_enumerable.d.ts +2 -0
  773. package/dist/esm/queries/for_QueryFor/when_constructing_enumerable.d.ts.map +1 -0
  774. package/dist/esm/queries/for_QueryFor/when_constructing_enumerable.js +14 -0
  775. package/dist/esm/queries/for_QueryFor/when_constructing_enumerable.js.map +1 -0
  776. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts +2 -0
  777. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_api_base_path.d.ts.map +1 -0
  778. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_api_base_path.js +20 -0
  779. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_api_base_path.js.map +1 -0
  780. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts +2 -0
  781. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_origin.d.ts.map +1 -0
  782. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_origin.js +20 -0
  783. package/dist/esm/queries/for_QueryFor/when_constructing_with_globals_origin.js.map +1 -0
  784. package/dist/esm/queries/for_QueryFor/when_performing/with_abort_controller.d.ts +2 -0
  785. package/dist/esm/queries/for_QueryFor/when_performing/with_abort_controller.d.ts.map +1 -0
  786. package/dist/esm/queries/for_QueryFor/when_performing/with_abort_controller.js +57 -0
  787. package/dist/esm/queries/for_QueryFor/when_performing/with_abort_controller.js.map +1 -0
  788. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts +2 -0
  789. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failing.d.ts.map +1 -0
  790. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failing.js +44 -0
  791. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failing.js.map +1 -0
  792. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts +2 -0
  793. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.d.ts.map +1 -0
  794. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.js +18 -0
  795. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.js.map +1 -0
  796. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts +2 -0
  797. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_passing.d.ts.map +1 -0
  798. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_passing.js +47 -0
  799. package/dist/esm/queries/for_QueryFor/when_performing/with_client_validation_passing.js.map +1 -0
  800. package/dist/esm/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts +2 -0
  801. package/dist/esm/queries/for_QueryFor/when_performing/with_enumerable_query.d.ts.map +1 -0
  802. package/dist/esm/queries/for_QueryFor/when_performing/with_enumerable_query.js +51 -0
  803. package/dist/esm/queries/for_QueryFor/when_performing/with_enumerable_query.js.map +1 -0
  804. package/dist/esm/queries/for_QueryFor/when_performing/with_fetch_error.d.ts +2 -0
  805. package/dist/esm/queries/for_QueryFor/when_performing/with_fetch_error.d.ts.map +1 -0
  806. package/dist/esm/queries/for_QueryFor/when_performing/with_fetch_error.js +36 -0
  807. package/dist/esm/queries/for_QueryFor/when_performing/with_fetch_error.js.map +1 -0
  808. package/dist/esm/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts +2 -0
  809. package/dist/esm/queries/for_QueryFor/when_performing/with_invalid_arguments.d.ts.map +1 -0
  810. package/dist/esm/queries/for_QueryFor/when_performing/with_invalid_arguments.js +19 -0
  811. package/dist/esm/queries/for_QueryFor/when_performing/with_invalid_arguments.js.map +1 -0
  812. package/dist/esm/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts +2 -0
  813. package/dist/esm/queries/for_QueryFor/when_performing/with_json_parse_error.d.ts.map +1 -0
  814. package/dist/esm/queries/for_QueryFor/when_performing/with_json_parse_error.js +34 -0
  815. package/dist/esm/queries/for_QueryFor/when_performing/with_json_parse_error.js.map +1 -0
  816. package/dist/esm/queries/for_QueryFor/when_performing/with_paging.d.ts +2 -0
  817. package/dist/esm/queries/for_QueryFor/when_performing/with_paging.d.ts.map +1 -0
  818. package/dist/esm/queries/for_QueryFor/when_performing/with_paging.js +52 -0
  819. package/dist/esm/queries/for_QueryFor/when_performing/with_paging.js.map +1 -0
  820. package/dist/esm/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts +2 -0
  821. package/dist/esm/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.d.ts.map +1 -0
  822. package/dist/esm/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.js +58 -0
  823. package/dist/esm/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.js.map +1 -0
  824. package/dist/esm/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts +2 -0
  825. package/dist/esm/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.d.ts.map +1 -0
  826. package/dist/esm/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.js +56 -0
  827. package/dist/esm/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.js.map +1 -0
  828. package/dist/esm/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts +2 -0
  829. package/dist/esm/queries/for_QueryFor/when_performing/with_query_without_required_parameters.d.ts.map +1 -0
  830. package/dist/esm/queries/for_QueryFor/when_performing/with_query_without_required_parameters.js +48 -0
  831. package/dist/esm/queries/for_QueryFor/when_performing/with_query_without_required_parameters.js.map +1 -0
  832. package/dist/esm/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts +2 -0
  833. package/dist/esm/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.d.ts.map +1 -0
  834. package/dist/esm/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.js +60 -0
  835. package/dist/esm/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.js.map +1 -0
  836. package/dist/esm/queries/for_QueryFor/when_performing/with_sorting.d.ts +2 -0
  837. package/dist/esm/queries/for_QueryFor/when_performing/with_sorting.d.ts.map +1 -0
  838. package/dist/esm/queries/for_QueryFor/when_performing/with_sorting.js +82 -0
  839. package/dist/esm/queries/for_QueryFor/when_performing/with_sorting.js.map +1 -0
  840. package/dist/esm/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts +2 -0
  841. package/dist/esm/queries/for_QueryFor/when_performing/with_valid_arguments.d.ts.map +1 -0
  842. package/dist/esm/queries/for_QueryFor/when_performing/with_valid_arguments.js +73 -0
  843. package/dist/esm/queries/for_QueryFor/when_performing/with_valid_arguments.js.map +1 -0
  844. package/dist/esm/queries/for_QueryFor/when_setting_api_base_path.d.ts +2 -0
  845. package/dist/esm/queries/for_QueryFor/when_setting_api_base_path.d.ts.map +1 -0
  846. package/dist/esm/queries/for_QueryFor/when_setting_api_base_path.js +12 -0
  847. package/dist/esm/queries/for_QueryFor/when_setting_api_base_path.js.map +1 -0
  848. package/dist/esm/queries/for_QueryFor/when_setting_microservice.d.ts +2 -0
  849. package/dist/esm/queries/for_QueryFor/when_setting_microservice.d.ts.map +1 -0
  850. package/dist/esm/queries/for_QueryFor/when_setting_microservice.js +12 -0
  851. package/dist/esm/queries/for_QueryFor/when_setting_microservice.js.map +1 -0
  852. package/dist/esm/queries/for_QueryFor/when_setting_origin.d.ts +2 -0
  853. package/dist/esm/queries/for_QueryFor/when_setting_origin.d.ts.map +1 -0
  854. package/dist/esm/queries/for_QueryFor/when_setting_origin.js +12 -0
  855. package/dist/esm/queries/for_QueryFor/when_setting_origin.js.map +1 -0
  856. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts +2 -0
  857. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.d.ts.map +1 -0
  858. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.js +21 -0
  859. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.js.map +1 -0
  860. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts +2 -0
  861. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.d.ts.map +1 -0
  862. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.js +21 -0
  863. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.js.map +1 -0
  864. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts +2 -0
  865. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.d.ts.map +1 -0
  866. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.js +21 -0
  867. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.js.map +1 -0
  868. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts +2 -0
  869. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.d.ts.map +1 -0
  870. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.js +21 -0
  871. package/dist/esm/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.js.map +1 -0
  872. package/dist/esm/queries/for_WebSocketMessage/when_creating_messages.d.ts +2 -0
  873. package/dist/esm/queries/for_WebSocketMessage/when_creating_messages.d.ts.map +1 -0
  874. package/dist/esm/queries/for_WebSocketMessage/when_creating_messages.js +53 -0
  875. package/dist/esm/queries/for_WebSocketMessage/when_creating_messages.js.map +1 -0
  876. package/dist/esm/queries/index.d.ts +2 -0
  877. package/dist/esm/queries/index.d.ts.map +1 -1
  878. package/dist/esm/queries/index.js +2 -0
  879. package/dist/esm/queries/index.js.map +1 -1
  880. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  881. package/dist/esm/validation/IValidationRule.d.ts +5 -0
  882. package/dist/esm/validation/IValidationRule.d.ts.map +1 -0
  883. package/dist/esm/validation/IValidationRule.js +2 -0
  884. package/dist/esm/validation/IValidationRule.js.map +1 -0
  885. package/dist/esm/validation/PropertyRule.d.ts +11 -0
  886. package/dist/esm/validation/PropertyRule.d.ts.map +1 -0
  887. package/dist/esm/validation/PropertyRule.js +25 -0
  888. package/dist/esm/validation/PropertyRule.js.map +1 -0
  889. package/dist/esm/validation/PropertyValidator.d.ts +11 -0
  890. package/dist/esm/validation/PropertyValidator.d.ts.map +1 -0
  891. package/dist/esm/validation/PropertyValidator.js +24 -0
  892. package/dist/esm/validation/PropertyValidator.js.map +1 -0
  893. package/dist/esm/validation/RuleBuilder.d.ts +11 -0
  894. package/dist/esm/validation/RuleBuilder.d.ts.map +1 -0
  895. package/dist/esm/validation/RuleBuilder.js +25 -0
  896. package/dist/esm/validation/RuleBuilder.js.map +1 -0
  897. package/dist/esm/validation/RuleBuilderExtensions.d.ts +28 -0
  898. package/dist/esm/validation/RuleBuilderExtensions.d.ts.map +1 -0
  899. package/dist/esm/validation/RuleBuilderExtensions.js +65 -0
  900. package/dist/esm/validation/RuleBuilderExtensions.js.map +1 -0
  901. package/dist/esm/validation/Validator.d.ts +8 -1
  902. package/dist/esm/validation/Validator.d.ts.map +1 -1
  903. package/dist/esm/validation/Validator.js +41 -0
  904. package/dist/esm/validation/Validator.js.map +1 -1
  905. package/dist/esm/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts +2 -0
  906. package/dist/esm/validation/for_Validator/when_defining_multiple_rules_for_same_property.d.ts.map +1 -0
  907. package/dist/esm/validation/for_Validator/when_defining_multiple_rules_for_same_property.js +20 -0
  908. package/dist/esm/validation/for_Validator/when_defining_multiple_rules_for_same_property.js.map +1 -0
  909. package/dist/esm/validation/for_Validator/when_using_custom_error_message.d.ts +2 -0
  910. package/dist/esm/validation/for_Validator/when_using_custom_error_message.d.ts.map +1 -0
  911. package/dist/esm/validation/for_Validator/when_using_custom_error_message.js +19 -0
  912. package/dist/esm/validation/for_Validator/when_using_custom_error_message.js.map +1 -0
  913. package/dist/esm/validation/for_Validator/when_validating/with_all_rules_passing.d.ts +2 -0
  914. package/dist/esm/validation/for_Validator/when_validating/with_all_rules_passing.d.ts.map +1 -0
  915. package/dist/esm/validation/for_Validator/when_validating/with_all_rules_passing.js +21 -0
  916. package/dist/esm/validation/for_Validator/when_validating/with_all_rules_passing.js.map +1 -0
  917. package/dist/esm/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts +2 -0
  918. package/dist/esm/validation/for_Validator/when_validating/with_multiple_rules_failing.d.ts.map +1 -0
  919. package/dist/esm/validation/for_Validator/when_validating/with_multiple_rules_failing.js +24 -0
  920. package/dist/esm/validation/for_Validator/when_validating/with_multiple_rules_failing.js.map +1 -0
  921. package/dist/esm/validation/for_Validator/when_validating/with_one_rule_failing.d.ts +2 -0
  922. package/dist/esm/validation/for_Validator/when_validating/with_one_rule_failing.d.ts.map +1 -0
  923. package/dist/esm/validation/for_Validator/when_validating/with_one_rule_failing.js +24 -0
  924. package/dist/esm/validation/for_Validator/when_validating/with_one_rule_failing.js.map +1 -0
  925. package/dist/esm/validation/index.d.ts +11 -0
  926. package/dist/esm/validation/index.d.ts.map +1 -1
  927. package/dist/esm/validation/index.js +10 -0
  928. package/dist/esm/validation/index.js.map +1 -1
  929. package/dist/esm/validation/rules/ComparisonRules.d.ts +22 -0
  930. package/dist/esm/validation/rules/ComparisonRules.d.ts.map +1 -0
  931. package/dist/esm/validation/rules/ComparisonRules.js +57 -0
  932. package/dist/esm/validation/rules/ComparisonRules.js.map +1 -0
  933. package/dist/esm/validation/rules/EmailRule.d.ts +7 -0
  934. package/dist/esm/validation/rules/EmailRule.d.ts.map +1 -0
  935. package/dist/esm/validation/rules/EmailRule.js +17 -0
  936. package/dist/esm/validation/rules/EmailRule.js.map +1 -0
  937. package/dist/esm/validation/rules/LengthRules.d.ts +18 -0
  938. package/dist/esm/validation/rules/LengthRules.d.ts.map +1 -0
  939. package/dist/esm/validation/rules/LengthRules.js +46 -0
  940. package/dist/esm/validation/rules/LengthRules.js.map +1 -0
  941. package/dist/esm/validation/rules/NotEmptyRule.d.ts +10 -0
  942. package/dist/esm/validation/rules/NotEmptyRule.d.ts.map +1 -0
  943. package/dist/esm/validation/rules/NotEmptyRule.js +30 -0
  944. package/dist/esm/validation/rules/NotEmptyRule.js.map +1 -0
  945. package/dist/esm/validation/rules/RegexRule.d.ts +7 -0
  946. package/dist/esm/validation/rules/RegexRule.d.ts.map +1 -0
  947. package/dist/esm/validation/rules/RegexRule.js +18 -0
  948. package/dist/esm/validation/rules/RegexRule.js.map +1 -0
  949. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts +2 -0
  950. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_empty_string.d.ts.map +1 -0
  951. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_empty_string.js +15 -0
  952. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_empty_string.js.map +1 -0
  953. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts +2 -0
  954. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_invalid_email.d.ts.map +1 -0
  955. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_invalid_email.js +15 -0
  956. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_invalid_email.js.map +1 -0
  957. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts +2 -0
  958. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_valid_email.d.ts.map +1 -0
  959. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_valid_email.js +15 -0
  960. package/dist/esm/validation/rules/for_EmailRule/when_validating/with_valid_email.js.map +1 -0
  961. package/dist/esm/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts +2 -0
  962. package/dist/esm/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.d.ts.map +1 -0
  963. package/dist/esm/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.js +15 -0
  964. package/dist/esm/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.js.map +1 -0
  965. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts +2 -0
  966. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.d.ts.map +1 -0
  967. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.js +15 -0
  968. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.js.map +1 -0
  969. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts +2 -0
  970. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.d.ts.map +1 -0
  971. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.js +15 -0
  972. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.js.map +1 -0
  973. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts +2 -0
  974. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.d.ts.map +1 -0
  975. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.js +18 -0
  976. package/dist/esm/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.js.map +1 -0
  977. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts +2 -0
  978. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +1 -0
  979. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.js +15 -0
  980. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.js.map +1 -0
  981. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts +2 -0
  982. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +1 -0
  983. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.js +15 -0
  984. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.js.map +1 -0
  985. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts +2 -0
  986. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_within_range.d.ts.map +1 -0
  987. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_within_range.js +15 -0
  988. package/dist/esm/validation/rules/for_LengthRule/when_validating/with_string_within_range.js.map +1 -0
  989. package/dist/esm/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts +2 -0
  990. package/dist/esm/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.d.ts.map +1 -0
  991. package/dist/esm/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.js +15 -0
  992. package/dist/esm/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.js.map +1 -0
  993. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts +2 -0
  994. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.d.ts.map +1 -0
  995. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.js +15 -0
  996. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.js.map +1 -0
  997. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts +2 -0
  998. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.d.ts.map +1 -0
  999. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.js +18 -0
  1000. package/dist/esm/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.js.map +1 -0
  1001. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts +2 -0
  1002. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.d.ts.map +1 -0
  1003. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.js +15 -0
  1004. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.js.map +1 -0
  1005. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts +2 -0
  1006. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.d.ts.map +1 -0
  1007. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.js +15 -0
  1008. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.js.map +1 -0
  1009. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts +2 -0
  1010. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.d.ts.map +1 -0
  1011. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.js +18 -0
  1012. package/dist/esm/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.js.map +1 -0
  1013. package/dist/esm/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts +2 -0
  1014. package/dist/esm/validation/rules/for_NotEmptyRule/when_setting_custom_message.d.ts.map +1 -0
  1015. package/dist/esm/validation/rules/for_NotEmptyRule/when_setting_custom_message.js +17 -0
  1016. package/dist/esm/validation/rules/for_NotEmptyRule/when_setting_custom_message.js.map +1 -0
  1017. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts +2 -0
  1018. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.d.ts.map +1 -0
  1019. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.js +15 -0
  1020. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.js.map +1 -0
  1021. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts +2 -0
  1022. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.d.ts.map +1 -0
  1023. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.js +15 -0
  1024. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.js.map +1 -0
  1025. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts +2 -0
  1026. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.d.ts.map +1 -0
  1027. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.js +15 -0
  1028. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.js.map +1 -0
  1029. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts +2 -0
  1030. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_null_value.d.ts.map +1 -0
  1031. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_null_value.js +25 -0
  1032. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_null_value.js.map +1 -0
  1033. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts +2 -0
  1034. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.d.ts.map +1 -0
  1035. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.js +19 -0
  1036. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.js.map +1 -0
  1037. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts +2 -0
  1038. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.d.ts.map +1 -0
  1039. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.js +15 -0
  1040. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.js.map +1 -0
  1041. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts +2 -0
  1042. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.d.ts.map +1 -0
  1043. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.js +15 -0
  1044. package/dist/esm/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.js.map +1 -0
  1045. package/helpers/fetchHelper.ts +30 -0
  1046. package/identity/IIdentityProvider.ts +4 -1
  1047. package/identity/IdentityProvider.ts +14 -9
  1048. package/identity/for_IdentityProvider/given/an_identity_provider.ts +4 -5
  1049. package/identity/for_IdentityProvider/when_getting_current/with_type_safe_details.ts +43 -0
  1050. package/identity/for_IdentityProvider/when_refreshing/with_type_safe_details.ts +42 -0
  1051. package/package.json +1 -1
  1052. package/queries/IObservableQueryConnection.ts +10 -0
  1053. package/queries/NullObservableQueryConnection.ts +10 -0
  1054. package/queries/ObservableQueryConnection.ts +93 -2
  1055. package/queries/QueryFor.ts +29 -0
  1056. package/queries/QueryValidator.ts +19 -0
  1057. package/queries/WebSocketMessage.ts +44 -0
  1058. package/queries/for_ObservableQueryConnection/given/an_observable_query_connection.ts +27 -0
  1059. package/queries/for_ObservableQueryConnection/when_constructing.ts +15 -0
  1060. package/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.ts +5 -2
  1061. package/queries/for_ObservableQueryFor/when_performing/with_paging.ts +5 -6
  1062. package/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.ts +5 -2
  1063. package/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.ts +5 -2
  1064. package/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.ts +5 -2
  1065. package/queries/for_ObservableQueryFor/when_performing/with_sorting.ts +5 -2
  1066. package/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.ts +7 -2
  1067. package/queries/for_QueryFor/given/a_query_with_validator.ts +54 -0
  1068. package/queries/for_QueryFor/when_performing/with_abort_controller.ts +6 -3
  1069. package/queries/for_QueryFor/when_performing/with_client_validation_failing.ts +63 -0
  1070. package/queries/for_QueryFor/when_performing/with_client_validation_failure_and_custom_message.ts +28 -0
  1071. package/queries/for_QueryFor/when_performing/with_client_validation_passing.ts +64 -0
  1072. package/queries/for_QueryFor/when_performing/with_enumerable_query.ts +5 -2
  1073. package/queries/for_QueryFor/when_performing/with_fetch_error.ts +5 -2
  1074. package/queries/for_QueryFor/when_performing/with_json_parse_error.ts +6 -3
  1075. package/queries/for_QueryFor/when_performing/with_paging.ts +5 -2
  1076. package/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.ts +5 -2
  1077. package/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.ts +5 -2
  1078. package/queries/for_QueryFor/when_performing/with_query_without_required_parameters.ts +5 -6
  1079. package/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.ts +5 -2
  1080. package/queries/for_QueryFor/when_performing/with_sorting.ts +8 -4
  1081. package/queries/for_QueryFor/when_performing/with_valid_arguments.ts +6 -3
  1082. package/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.ts +1 -1
  1083. package/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.ts +1 -1
  1084. package/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.ts +1 -1
  1085. package/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.ts +1 -1
  1086. package/queries/for_WebSocketMessage/when_creating_messages.ts +67 -0
  1087. package/queries/index.ts +3 -1
  1088. package/validation/IValidationRule.ts +18 -0
  1089. package/validation/PropertyRule.ts +59 -0
  1090. package/validation/PropertyValidator.ts +51 -0
  1091. package/validation/RuleBuilder.ts +49 -0
  1092. package/validation/RuleBuilderExtensions.ts +176 -0
  1093. package/validation/Validator.ts +74 -4
  1094. package/validation/for_Validator/when_defining_multiple_rules_for_same_property.ts +32 -0
  1095. package/validation/for_Validator/when_using_custom_error_message.ts +30 -0
  1096. package/validation/for_Validator/when_validating/with_all_rules_passing.ts +34 -0
  1097. package/validation/for_Validator/when_validating/with_multiple_rules_failing.ts +38 -0
  1098. package/validation/for_Validator/when_validating/with_one_rule_failing.ts +38 -0
  1099. package/validation/index.ts +11 -0
  1100. package/validation/rules/ComparisonRules.ts +96 -0
  1101. package/validation/rules/EmailRule.ts +28 -0
  1102. package/validation/rules/LengthRules.ts +74 -0
  1103. package/validation/rules/NotEmptyRule.ts +51 -0
  1104. package/validation/rules/RegexRule.ts +28 -0
  1105. package/validation/rules/for_EmailRule/when_validating/with_empty_string.ts +25 -0
  1106. package/validation/rules/for_EmailRule/when_validating/with_invalid_email.ts +25 -0
  1107. package/validation/rules/for_EmailRule/when_validating/with_valid_email.ts +25 -0
  1108. package/validation/rules/for_GreaterThanOrEqualRule/when_validating/with_value_equal_to_threshold.ts +25 -0
  1109. package/validation/rules/for_GreaterThanRule/when_validating/with_value_equal_to_threshold.ts +25 -0
  1110. package/validation/rules/for_GreaterThanRule/when_validating/with_value_greater_than_threshold.ts +25 -0
  1111. package/validation/rules/for_GreaterThanRule/when_validating/with_value_less_than_threshold.ts +29 -0
  1112. package/validation/rules/for_LengthRule/when_validating/with_string_longer_than_maximum.ts +25 -0
  1113. package/validation/rules/for_LengthRule/when_validating/with_string_shorter_than_minimum.ts +25 -0
  1114. package/validation/rules/for_LengthRule/when_validating/with_string_within_range.ts +25 -0
  1115. package/validation/rules/for_LessThanRule/when_validating/with_value_less_than_threshold.ts +25 -0
  1116. package/validation/rules/for_MaxLengthRule/when_validating/with_string_equal_to_maximum.ts +25 -0
  1117. package/validation/rules/for_MaxLengthRule/when_validating/with_string_longer_than_maximum.ts +29 -0
  1118. package/validation/rules/for_MinLengthRule/when_validating/with_string_equal_to_minimum.ts +25 -0
  1119. package/validation/rules/for_MinLengthRule/when_validating/with_string_longer_than_minimum.ts +25 -0
  1120. package/validation/rules/for_MinLengthRule/when_validating/with_string_shorter_than_minimum.ts +29 -0
  1121. package/validation/rules/for_NotEmptyRule/when_setting_custom_message.ts +27 -0
  1122. package/validation/rules/for_NotEmptyRule/when_validating/with_empty_array.ts +25 -0
  1123. package/validation/rules/for_NotEmptyRule/when_validating/with_empty_string.ts +25 -0
  1124. package/validation/rules/for_NotEmptyRule/when_validating/with_non_empty_array.ts +25 -0
  1125. package/validation/rules/for_NotEmptyRule/when_validating/with_null_value.ts +38 -0
  1126. package/validation/rules/for_NotEmptyRule/when_validating/with_undefined_value.ts +30 -0
  1127. package/validation/rules/for_NotEmptyRule/when_validating/with_valid_string.ts +25 -0
  1128. package/validation/rules/for_NotEmptyRule/when_validating/with_whitespace_string.ts +25 -0
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var fundamentals = require('@cratis/fundamentals');
3
4
  var IIdentityProvider = require('./IIdentityProvider.js');
4
5
  var Globals = require('../Globals.js');
5
6
  var joinPaths = require('../joinPaths.js');
@@ -18,28 +19,29 @@ class IdentityProvider extends IIdentityProvider.IIdentityProvider {
18
19
  static setOrigin(origin) {
19
20
  IdentityProvider.origin = origin;
20
21
  }
21
- static async getCurrent() {
22
+ static async getCurrent(type) {
22
23
  const cookie = this.getCookie();
23
24
  if (cookie.length == 2) {
24
25
  const json = atob(cookie[1]);
25
26
  const result = JSON.parse(json);
27
+ const details = type ? fundamentals.JsonSerializer.deserializeFromInstance(type, result.details) : result.details;
26
28
  return {
27
29
  id: result.id,
28
30
  name: result.name,
29
- details: result.details,
31
+ details: details,
30
32
  isSet: true,
31
- refresh: IdentityProvider.refresh
33
+ refresh: () => IdentityProvider.refresh(type)
32
34
  };
33
35
  }
34
36
  else {
35
- const identity = await this.refresh();
37
+ const identity = await this.refresh(type);
36
38
  return identity;
37
39
  }
38
40
  }
39
- async getCurrent() {
40
- return IdentityProvider.getCurrent();
41
+ async getCurrent(type) {
42
+ return IdentityProvider.getCurrent(type);
41
43
  }
42
- static async refresh() {
44
+ static async refresh(type) {
43
45
  IdentityProvider.clearCookie();
44
46
  const apiBasePath = IdentityProvider.apiBasePath || Globals.Globals.apiBasePath || '';
45
47
  const url = joinPaths.joinPaths(apiBasePath, '/.cratis/me');
@@ -48,12 +50,13 @@ class IdentityProvider extends IIdentityProvider.IIdentityProvider {
48
50
  headers: IdentityProvider.httpHeadersCallback?.() ?? {}
49
51
  });
50
52
  const result = await response.json();
53
+ const details = type ? fundamentals.JsonSerializer.deserializeFromInstance(type, result.details) : result.details;
51
54
  return {
52
55
  id: result.id,
53
56
  name: result.name,
54
- details: result.details,
57
+ details: details,
55
58
  isSet: true,
56
- refresh: IdentityProvider.refresh
59
+ refresh: () => IdentityProvider.refresh(type)
57
60
  };
58
61
  }
59
62
  static getCookie() {
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProvider.js","sources":["../../../identity/IdentityProvider.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 { IIdentityProvider } from './IIdentityProvider';\nimport { IIdentity } from './IIdentity';\nimport { IdentityProviderResult } from './IdentityProviderResult';\nimport { GetHttpHeaders } from 'GetHttpHeaders';\nimport { Globals } from '../Globals';\nimport { joinPaths } from '../joinPaths';\n\n/**\n * Represents an implementation of {@link IIdentityProvider}.\n*/\nexport class IdentityProvider extends IIdentityProvider {\n\n static readonly CookieName = '.cratis-identity';\n static httpHeadersCallback: GetHttpHeaders | undefined;\n static apiBasePath: string = '';\n static origin: string = '';\n\n /**\n * Sets the HTTP headers callback.\n * @param callback Callback to set.\n */\n static setHttpHeadersCallback(callback: GetHttpHeaders): void {\n IdentityProvider.httpHeadersCallback = callback;\n }\n\n /**\n * Sets the API base path.\n * @param apiBasePath API base path to set.\n */\n static setApiBasePath(apiBasePath: string): void {\n IdentityProvider.apiBasePath = apiBasePath;\n }\n\n /**\n * Sets the origin.\n * @param origin Origin to set.\n */\n static setOrigin(origin: string): void {\n IdentityProvider.origin = origin;\n }\n\n /**\n * Gets the current identity by optionally specifying the details type.\n * @returns The current identity as {@link IIdentity}.\n */\n static async getCurrent<TDetails = object>(): Promise<IIdentity<TDetails>> {\n const cookie = this.getCookie();\n if (cookie.length == 2) {\n const json = atob(cookie[1]);\n const result = JSON.parse(json) as IdentityProviderResult;\n return {\n id: result.id,\n name: result.name,\n details: result.details,\n isSet: true,\n refresh: IdentityProvider.refresh\n } as IIdentity<TDetails>;\n } else {\n const identity = await this.refresh<TDetails>();\n return identity;\n }\n }\n\n /** @inheritdoc */\n async getCurrent<TDetails = object>(): Promise<IIdentity<TDetails>> {\n return IdentityProvider.getCurrent<TDetails>();\n }\n\n static async refresh<TDetails = object>(): Promise<IIdentity<TDetails>> {\n IdentityProvider.clearCookie();\n const apiBasePath = IdentityProvider.apiBasePath || Globals.apiBasePath || '';\n const url = joinPaths(apiBasePath, '/.cratis/me');\n const response = await fetch(\n url, {\n method: 'GET',\n headers: IdentityProvider.httpHeadersCallback?.() ?? {}\n });\n\n const result = await response.json() as IdentityProviderResult;\n\n return {\n id: result.id,\n name: result.name,\n details: result.details as TDetails,\n isSet: true,\n refresh: IdentityProvider.refresh\n };\n }\n\n private static getCookie() {\n const decoded = decodeURIComponent(document.cookie);\n const cookies = decoded.split(';').map(_ => _.trim());\n const cookie = cookies.find(_ => _.indexOf(`${IdentityProvider.CookieName}=`) == 0);\n if (cookie) {\n const keyValue = cookie.split('=');\n return [keyValue[0].trim(), keyValue[1].trim()];\n }\n return [];\n }\n\n private static clearCookie() {\n document.cookie = `${IdentityProvider.CookieName}=;expires=Thu, 01 Jan 1970 00:00:00 GMT`;\n }\n}\n"],"names":["IIdentityProvider","Globals","joinPaths"],"mappings":"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"}
1
+ {"version":3,"file":"IdentityProvider.js","sources":["../../../identity/IdentityProvider.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 { Constructor, JsonSerializer } from '@cratis/fundamentals';\nimport { IIdentityProvider } from './IIdentityProvider';\nimport { IIdentity } from './IIdentity';\nimport { IdentityProviderResult } from './IdentityProviderResult';\nimport { GetHttpHeaders } from 'GetHttpHeaders';\nimport { Globals } from '../Globals';\nimport { joinPaths } from '../joinPaths';\n\n/**\n * Represents an implementation of {@link IIdentityProvider}.\n*/\nexport class IdentityProvider extends IIdentityProvider {\n\n static readonly CookieName = '.cratis-identity';\n static httpHeadersCallback: GetHttpHeaders | undefined;\n static apiBasePath: string = '';\n static origin: string = '';\n\n /**\n * Sets the HTTP headers callback.\n * @param callback Callback to set.\n */\n static setHttpHeadersCallback(callback: GetHttpHeaders): void {\n IdentityProvider.httpHeadersCallback = callback;\n }\n\n /**\n * Sets the API base path.\n * @param apiBasePath API base path to set.\n */\n static setApiBasePath(apiBasePath: string): void {\n IdentityProvider.apiBasePath = apiBasePath;\n }\n\n /**\n * Sets the origin.\n * @param origin Origin to set.\n */\n static setOrigin(origin: string): void {\n IdentityProvider.origin = origin;\n }\n\n /**\n * Gets the current identity by optionally specifying the details type.\n * @param type Optional constructor for the details type to enable type-safe deserialization.\n * @returns The current identity as {@link IIdentity}.\n * @remarks The `extends object` constraint is required for compatibility with JsonSerializer.deserializeFromInstance().\n */\n static async getCurrent<TDetails extends object = object>(type?: Constructor<TDetails>): Promise<IIdentity<TDetails>> {\n const cookie = this.getCookie();\n if (cookie.length == 2) {\n const json = atob(cookie[1]);\n const result = JSON.parse(json) as IdentityProviderResult;\n const details = type ? JsonSerializer.deserializeFromInstance(type, result.details) : result.details;\n return {\n id: result.id,\n name: result.name,\n details: details as TDetails,\n isSet: true,\n refresh: () => IdentityProvider.refresh(type)\n } as IIdentity<TDetails>;\n } else {\n const identity = await this.refresh<TDetails>(type);\n return identity;\n }\n }\n\n /** @inheritdoc */\n async getCurrent<TDetails extends object = object>(type?: Constructor<TDetails>): Promise<IIdentity<TDetails>> {\n return IdentityProvider.getCurrent<TDetails>(type);\n }\n\n static async refresh<TDetails extends object = object>(type?: Constructor<TDetails>): Promise<IIdentity<TDetails>> {\n IdentityProvider.clearCookie();\n const apiBasePath = IdentityProvider.apiBasePath || Globals.apiBasePath || '';\n const url = joinPaths(apiBasePath, '/.cratis/me');\n const response = await fetch(\n url, {\n method: 'GET',\n headers: IdentityProvider.httpHeadersCallback?.() ?? {}\n });\n\n const result = await response.json() as IdentityProviderResult;\n const details = type ? JsonSerializer.deserializeFromInstance(type, result.details) : result.details;\n\n return {\n id: result.id,\n name: result.name,\n details: details as TDetails,\n isSet: true,\n refresh: () => IdentityProvider.refresh(type)\n };\n }\n\n private static getCookie() {\n const decoded = decodeURIComponent(document.cookie);\n const cookies = decoded.split(';').map(_ => _.trim());\n const cookie = cookies.find(_ => _.indexOf(`${IdentityProvider.CookieName}=`) == 0);\n if (cookie) {\n const keyValue = cookie.split('=');\n return [keyValue[0].trim(), keyValue[1].trim()];\n }\n return [];\n }\n\n private static clearCookie() {\n document.cookie = `${IdentityProvider.CookieName}=;expires=Thu, 01 Jan 1970 00:00:00 GMT`;\n }\n}\n"],"names":["IIdentityProvider","JsonSerializer","Globals","joinPaths"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import sinon from 'sinon';
2
+ export declare class an_identity_provider {
3
+ fetchStub: sinon.SinonStub;
4
+ fetchHelper: {
5
+ stubFetch: () => sinon.SinonStub;
6
+ restore: () => void;
7
+ };
8
+ originalApiBasePath: string;
9
+ originalOrigin: string;
10
+ constructor();
11
+ }
12
+ //# sourceMappingURL=an_identity_provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"an_identity_provider.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/given/an_identity_provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,qBAAa,oBAAoB;IAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACvE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;;CAc1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_type_safe_details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_type_safe_details.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/when_getting_current/with_type_safe_details.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_api_base_path_set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_api_base_path_set.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/when_refreshing/with_api_base_path_set.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_globals_api_base_path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_globals_api_base_path.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/when_refreshing/with_globals_api_base_path.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=with_type_safe_details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with_type_safe_details.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/when_refreshing/with_type_safe_details.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=without_api_base_path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"without_api_base_path.d.ts","sourceRoot":"","sources":["../../../../../identity/for_IdentityProvider/when_refreshing/without_api_base_path.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_setting_api_base_path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_setting_api_base_path.d.ts","sourceRoot":"","sources":["../../../../identity/for_IdentityProvider/when_setting_api_base_path.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=when_setting_origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when_setting_origin.d.ts","sourceRoot":"","sources":["../../../../identity/for_IdentityProvider/when_setting_origin.ts"],"names":[],"mappings":""}
@@ -1,5 +1,7 @@
1
1
  import { DataReceived } from './ObservableQueryConnection';
2
2
  export interface IObservableQueryConnection<TDataType> {
3
+ readonly lastPingLatency: number;
4
+ readonly averageLatency: number;
3
5
  connect(dataReceived: DataReceived<TDataType>, queryArguments?: object): void;
4
6
  disconnect(): any;
5
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/IObservableQueryConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK3D,MAAM,WAAW,0BAA0B,CAAC,SAAS;IAMjD,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9E,UAAU,QAAG;CAChB"}
1
+ {"version":3,"file":"IObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/IObservableQueryConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK3D,MAAM,WAAW,0BAA0B,CAAC,SAAS;IAIjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAKjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAOhC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9E,UAAU,QAAG;CAChB"}
@@ -3,6 +3,8 @@ import { IObservableQueryConnection } from './IObservableQueryConnection';
3
3
  export declare class NullObservableQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {
4
4
  readonly defaultValue: TDataType;
5
5
  constructor(defaultValue: TDataType);
6
+ get lastPingLatency(): number;
7
+ get averageLatency(): number;
6
8
  connect(dataReceived: DataReceived<TDataType>): void;
7
9
  disconnect(): void;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NullObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/NullObservableQueryConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAO1E,qBAAa,6BAA6B,CAAC,SAAS,CAAE,YAAW,0BAA0B,CAAC,SAAS,CAAC;IAKtF,QAAQ,CAAC,YAAY,EAAE,SAAS;gBAAvB,YAAY,EAAE,SAAS;IAI5C,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;IAM7C,UAAU;CAEb"}
1
+ {"version":3,"file":"NullObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/NullObservableQueryConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAO1E,qBAAa,6BAA6B,CAAC,SAAS,CAAE,YAAW,0BAA0B,CAAC,SAAS,CAAC;IAKtF,QAAQ,CAAC,YAAY,EAAE,SAAS;gBAAvB,YAAY,EAAE,SAAS;IAI5C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAGD,IAAI,cAAc,IAAI,MAAM,CAE3B;IAGD,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;IAM7C,UAAU;CAEb"}
@@ -7,6 +7,12 @@ class NullObservableQueryConnection {
7
7
  constructor(defaultValue) {
8
8
  this.defaultValue = defaultValue;
9
9
  }
10
+ get lastPingLatency() {
11
+ return 0;
12
+ }
13
+ get averageLatency() {
14
+ return 0;
15
+ }
10
16
  connect(dataReceived) {
11
17
  dataReceived(QueryResult.QueryResult.empty(this.defaultValue));
12
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NullObservableQueryConnection.js","sources":["../../../queries/NullObservableQueryConnection.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 { DataReceived } from './ObservableQueryConnection';\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\n\n/**\n * Represents a {@link IObservableQueryConnection} when for instance one can't establish a connection.\n */\n\nexport class NullObservableQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n /**\n * Initializes a new instance of the {@link NullObservableQueryConnection} class.\n * @param {TDataType} defaultValue The default value to serve.\n */\n constructor(readonly defaultValue: TDataType) {\n }\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>) {\n dataReceived(QueryResult.empty(this.defaultValue));\n }\n\n /** @inheritdoc */\n /* eslint-disable @typescript-eslint/no-empty-function */\n disconnect() {\n }\n}\n"],"names":["QueryResult"],"mappings":";;;;MAWa,6BAA6B,CAAA;AAKjB,IAAA,YAAA;AAArB,IAAA,WAAA,CAAqB,YAAuB,EAAA;QAAvB,IAAA,CAAA,YAAY,GAAZ,YAAY;IACjC;AAGA,IAAA,OAAO,CAAC,YAAqC,EAAA;QACzC,YAAY,CAACA,uBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD;IAIA,UAAU,GAAA;IACV;AACH;;;;"}
1
+ {"version":3,"file":"NullObservableQueryConnection.js","sources":["../../../queries/NullObservableQueryConnection.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 { DataReceived } from './ObservableQueryConnection';\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\n\n/**\n * Represents a {@link IObservableQueryConnection} when for instance one can't establish a connection.\n */\n\nexport class NullObservableQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n /**\n * Initializes a new instance of the {@link NullObservableQueryConnection} class.\n * @param {TDataType} defaultValue The default value to serve.\n */\n constructor(readonly defaultValue: TDataType) {\n }\n\n /** @inheritdoc */\n get lastPingLatency(): number {\n return 0;\n }\n\n /** @inheritdoc */\n get averageLatency(): number {\n return 0;\n }\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>) {\n dataReceived(QueryResult.empty(this.defaultValue));\n }\n\n /** @inheritdoc */\n /* eslint-disable @typescript-eslint/no-empty-function */\n disconnect() {\n }\n}\n"],"names":["QueryResult"],"mappings":";;;;MAWa,6BAA6B,CAAA;AAKjB,IAAA,YAAA;AAArB,IAAA,WAAA,CAAqB,YAAuB,EAAA;QAAvB,IAAA,CAAA,YAAY,GAAZ,YAAY;IACjC;AAGA,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,CAAC;IACZ;AAGA,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC;IACZ;AAGA,IAAA,OAAO,CAAC,YAAqC,EAAA;QACzC,YAAY,CAACA,uBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD;IAIA,UAAU,GAAA;IACV;AACH;;;;"}
@@ -6,9 +6,22 @@ export declare class ObservableQueryConnection<TDataType> implements IObservable
6
6
  private _socket;
7
7
  private _disconnected;
8
8
  private _url;
9
- constructor(url: URL, _microservice: string);
9
+ private _pingInterval?;
10
+ private _pingIntervalMs;
11
+ private _lastPingSentTime?;
12
+ private _lastPongLatency;
13
+ private _latencySamples;
14
+ private _connectionStartTime?;
15
+ constructor(url: URL, _microservice: string, pingIntervalMs?: number);
10
16
  dispose(): void;
17
+ get lastPingLatency(): number;
18
+ get averageLatency(): number;
11
19
  connect(dataReceived: DataReceived<TDataType>, queryArguments?: object): void;
12
20
  disconnect(): void;
21
+ private startPinging;
22
+ private stopPinging;
23
+ private sendPing;
24
+ private handleMessage;
25
+ private handlePong;
13
26
  }
14
27
  //# sourceMappingURL=ObservableQueryConnection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/ObservableQueryConnection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,YAAY,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAK7E,qBAAa,yBAAyB,CAAC,SAAS,CAAE,YAAW,0BAA0B,CAAC,SAAS,CAAC;IAUxE,OAAO,CAAC,QAAQ,CAAC,aAAa;IARpD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAS;gBAMT,GAAG,EAAE,GAAG,EAAmB,aAAa,EAAE,MAAM;IAiB5D,OAAO;IAKP,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM;IA+DtE,UAAU;CAUb"}
1
+ {"version":3,"file":"ObservableQueryConnection.d.ts","sourceRoot":"","sources":["../../../queries/ObservableQueryConnection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,YAAY,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAK7E,qBAAa,yBAAyB,CAAC,SAAS,CAAE,YAAW,0BAA0B,CAAC,SAAS,CAAC;IAkBxE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhBpD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,aAAa,CAAC,CAAiC;IACvD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAQ1B,GAAG,EAAE,GAAG,EAAmB,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,MAAc;IAkB5F,OAAO;IAOP,IAAI,eAAe,IAAI,MAAM,CAE5B;IAKD,IAAI,cAAc,IAAI,MAAM,CAM3B;IAGD,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM;IAmEtE,UAAU;IAYV,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,UAAU;CAYrB"}
@@ -1,14 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var Globals = require('../Globals.js');
4
+ var WebSocketMessage = require('./WebSocketMessage.js');
4
5
 
5
6
  class ObservableQueryConnection {
6
7
  _microservice;
7
8
  _socket;
8
9
  _disconnected = false;
9
10
  _url;
10
- constructor(url, _microservice) {
11
+ _pingInterval;
12
+ _pingIntervalMs = 10000;
13
+ _lastPingSentTime;
14
+ _lastPongLatency = 0;
15
+ _latencySamples = [];
16
+ _connectionStartTime;
17
+ constructor(url, _microservice, pingIntervalMs = 10000) {
11
18
  this._microservice = _microservice;
19
+ this._pingIntervalMs = pingIntervalMs;
12
20
  const secure = url.protocol?.indexOf('https') === 0 || false;
13
21
  this._url = `${secure ? 'wss' : 'ws'}://${url.host}${url.pathname}${url.search}`;
14
22
  if (this._microservice?.length > 0) {
@@ -24,6 +32,16 @@ class ObservableQueryConnection {
24
32
  dispose() {
25
33
  this.disconnect();
26
34
  }
35
+ get lastPingLatency() {
36
+ return this._lastPongLatency;
37
+ }
38
+ get averageLatency() {
39
+ if (this._latencySamples.length === 0) {
40
+ return 0;
41
+ }
42
+ const sum = this._latencySamples.reduce((acc, val) => acc + val, 0);
43
+ return sum / this._latencySamples.length;
44
+ }
27
45
  connect(dataReceived, queryArguments) {
28
46
  let url = this._url;
29
47
  if (queryArguments) {
@@ -60,17 +78,21 @@ class ObservableQueryConnection {
60
78
  console.log(`Connection for '${url}' established`);
61
79
  timeToWait = 500;
62
80
  currentAttempt = 0;
81
+ this._connectionStartTime = Date.now();
82
+ this.startPinging();
63
83
  };
64
84
  this._socket.onclose = () => {
65
85
  if (this._disconnected)
66
86
  return;
67
87
  console.log(`Unexpected connection closed for route '${url}'`);
88
+ this.stopPinging();
68
89
  retry();
69
90
  };
70
91
  this._socket.onerror = (error) => {
71
92
  if (this._disconnected)
72
93
  return;
73
94
  console.log(`Error with connection for '${url}' - ${error}`);
95
+ this.stopPinging();
74
96
  retry();
75
97
  };
76
98
  this._socket.onmessage = (ev) => {
@@ -78,7 +100,7 @@ class ObservableQueryConnection {
78
100
  console.log('Received message after closing connection');
79
101
  return;
80
102
  }
81
- dataReceived(JSON.parse(ev.data));
103
+ this.handleMessage(ev.data, dataReceived);
82
104
  };
83
105
  };
84
106
  if (this._disconnected)
@@ -91,10 +113,59 @@ class ObservableQueryConnection {
91
113
  }
92
114
  console.log(`Disconnecting '${this._url}'`);
93
115
  this._disconnected = true;
116
+ this.stopPinging();
94
117
  this._socket?.close();
95
118
  console.log(`Connection for '${this._url}' closed`);
96
119
  this._socket = undefined;
97
120
  }
121
+ startPinging() {
122
+ this.stopPinging();
123
+ this._pingInterval = setInterval(() => {
124
+ this.sendPing();
125
+ }, this._pingIntervalMs);
126
+ }
127
+ stopPinging() {
128
+ if (this._pingInterval) {
129
+ clearInterval(this._pingInterval);
130
+ this._pingInterval = undefined;
131
+ }
132
+ }
133
+ sendPing() {
134
+ if (this._disconnected || !this._socket || this._socket.readyState !== WebSocket.OPEN) {
135
+ return;
136
+ }
137
+ this._lastPingSentTime = Date.now();
138
+ const pingMessage = {
139
+ type: WebSocketMessage.WebSocketMessageType.Ping,
140
+ timestamp: this._lastPingSentTime
141
+ };
142
+ this._socket.send(JSON.stringify(pingMessage));
143
+ }
144
+ handleMessage(rawData, dataReceived) {
145
+ try {
146
+ const message = JSON.parse(rawData);
147
+ if (message.type === WebSocketMessage.WebSocketMessageType.Pong) {
148
+ this.handlePong(message);
149
+ }
150
+ else if (message.type === WebSocketMessage.WebSocketMessageType.Data || !message.type) {
151
+ const data = message.data ?? message;
152
+ dataReceived(data);
153
+ }
154
+ }
155
+ catch (error) {
156
+ console.error('Error parsing WebSocket message:', error);
157
+ }
158
+ }
159
+ handlePong(message) {
160
+ if (message.timestamp && this._lastPingSentTime) {
161
+ const latency = Date.now() - message.timestamp;
162
+ this._lastPongLatency = latency;
163
+ this._latencySamples.push(latency);
164
+ if (this._latencySamples.length > 100) {
165
+ this._latencySamples.shift();
166
+ }
167
+ }
168
+ }
98
169
  }
99
170
 
100
171
  exports.ObservableQueryConnection = ObservableQueryConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableQueryConnection.js","sources":["../../../queries/ObservableQueryConnection.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 { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\n\nexport type DataReceived<TDataType> = (data: QueryResult<TDataType>) => void;\n\n/**\n * Represents the connection for an observable query.\n */\nexport class ObservableQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n\n private _socket!: WebSocket;\n private _disconnected = false;\n private _url: string;\n\n /**\n * Initializes a new instance of the {@link ObservableQueryConnection<TDataType>} class.\n * @param {Url} url The fully qualified Url.\n */\n constructor(url: URL, private readonly _microservice: string) {\n const secure = url.protocol?.indexOf('https') === 0 || false;\n\n this._url = `${secure ? 'wss' : 'ws'}://${url.host}${url.pathname}${url.search}`;\n if (this._microservice?.length > 0) {\n const microserviceParam = `${Globals.microserviceWSQueryArgument}=${this._microservice}`;\n if (this._url.indexOf('?') > 0) {\n this._url = `${this._url}&${microserviceParam}`;\n } else {\n this._url = `${this._url}?${microserviceParam}`;\n }\n }\n }\n\n /**\n * Disposes the connection.\n */\n dispose() {\n this.disconnect();\n }\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>, queryArguments?: object) {\n let url = this._url;\n if (queryArguments) {\n if (url.indexOf('?') < 0) {\n url = `${url}?`;\n } else {\n url = `${url}&`;\n }\n const query = Object.keys(queryArguments).map(key => `${key}=${queryArguments[key]}`).join('&');\n url = `${url}${query}`;\n }\n\n let timeToWait = 500;\n const timeExponent = 500;\n const retries = 100;\n let currentAttempt = 0;\n const maxTime = 10_000;\n\n const connectSocket = () => {\n const retry = () => {\n currentAttempt++;\n if (currentAttempt > retries) {\n console.log(`Attempted ${retries} retries for route '${url}'. Abandoning.`);\n return;\n }\n console.log(`Attempting to reconnect for '${url}' (#${currentAttempt})`);\n\n setTimeout(connectSocket, timeToWait);\n timeToWait += (timeExponent * currentAttempt);\n timeToWait = timeToWait > maxTime ? maxTime : timeToWait; \n };\n\n this._socket = new WebSocket(url);\n this._socket.onopen = () => {\n if (this._disconnected) return;\n console.log(`Connection for '${url}' established`);\n timeToWait = 500;\n currentAttempt = 0;\n };\n this._socket.onclose = () => {\n if (this._disconnected) return;\n console.log(`Unexpected connection closed for route '${url}'`);\n retry();\n };\n this._socket.onerror = (error) => {\n if (this._disconnected) return;\n console.log(`Error with connection for '${url}' - ${error}`);\n retry();\n };\n this._socket.onmessage = (ev) => {\n if (this._disconnected) {\n console.log('Received message after closing connection');\n return;\n }\n dataReceived(JSON.parse(ev.data));\n };\n };\n\n if (this._disconnected) return;\n connectSocket();\n }\n\n /** @inheritdoc */\n disconnect() {\n if (this._disconnected) {\n return;\n }\n console.log(`Disconnecting '${this._url}'`);\n this._disconnected = true;\n this._socket?.close();\n console.log(`Connection for '${this._url}' closed`);\n this._socket = undefined!;\n }\n}\n"],"names":["Globals"],"mappings":"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"}
1
+ {"version":3,"file":"ObservableQueryConnection.js","sources":["../../../queries/ObservableQueryConnection.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 { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { QueryResult } from './QueryResult';\nimport { WebSocketMessage, WebSocketMessageType } from './WebSocketMessage';\n\nexport type DataReceived<TDataType> = (data: QueryResult<TDataType>) => void;\n\n/**\n * Represents the connection for an observable query.\n */\nexport class ObservableQueryConnection<TDataType> implements IObservableQueryConnection<TDataType> {\n\n private _socket!: WebSocket;\n private _disconnected = false;\n private _url: string;\n private _pingInterval?: ReturnType<typeof setInterval>;\n private _pingIntervalMs: number = 10000;\n private _lastPingSentTime?: number;\n private _lastPongLatency: number = 0;\n private _latencySamples: number[] = [];\n private _connectionStartTime?: number;\n\n /**\n * Initializes a new instance of the {@link ObservableQueryConnection<TDataType>} class.\n * @param {Url} url The fully qualified Url.\n * @param {string} _microservice The microservice name.\n * @param {number} pingIntervalMs The ping interval in milliseconds (default: 10000).\n */\n constructor(url: URL, private readonly _microservice: string, pingIntervalMs: number = 10000) {\n this._pingIntervalMs = pingIntervalMs;\n const secure = url.protocol?.indexOf('https') === 0 || false;\n\n this._url = `${secure ? 'wss' : 'ws'}://${url.host}${url.pathname}${url.search}`;\n if (this._microservice?.length > 0) {\n const microserviceParam = `${Globals.microserviceWSQueryArgument}=${this._microservice}`;\n if (this._url.indexOf('?') > 0) {\n this._url = `${this._url}&${microserviceParam}`;\n } else {\n this._url = `${this._url}?${microserviceParam}`;\n }\n }\n }\n\n /**\n * Disposes the connection.\n */\n dispose() {\n this.disconnect();\n }\n\n /**\n * Gets the latency of the last ping/pong sequence in milliseconds.\n */\n get lastPingLatency(): number {\n return this._lastPongLatency;\n }\n\n /**\n * Gets the average latency since the connection started in milliseconds.\n */\n get averageLatency(): number {\n if (this._latencySamples.length === 0) {\n return 0;\n }\n const sum = this._latencySamples.reduce((acc, val) => acc + val, 0);\n return sum / this._latencySamples.length;\n }\n\n /** @inheritdoc */\n connect(dataReceived: DataReceived<TDataType>, queryArguments?: object) {\n let url = this._url;\n if (queryArguments) {\n if (url.indexOf('?') < 0) {\n url = `${url}?`;\n } else {\n url = `${url}&`;\n }\n const query = Object.keys(queryArguments).map(key => `${key}=${queryArguments[key]}`).join('&');\n url = `${url}${query}`;\n }\n\n let timeToWait = 500;\n const timeExponent = 500;\n const retries = 100;\n let currentAttempt = 0;\n const maxTime = 10_000;\n\n const connectSocket = () => {\n const retry = () => {\n currentAttempt++;\n if (currentAttempt > retries) {\n console.log(`Attempted ${retries} retries for route '${url}'. Abandoning.`);\n return;\n }\n console.log(`Attempting to reconnect for '${url}' (#${currentAttempt})`);\n\n setTimeout(connectSocket, timeToWait);\n timeToWait += (timeExponent * currentAttempt);\n timeToWait = timeToWait > maxTime ? maxTime : timeToWait; \n };\n\n this._socket = new WebSocket(url);\n this._socket.onopen = () => {\n if (this._disconnected) return;\n console.log(`Connection for '${url}' established`);\n timeToWait = 500;\n currentAttempt = 0;\n this._connectionStartTime = Date.now();\n this.startPinging();\n };\n this._socket.onclose = () => {\n if (this._disconnected) return;\n console.log(`Unexpected connection closed for route '${url}'`);\n this.stopPinging();\n retry();\n };\n this._socket.onerror = (error) => {\n if (this._disconnected) return;\n console.log(`Error with connection for '${url}' - ${error}`);\n this.stopPinging();\n retry();\n };\n this._socket.onmessage = (ev) => {\n if (this._disconnected) {\n console.log('Received message after closing connection');\n return;\n }\n this.handleMessage(ev.data, dataReceived);\n };\n };\n\n if (this._disconnected) return;\n connectSocket();\n }\n\n /** @inheritdoc */\n disconnect() {\n if (this._disconnected) {\n return;\n }\n console.log(`Disconnecting '${this._url}'`);\n this._disconnected = true;\n this.stopPinging();\n this._socket?.close();\n console.log(`Connection for '${this._url}' closed`);\n this._socket = undefined!;\n }\n\n private startPinging() {\n this.stopPinging();\n this._pingInterval = setInterval(() => {\n this.sendPing();\n }, this._pingIntervalMs);\n }\n\n private stopPinging() {\n if (this._pingInterval) {\n clearInterval(this._pingInterval);\n this._pingInterval = undefined;\n }\n }\n\n private sendPing() {\n if (this._disconnected || !this._socket || this._socket.readyState !== WebSocket.OPEN) {\n return;\n }\n\n this._lastPingSentTime = Date.now();\n const pingMessage: WebSocketMessage = {\n type: WebSocketMessageType.Ping,\n timestamp: this._lastPingSentTime\n };\n\n this._socket.send(JSON.stringify(pingMessage));\n }\n\n private handleMessage(rawData: string, dataReceived: DataReceived<TDataType>) {\n try {\n const message = JSON.parse(rawData) as WebSocketMessage;\n\n // Handle messages based on type\n if (message.type === WebSocketMessageType.Pong) {\n this.handlePong(message);\n } else if (message.type === WebSocketMessageType.Data || !message.type) {\n // For backward compatibility, treat messages without a type as data messages\n const data = message.data ?? message;\n dataReceived(data as QueryResult<TDataType>);\n }\n } catch (error) {\n console.error('Error parsing WebSocket message:', error);\n }\n }\n\n private handlePong(message: WebSocketMessage) {\n if (message.timestamp && this._lastPingSentTime) {\n const latency = Date.now() - message.timestamp;\n this._lastPongLatency = latency;\n this._latencySamples.push(latency);\n\n // Keep only the last 100 samples for average calculation\n if (this._latencySamples.length > 100) {\n this._latencySamples.shift();\n }\n }\n }\n}\n"],"names":["Globals","WebSocketMessageType"],"mappings":";;;;;MAaa,yBAAyB,CAAA;AAkBK,IAAA,aAAA;AAhB/B,IAAA,OAAO;IACP,aAAa,GAAG,KAAK;AACrB,IAAA,IAAI;AACJ,IAAA,aAAa;IACb,eAAe,GAAW,KAAK;AAC/B,IAAA,iBAAiB;IACjB,gBAAgB,GAAW,CAAC;IAC5B,eAAe,GAAa,EAAE;AAC9B,IAAA,oBAAoB;AAQ5B,IAAA,WAAA,CAAY,GAAQ,EAAmB,aAAqB,EAAE,iBAAyB,KAAK,EAAA;QAArD,IAAA,CAAA,aAAa,GAAb,aAAa;AAChD,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK;QAE5D,IAAI,CAAC,IAAI,GAAG,CAAA,EAAG,MAAM,GAAG,KAAK,GAAG,IAAI,MAAM,GAAG,CAAC,IAAI,CAAA,EAAG,GAAG,CAAC,QAAQ,CAAA,EAAG,GAAG,CAAC,MAAM,CAAA,CAAE;QAChF,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,iBAAiB,GAAG,CAAA,EAAGA,eAAO,CAAC,2BAA2B,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,CAAA,CAAE;YACxF,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,iBAAiB,CAAA,CAAE;YACnD;iBAAO;gBACH,IAAI,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,iBAAiB,CAAA,CAAE;YACnD;QACJ;IACJ;IAKA,OAAO,GAAA;QACH,IAAI,CAAC,UAAU,EAAE;IACrB;AAKA,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;IAChC;AAKA,IAAA,IAAI,cAAc,GAAA;QACd,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC;QACZ;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AACnE,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM;IAC5C;IAGA,OAAO,CAAC,YAAqC,EAAE,cAAuB,EAAA;AAClE,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI;QACnB,IAAI,cAAc,EAAE;YAChB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACtB,gBAAA,GAAG,GAAG,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG;YACnB;iBAAO;AACH,gBAAA,GAAG,GAAG,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG;YACnB;AACA,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,cAAc,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/F,YAAA,GAAG,GAAG,CAAA,EAAG,GAAG,CAAA,EAAG,KAAK,EAAE;QAC1B;QAEA,IAAI,UAAU,GAAG,GAAG;QACpB,MAAM,YAAY,GAAG,GAAG;QACxB,MAAM,OAAO,GAAG,GAAG;QACnB,IAAI,cAAc,GAAG,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM;QAEtB,MAAM,aAAa,GAAG,MAAK;YACvB,MAAM,KAAK,GAAG,MAAK;AACf,gBAAA,cAAc,EAAE;AAChB,gBAAA,IAAI,cAAc,GAAG,OAAO,EAAE;oBAC1B,OAAO,CAAC,GAAG,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,oBAAA,EAAuB,GAAG,CAAA,cAAA,CAAgB,CAAC;oBAC3E;gBACJ;gBACA,OAAO,CAAC,GAAG,CAAC,CAAA,6BAAA,EAAgC,GAAG,CAAA,IAAA,EAAO,cAAc,CAAA,CAAA,CAAG,CAAC;AAExE,gBAAA,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC;AACrC,gBAAA,UAAU,KAAK,YAAY,GAAG,cAAc,CAAC;AAC7C,gBAAA,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU;AAC5D,YAAA,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAK;gBACvB,IAAI,IAAI,CAAC,aAAa;oBAAE;AACxB,gBAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAA,aAAA,CAAe,CAAC;gBAClD,UAAU,GAAG,GAAG;gBAChB,cAAc,GAAG,CAAC;AAClB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,YAAY,EAAE;AACvB,YAAA,CAAC;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAK;gBACxB,IAAI,IAAI,CAAC,aAAa;oBAAE;AACxB,gBAAA,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,CAAA,CAAA,CAAG,CAAC;gBAC9D,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,KAAK,EAAE;AACX,YAAA,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI;gBAC7B,IAAI,IAAI,CAAC,aAAa;oBAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,CAAA,2BAAA,EAA8B,GAAG,CAAA,IAAA,EAAO,KAAK,CAAA,CAAE,CAAC;gBAC5D,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,KAAK,EAAE;AACX,YAAA,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,KAAI;AAC5B,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,oBAAA,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC;oBACxD;gBACJ;gBACA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;AAC7C,YAAA,CAAC;AACL,QAAA,CAAC;QAED,IAAI,IAAI,CAAC,aAAa;YAAE;AACxB,QAAA,aAAa,EAAE;IACnB;IAGA,UAAU,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB;QACJ;QACA,OAAO,CAAC,GAAG,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAC;AAC3C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAAC,IAAI,CAAA,QAAA,CAAU,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAU;IAC7B;IAEQ,YAAY,GAAA;QAChB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,MAAK;YAClC,IAAI,CAAC,QAAQ,EAAE;AACnB,QAAA,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;IAC5B;IAEQ,WAAW,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,SAAS;QAClC;IACJ;IAEQ,QAAQ,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;YACnF;QACJ;AAEA,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE;AACnC,QAAA,MAAM,WAAW,GAAqB;YAClC,IAAI,EAAEC,qCAAoB,CAAC,IAAI;YAC/B,SAAS,EAAE,IAAI,CAAC;SACnB;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD;IAEQ,aAAa,CAAC,OAAe,EAAE,YAAqC,EAAA;AACxE,QAAA,IAAI;YACA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB;YAGvD,IAAI,OAAO,CAAC,IAAI,KAAKA,qCAAoB,CAAC,IAAI,EAAE;AAC5C,gBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC5B;AAAO,iBAAA,IAAI,OAAO,CAAC,IAAI,KAAKA,qCAAoB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAEpE,gBAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO;gBACpC,YAAY,CAAC,IAA8B,CAAC;YAChD;QACJ;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC;QAC5D;IACJ;AAEQ,IAAA,UAAU,CAAC,OAAyB,EAAA;QACxC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;AAC9C,YAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO;AAC/B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAGlC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE;AACnC,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;YAChC;QACJ;IACJ;AACH;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { IQueryFor } from './IQueryFor';
2
2
  import { QueryResult } from "./QueryResult";
3
+ import { QueryValidator } from './QueryValidator';
3
4
  import { Constructor } from '@cratis/fundamentals';
4
5
  import { Paging } from './Paging';
5
6
  import { Sorting } from './Sorting';
@@ -13,6 +14,7 @@ export declare abstract class QueryFor<TDataType, TParameters = object> implemen
13
14
  private _origin;
14
15
  private _httpHeadersCallback;
15
16
  abstract readonly route: string;
17
+ readonly validation?: QueryValidator<any>;
16
18
  abstract readonly parameterDescriptors: ParameterDescriptor[];
17
19
  abstract get requiredRequestParameters(): string[];
18
20
  abstract defaultValue: TDataType;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFor.d.ts","sourceRoot":"","sources":["../../../queries/QueryFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAOxE,8BAAsB,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAAE,YAAW,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC;IAmB5F,QAAQ,CAAC,SAAS,EAAE,WAAW;IAAE,QAAQ,CAAC,UAAU,EAAE,OAAO;IAlBzE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC9D,QAAQ,KAAK,yBAAyB,IAAI,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;gBAOf,SAAS,EAAE,WAAW,EAAW,UAAU,EAAE,OAAO;IAUzE,eAAe,CAAC,YAAY,EAAE,MAAM;IAKpC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKhD,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAmErE"}
1
+ {"version":3,"file":"QueryFor.d.ts","sourceRoot":"","sources":["../../../queries/QueryFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAOxE,8BAAsB,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAAE,YAAW,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC;IAsB5F,QAAQ,CAAC,SAAS,EAAE,WAAW;IAAE,QAAQ,CAAC,UAAU,EAAE,OAAO;IArBzE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAE1C,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC9D,QAAQ,KAAK,yBAAyB,IAAI,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;gBAOf,SAAS,EAAE,WAAW,EAAW,UAAU,EAAE,OAAO;IAUzE,eAAe,CAAC,YAAY,EAAE,MAAM;IAKpC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKhD,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CA4FrE"}
@@ -17,6 +17,7 @@ class QueryFor {
17
17
  _apiBasePath;
18
18
  _origin;
19
19
  _httpHeadersCallback;
20
+ validation;
20
21
  abortController;
21
22
  sorting;
22
23
  paging;
@@ -46,6 +47,30 @@ class QueryFor {
46
47
  async perform(args) {
47
48
  const noSuccess = { ...QueryResult.QueryResult.noSuccess, ...{ data: this.defaultValue } };
48
49
  args = args || this.parameters;
50
+ const clientValidationErrors = this.validation?.validate(args || {}) || [];
51
+ if (clientValidationErrors.length > 0) {
52
+ return new QueryResult.QueryResult({
53
+ data: this.defaultValue,
54
+ isSuccess: false,
55
+ isAuthorized: true,
56
+ isValid: false,
57
+ hasExceptions: false,
58
+ validationResults: clientValidationErrors.map(_ => ({
59
+ severity: _.severity,
60
+ message: _.message,
61
+ members: _.members,
62
+ state: _.state
63
+ })),
64
+ exceptionMessages: [],
65
+ exceptionStackTrace: '',
66
+ paging: {
67
+ totalItems: 0,
68
+ totalPages: 0,
69
+ page: 0,
70
+ size: 0
71
+ }
72
+ }, this.modelType, this.enumerable);
73
+ }
49
74
  if (!ValidateRequestArguments.ValidateRequestArguments(this.constructor.name, this.requiredRequestParameters, args)) {
50
75
  return new Promise((resolve) => {
51
76
  resolve(noSuccess);
@@ -1 +1 @@
1
- {"version":3,"file":"QueryFor.js","sources":["../../../queries/QueryFor.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 { IQueryFor } from './IQueryFor';\nimport { QueryResult } from \"./QueryResult\";\nimport { ValidateRequestArguments } from './ValidateRequestArguments';\nimport { Constructor } from '@cratis/fundamentals';\nimport { Paging } from './Paging';\nimport { Globals } from '../Globals';\nimport { Sorting } from './Sorting';\nimport { SortDirection } from './SortDirection';\nimport { joinPaths } from '../joinPaths';\nimport { UrlHelpers } from '../UrlHelpers';\nimport { GetHttpHeaders } from '../GetHttpHeaders';\nimport { ParameterDescriptor } from '../reflection/ParameterDescriptor';\nimport { ParametersHelper } from '../reflection/ParametersHelper';\n\n/**\n * Represents an implementation of {@link IQueryFor}.\n * @template TDataType Type of data returned by the query.\n */\nexport abstract class QueryFor<TDataType, TParameters = object> implements IQueryFor<TDataType, TParameters> {\n private _microservice: string;\n private _apiBasePath: string;\n private _origin: string;\n private _httpHeadersCallback: GetHttpHeaders;\n abstract readonly route: string;\n abstract readonly parameterDescriptors: ParameterDescriptor[];\n abstract get requiredRequestParameters(): string[];\n abstract defaultValue: TDataType;\n abortController?: AbortController;\n sorting: Sorting;\n paging: Paging;\n parameters: TParameters | undefined;\n\n /**\n * Initializes a new instance of the {@link ObservableQueryFor<,>}} class.\n * @param modelType Type of model, if an enumerable, this is the instance type.\n * @param enumerable Whether or not it is an enumerable.\n */\n constructor(readonly modelType: Constructor, readonly enumerable: boolean) {\n this.sorting = Sorting.none;\n this.paging = Paging.noPaging;\n this._microservice = Globals.microservice ?? '';\n this._apiBasePath = Globals.apiBasePath ?? '';\n this._origin = Globals.origin ?? '';\n this._httpHeadersCallback = () => ({});\n }\n\n /** @inheritdoc */\n setMicroservice(microservice: string) {\n this._microservice = microservice;\n }\n\n /** @inheritdoc */\n setApiBasePath(apiBasePath: string): void {\n this._apiBasePath = apiBasePath;\n }\n\n /** @inheritdoc */\n setOrigin(origin: string): void {\n this._origin = origin;\n }\n\n /** @inheritdoc */\n setHttpHeadersCallback(callback: GetHttpHeaders): void {\n this._httpHeadersCallback = callback;\n }\n\n /** @inheritdoc */\n async perform(args?: TParameters): Promise<QueryResult<TDataType>> {\n const noSuccess = { ...QueryResult.noSuccess, ...{ data: this.defaultValue } } as QueryResult<TDataType>;\n\n args = args || this.parameters;\n\n if (!ValidateRequestArguments(this.constructor.name, this.requiredRequestParameters, args as object)) {\n return new Promise<QueryResult<TDataType>>((resolve) => {\n resolve(noSuccess);\n });\n }\n\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n\n const { route, unusedParameters } = UrlHelpers.replaceRouteParameters(this.route, args as object);\n let actualRoute = joinPaths(this._apiBasePath, route);\n \n const additionalParams: Record<string, string | number> = {};\n if (this.paging.hasPaging) {\n additionalParams.page = this.paging.page;\n additionalParams.pageSize = this.paging.pageSize;\n }\n\n if (this.sorting.hasSorting) {\n additionalParams.sortBy = this.sorting.field;\n additionalParams.sortDirection = (this.sorting.direction === SortDirection.descending) ? 'desc' : 'asc';\n }\n\n // Collect parameter values from parameterDescriptors that are set\n const parameterValues = ParametersHelper.collectParameterValues(this);\n\n const queryParams = UrlHelpers.buildQueryParams({ ...unusedParameters, ...parameterValues }, additionalParams);\n const queryString = queryParams.toString();\n if (queryString) {\n actualRoute += (actualRoute.includes('?') ? '&' : '?') + queryString;\n }\n \n const url = UrlHelpers.createUrlFrom(this._origin, this._apiBasePath, actualRoute);\n\n const headers = {\n ... this._httpHeadersCallback?.(), ...\n {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n };\n\n if (this._microservice?.length > 0) {\n headers[Globals.microserviceHttpHeader] = this._microservice;\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers,\n signal: this.abortController.signal\n });\n\n try {\n const result = await response.json();\n return new QueryResult(result, this.modelType, this.enumerable);\n } catch {\n return noSuccess;\n }\n }\n}\n"],"names":["Sorting","Paging","Globals","QueryResult","ValidateRequestArguments","UrlHelpers","joinPaths","SortDirection","ParametersHelper"],"mappings":"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"}
1
+ {"version":3,"file":"QueryFor.js","sources":["../../../queries/QueryFor.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 { IQueryFor } from './IQueryFor';\nimport { QueryResult } from \"./QueryResult\";\nimport { QueryValidator } from './QueryValidator';\nimport { ValidateRequestArguments } from './ValidateRequestArguments';\nimport { Constructor } from '@cratis/fundamentals';\nimport { Paging } from './Paging';\nimport { Globals } from '../Globals';\nimport { Sorting } from './Sorting';\nimport { SortDirection } from './SortDirection';\nimport { joinPaths } from '../joinPaths';\nimport { UrlHelpers } from '../UrlHelpers';\nimport { GetHttpHeaders } from '../GetHttpHeaders';\nimport { ParameterDescriptor } from '../reflection/ParameterDescriptor';\nimport { ParametersHelper } from '../reflection/ParametersHelper';\n\n/**\n * Represents an implementation of {@link IQueryFor}.\n * @template TDataType Type of data returned by the query.\n */\nexport abstract class QueryFor<TDataType, TParameters = object> implements IQueryFor<TDataType, TParameters> {\n private _microservice: string;\n private _apiBasePath: string;\n private _origin: string;\n private _httpHeadersCallback: GetHttpHeaders;\n abstract readonly route: string;\n /* eslint-disable @typescript-eslint/no-explicit-any */\n readonly validation?: QueryValidator<any>;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n abstract readonly parameterDescriptors: ParameterDescriptor[];\n abstract get requiredRequestParameters(): string[];\n abstract defaultValue: TDataType;\n abortController?: AbortController;\n sorting: Sorting;\n paging: Paging;\n parameters: TParameters | undefined;\n\n /**\n * Initializes a new instance of the {@link ObservableQueryFor<,>}} class.\n * @param modelType Type of model, if an enumerable, this is the instance type.\n * @param enumerable Whether or not it is an enumerable.\n */\n constructor(readonly modelType: Constructor, readonly enumerable: boolean) {\n this.sorting = Sorting.none;\n this.paging = Paging.noPaging;\n this._microservice = Globals.microservice ?? '';\n this._apiBasePath = Globals.apiBasePath ?? '';\n this._origin = Globals.origin ?? '';\n this._httpHeadersCallback = () => ({});\n }\n\n /** @inheritdoc */\n setMicroservice(microservice: string) {\n this._microservice = microservice;\n }\n\n /** @inheritdoc */\n setApiBasePath(apiBasePath: string): void {\n this._apiBasePath = apiBasePath;\n }\n\n /** @inheritdoc */\n setOrigin(origin: string): void {\n this._origin = origin;\n }\n\n /** @inheritdoc */\n setHttpHeadersCallback(callback: GetHttpHeaders): void {\n this._httpHeadersCallback = callback;\n }\n\n /** @inheritdoc */\n async perform(args?: TParameters): Promise<QueryResult<TDataType>> {\n const noSuccess = { ...QueryResult.noSuccess, ...{ data: this.defaultValue } } as QueryResult<TDataType>;\n\n args = args || this.parameters;\n\n const clientValidationErrors = this.validation?.validate(args as object || {}) || [];\n if (clientValidationErrors.length > 0) {\n return new QueryResult({\n data: this.defaultValue as object,\n isSuccess: false,\n isAuthorized: true,\n isValid: false,\n hasExceptions: false,\n validationResults: clientValidationErrors.map(_ => ({\n severity: _.severity,\n message: _.message,\n members: _.members,\n state: _.state\n })),\n exceptionMessages: [],\n exceptionStackTrace: '',\n paging: {\n totalItems: 0,\n totalPages: 0,\n page: 0,\n size: 0\n }\n }, this.modelType, this.enumerable) as QueryResult<TDataType>;\n }\n\n if (!ValidateRequestArguments(this.constructor.name, this.requiredRequestParameters, args as object)) {\n return new Promise<QueryResult<TDataType>>((resolve) => {\n resolve(noSuccess);\n });\n }\n\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n\n const { route, unusedParameters } = UrlHelpers.replaceRouteParameters(this.route, args as object);\n let actualRoute = joinPaths(this._apiBasePath, route);\n \n const additionalParams: Record<string, string | number> = {};\n if (this.paging.hasPaging) {\n additionalParams.page = this.paging.page;\n additionalParams.pageSize = this.paging.pageSize;\n }\n\n if (this.sorting.hasSorting) {\n additionalParams.sortBy = this.sorting.field;\n additionalParams.sortDirection = (this.sorting.direction === SortDirection.descending) ? 'desc' : 'asc';\n }\n\n // Collect parameter values from parameterDescriptors that are set\n const parameterValues = ParametersHelper.collectParameterValues(this);\n\n const queryParams = UrlHelpers.buildQueryParams({ ...unusedParameters, ...parameterValues }, additionalParams);\n const queryString = queryParams.toString();\n if (queryString) {\n actualRoute += (actualRoute.includes('?') ? '&' : '?') + queryString;\n }\n \n const url = UrlHelpers.createUrlFrom(this._origin, this._apiBasePath, actualRoute);\n\n const headers = {\n ... this._httpHeadersCallback?.(), ...\n {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n };\n\n if (this._microservice?.length > 0) {\n headers[Globals.microserviceHttpHeader] = this._microservice;\n }\n\n const response = await fetch(url, {\n method: 'GET',\n headers,\n signal: this.abortController.signal\n });\n\n try {\n const result = await response.json();\n return new QueryResult(result, this.modelType, this.enumerable);\n } catch {\n return noSuccess;\n }\n }\n}\n"],"names":["Sorting","Paging","Globals","QueryResult","ValidateRequestArguments","UrlHelpers","joinPaths","SortDirection","ParametersHelper"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Validator } from '../validation/Validator';
2
+ import { ValidationResult } from '../validation/ValidationResult';
3
+ export declare abstract class QueryValidator<T = object> extends Validator<T> {
4
+ validate(query: T): ValidationResult[];
5
+ }
6
+ //# sourceMappingURL=QueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.d.ts","sourceRoot":"","sources":["../../../queries/QueryValidator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKlE,8BAAsB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAMjE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,gBAAgB,EAAE;CAGzC"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var Validator = require('../validation/Validator.js');
4
+
5
+ class QueryValidator extends Validator.Validator {
6
+ validate(query) {
7
+ return super.validate(query);
8
+ }
9
+ }
10
+
11
+ exports.QueryValidator = QueryValidator;
12
+ //# sourceMappingURL=QueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.js","sources":["../../../queries/QueryValidator.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 { Validator } from '../validation/Validator';\nimport { ValidationResult } from '../validation/ValidationResult';\n\n/**\n * Represents the query validator\n */\nexport abstract class QueryValidator<T = object> extends Validator<T> {\n /**\n * Validate the query parameters.\n * @param query The query to validate.\n * @returns An array of validation results, empty if valid.\n */\n validate(query: T): ValidationResult[] {\n return super.validate(query);\n }\n}\n"],"names":["Validator"],"mappings":";;;;AASM,MAAgB,cAA2B,SAAQA,mBAAY,CAAA;AAMjE,IAAA,QAAQ,CAAC,KAAQ,EAAA;AACb,QAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAChC;AACH;;;;"}
@@ -0,0 +1,11 @@
1
+ export declare enum WebSocketMessageType {
2
+ Data = "Data",
3
+ Ping = "Ping",
4
+ Pong = "Pong"
5
+ }
6
+ export type WebSocketMessage = {
7
+ type: WebSocketMessageType;
8
+ timestamp?: number;
9
+ data?: any;
10
+ };
11
+ //# sourceMappingURL=WebSocketMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketMessage.d.ts","sourceRoot":"","sources":["../../../queries/WebSocketMessage.ts"],"names":[],"mappings":"AAMA,oBAAY,oBAAoB;IAI5B,IAAI,SAAS;IAKb,IAAI,SAAS;IAKb,IAAI,SAAS;CAChB;AAKD,MAAM,MAAM,gBAAgB,GAAG;IAI3B,IAAI,EAAE,oBAAoB,CAAC;IAK3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,IAAI,CAAC,EAAE,GAAG,CAAC;CAEd,CAAC"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ exports.WebSocketMessageType = void 0;
4
+ (function (WebSocketMessageType) {
5
+ WebSocketMessageType["Data"] = "Data";
6
+ WebSocketMessageType["Ping"] = "Ping";
7
+ WebSocketMessageType["Pong"] = "Pong";
8
+ })(exports.WebSocketMessageType || (exports.WebSocketMessageType = {}));
9
+ //# sourceMappingURL=WebSocketMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketMessage.js","sources":["../../../queries/WebSocketMessage.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 * Represents the type of WebSocket message.\n */\nexport enum WebSocketMessageType {\n /**\n * A data message containing query results.\n */\n Data = 'Data',\n\n /**\n * A ping message sent from client to server.\n */\n Ping = 'Ping',\n\n /**\n * A pong message sent from server to client in response to a ping.\n */\n Pong = 'Pong'\n}\n\n/**\n * Represents a WebSocket message envelope.\n */\nexport type WebSocketMessage = {\n /**\n * The type of message.\n */\n type: WebSocketMessageType;\n\n /**\n * The timestamp when the message was sent (for ping/pong latency tracking).\n */\n timestamp?: number;\n\n /**\n * The payload data (for data messages).\n */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n data?: any;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n};\n"],"names":["WebSocketMessageType"],"mappings":";;AAMYA;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAI5B,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AAKb,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AAKb,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EAfWA,4BAAoB,KAApBA,4BAAoB,GAAA,EAAA,CAAA,CAAA;;"}