@cratis/arc 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/GetHttpHeaders.ts +7 -0
  2. package/Globals.ts +14 -0
  3. package/ICanBeConfigured.ts +33 -0
  4. package/README.md +65 -0
  5. package/UrlHelpers.ts +71 -0
  6. package/commands/Command.ts +209 -0
  7. package/commands/CommandResult.ts +203 -0
  8. package/commands/CommandResults.ts +105 -0
  9. package/commands/CommandValidator.ts +17 -0
  10. package/commands/ICommand.ts +82 -0
  11. package/commands/ICommandResult.ts +60 -0
  12. package/commands/for_Command/CommandWithRouteParams.ts +34 -0
  13. package/commands/for_Command/SomeCommand.ts +34 -0
  14. package/commands/for_Command/given/a_command.ts +18 -0
  15. package/commands/for_Command/when_clearing_the_command.ts +17 -0
  16. package/commands/for_Command/when_executing/and_command_route_not_found.ts +26 -0
  17. package/commands/for_Command/when_executing/and_fetch_throws_exception.ts +24 -0
  18. package/commands/for_Command/when_executing/with_command_properties.ts +40 -0
  19. package/commands/for_Command/when_executing/with_custom_http_headers.ts +60 -0
  20. package/commands/for_Command/when_executing/with_microservice_header.ts +55 -0
  21. package/commands/for_Command/when_executing/with_origin_and_api_base_path.ts +51 -0
  22. package/commands/for_Command/when_executing/with_route_parameters.ts +58 -0
  23. package/commands/for_Command/when_executing/with_successful_response.ts +51 -0
  24. package/commands/for_Command/when_property_changed_value_that_is_different_from_initial_value.ts +16 -0
  25. package/commands/for_Command/when_property_changed_value_that_is_same_as_initial_value.ts +16 -0
  26. package/commands/for_Command/when_property_changes_and_initial_value_is_undefined.ts +12 -0
  27. package/commands/for_Command/when_property_changes_and_there_is_a_callback.ts +15 -0
  28. package/commands/for_Command/when_property_has_changed_and_we_revert.ts +15 -0
  29. package/commands/for_Command/when_setting_initial_values_after_property_changed.ts +17 -0
  30. package/commands/for_Command/when_validating/and_fetch_throws_exception.ts +24 -0
  31. package/commands/for_Command/when_validating/and_validation_endpoint_not_found.ts +26 -0
  32. package/commands/for_Command/when_validating/does_not_update_initial_values.ts +39 -0
  33. package/commands/for_Command/when_validating/with_successful_response.ts +47 -0
  34. package/commands/for_Command/when_validating/with_validation_errors.ts +45 -0
  35. package/commands/for_CommandResult/when_chaining_callbacks/and_result_has_exceptions.ts +54 -0
  36. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_invalid.ts +53 -0
  37. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_successful.ts +42 -0
  38. package/commands/for_CommandResult/when_chaining_callbacks/and_result_is_unauthorized.ts +43 -0
  39. package/commands/index.ts +9 -0
  40. package/deepEqual.ts +23 -0
  41. package/dist/cjs/GetHttpHeaders.d.ts +2 -0
  42. package/dist/cjs/GetHttpHeaders.d.ts.map +1 -0
  43. package/dist/cjs/Globals.d.ts +7 -0
  44. package/dist/cjs/Globals.d.ts.map +1 -0
  45. package/dist/cjs/Globals.js +10 -0
  46. package/dist/cjs/Globals.js.map +1 -0
  47. package/dist/cjs/ICanBeConfigured.d.ts +8 -0
  48. package/dist/cjs/ICanBeConfigured.d.ts.map +1 -0
  49. package/dist/cjs/UrlHelpers.d.ts +9 -0
  50. package/dist/cjs/UrlHelpers.d.ts.map +1 -0
  51. package/dist/cjs/UrlHelpers.js +43 -0
  52. package/dist/cjs/UrlHelpers.js.map +1 -0
  53. package/dist/cjs/commands/Command.d.ts +41 -0
  54. package/dist/cjs/commands/Command.d.ts.map +1 -0
  55. package/dist/cjs/commands/Command.js +151 -0
  56. package/dist/cjs/commands/Command.js.map +1 -0
  57. package/dist/cjs/commands/CommandResult.d.ts +48 -0
  58. package/dist/cjs/commands/CommandResult.d.ts.map +1 -0
  59. package/dist/cjs/commands/CommandResult.js +95 -0
  60. package/dist/cjs/commands/CommandResult.js.map +1 -0
  61. package/dist/cjs/commands/CommandResults.d.ts +23 -0
  62. package/dist/cjs/commands/CommandResults.d.ts.map +1 -0
  63. package/dist/cjs/commands/CommandResults.js +72 -0
  64. package/dist/cjs/commands/CommandResults.js.map +1 -0
  65. package/dist/cjs/commands/CommandValidator.d.ts +9 -0
  66. package/dist/cjs/commands/CommandValidator.d.ts.map +1 -0
  67. package/dist/cjs/commands/CommandValidator.js +10 -0
  68. package/dist/cjs/commands/CommandValidator.js.map +1 -0
  69. package/dist/cjs/commands/ICommand.d.ts +18 -0
  70. package/dist/cjs/commands/ICommand.d.ts.map +1 -0
  71. package/dist/cjs/commands/ICommandResult.d.ts +15 -0
  72. package/dist/cjs/commands/ICommandResult.d.ts.map +1 -0
  73. package/dist/cjs/commands/index.d.ts +7 -0
  74. package/dist/cjs/commands/index.d.ts.map +1 -0
  75. package/dist/cjs/commands/index.js +14 -0
  76. package/dist/cjs/commands/index.js.map +1 -0
  77. package/dist/cjs/deepEqual.d.ts +2 -0
  78. package/dist/cjs/deepEqual.d.ts.map +1 -0
  79. package/dist/cjs/deepEqual.js +22 -0
  80. package/dist/cjs/deepEqual.js.map +1 -0
  81. package/dist/cjs/given.d.ts +5 -0
  82. package/dist/cjs/given.d.ts.map +1 -0
  83. package/dist/cjs/identity/IIdentity.d.ts +8 -0
  84. package/dist/cjs/identity/IIdentity.d.ts.map +1 -0
  85. package/dist/cjs/identity/IIdentityProvider.d.ts +5 -0
  86. package/dist/cjs/identity/IIdentityProvider.d.ts.map +1 -0
  87. package/dist/cjs/identity/IIdentityProvider.js +7 -0
  88. package/dist/cjs/identity/IIdentityProvider.js.map +1 -0
  89. package/dist/cjs/identity/IdentityProvider.d.ts +14 -0
  90. package/dist/cjs/identity/IdentityProvider.d.ts.map +1 -0
  91. package/dist/cjs/identity/IdentityProvider.js +63 -0
  92. package/dist/cjs/identity/IdentityProvider.js.map +1 -0
  93. package/dist/cjs/identity/IdentityProviderResult.d.ts +6 -0
  94. package/dist/cjs/identity/IdentityProviderResult.d.ts.map +1 -0
  95. package/dist/cjs/identity/index.d.ts +5 -0
  96. package/dist/cjs/identity/index.d.ts.map +1 -0
  97. package/dist/cjs/identity/index.js +10 -0
  98. package/dist/cjs/identity/index.js.map +1 -0
  99. package/dist/cjs/index.d.ts +12 -0
  100. package/dist/cjs/index.d.ts.map +1 -0
  101. package/dist/cjs/index.js +22 -0
  102. package/dist/cjs/index.js.map +1 -0
  103. package/dist/cjs/joinPaths.d.ts +2 -0
  104. package/dist/cjs/joinPaths.d.ts.map +1 -0
  105. package/dist/cjs/joinPaths.js +9 -0
  106. package/dist/cjs/joinPaths.js.map +1 -0
  107. package/dist/cjs/queries/IObservableQueryConnection.d.ts +6 -0
  108. package/dist/cjs/queries/IObservableQueryConnection.d.ts.map +1 -0
  109. package/dist/cjs/queries/IObservableQueryFor.d.ts +13 -0
  110. package/dist/cjs/queries/IObservableQueryFor.d.ts.map +1 -0
  111. package/dist/cjs/queries/IQuery.d.ts +10 -0
  112. package/dist/cjs/queries/IQuery.d.ts.map +1 -0
  113. package/dist/cjs/queries/IQueryFor.d.ts +12 -0
  114. package/dist/cjs/queries/IQueryFor.d.ts.map +1 -0
  115. package/dist/cjs/queries/IQueryProvider.d.ts +6 -0
  116. package/dist/cjs/queries/IQueryProvider.d.ts.map +1 -0
  117. package/dist/cjs/queries/IQueryProvider.js +7 -0
  118. package/dist/cjs/queries/IQueryProvider.js.map +1 -0
  119. package/dist/cjs/queries/IQueryResult.d.ts +15 -0
  120. package/dist/cjs/queries/IQueryResult.d.ts.map +1 -0
  121. package/dist/cjs/queries/NullObservableQueryConnection.d.ts +9 -0
  122. package/dist/cjs/queries/NullObservableQueryConnection.d.ts.map +1 -0
  123. package/dist/cjs/queries/NullObservableQueryConnection.js +18 -0
  124. package/dist/cjs/queries/NullObservableQueryConnection.js.map +1 -0
  125. package/dist/cjs/queries/ObservableQueryConnection.d.ts +14 -0
  126. package/dist/cjs/queries/ObservableQueryConnection.d.ts.map +1 -0
  127. package/dist/cjs/queries/ObservableQueryConnection.js +101 -0
  128. package/dist/cjs/queries/ObservableQueryConnection.js.map +1 -0
  129. package/dist/cjs/queries/ObservableQueryFor.d.ts +37 -0
  130. package/dist/cjs/queries/ObservableQueryFor.d.ts.map +1 -0
  131. package/dist/cjs/queries/ObservableQueryFor.js +176 -0
  132. package/dist/cjs/queries/ObservableQueryFor.js.map +1 -0
  133. package/dist/cjs/queries/ObservableQuerySubscription.d.ts +7 -0
  134. package/dist/cjs/queries/ObservableQuerySubscription.d.ts.map +1 -0
  135. package/dist/cjs/queries/ObservableQuerySubscription.js +17 -0
  136. package/dist/cjs/queries/ObservableQuerySubscription.js.map +1 -0
  137. package/dist/cjs/queries/Paging.d.ts +8 -0
  138. package/dist/cjs/queries/Paging.d.ts.map +1 -0
  139. package/dist/cjs/queries/Paging.js +17 -0
  140. package/dist/cjs/queries/Paging.js.map +1 -0
  141. package/dist/cjs/queries/PagingInfo.d.ts +9 -0
  142. package/dist/cjs/queries/PagingInfo.d.ts.map +1 -0
  143. package/dist/cjs/queries/PagingInfo.js +18 -0
  144. package/dist/cjs/queries/PagingInfo.js.map +1 -0
  145. package/dist/cjs/queries/QueryFor.d.ts +30 -0
  146. package/dist/cjs/queries/QueryFor.d.ts.map +1 -0
  147. package/dist/cjs/queries/QueryFor.js +101 -0
  148. package/dist/cjs/queries/QueryFor.js.map +1 -0
  149. package/dist/cjs/queries/QueryProvider.d.ts +13 -0
  150. package/dist/cjs/queries/QueryProvider.d.ts.map +1 -0
  151. package/dist/cjs/queries/QueryProvider.js +25 -0
  152. package/dist/cjs/queries/QueryProvider.js.map +1 -0
  153. package/dist/cjs/queries/QueryResult.d.ts +44 -0
  154. package/dist/cjs/queries/QueryResult.d.ts.map +1 -0
  155. package/dist/cjs/queries/QueryResult.js +95 -0
  156. package/dist/cjs/queries/QueryResult.js.map +1 -0
  157. package/dist/cjs/queries/QueryResultWithState.d.ts +22 -0
  158. package/dist/cjs/queries/QueryResultWithState.d.ts.map +1 -0
  159. package/dist/cjs/queries/QueryResultWithState.js +46 -0
  160. package/dist/cjs/queries/QueryResultWithState.js.map +1 -0
  161. package/dist/cjs/queries/SortDirection.d.ts +6 -0
  162. package/dist/cjs/queries/SortDirection.d.ts.map +1 -0
  163. package/dist/cjs/queries/SortDirection.js +9 -0
  164. package/dist/cjs/queries/SortDirection.js.map +1 -0
  165. package/dist/cjs/queries/Sorting.d.ts +9 -0
  166. package/dist/cjs/queries/Sorting.d.ts.map +1 -0
  167. package/dist/cjs/queries/Sorting.js +19 -0
  168. package/dist/cjs/queries/Sorting.js.map +1 -0
  169. package/dist/cjs/queries/SortingActions.d.ts +10 -0
  170. package/dist/cjs/queries/SortingActions.d.ts.map +1 -0
  171. package/dist/cjs/queries/SortingActions.js +24 -0
  172. package/dist/cjs/queries/SortingActions.js.map +1 -0
  173. package/dist/cjs/queries/SortingActionsForObservableQuery.d.ts +10 -0
  174. package/dist/cjs/queries/SortingActionsForObservableQuery.d.ts.map +1 -0
  175. package/dist/cjs/queries/SortingActionsForObservableQuery.js +24 -0
  176. package/dist/cjs/queries/SortingActionsForObservableQuery.js.map +1 -0
  177. package/dist/cjs/queries/SortingActionsForQuery.d.ts +10 -0
  178. package/dist/cjs/queries/SortingActionsForQuery.d.ts.map +1 -0
  179. package/dist/cjs/queries/SortingActionsForQuery.js +24 -0
  180. package/dist/cjs/queries/SortingActionsForQuery.js.map +1 -0
  181. package/dist/cjs/queries/ValidateRequestArguments.d.ts +2 -0
  182. package/dist/cjs/queries/ValidateRequestArguments.d.ts.map +1 -0
  183. package/dist/cjs/queries/ValidateRequestArguments.js +29 -0
  184. package/dist/cjs/queries/ValidateRequestArguments.js.map +1 -0
  185. package/dist/cjs/queries/index.d.ts +19 -0
  186. package/dist/cjs/queries/index.d.ts.map +1 -0
  187. package/dist/cjs/queries/index.js +37 -0
  188. package/dist/cjs/queries/index.js.map +1 -0
  189. package/dist/cjs/reflection/IHaveParameters.d.ts +5 -0
  190. package/dist/cjs/reflection/IHaveParameters.d.ts.map +1 -0
  191. package/dist/cjs/reflection/ParameterDescriptor.d.ts +7 -0
  192. package/dist/cjs/reflection/ParameterDescriptor.d.ts.map +1 -0
  193. package/dist/cjs/reflection/ParameterDescriptor.js +13 -0
  194. package/dist/cjs/reflection/ParameterDescriptor.js.map +1 -0
  195. package/dist/cjs/reflection/ParametersHelper.d.ts +5 -0
  196. package/dist/cjs/reflection/ParametersHelper.d.ts.map +1 -0
  197. package/dist/cjs/reflection/ParametersHelper.js +17 -0
  198. package/dist/cjs/reflection/ParametersHelper.js.map +1 -0
  199. package/dist/cjs/reflection/PropertyDescriptor.d.ts +7 -0
  200. package/dist/cjs/reflection/PropertyDescriptor.d.ts.map +1 -0
  201. package/dist/cjs/reflection/PropertyDescriptor.js +13 -0
  202. package/dist/cjs/reflection/PropertyDescriptor.js.map +1 -0
  203. package/dist/cjs/reflection/index.d.ts +5 -0
  204. package/dist/cjs/reflection/index.d.ts.map +1 -0
  205. package/dist/cjs/reflection/index.js +12 -0
  206. package/dist/cjs/reflection/index.js.map +1 -0
  207. package/dist/cjs/validation/ValidationResult.d.ts +9 -0
  208. package/dist/cjs/validation/ValidationResult.d.ts.map +1 -0
  209. package/dist/cjs/validation/ValidationResult.js +17 -0
  210. package/dist/cjs/validation/ValidationResult.js.map +1 -0
  211. package/dist/cjs/validation/ValidationResultSeverity.d.ts +7 -0
  212. package/dist/cjs/validation/ValidationResultSeverity.d.ts.map +1 -0
  213. package/dist/cjs/validation/Validator.d.ts +4 -0
  214. package/dist/cjs/validation/Validator.d.ts.map +1 -0
  215. package/dist/cjs/validation/Validator.js +10 -0
  216. package/dist/cjs/validation/Validator.js.map +1 -0
  217. package/dist/cjs/validation/index.d.ts +3 -0
  218. package/dist/cjs/validation/index.d.ts.map +1 -0
  219. package/dist/cjs/validation/index.js +10 -0
  220. package/dist/cjs/validation/index.js.map +1 -0
  221. package/dist/esm/GetHttpHeaders.d.ts +2 -0
  222. package/dist/esm/GetHttpHeaders.d.ts.map +1 -0
  223. package/dist/esm/GetHttpHeaders.js +2 -0
  224. package/dist/esm/GetHttpHeaders.js.map +1 -0
  225. package/dist/esm/Globals.d.ts +7 -0
  226. package/dist/esm/Globals.d.ts.map +1 -0
  227. package/dist/esm/Globals.js +8 -0
  228. package/dist/esm/Globals.js.map +1 -0
  229. package/dist/esm/ICanBeConfigured.d.ts +8 -0
  230. package/dist/esm/ICanBeConfigured.d.ts.map +1 -0
  231. package/dist/esm/ICanBeConfigured.js +2 -0
  232. package/dist/esm/ICanBeConfigured.js.map +1 -0
  233. package/dist/esm/UrlHelpers.d.ts +9 -0
  234. package/dist/esm/UrlHelpers.d.ts.map +1 -0
  235. package/dist/esm/UrlHelpers.js +41 -0
  236. package/dist/esm/UrlHelpers.js.map +1 -0
  237. package/dist/esm/commands/Command.d.ts +41 -0
  238. package/dist/esm/commands/Command.d.ts.map +1 -0
  239. package/dist/esm/commands/Command.js +149 -0
  240. package/dist/esm/commands/Command.js.map +1 -0
  241. package/dist/esm/commands/CommandResult.d.ts +48 -0
  242. package/dist/esm/commands/CommandResult.d.ts.map +1 -0
  243. package/dist/esm/commands/CommandResult.js +93 -0
  244. package/dist/esm/commands/CommandResult.js.map +1 -0
  245. package/dist/esm/commands/CommandResults.d.ts +23 -0
  246. package/dist/esm/commands/CommandResults.d.ts.map +1 -0
  247. package/dist/esm/commands/CommandResults.js +70 -0
  248. package/dist/esm/commands/CommandResults.js.map +1 -0
  249. package/dist/esm/commands/CommandValidator.d.ts +9 -0
  250. package/dist/esm/commands/CommandValidator.d.ts.map +1 -0
  251. package/dist/esm/commands/CommandValidator.js +8 -0
  252. package/dist/esm/commands/CommandValidator.js.map +1 -0
  253. package/dist/esm/commands/ICommand.d.ts +18 -0
  254. package/dist/esm/commands/ICommand.d.ts.map +1 -0
  255. package/dist/esm/commands/ICommand.js +2 -0
  256. package/dist/esm/commands/ICommand.js.map +1 -0
  257. package/dist/esm/commands/ICommandResult.d.ts +15 -0
  258. package/dist/esm/commands/ICommandResult.d.ts.map +1 -0
  259. package/dist/esm/commands/ICommandResult.js +2 -0
  260. package/dist/esm/commands/ICommandResult.js.map +1 -0
  261. package/dist/esm/commands/index.d.ts +7 -0
  262. package/dist/esm/commands/index.d.ts.map +1 -0
  263. package/dist/esm/commands/index.js +5 -0
  264. package/dist/esm/commands/index.js.map +1 -0
  265. package/dist/esm/deepEqual.d.ts +2 -0
  266. package/dist/esm/deepEqual.d.ts.map +1 -0
  267. package/dist/esm/deepEqual.js +20 -0
  268. package/dist/esm/deepEqual.js.map +1 -0
  269. package/dist/esm/given.d.ts +5 -0
  270. package/dist/esm/given.d.ts.map +1 -0
  271. package/dist/esm/given.js +7 -0
  272. package/dist/esm/given.js.map +1 -0
  273. package/dist/esm/identity/IIdentity.d.ts +8 -0
  274. package/dist/esm/identity/IIdentity.d.ts.map +1 -0
  275. package/dist/esm/identity/IIdentity.js +2 -0
  276. package/dist/esm/identity/IIdentity.js.map +1 -0
  277. package/dist/esm/identity/IIdentityProvider.d.ts +5 -0
  278. package/dist/esm/identity/IIdentityProvider.d.ts.map +1 -0
  279. package/dist/esm/identity/IIdentityProvider.js +5 -0
  280. package/dist/esm/identity/IIdentityProvider.js.map +1 -0
  281. package/dist/esm/identity/IdentityProvider.d.ts +14 -0
  282. package/dist/esm/identity/IdentityProvider.d.ts.map +1 -0
  283. package/dist/esm/identity/IdentityProvider.js +61 -0
  284. package/dist/esm/identity/IdentityProvider.js.map +1 -0
  285. package/dist/esm/identity/IdentityProviderResult.d.ts +6 -0
  286. package/dist/esm/identity/IdentityProviderResult.d.ts.map +1 -0
  287. package/dist/esm/identity/IdentityProviderResult.js +2 -0
  288. package/dist/esm/identity/IdentityProviderResult.js.map +1 -0
  289. package/dist/esm/identity/index.d.ts +5 -0
  290. package/dist/esm/identity/index.d.ts.map +1 -0
  291. package/dist/esm/identity/index.js +3 -0
  292. package/dist/esm/identity/index.js.map +1 -0
  293. package/dist/esm/index.d.ts +12 -0
  294. package/dist/esm/index.d.ts.map +1 -0
  295. package/dist/esm/index.js +14 -0
  296. package/dist/esm/index.js.map +1 -0
  297. package/dist/esm/joinPaths.d.ts +2 -0
  298. package/dist/esm/joinPaths.d.ts.map +1 -0
  299. package/dist/esm/joinPaths.js +7 -0
  300. package/dist/esm/joinPaths.js.map +1 -0
  301. package/dist/esm/queries/IObservableQueryConnection.d.ts +6 -0
  302. package/dist/esm/queries/IObservableQueryConnection.d.ts.map +1 -0
  303. package/dist/esm/queries/IObservableQueryConnection.js +2 -0
  304. package/dist/esm/queries/IObservableQueryConnection.js.map +1 -0
  305. package/dist/esm/queries/IObservableQueryFor.d.ts +13 -0
  306. package/dist/esm/queries/IObservableQueryFor.d.ts.map +1 -0
  307. package/dist/esm/queries/IObservableQueryFor.js +2 -0
  308. package/dist/esm/queries/IObservableQueryFor.js.map +1 -0
  309. package/dist/esm/queries/IQuery.d.ts +10 -0
  310. package/dist/esm/queries/IQuery.d.ts.map +1 -0
  311. package/dist/esm/queries/IQuery.js +2 -0
  312. package/dist/esm/queries/IQuery.js.map +1 -0
  313. package/dist/esm/queries/IQueryFor.d.ts +12 -0
  314. package/dist/esm/queries/IQueryFor.d.ts.map +1 -0
  315. package/dist/esm/queries/IQueryFor.js +2 -0
  316. package/dist/esm/queries/IQueryFor.js.map +1 -0
  317. package/dist/esm/queries/IQueryProvider.d.ts +6 -0
  318. package/dist/esm/queries/IQueryProvider.d.ts.map +1 -0
  319. package/dist/esm/queries/IQueryProvider.js +5 -0
  320. package/dist/esm/queries/IQueryProvider.js.map +1 -0
  321. package/dist/esm/queries/IQueryResult.d.ts +15 -0
  322. package/dist/esm/queries/IQueryResult.d.ts.map +1 -0
  323. package/dist/esm/queries/IQueryResult.js +2 -0
  324. package/dist/esm/queries/IQueryResult.js.map +1 -0
  325. package/dist/esm/queries/NullObservableQueryConnection.d.ts +9 -0
  326. package/dist/esm/queries/NullObservableQueryConnection.d.ts.map +1 -0
  327. package/dist/esm/queries/NullObservableQueryConnection.js +16 -0
  328. package/dist/esm/queries/NullObservableQueryConnection.js.map +1 -0
  329. package/dist/esm/queries/ObservableQueryConnection.d.ts +14 -0
  330. package/dist/esm/queries/ObservableQueryConnection.d.ts.map +1 -0
  331. package/dist/esm/queries/ObservableQueryConnection.js +99 -0
  332. package/dist/esm/queries/ObservableQueryConnection.js.map +1 -0
  333. package/dist/esm/queries/ObservableQueryFor.d.ts +37 -0
  334. package/dist/esm/queries/ObservableQueryFor.d.ts.map +1 -0
  335. package/dist/esm/queries/ObservableQueryFor.js +174 -0
  336. package/dist/esm/queries/ObservableQueryFor.js.map +1 -0
  337. package/dist/esm/queries/ObservableQuerySubscription.d.ts +7 -0
  338. package/dist/esm/queries/ObservableQuerySubscription.d.ts.map +1 -0
  339. package/dist/esm/queries/ObservableQuerySubscription.js +15 -0
  340. package/dist/esm/queries/ObservableQuerySubscription.js.map +1 -0
  341. package/dist/esm/queries/Paging.d.ts +8 -0
  342. package/dist/esm/queries/Paging.d.ts.map +1 -0
  343. package/dist/esm/queries/Paging.js +15 -0
  344. package/dist/esm/queries/Paging.js.map +1 -0
  345. package/dist/esm/queries/PagingInfo.d.ts +9 -0
  346. package/dist/esm/queries/PagingInfo.d.ts.map +1 -0
  347. package/dist/esm/queries/PagingInfo.js +16 -0
  348. package/dist/esm/queries/PagingInfo.js.map +1 -0
  349. package/dist/esm/queries/QueryFor.d.ts +30 -0
  350. package/dist/esm/queries/QueryFor.d.ts.map +1 -0
  351. package/dist/esm/queries/QueryFor.js +99 -0
  352. package/dist/esm/queries/QueryFor.js.map +1 -0
  353. package/dist/esm/queries/QueryProvider.d.ts +13 -0
  354. package/dist/esm/queries/QueryProvider.d.ts.map +1 -0
  355. package/dist/esm/queries/QueryProvider.js +23 -0
  356. package/dist/esm/queries/QueryProvider.js.map +1 -0
  357. package/dist/esm/queries/QueryResult.d.ts +44 -0
  358. package/dist/esm/queries/QueryResult.d.ts.map +1 -0
  359. package/dist/esm/queries/QueryResult.js +93 -0
  360. package/dist/esm/queries/QueryResult.js.map +1 -0
  361. package/dist/esm/queries/QueryResultWithState.d.ts +22 -0
  362. package/dist/esm/queries/QueryResultWithState.d.ts.map +1 -0
  363. package/dist/esm/queries/QueryResultWithState.js +44 -0
  364. package/dist/esm/queries/QueryResultWithState.js.map +1 -0
  365. package/dist/esm/queries/SortDirection.d.ts +6 -0
  366. package/dist/esm/queries/SortDirection.d.ts.map +1 -0
  367. package/dist/esm/queries/SortDirection.js +9 -0
  368. package/dist/esm/queries/SortDirection.js.map +1 -0
  369. package/dist/esm/queries/Sorting.d.ts +9 -0
  370. package/dist/esm/queries/Sorting.d.ts.map +1 -0
  371. package/dist/esm/queries/Sorting.js +17 -0
  372. package/dist/esm/queries/Sorting.js.map +1 -0
  373. package/dist/esm/queries/SortingActions.d.ts +10 -0
  374. package/dist/esm/queries/SortingActions.d.ts.map +1 -0
  375. package/dist/esm/queries/SortingActions.js +22 -0
  376. package/dist/esm/queries/SortingActions.js.map +1 -0
  377. package/dist/esm/queries/SortingActionsForObservableQuery.d.ts +10 -0
  378. package/dist/esm/queries/SortingActionsForObservableQuery.d.ts.map +1 -0
  379. package/dist/esm/queries/SortingActionsForObservableQuery.js +22 -0
  380. package/dist/esm/queries/SortingActionsForObservableQuery.js.map +1 -0
  381. package/dist/esm/queries/SortingActionsForQuery.d.ts +10 -0
  382. package/dist/esm/queries/SortingActionsForQuery.d.ts.map +1 -0
  383. package/dist/esm/queries/SortingActionsForQuery.js +22 -0
  384. package/dist/esm/queries/SortingActionsForQuery.js.map +1 -0
  385. package/dist/esm/queries/ValidateRequestArguments.d.ts +2 -0
  386. package/dist/esm/queries/ValidateRequestArguments.d.ts.map +1 -0
  387. package/dist/esm/queries/ValidateRequestArguments.js +27 -0
  388. package/dist/esm/queries/ValidateRequestArguments.js.map +1 -0
  389. package/dist/esm/queries/index.d.ts +19 -0
  390. package/dist/esm/queries/index.d.ts.map +1 -0
  391. package/dist/esm/queries/index.js +15 -0
  392. package/dist/esm/queries/index.js.map +1 -0
  393. package/dist/esm/reflection/IHaveParameters.d.ts +5 -0
  394. package/dist/esm/reflection/IHaveParameters.d.ts.map +1 -0
  395. package/dist/esm/reflection/IHaveParameters.js +2 -0
  396. package/dist/esm/reflection/IHaveParameters.js.map +1 -0
  397. package/dist/esm/reflection/ParameterDescriptor.d.ts +7 -0
  398. package/dist/esm/reflection/ParameterDescriptor.d.ts.map +1 -0
  399. package/dist/esm/reflection/ParameterDescriptor.js +11 -0
  400. package/dist/esm/reflection/ParameterDescriptor.js.map +1 -0
  401. package/dist/esm/reflection/ParametersHelper.d.ts +5 -0
  402. package/dist/esm/reflection/ParametersHelper.d.ts.map +1 -0
  403. package/dist/esm/reflection/ParametersHelper.js +15 -0
  404. package/dist/esm/reflection/ParametersHelper.js.map +1 -0
  405. package/dist/esm/reflection/PropertyDescriptor.d.ts +7 -0
  406. package/dist/esm/reflection/PropertyDescriptor.d.ts.map +1 -0
  407. package/dist/esm/reflection/PropertyDescriptor.js +11 -0
  408. package/dist/esm/reflection/PropertyDescriptor.js.map +1 -0
  409. package/dist/esm/reflection/index.d.ts +5 -0
  410. package/dist/esm/reflection/index.d.ts.map +1 -0
  411. package/dist/esm/reflection/index.js +4 -0
  412. package/dist/esm/reflection/index.js.map +1 -0
  413. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  414. package/dist/esm/validation/ValidationResult.d.ts +9 -0
  415. package/dist/esm/validation/ValidationResult.d.ts.map +1 -0
  416. package/dist/esm/validation/ValidationResult.js +15 -0
  417. package/dist/esm/validation/ValidationResult.js.map +1 -0
  418. package/dist/esm/validation/ValidationResultSeverity.d.ts +7 -0
  419. package/dist/esm/validation/ValidationResultSeverity.d.ts.map +1 -0
  420. package/dist/esm/validation/ValidationResultSeverity.js +8 -0
  421. package/dist/esm/validation/ValidationResultSeverity.js.map +1 -0
  422. package/dist/esm/validation/Validator.d.ts +4 -0
  423. package/dist/esm/validation/Validator.d.ts.map +1 -0
  424. package/dist/esm/validation/Validator.js +8 -0
  425. package/dist/esm/validation/Validator.js.map +1 -0
  426. package/dist/esm/validation/index.d.ts +3 -0
  427. package/dist/esm/validation/index.d.ts.map +1 -0
  428. package/dist/esm/validation/index.js +3 -0
  429. package/dist/esm/validation/index.js.map +1 -0
  430. package/for_UrlHelpers/when_building_query_params/with_additional_parameters.ts +23 -0
  431. package/for_UrlHelpers/when_building_query_params/with_empty_parameters.ts +16 -0
  432. package/for_UrlHelpers/when_building_query_params/with_null_and_undefined_values.ts +22 -0
  433. package/for_UrlHelpers/when_building_query_params/with_unused_parameters_only.ts +21 -0
  434. package/for_UrlHelpers/when_creating_url_from/with_base_path_ending_with_slash.ts +32 -0
  435. package/for_UrlHelpers/when_creating_url_from/with_empty_origin.ts +45 -0
  436. package/for_UrlHelpers/when_creating_url_from/with_null_or_undefined_origin.ts +53 -0
  437. package/for_UrlHelpers/when_creating_url_from/with_relative_route.ts +32 -0
  438. package/for_UrlHelpers/when_creating_url_from/with_valid_parameters.ts +32 -0
  439. package/for_UrlHelpers/when_creating_url_from/without_document_object.ts +34 -0
  440. package/for_UrlHelpers/when_replacing_route_parameters/with_all_parameters_used_in_route.ts +21 -0
  441. package/for_UrlHelpers/when_replacing_route_parameters/with_no_parameters.ts +19 -0
  442. package/for_UrlHelpers/when_replacing_route_parameters/with_unused_parameters.ts +23 -0
  443. package/for_UrlHelpers/when_replacing_route_parameters/with_url_encoded_values.ts +20 -0
  444. package/given.ts +14 -0
  445. package/identity/IIdentity.ts +33 -0
  446. package/identity/IIdentityProvider.ts +16 -0
  447. package/identity/IdentityProvider.ts +85 -0
  448. package/identity/IdentityProviderResult.ts +8 -0
  449. package/identity/index.ts +7 -0
  450. package/index.ts +21 -0
  451. package/joinPaths.ts +7 -0
  452. package/package.json +70 -0
  453. package/queries/IObservableQueryConnection.ts +21 -0
  454. package/queries/IObservableQueryFor.ts +38 -0
  455. package/queries/IQuery.ts +31 -0
  456. package/queries/IQueryFor.ts +36 -0
  457. package/queries/IQueryProvider.ts +17 -0
  458. package/queries/IQueryResult.ts +60 -0
  459. package/queries/NullObservableQueryConnection.ts +29 -0
  460. package/queries/ObservableQueryConnection.ts +118 -0
  461. package/queries/ObservableQueryFor.ts +230 -0
  462. package/queries/ObservableQuerySubscription.ts +27 -0
  463. package/queries/Paging.ts +38 -0
  464. package/queries/PagingInfo.ts +43 -0
  465. package/queries/QueryFor.ts +138 -0
  466. package/queries/QueryProvider.ts +36 -0
  467. package/queries/QueryResult.ts +157 -0
  468. package/queries/QueryResultWithState.ts +95 -0
  469. package/queries/SortDirection.ts +22 -0
  470. package/queries/Sorting.ts +30 -0
  471. package/queries/SortingActions.ts +36 -0
  472. package/queries/SortingActionsForObservableQuery.ts +36 -0
  473. package/queries/SortingActionsForQuery.ts +36 -0
  474. package/queries/ValidateRequestArguments.ts +36 -0
  475. package/queries/for_ObservableQueryFor/given/TestQueries.ts +58 -0
  476. package/queries/for_ObservableQueryFor/given/an_observable_query_for.ts +16 -0
  477. package/queries/for_ObservableQueryFor/when_constructing.ts +32 -0
  478. package/queries/for_ObservableQueryFor/when_constructing_enumerable.ts +18 -0
  479. package/queries/for_ObservableQueryFor/when_disposing.ts +28 -0
  480. package/queries/for_ObservableQueryFor/when_performing/with_enumerable_query.ts +61 -0
  481. package/queries/for_ObservableQueryFor/when_performing/with_invalid_arguments.ts +22 -0
  482. package/queries/for_ObservableQueryFor/when_performing/with_paging.ts +55 -0
  483. package/queries/for_ObservableQueryFor/when_performing/with_parameter_descriptor_values.ts +68 -0
  484. package/queries/for_ObservableQueryFor/when_performing/with_partial_parameter_descriptor_values.ts +67 -0
  485. package/queries/for_ObservableQueryFor/when_performing/with_route_parameters_and_unused_parameters.ts +71 -0
  486. package/queries/for_ObservableQueryFor/when_performing/with_sorting.ts +56 -0
  487. package/queries/for_ObservableQueryFor/when_performing/with_valid_arguments.ts +79 -0
  488. package/queries/for_ObservableQueryFor/when_setting_api_base_path.ts +17 -0
  489. package/queries/for_ObservableQueryFor/when_setting_microservice.ts +17 -0
  490. package/queries/for_ObservableQueryFor/when_setting_origin.ts +17 -0
  491. package/queries/for_ObservableQueryFor/when_subscribing/with_enumerable_query.ts +34 -0
  492. package/queries/for_ObservableQueryFor/when_subscribing/with_invalid_arguments.ts +40 -0
  493. package/queries/for_ObservableQueryFor/when_subscribing/with_paging.ts +36 -0
  494. package/queries/for_ObservableQueryFor/when_subscribing/with_sorting.ts +37 -0
  495. package/queries/for_ObservableQueryFor/when_subscribing/with_valid_arguments.ts +35 -0
  496. package/queries/for_QueryFor/given/TestQueries.ts +72 -0
  497. package/queries/for_QueryFor/given/a_query_for.ts +18 -0
  498. package/queries/for_QueryFor/when_constructing.ts +31 -0
  499. package/queries/for_QueryFor/when_constructing_enumerable.ts +17 -0
  500. package/queries/for_QueryFor/when_performing/with_abort_controller.ts +71 -0
  501. package/queries/for_QueryFor/when_performing/with_enumerable_query.ts +62 -0
  502. package/queries/for_QueryFor/when_performing/with_fetch_error.ts +47 -0
  503. package/queries/for_QueryFor/when_performing/with_invalid_arguments.ts +29 -0
  504. package/queries/for_QueryFor/when_performing/with_json_parse_error.ts +45 -0
  505. package/queries/for_QueryFor/when_performing/with_paging.ts +62 -0
  506. package/queries/for_QueryFor/when_performing/with_parameter_descriptor_values.ts +68 -0
  507. package/queries/for_QueryFor/when_performing/with_partial_parameter_descriptor_values.ts +67 -0
  508. package/queries/for_QueryFor/when_performing/with_query_without_required_parameters.ts +58 -0
  509. package/queries/for_QueryFor/when_performing/with_route_parameters_and_unused_parameters.ts +71 -0
  510. package/queries/for_QueryFor/when_performing/with_sorting.ts +99 -0
  511. package/queries/for_QueryFor/when_performing/with_valid_arguments.ts +87 -0
  512. package/queries/for_QueryFor/when_setting_api_base_path.ts +19 -0
  513. package/queries/for_QueryFor/when_setting_microservice.ts +19 -0
  514. package/queries/for_QueryFor/when_setting_origin.ts +19 -0
  515. package/queries/for_QueryResult/when_asking_has_data/and_it_an_array_with_items.ts +27 -0
  516. package/queries/for_QueryResult/when_asking_has_data/and_it_is_defined_instance.ts +27 -0
  517. package/queries/for_QueryResult/when_asking_has_data/and_it_is_empty_array.ts +27 -0
  518. package/queries/for_QueryResult/when_asking_has_data/and_it_is_undefined.ts +27 -0
  519. package/queries/index.ts +21 -0
  520. package/reflection/IHaveParameters.ts +11 -0
  521. package/reflection/ParameterDescriptor.ts +17 -0
  522. package/reflection/ParametersHelper.ts +25 -0
  523. package/reflection/PropertyDescriptor.ts +17 -0
  524. package/reflection/index.ts +7 -0
  525. package/validation/ValidationResult.ts +16 -0
  526. package/validation/ValidationResultSeverity.ts +28 -0
  527. package/validation/Validator.ts +15 -0
  528. package/validation/index.ts +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservableQueryFor.js","sources":["../../../queries/ObservableQueryFor.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 { IObservableQueryFor, OnNextResult } from './IObservableQueryFor';\nimport { ObservableQueryConnection } from './ObservableQueryConnection';\nimport { ObservableQuerySubscription } from './ObservableQuerySubscription';\nimport { ValidateRequestArguments } from './ValidateRequestArguments';\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\nimport { NullObservableQueryConnection } from './NullObservableQueryConnection';\nimport { Constructor } from '@cratis/fundamentals';\nimport { JsonSerializer } from '@cratis/fundamentals';\nimport { QueryResult } from './QueryResult';\nimport { Sorting } from './Sorting';\nimport { Paging } from './Paging';\nimport { SortDirection } from './SortDirection';\nimport { Globals } from '../Globals';\nimport { joinPaths } from '../joinPaths';\nimport { UrlHelpers } from '../UrlHelpers';\nimport { GetHttpHeaders } from '../GetHttpHeaders';\nimport { ParameterDescriptor } from '../reflection/ParameterDescriptor';\nimport { ParametersHelper } from '../reflection/ParametersHelper';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Represents an implementation of {@link IQueryFor}.\n * @template TDataType Type of data returned by the query.\n */\nexport abstract class ObservableQueryFor<TDataType, TParameters = object> implements IObservableQueryFor<TDataType, TParameters> {\n private _microservice: string;\n private _apiBasePath: string;\n private _origin: string;\n private _connection?: IObservableQueryConnection<TDataType>;\n private _httpHeadersCallback: GetHttpHeaders;\n\n abstract readonly route: string;\n abstract readonly defaultValue: TDataType;\n abstract readonly parameterDescriptors: ParameterDescriptor[];\n abstract get requiredRequestParameters(): string[];\n sorting: Sorting;\n paging: Paging;\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 = '';\n this._origin = '';\n this._httpHeadersCallback = () => ({});\n }\n\n /**\n * Disposes the query.\n */\n dispose() {\n this._connection?.disconnect();\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 subscribe(callback: OnNextResult<QueryResult<TDataType>>, args?: TParameters): ObservableQuerySubscription<TDataType> {\n const connectionQueryArguments: any = this.buildQueryArguments();\n\n if (this._connection) {\n this._connection.disconnect();\n }\n\n if (!this.validateArguments(args)) {\n this._connection = new NullObservableQueryConnection(this.defaultValue);\n } else {\n const actualRoute = this.buildRoute(args);\n const url = UrlHelpers.createUrlFrom(this._origin, this._apiBasePath, actualRoute);\n this._connection = new ObservableQueryConnection<TDataType>(url, this._microservice);\n }\n\n const subscriber = new ObservableQuerySubscription(this._connection);\n this._connection.connect(data => {\n const result: any = data;\n try {\n this.deserializeResult(result);\n callback(result);\n } catch (ex) {\n console.log(ex);\n }\n }, connectionQueryArguments);\n return subscriber;\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 if (!this.validateArguments(args)) {\n return new Promise<QueryResult<TDataType>>((resolve) => {\n resolve(noSuccess);\n });\n }\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 'Accept': 'application/json',\n 'Content-Type': 'application/json'\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 });\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 private validateArguments(args?: TParameters): boolean {\n return ValidateRequestArguments(this.constructor.name, this.requiredRequestParameters, args as object);\n }\n\n private buildRoute(args?: TParameters): string {\n const { route } = UrlHelpers.replaceRouteParameters(this.route, args as object);\n const actualRoute = joinPaths(this._apiBasePath, route);\n return actualRoute;\n }\n\n private buildQueryArguments(): any {\n const queryArguments: any = {};\n\n if (this.paging && this.paging.pageSize > 0) {\n queryArguments.pageSize = this.paging.pageSize;\n queryArguments.page = this.paging.page;\n }\n\n if (this.sorting.hasSorting) {\n queryArguments.sortBy = this.sorting.field;\n queryArguments.sortDirection = (this.sorting.direction === SortDirection.descending) ? 'desc' : 'asc';\n }\n\n return queryArguments;\n }\n\n private addPagingAndSortingToRoute(route: string): string {\n const additionalParams: Record<string, string | number> = {};\n \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 const queryParams = UrlHelpers.buildQueryParams({}, additionalParams);\n const queryString = queryParams.toString();\n if (queryString) {\n route += '?' + queryString;\n }\n \n return route;\n }\n\n private deserializeResult(result: any): void {\n if (this.enumerable) {\n if (Array.isArray(result.data)) {\n result.data = JsonSerializer.deserializeArrayFromInstance(this.modelType, result.data);\n } else {\n result.data = [];\n }\n } else {\n result.data = JsonSerializer.deserializeFromInstance(this.modelType, result.data);\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IObservableQueryConnection } from './IObservableQueryConnection';
2
+ export declare class ObservableQuerySubscription<TDataType> {
3
+ private _connection;
4
+ constructor(_connection: IObservableQueryConnection<TDataType>);
5
+ unsubscribe(): void;
6
+ }
7
+ //# sourceMappingURL=ObservableQuerySubscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservableQuerySubscription.d.ts","sourceRoot":"","sources":["../../../queries/ObservableQuerySubscription.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAK1E,qBAAa,2BAA2B,CAAC,SAAS;IAMlC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,0BAA0B,CAAC,SAAS,CAAC;IAMtE,WAAW;CAMd"}
@@ -0,0 +1,15 @@
1
+ class ObservableQuerySubscription {
2
+ _connection;
3
+ constructor(_connection) {
4
+ this._connection = _connection;
5
+ }
6
+ unsubscribe() {
7
+ if (this._connection) {
8
+ this._connection.disconnect();
9
+ this._connection = undefined;
10
+ }
11
+ }
12
+ }
13
+
14
+ export { ObservableQuerySubscription };
15
+ //# sourceMappingURL=ObservableQuerySubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservableQuerySubscription.js","sources":["../../../queries/ObservableQuerySubscription.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { IObservableQueryConnection } from './IObservableQueryConnection';\n\n/**\n * Represents a subscription for an observable query.\n */\nexport class ObservableQuerySubscription<TDataType> {\n\n /**\n * Initializes a new instance of the {@link ObservableQuerySubscription} class.\n * @param {ObservableQueryConnection<TDataType> _connection The connection to use.\n */\n constructor(private _connection: IObservableQueryConnection<TDataType>) {\n }\n\n /**\n * Unsubscribe subscription.\n */\n unsubscribe() {\n if (this._connection) {\n this._connection.disconnect();\n this._connection = undefined!;\n }\n }\n}\n"],"names":[],"mappings":"MAQa,2BAA2B,CAAA;AAMhB,IAAA,WAAA;AAApB,IAAA,WAAA,CAAoB,WAAkD,EAAA;QAAlD,IAAA,CAAA,WAAW,GAAX,WAAW;IAC/B;IAKA,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,WAAW,GAAG,SAAU;QACjC;IACJ;AACH;;;;"}
@@ -0,0 +1,8 @@
1
+ export declare class Paging {
2
+ static noPaging: Paging;
3
+ constructor(page?: number, pageSize?: number);
4
+ page: number;
5
+ pageSize: number;
6
+ get hasPaging(): boolean;
7
+ }
8
+ //# sourceMappingURL=Paging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paging.d.ts","sourceRoot":"","sources":["../../../queries/Paging.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IAKf,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAoB;gBAK/B,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQ5C,IAAI,EAAE,MAAM,CAAC;IAKb,QAAQ,EAAE,MAAM,CAAC;IAKjB,IAAI,SAAS,IAAI,OAAO,CAEvB;CACJ"}
@@ -0,0 +1,15 @@
1
+ class Paging {
2
+ static noPaging = new Paging(0, 0);
3
+ constructor(page, pageSize) {
4
+ this.page = page ?? 0;
5
+ this.pageSize = pageSize ?? 0;
6
+ }
7
+ page;
8
+ pageSize;
9
+ get hasPaging() {
10
+ return this.page > 0 || this.pageSize > 0;
11
+ }
12
+ }
13
+
14
+ export { Paging };
15
+ //# sourceMappingURL=Paging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paging.js","sources":["../../../queries/Paging.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 paging information for a query.\n */\nexport class Paging {\n\n /**\n * No paging.\n */\n static noPaging: Paging = new Paging(0, 0);\n\n /**\n * Initializes a new instance of {@link Paging}.\n */\n constructor(page?: number, pageSize?: number) {\n this.page = page ?? 0;\n this.pageSize = pageSize ?? 0;\n }\n\n /**\n * Page of paging\n */\n page: number;\n\n /**\n * Page size of paging\n */\n pageSize: number;\n\n /**\n * Gets whether or not there is paging.\n */\n get hasPaging(): boolean {\n return this.page > 0 || this.pageSize > 0;\n }\n}"],"names":[],"mappings":"MAMa,MAAM,CAAA;IAKf,OAAO,QAAQ,GAAW,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAK1C,WAAA,CAAY,IAAa,EAAE,QAAiB,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,CAAC;IACjC;AAKA,IAAA,IAAI;AAKJ,IAAA,QAAQ;AAKR,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;IAC7C;;;;;"}
@@ -0,0 +1,9 @@
1
+ export declare class PagingInfo {
2
+ static readonly noPaging: PagingInfo;
3
+ constructor();
4
+ page: number;
5
+ size: number;
6
+ totalItems: number;
7
+ totalPages: number;
8
+ }
9
+ //# sourceMappingURL=PagingInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagingInfo.d.ts","sourceRoot":"","sources":["../../../queries/PagingInfo.ts"],"names":[],"mappings":"AAMA,qBAAa,UAAU;IAKnB,MAAM,CAAC,QAAQ,CAAC,QAAQ,aAAoB;;IAe5C,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,EAAE,MAAM,CAAC;IAKb,UAAU,EAAE,MAAM,CAAC;IAKnB,UAAU,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,16 @@
1
+ class PagingInfo {
2
+ static noPaging = new PagingInfo();
3
+ constructor() {
4
+ this.page = 0;
5
+ this.size = 0;
6
+ this.totalItems = 0;
7
+ this.totalPages = 0;
8
+ }
9
+ page;
10
+ size;
11
+ totalItems;
12
+ totalPages;
13
+ }
14
+
15
+ export { PagingInfo };
16
+ //# sourceMappingURL=PagingInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagingInfo.js","sources":["../../../queries/PagingInfo.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 paging information for a query.\n */\nexport class PagingInfo {\n\n /**\n * No paging paging info.\n */\n static readonly noPaging = new PagingInfo();\n\n /**\n * Initializes a new instance of the {@link PagingInfo} class.\n */\n constructor() {\n this.page = 0;\n this.size = 0;\n this.totalItems = 0;\n this.totalPages = 0;\n }\n\n /**\n * Current page.\n */\n page: number;\n\n /**\n * Page size.\n */\n size: number;\n\n /**\n * Total number items.\n */\n totalItems: number;\n\n /**\n * Total number of pages.\n */\n totalPages: number;\n}\n"],"names":[],"mappings":"MAMa,UAAU,CAAA;AAKnB,IAAA,OAAgB,QAAQ,GAAG,IAAI,UAAU,EAAE;AAK3C,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;IACvB;AAKA,IAAA,IAAI;AAKJ,IAAA,IAAI;AAKJ,IAAA,UAAU;AAKV,IAAA,UAAU;;;;;"}
@@ -0,0 +1,30 @@
1
+ import { IQueryFor } from './IQueryFor';
2
+ import { QueryResult } from "./QueryResult";
3
+ import { Constructor } from '@cratis/fundamentals';
4
+ import { Paging } from './Paging';
5
+ import { Sorting } from './Sorting';
6
+ import { GetHttpHeaders } from '../GetHttpHeaders';
7
+ import { ParameterDescriptor } from '../reflection/ParameterDescriptor';
8
+ export declare abstract class QueryFor<TDataType, TParameters = object> implements IQueryFor<TDataType, TParameters> {
9
+ readonly modelType: Constructor;
10
+ readonly enumerable: boolean;
11
+ private _microservice;
12
+ private _apiBasePath;
13
+ private _origin;
14
+ private _httpHeadersCallback;
15
+ abstract readonly route: string;
16
+ abstract readonly parameterDescriptors: ParameterDescriptor[];
17
+ abstract get requiredRequestParameters(): string[];
18
+ abstract defaultValue: TDataType;
19
+ abortController?: AbortController;
20
+ sorting: Sorting;
21
+ paging: Paging;
22
+ parameters: TParameters | undefined;
23
+ constructor(modelType: Constructor, enumerable: boolean);
24
+ setMicroservice(microservice: string): void;
25
+ setApiBasePath(apiBasePath: string): void;
26
+ setOrigin(origin: string): void;
27
+ setHttpHeadersCallback(callback: GetHttpHeaders): void;
28
+ perform(args?: TParameters): Promise<QueryResult<TDataType>>;
29
+ }
30
+ //# sourceMappingURL=QueryFor.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,99 @@
1
+ import { QueryResult } from './QueryResult.js';
2
+ import { ValidateRequestArguments } from './ValidateRequestArguments.js';
3
+ import { Paging } from './Paging.js';
4
+ import { Globals } from '../Globals.js';
5
+ import { Sorting } from './Sorting.js';
6
+ import { SortDirection } from './SortDirection.js';
7
+ import { joinPaths } from '../joinPaths.js';
8
+ import { UrlHelpers } from '../UrlHelpers.js';
9
+ import { ParametersHelper } from '../reflection/ParametersHelper.js';
10
+
11
+ class QueryFor {
12
+ modelType;
13
+ enumerable;
14
+ _microservice;
15
+ _apiBasePath;
16
+ _origin;
17
+ _httpHeadersCallback;
18
+ abortController;
19
+ sorting;
20
+ paging;
21
+ parameters;
22
+ constructor(modelType, enumerable) {
23
+ this.modelType = modelType;
24
+ this.enumerable = enumerable;
25
+ this.sorting = Sorting.none;
26
+ this.paging = Paging.noPaging;
27
+ this._microservice = Globals.microservice ?? '';
28
+ this._apiBasePath = '';
29
+ this._origin = '';
30
+ this._httpHeadersCallback = () => ({});
31
+ }
32
+ setMicroservice(microservice) {
33
+ this._microservice = microservice;
34
+ }
35
+ setApiBasePath(apiBasePath) {
36
+ this._apiBasePath = apiBasePath;
37
+ }
38
+ setOrigin(origin) {
39
+ this._origin = origin;
40
+ }
41
+ setHttpHeadersCallback(callback) {
42
+ this._httpHeadersCallback = callback;
43
+ }
44
+ async perform(args) {
45
+ const noSuccess = { ...QueryResult.noSuccess, ...{ data: this.defaultValue } };
46
+ args = args || this.parameters;
47
+ if (!ValidateRequestArguments(this.constructor.name, this.requiredRequestParameters, args)) {
48
+ return new Promise((resolve) => {
49
+ resolve(noSuccess);
50
+ });
51
+ }
52
+ if (this.abortController) {
53
+ this.abortController.abort();
54
+ }
55
+ this.abortController = new AbortController();
56
+ const { route, unusedParameters } = UrlHelpers.replaceRouteParameters(this.route, args);
57
+ let actualRoute = joinPaths(this._apiBasePath, route);
58
+ const additionalParams = {};
59
+ if (this.paging.hasPaging) {
60
+ additionalParams.page = this.paging.page;
61
+ additionalParams.pageSize = this.paging.pageSize;
62
+ }
63
+ if (this.sorting.hasSorting) {
64
+ additionalParams.sortBy = this.sorting.field;
65
+ additionalParams.sortDirection = (this.sorting.direction === SortDirection.descending) ? 'desc' : 'asc';
66
+ }
67
+ const parameterValues = ParametersHelper.collectParameterValues(this);
68
+ const queryParams = UrlHelpers.buildQueryParams({ ...unusedParameters, ...parameterValues }, additionalParams);
69
+ const queryString = queryParams.toString();
70
+ if (queryString) {
71
+ actualRoute += (actualRoute.includes('?') ? '&' : '?') + queryString;
72
+ }
73
+ const url = UrlHelpers.createUrlFrom(this._origin, this._apiBasePath, actualRoute);
74
+ const headers = {
75
+ ...this._httpHeadersCallback?.(), ...{
76
+ 'Accept': 'application/json',
77
+ 'Content-Type': 'application/json'
78
+ }
79
+ };
80
+ if (this._microservice?.length > 0) {
81
+ headers[Globals.microserviceHttpHeader] = this._microservice;
82
+ }
83
+ const response = await fetch(url, {
84
+ method: 'GET',
85
+ headers,
86
+ signal: this.abortController.signal
87
+ });
88
+ try {
89
+ const result = await response.json();
90
+ return new QueryResult(result, this.modelType, this.enumerable);
91
+ }
92
+ catch {
93
+ return noSuccess;
94
+ }
95
+ }
96
+ }
97
+
98
+ export { QueryFor };
99
+ //# sourceMappingURL=QueryFor.js.map
@@ -0,0 +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 = '';\n this._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":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { IQueryProvider } from './IQueryProvider';
3
+ import { IQuery } from './IQuery';
4
+ import { GetHttpHeaders } from '../GetHttpHeaders';
5
+ export declare class QueryProvider implements IQueryProvider {
6
+ private readonly _microservice;
7
+ private readonly _apiBasePath;
8
+ private readonly _origin;
9
+ private readonly _httpHeadersCallback;
10
+ constructor(_microservice: string, _apiBasePath: string, _origin: string, _httpHeadersCallback: GetHttpHeaders);
11
+ get<T extends IQuery>(queryType: Constructor<T>): T;
12
+ }
13
+ //# sourceMappingURL=QueryProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryProvider.d.ts","sourceRoot":"","sources":["../../../queries/QueryProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,qBAAa,aAAc,YAAW,cAAc;IAU5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,cAAc;IAGzD,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;CAQtD"}
@@ -0,0 +1,23 @@
1
+ class QueryProvider {
2
+ _microservice;
3
+ _apiBasePath;
4
+ _origin;
5
+ _httpHeadersCallback;
6
+ constructor(_microservice, _apiBasePath, _origin, _httpHeadersCallback) {
7
+ this._microservice = _microservice;
8
+ this._apiBasePath = _apiBasePath;
9
+ this._origin = _origin;
10
+ this._httpHeadersCallback = _httpHeadersCallback;
11
+ }
12
+ get(queryType) {
13
+ const query = new queryType();
14
+ query.setMicroservice(this._microservice);
15
+ query.setApiBasePath(this._apiBasePath);
16
+ query.setOrigin(this._origin);
17
+ query.setHttpHeadersCallback(this._httpHeadersCallback);
18
+ return query;
19
+ }
20
+ }
21
+
22
+ export { QueryProvider };
23
+ //# sourceMappingURL=QueryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryProvider.js","sources":["../../../queries/QueryProvider.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 } from '@cratis/fundamentals';\nimport { IQueryProvider } from './IQueryProvider';\nimport { IQuery } from './IQuery';\nimport { GetHttpHeaders } from '../GetHttpHeaders';\n\n/**\n * Represents an implementation of {@link IQueryProvider}\n */\nexport class QueryProvider implements IQueryProvider {\n\n /**\n * Initializes a new instance of {@link QueryProvider}\n * @param _microservice Name of the microservice to provide queries for.\n * @param _apiBasePath Base path for the API to use for the query.\n * @param _origin Origin to use for the query.\n * @param _httpHeadersCallback Callback to get HTTP headers for the query.\n */\n constructor(\n private readonly _microservice: string,\n private readonly _apiBasePath: string,\n private readonly _origin: string,\n private readonly _httpHeadersCallback: GetHttpHeaders) { }\n\n /** @inheritdoc */\n get<T extends IQuery>(queryType: Constructor<T>): T {\n const query = new queryType();\n query.setMicroservice(this._microservice);\n query.setApiBasePath(this._apiBasePath);\n query.setOrigin(this._origin);\n query.setHttpHeadersCallback(this._httpHeadersCallback);\n return query;\n }\n}"],"names":[],"mappings":"MAWa,aAAa,CAAA;AAUD,IAAA,aAAA;AACA,IAAA,YAAA;AACA,IAAA,OAAA;AACA,IAAA,oBAAA;AAJrB,IAAA,WAAA,CACqB,aAAqB,EACrB,YAAoB,EACpB,OAAe,EACf,oBAAoC,EAAA;QAHpC,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;IAAoB;AAG7D,IAAA,GAAG,CAAmB,SAAyB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE;AAC7B,QAAA,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,QAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,OAAO,KAAK;IAChB;AACH;;;;"}
@@ -0,0 +1,44 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { ValidationResult } from '../validation/ValidationResult';
3
+ import { IQueryResult } from './IQueryResult';
4
+ import { PagingInfo } from './PagingInfo';
5
+ type ServerQueryResult = {
6
+ data: any;
7
+ isSuccess: boolean;
8
+ isAuthorized: boolean;
9
+ isValid: boolean;
10
+ hasExceptions: boolean;
11
+ validationResults: ServerValidationResult[];
12
+ exceptionMessages: string[];
13
+ exceptionStackTrace: string;
14
+ paging: ServerPagingInfo;
15
+ };
16
+ type ServerValidationResult = {
17
+ severity: number;
18
+ message: string;
19
+ members: string[];
20
+ state: object;
21
+ };
22
+ type ServerPagingInfo = {
23
+ page: number;
24
+ size: number;
25
+ totalItems: number;
26
+ totalPages: number;
27
+ };
28
+ export declare class QueryResult<TDataType = object> implements IQueryResult<TDataType> {
29
+ static empty<TDataType>(defaultValue: TDataType): QueryResult<TDataType>;
30
+ static noSuccess: QueryResult;
31
+ constructor(result: ServerQueryResult, instanceType: Constructor, enumerable: boolean);
32
+ readonly data: TDataType;
33
+ readonly paging: PagingInfo;
34
+ readonly isSuccess: boolean;
35
+ readonly isAuthorized: boolean;
36
+ readonly isValid: boolean;
37
+ readonly hasExceptions: boolean;
38
+ readonly validationResults: ValidationResult[];
39
+ readonly exceptionMessages: string[];
40
+ readonly exceptionStackTrace: string;
41
+ get hasData(): boolean;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=QueryResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryResult.d.ts","sourceRoot":"","sources":["../../../queries/QueryResult.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,iBAAiB,GAAG;IAErB,IAAI,EAAE,GAAG,CAAC;IAEV,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,gBAAgB,CAAC;CAC5B,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAA;AAMD,qBAAa,WAAW,CAAC,SAAS,GAAG,MAAM,CAAE,YAAW,YAAY,CAAC,SAAS,CAAC;IAE3E,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAoBxE,MAAM,CAAC,SAAS,EAAE,WAAW,CAeX;gBAQN,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;IAiCrF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAGzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAG5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAG5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAG/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAG1B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAGhC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAG/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAGrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAKrC,IAAI,OAAO,IAAI,OAAO,CAQrB;CACJ"}
@@ -0,0 +1,93 @@
1
+ import { JsonSerializer } from '@cratis/fundamentals';
2
+ import { ValidationResult } from '../validation/ValidationResult.js';
3
+ import { PagingInfo } from './PagingInfo.js';
4
+
5
+ class QueryResult {
6
+ static empty(defaultValue) {
7
+ return new QueryResult({
8
+ data: defaultValue,
9
+ isSuccess: true,
10
+ isAuthorized: true,
11
+ isValid: true,
12
+ hasExceptions: false,
13
+ validationResults: [],
14
+ exceptionMessages: [],
15
+ exceptionStackTrace: '',
16
+ paging: {
17
+ totalItems: 0,
18
+ totalPages: 0,
19
+ page: 0,
20
+ size: 0
21
+ }
22
+ }, Object, false);
23
+ }
24
+ static noSuccess = new QueryResult({
25
+ data: {},
26
+ isSuccess: false,
27
+ isAuthorized: true,
28
+ isValid: true,
29
+ hasExceptions: false,
30
+ validationResults: [],
31
+ exceptionMessages: [],
32
+ exceptionStackTrace: '',
33
+ paging: {
34
+ totalItems: 0,
35
+ totalPages: 0,
36
+ page: 0,
37
+ size: 0
38
+ }
39
+ }, Object, false);
40
+ constructor(result, instanceType, enumerable) {
41
+ this.isSuccess = result.isSuccess;
42
+ this.isAuthorized = result.isAuthorized;
43
+ this.isValid = result.isValid;
44
+ this.hasExceptions = result.hasExceptions;
45
+ this.validationResults = result.validationResults.map(_ => new ValidationResult(_.severity, _.message, _.members, _.state));
46
+ this.exceptionMessages = result.exceptionMessages;
47
+ this.exceptionStackTrace = result.exceptionStackTrace;
48
+ this.paging = new PagingInfo();
49
+ this.paging.page = result.paging.page;
50
+ this.paging.size = result.paging.size;
51
+ this.paging.totalItems = result.paging.totalItems;
52
+ this.paging.totalPages = result.paging.totalPages;
53
+ if (result.data) {
54
+ let data = result.data;
55
+ if (enumerable) {
56
+ if (Array.isArray(result.data)) {
57
+ data = JsonSerializer.deserializeArrayFromInstance(instanceType, data);
58
+ }
59
+ else {
60
+ data = [];
61
+ }
62
+ }
63
+ else {
64
+ data = JsonSerializer.deserializeFromInstance(instanceType, data);
65
+ }
66
+ this.data = data;
67
+ }
68
+ else {
69
+ this.data = null;
70
+ }
71
+ }
72
+ data;
73
+ paging;
74
+ isSuccess;
75
+ isAuthorized;
76
+ isValid;
77
+ hasExceptions;
78
+ validationResults;
79
+ exceptionMessages;
80
+ exceptionStackTrace;
81
+ get hasData() {
82
+ if (this.data) {
83
+ if (Array.isArray(this.data)) {
84
+ return this.data.length > 0;
85
+ }
86
+ return true;
87
+ }
88
+ return false;
89
+ }
90
+ }
91
+
92
+ export { QueryResult };
93
+ //# sourceMappingURL=QueryResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryResult.js","sources":["../../../queries/QueryResult.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 { ValidationResult } from '../validation/ValidationResult';\nimport { IQueryResult } from './IQueryResult';\nimport { PagingInfo } from './PagingInfo';\n\ntype ServerQueryResult = {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n data: any;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n isSuccess: boolean;\n isAuthorized: boolean;\n isValid: boolean;\n hasExceptions: boolean;\n validationResults: ServerValidationResult[];\n exceptionMessages: string[];\n exceptionStackTrace: string;\n paging: ServerPagingInfo;\n}\n\ntype ServerValidationResult = {\n severity: number;\n message: string;\n members: string[];\n state: object;\n}\n\ntype ServerPagingInfo = {\n page: number;\n size: number; \n totalItems: number;\n totalPages: number;\n}\n\n/**\n * Represents the result from executing a {@link IQueryFor}.\n * @template TDataType The data type.\n */\nexport class QueryResult<TDataType = object> implements IQueryResult<TDataType> {\n\n static empty<TDataType>(defaultValue: TDataType): QueryResult<TDataType> {\n return new QueryResult({\n data: defaultValue as object,\n isSuccess: true,\n isAuthorized: true,\n isValid: true,\n hasExceptions: false,\n validationResults: [],\n exceptionMessages: [],\n exceptionStackTrace: '',\n paging: {\n totalItems: 0,\n totalPages: 0,\n page: 0,\n size: 0\n }\n\n }, Object, false);\n }\n\n static noSuccess: QueryResult = new QueryResult({\n data: {},\n isSuccess: false,\n isAuthorized: true,\n isValid: true,\n hasExceptions: false,\n validationResults: [],\n exceptionMessages: [],\n exceptionStackTrace: '',\n paging: {\n totalItems: 0,\n totalPages: 0,\n page: 0,\n size: 0\n }\n }, Object, false);\n\n /**\n * Creates an instance of query result.\n * @param {*} result The raw result from the backend.\n * @param {Constructor} instanceType The type of instance to deserialize.\n * @param {boolean} enumerable Whether or not the result is supposed be an enumerable or not.\n */\n constructor(result: ServerQueryResult, instanceType: Constructor, enumerable: boolean) {\n this.isSuccess = result.isSuccess;\n this.isAuthorized = result.isAuthorized;\n this.isValid = result.isValid;\n this.hasExceptions = result.hasExceptions;\n this.validationResults = result.validationResults.map(_ => new ValidationResult(_.severity, _.message, _.members, _.state));\n this.exceptionMessages = result.exceptionMessages;\n this.exceptionStackTrace = result.exceptionStackTrace;\n this.paging = new PagingInfo();\n this.paging.page = result.paging.page;\n this.paging.size = result.paging.size;\n this.paging.totalItems = result.paging.totalItems;\n this.paging.totalPages = result.paging.totalPages;\n\n if (result.data) {\n let data: object = result.data;\n if (enumerable) {\n if (Array.isArray(result.data)) {\n data = JsonSerializer.deserializeArrayFromInstance(instanceType, data);\n } else {\n data = [];\n }\n } else {\n data = JsonSerializer.deserializeFromInstance(instanceType, data);\n }\n\n this.data = data as TDataType;\n } else {\n this.data = null as TDataType;\n }\n }\n\n /** @inheritdoc */\n readonly data: TDataType;\n\n /** @inheritdoc */\n readonly paging: PagingInfo;\n\n /** @inheritdoc */\n readonly isSuccess: boolean;\n\n /** @inheritdoc */\n readonly isAuthorized: boolean;\n\n /** @inheritdoc */\n readonly isValid: boolean;\n\n /** @inheritdoc */\n readonly hasExceptions: boolean;\n\n /** @inheritdoc */\n readonly validationResults: ValidationResult[];\n\n /** @inheritdoc */\n readonly exceptionMessages: string[];\n\n /** @inheritdoc */\n readonly exceptionStackTrace: string;\n\n /**\n * Gets whether or not the query has data.\n */\n get hasData(): boolean {\n if (this.data) {\n if (Array.isArray(this.data)) {\n return this.data.length > 0;\n }\n return true;\n }\n return false;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ValidationResult } from '../validation/ValidationResult';
2
+ import { IQueryResult } from './IQueryResult';
3
+ import { PagingInfo } from './PagingInfo';
4
+ import { QueryResult } from './QueryResult';
5
+ export declare class QueryResultWithState<TDataType> implements IQueryResult<TDataType> {
6
+ readonly data: TDataType;
7
+ readonly paging: PagingInfo;
8
+ readonly isSuccess: boolean;
9
+ readonly isAuthorized: boolean;
10
+ readonly isValid: boolean;
11
+ readonly validationResults: ValidationResult[];
12
+ readonly hasExceptions: boolean;
13
+ readonly exceptionMessages: string[];
14
+ readonly exceptionStackTrace: string;
15
+ readonly isPerforming: boolean;
16
+ static empty<TDataType>(defaultValue: TDataType): QueryResultWithState<TDataType>;
17
+ static initial<TDataType>(defaultValue: TDataType): QueryResultWithState<TDataType>;
18
+ constructor(data: TDataType, paging: PagingInfo, isSuccess: boolean, isAuthorized: boolean, isValid: boolean, validationResults: ValidationResult[], hasExceptions: boolean, exceptionMessages: string[], exceptionStackTrace: string, isPerforming: boolean);
19
+ get hasData(): boolean;
20
+ static fromQueryResult<TDataType>(queryResult: QueryResult<TDataType>, isPerforming: boolean): QueryResultWithState<TDataType>;
21
+ }
22
+ //# sourceMappingURL=QueryResultWithState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryResultWithState.d.ts","sourceRoot":"","sources":["../../../queries/QueryResultWithState.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,qBAAa,oBAAoB,CAAC,SAAS,CAAE,YAAW,YAAY,CAAC,SAAS,CAAC;IA4CvE,QAAQ,CAAC,IAAI,EAAE,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO;IACzB,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE;IAC9C,QAAQ,CAAC,aAAa,EAAE,OAAO;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IACpC,QAAQ,CAAC,YAAY,EAAE,OAAO;IAnDlC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;IAcjF,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;gBA4BtE,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,OAAO;IAIlC,IAAI,OAAO,IAAI,OAAO,CAKrB;IAQD,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,OAAO;CAa/F"}
@@ -0,0 +1,44 @@
1
+ import { PagingInfo } from './PagingInfo.js';
2
+
3
+ class QueryResultWithState {
4
+ data;
5
+ paging;
6
+ isSuccess;
7
+ isAuthorized;
8
+ isValid;
9
+ validationResults;
10
+ hasExceptions;
11
+ exceptionMessages;
12
+ exceptionStackTrace;
13
+ isPerforming;
14
+ static empty(defaultValue) {
15
+ return new QueryResultWithState(defaultValue, PagingInfo.noPaging, true, true, true, [], false, [], '', false);
16
+ }
17
+ static initial(defaultValue) {
18
+ return new QueryResultWithState(defaultValue, PagingInfo.noPaging, true, true, true, [], false, [], '', true);
19
+ }
20
+ constructor(data, paging, isSuccess, isAuthorized, isValid, validationResults, hasExceptions, exceptionMessages, exceptionStackTrace, isPerforming) {
21
+ this.data = data;
22
+ this.paging = paging;
23
+ this.isSuccess = isSuccess;
24
+ this.isAuthorized = isAuthorized;
25
+ this.isValid = isValid;
26
+ this.validationResults = validationResults;
27
+ this.hasExceptions = hasExceptions;
28
+ this.exceptionMessages = exceptionMessages;
29
+ this.exceptionStackTrace = exceptionStackTrace;
30
+ this.isPerforming = isPerforming;
31
+ }
32
+ get hasData() {
33
+ if (Array.isArray(this.data)) {
34
+ return this.data.length > 0;
35
+ }
36
+ return !!this.data;
37
+ }
38
+ static fromQueryResult(queryResult, isPerforming) {
39
+ return new QueryResultWithState(queryResult.data, queryResult.paging, queryResult.isSuccess, queryResult.isAuthorized, queryResult.isValid, queryResult.validationResults, queryResult.hasExceptions, queryResult.exceptionMessages, queryResult.exceptionStackTrace, isPerforming);
40
+ }
41
+ }
42
+
43
+ export { QueryResultWithState };
44
+ //# sourceMappingURL=QueryResultWithState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryResultWithState.js","sources":["../../../queries/QueryResultWithState.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 { ValidationResult } from '../validation/ValidationResult';\nimport { IQueryResult } from './IQueryResult';\nimport { PagingInfo } from './PagingInfo';\nimport { QueryResult } from './QueryResult';\n\n/**\n * Represents a specialized {@link QueryResult<TDataType>} that holds state for its execution\n */\nexport class QueryResultWithState<TDataType> implements IQueryResult<TDataType> {\n\n static empty<TDataType>(defaultValue: TDataType): QueryResultWithState<TDataType> {\n return new QueryResultWithState(\n defaultValue,\n PagingInfo.noPaging,\n true,\n true,\n true,\n [],\n false,\n [],\n '',\n false);\n }\n\n static initial<TDataType>(defaultValue: TDataType): QueryResultWithState<TDataType> {\n return new QueryResultWithState(\n defaultValue,\n PagingInfo.noPaging,\n true,\n true,\n true,\n [],\n false,\n [],\n '',\n true);\n }\n\n /**\n * Initializes an instance of {@link QueryResultWithState<TDataType>}.\n * @param {TDataType} data The items returned, if any - can be empty.\n * @param {PagingInfo} paging The paging info.\n * @param {boolean} isSuccess Whether or not the query was successful.\n * @param {boolean} isAuthorized Whether or not the query was authorized.\n * @param {boolean} isValid Whether or not it is valid.\n * @param {ValidationResult[]} validationResults Any validation errors.\n * @param {boolean} hasExceptions Whether or not it has exceptions.\n * @param {string[]} exceptionMessages Any exception messages.\n * @param {string} exceptionStackTrace Exception stack trace, if any.\n * @param {boolean} isPerforming Whether or not the query is being performed. True if its performing, false if it is done.\n */\n constructor(\n readonly data: TDataType,\n readonly paging: PagingInfo,\n readonly isSuccess: boolean,\n readonly isAuthorized: boolean,\n readonly isValid: boolean,\n readonly validationResults: ValidationResult[],\n readonly hasExceptions: boolean,\n readonly exceptionMessages: string[],\n readonly exceptionStackTrace: string,\n readonly isPerforming: boolean) {\n }\n\n /** @inheritdoc */\n get hasData(): boolean {\n if (Array.isArray(this.data)) {\n return this.data.length > 0;\n }\n return !!this.data;\n }\n\n /**\n * Create a new {@link QueryResultWithState<TDataType>} from {@link QueryResult<TDataType>}.\n * @param queryResult The original query result.\n * @param isPerforming Whether or not the query is performing.\n * @returns A new {@link QueryResultWithState<TDataType>}\n */\n static fromQueryResult<TDataType>(queryResult: QueryResult<TDataType>, isPerforming: boolean) {\n return new QueryResultWithState<TDataType>(\n queryResult.data,\n queryResult.paging,\n queryResult.isSuccess,\n queryResult.isAuthorized,\n queryResult.isValid,\n queryResult.validationResults,\n queryResult.hasExceptions,\n queryResult.exceptionMessages,\n queryResult.exceptionStackTrace,\n isPerforming);\n }\n}\n"],"names":[],"mappings":";;MAWa,oBAAoB,CAAA;AA4ChB,IAAA,IAAA;AACA,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,YAAA;AACA,IAAA,OAAA;AACA,IAAA,iBAAA;AACA,IAAA,aAAA;AACA,IAAA,iBAAA;AACA,IAAA,mBAAA;AACA,IAAA,YAAA;IAnDb,OAAO,KAAK,CAAY,YAAuB,EAAA;QAC3C,OAAO,IAAI,oBAAoB,CAC3B,YAAY,EACZ,UAAU,CAAC,QAAQ,EACnB,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,KAAK,EACL,EAAE,EACF,EAAE,EACF,KAAK,CAAC;IACd;IAEA,OAAO,OAAO,CAAY,YAAuB,EAAA;QAC7C,OAAO,IAAI,oBAAoB,CAC3B,YAAY,EACZ,UAAU,CAAC,QAAQ,EACnB,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,KAAK,EACL,EAAE,EACF,EAAE,EACF,IAAI,CAAC;IACb;AAeA,IAAA,WAAA,CACa,IAAe,EACf,MAAkB,EAClB,SAAkB,EAClB,YAAqB,EACrB,OAAgB,EAChB,iBAAqC,EACrC,aAAsB,EACtB,iBAA2B,EAC3B,mBAA2B,EAC3B,YAAqB,EAAA;QATrB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;QACnB,IAAA,CAAA,YAAY,GAAZ,YAAY;IACzB;AAGA,IAAA,IAAI,OAAO,GAAA;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC/B;AACA,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI;IACtB;AAQA,IAAA,OAAO,eAAe,CAAY,WAAmC,EAAE,YAAqB,EAAA;AACxF,QAAA,OAAO,IAAI,oBAAoB,CAC3B,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,iBAAiB,EAC7B,WAAW,CAAC,aAAa,EACzB,WAAW,CAAC,iBAAiB,EAC7B,WAAW,CAAC,mBAAmB,EAC/B,YAAY,CAAC;IACrB;AACH;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare enum SortDirection {
2
+ unspecified = 0,
3
+ ascending = 1,
4
+ descending = 2
5
+ }
6
+ //# sourceMappingURL=SortDirection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortDirection.d.ts","sourceRoot":"","sources":["../../../queries/SortDirection.ts"],"names":[],"mappings":"AAMA,oBAAY,aAAa;IAIrB,WAAW,IAAI;IAKf,SAAS,IAAI;IAKb,UAAU,IAAI;CACjB"}
@@ -0,0 +1,9 @@
1
+ var SortDirection;
2
+ (function (SortDirection) {
3
+ SortDirection[SortDirection["unspecified"] = 0] = "unspecified";
4
+ SortDirection[SortDirection["ascending"] = 1] = "ascending";
5
+ SortDirection[SortDirection["descending"] = 2] = "descending";
6
+ })(SortDirection || (SortDirection = {}));
7
+
8
+ export { SortDirection };
9
+ //# sourceMappingURL=SortDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortDirection.js","sources":["../../../queries/SortDirection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Defines the direction of sorting.\n */\nexport enum SortDirection {\n /**\n * Unspecified sort direction.\n */\n unspecified = 0,\n\n /**\n * Sort in ascending order.\n */\n ascending = 1,\n\n /**\n * Sort in descending order.\n */\n descending = 2,\n}"],"names":[],"mappings":"IAMY;AAAZ,CAAA,UAAY,aAAa,EAAA;AAIrB,IAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AAKf,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AAKb,IAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AAClB,CAAC,EAfW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}