@ethlete/query 5.21.0 → 5.22.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 (92) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/fesm2022/ethlete-query.mjs +419 -228
  3. package/fesm2022/ethlete-query.mjs.map +1 -1
  4. package/lib/experimental/http-request.d.ts +3 -1
  5. package/lib/experimental/index.d.ts +1 -0
  6. package/lib/experimental/paged-query.d.ts +35 -0
  7. package/lib/experimental/query-errors.d.ts +7 -1
  8. package/lib/experimental/query-stack.d.ts +4 -2
  9. package/package.json +5 -7
  10. package/esm2022/ethlete-query.mjs +0 -5
  11. package/esm2022/index.mjs +0 -21
  12. package/esm2022/lib/auth/auth-provider.types.mjs +0 -2
  13. package/esm2022/lib/auth/auth-provider.utils.mjs +0 -25
  14. package/esm2022/lib/auth/basic-auth-provider.mjs +0 -15
  15. package/esm2022/lib/auth/bearer-auth-provider.mjs +0 -168
  16. package/esm2022/lib/auth/custom-header-auth-provider.mjs +0 -12
  17. package/esm2022/lib/auth/index.mjs +0 -6
  18. package/esm2022/lib/class-validator/class-validator.types.mjs +0 -2
  19. package/esm2022/lib/class-validator/class-validator.utils.mjs +0 -4
  20. package/esm2022/lib/class-validator/index.mjs +0 -3
  21. package/esm2022/lib/devtools/components/query-devtools/index.mjs +0 -2
  22. package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +0 -297
  23. package/esm2022/lib/devtools/pipes/index.mjs +0 -2
  24. package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +0 -24
  25. package/esm2022/lib/devtools/utils/index.mjs +0 -2
  26. package/esm2022/lib/devtools/utils/query-client.utils.mjs +0 -13
  27. package/esm2022/lib/directives/index.mjs +0 -4
  28. package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +0 -56
  29. package/esm2022/lib/directives/infinity-query.directive.mjs +0 -147
  30. package/esm2022/lib/directives/query.directive.mjs +0 -123
  31. package/esm2022/lib/entity/entity-store.mjs +0 -127
  32. package/esm2022/lib/entity/entity.types.mjs +0 -2
  33. package/esm2022/lib/entity/entity.utils.mjs +0 -29
  34. package/esm2022/lib/entity/index.mjs +0 -4
  35. package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +0 -19
  36. package/esm2022/lib/experimental/bearer-auth-provider.mjs +0 -245
  37. package/esm2022/lib/experimental/http-request.mjs +0 -154
  38. package/esm2022/lib/experimental/index.mjs +0 -22
  39. package/esm2022/lib/experimental/query-client-config.mjs +0 -13
  40. package/esm2022/lib/experimental/query-client.mjs +0 -16
  41. package/esm2022/lib/experimental/query-creator-templates.mjs +0 -33
  42. package/esm2022/lib/experimental/query-creator.mjs +0 -28
  43. package/esm2022/lib/experimental/query-dependencies.mjs +0 -14
  44. package/esm2022/lib/experimental/query-errors.mjs +0 -61
  45. package/esm2022/lib/experimental/query-execute-utils.mjs +0 -54
  46. package/esm2022/lib/experimental/query-execute.mjs +0 -14
  47. package/esm2022/lib/experimental/query-features.mjs +0 -126
  48. package/esm2022/lib/experimental/query-repository.mjs +0 -97
  49. package/esm2022/lib/experimental/query-snapshot.mjs +0 -45
  50. package/esm2022/lib/experimental/query-stack.mjs +0 -65
  51. package/esm2022/lib/experimental/query-state.mjs +0 -20
  52. package/esm2022/lib/experimental/query-utils.mjs +0 -176
  53. package/esm2022/lib/experimental/query.mjs +0 -29
  54. package/esm2022/lib/experimental/secure-query-creator.mjs +0 -15
  55. package/esm2022/lib/experimental/secure-query-execute.mjs +0 -80
  56. package/esm2022/lib/experimental/secure-query.mjs +0 -33
  57. package/esm2022/lib/gql/gql.mjs +0 -23
  58. package/esm2022/lib/gql/index.mjs +0 -2
  59. package/esm2022/lib/infinite-query/index.mjs +0 -4
  60. package/esm2022/lib/infinite-query/infinity-query.mjs +0 -171
  61. package/esm2022/lib/infinite-query/infinity-query.types.mjs +0 -2
  62. package/esm2022/lib/infinite-query/infinity-query.utils.mjs +0 -3
  63. package/esm2022/lib/logger/index.mjs +0 -2
  64. package/esm2022/lib/logger/logger.mjs +0 -16
  65. package/esm2022/lib/query/index.mjs +0 -4
  66. package/esm2022/lib/query/query.mjs +0 -431
  67. package/esm2022/lib/query/query.types.mjs +0 -2
  68. package/esm2022/lib/query/query.utils.mjs +0 -253
  69. package/esm2022/lib/query-client/index.mjs +0 -4
  70. package/esm2022/lib/query-client/query-client.mjs +0 -80
  71. package/esm2022/lib/query-client/query-client.types.mjs +0 -2
  72. package/esm2022/lib/query-client/query-client.utils.mjs +0 -20
  73. package/esm2022/lib/query-creator/index.mjs +0 -3
  74. package/esm2022/lib/query-creator/query-creator.mjs +0 -55
  75. package/esm2022/lib/query-creator/query-creator.types.mjs +0 -2
  76. package/esm2022/lib/query-form/index.mjs +0 -4
  77. package/esm2022/lib/query-form/query-form.mjs +0 -412
  78. package/esm2022/lib/query-form/query-form.types.mjs +0 -2
  79. package/esm2022/lib/query-form/query-form.utils.mjs +0 -97
  80. package/esm2022/lib/query-store/index.mjs +0 -2
  81. package/esm2022/lib/query-store/query-store.mjs +0 -144
  82. package/esm2022/lib/request/index.mjs +0 -4
  83. package/esm2022/lib/request/request.mjs +0 -196
  84. package/esm2022/lib/request/request.types.mjs +0 -2
  85. package/esm2022/lib/request/request.util.mjs +0 -252
  86. package/esm2022/lib/symfony/index.mjs +0 -3
  87. package/esm2022/lib/symfony/symfony.types.mjs +0 -2
  88. package/esm2022/lib/symfony/symfony.utils.mjs +0 -31
  89. package/esm2022/lib/utils/data.utils.mjs +0 -138
  90. package/esm2022/lib/utils/deep-freeze.util.mjs +0 -17
  91. package/esm2022/lib/utils/def.util.mjs +0 -8
  92. package/esm2022/lib/utils/index.mjs +0 -4
@@ -1,28 +0,0 @@
1
- import { createQuery } from './query';
2
- export const splitQueryConfig = (args) => {
3
- let queryConfig = {};
4
- let features = [];
5
- const first = args[0];
6
- if (first) {
7
- if ('type' in first) {
8
- features = args;
9
- }
10
- else {
11
- [queryConfig, ...features] = args;
12
- }
13
- }
14
- return { features, queryConfig };
15
- };
16
- export const createQueryCreator = (options, internals) => {
17
- function queryCreator(...args) {
18
- const { features, queryConfig } = splitQueryConfig(args);
19
- return createQuery({
20
- creator: options,
21
- creatorInternals: internals,
22
- features,
23
- queryConfig,
24
- });
25
- }
26
- return queryCreator;
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTRDeEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBMEIsSUFBMkMsRUFBRSxFQUFFO0lBQ3ZHLElBQUksV0FBVyxHQUFnQixFQUFFLENBQUM7SUFDbEMsSUFBSSxRQUFRLEdBQTBCLEVBQUUsQ0FBQztJQUV6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLFFBQVEsR0FBRyxJQUE2QixDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxJQUErQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUF5QyxFQUN6QyxTQUE0QyxFQUN2QixFQUFFO0lBSXZCLFNBQVMsWUFBWSxDQUFDLEdBQUcsSUFBMkM7UUFDbEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUVoRSxPQUFPLFdBQVcsQ0FBUTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGhQYXJhbXNUeXBlLCBRdWVyeSwgUXVlcnlBcmdzLCBjcmVhdGVRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlVHlwZTxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPVxuICBQYXRoUGFyYW1zVHlwZTxUQXJncz4gZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID8gKGFyZ3M6IFRBcmdzWydwYXRoUGFyYW1zJ10pID0+IFJvdXRlU3RyaW5nIDogUm91dGVTdHJpbmc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlU3RyaW5nID0gYC8ke3N0cmluZ31gO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB0cmFuc2ZlckNhY2hlPzpcbiAgICB8IHtcbiAgICAgICAgaW5jbHVkZUhlYWRlcnM/OiBzdHJpbmdbXTtcbiAgICAgIH1cbiAgICB8IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUNyZWF0b3I8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbiAgKHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZywgLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5TWV0aG9kID0gJ0dFVCcgfCAnT1BUSU9OUycgfCAnSEVBRCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnIHwgJ1BBVENIJyB8ICdUUkFDRScgfCAnQ09OTkVDVCc7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucyA9IHtcbiAgbWV0aG9kOiBRdWVyeU1ldGhvZDtcbiAgY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmlnID0ge1xuICAvKiogQSBjdXN0b20gaWQgdG8gdXNlIGZvciB0aGlzIHF1ZXJ5LiBPbmx5IGFmZmVjdHMgcXVlcmllcyB0aGF0IGNhbiBiZSBjYWNoZWQuICovXG4gIGtleT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHF1ZXJ5IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqIERvZXMgbm90IGFmZmVjdCBtdXRhdGlvbnMgc3VjaCBhcyBQT1NULCBQVVQgZXRjLiBzaW5jZSB0aG9zZSBhcmUgbmV2ZXIgZXhlY3V0ZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIG9ubHlNYW51YWxFeGVjdXRpb24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHNwbGl0UXVlcnlDb25maWcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pID0+IHtcbiAgbGV0IHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZyA9IHt9O1xuICBsZXQgZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSA9IFtdO1xuXG4gIGNvbnN0IGZpcnN0ID0gYXJnc1swXTtcblxuICBpZiAoZmlyc3QpIHtcbiAgICBpZiAoJ3R5cGUnIGluIGZpcnN0KSB7XG4gICAgICBmZWF0dXJlcyA9IGFyZ3MgYXMgUXVlcnlGZWF0dXJlPFRBcmdzPltdO1xuICAgIH0gZWxzZSB7XG4gICAgICBbcXVlcnlDb25maWcsIC4uLmZlYXR1cmVzXSA9IGFyZ3MgYXMgW1F1ZXJ5Q29uZmlnLCAuLi5RdWVyeUZlYXR1cmU8VEFyZ3M+W11dO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBmZWF0dXJlcywgcXVlcnlDb25maWcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeUNyZWF0b3IgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPixcbiAgaW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsXG4pOiBRdWVyeUNyZWF0b3I8VEFyZ3M+ID0+IHtcbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG4gIGZ1bmN0aW9uIHF1ZXJ5Q3JlYXRvcihxdWVyeUNvbmZpZzogUXVlcnlDb25maWcsIC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG5cbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pOiBRdWVyeTxUQXJncz4ge1xuICAgIGNvbnN0IHsgZmVhdHVyZXMsIHF1ZXJ5Q29uZmlnIH0gPSBzcGxpdFF1ZXJ5Q29uZmlnPFRBcmdzPihhcmdzKTtcblxuICAgIHJldHVybiBjcmVhdGVRdWVyeTxUQXJncz4oe1xuICAgICAgY3JlYXRvcjogb3B0aW9ucyxcbiAgICAgIGNyZWF0b3JJbnRlcm5hbHM6IGludGVybmFscyxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgcXVlcnlDb25maWcsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcXVlcnlDcmVhdG9yO1xufTtcbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { DestroyRef, EnvironmentInjector, createEnvironmentInjector, inject } from '@angular/core';
2
- export const setupQueryDependencies = (options) => {
3
- const environmentInjector = inject(EnvironmentInjector);
4
- const queryEnvironmentInjector = createEnvironmentInjector([], environmentInjector);
5
- const destroyRef = queryEnvironmentInjector.get(DestroyRef);
6
- const client = inject(options.clientConfig.token);
7
- const dependencies = {
8
- destroyRef,
9
- client,
10
- injector: queryEnvironmentInjector,
11
- };
12
- return dependencies;
13
- };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjbkcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFzQyxFQUFFLEVBQUU7SUFDL0UsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLFlBQVksR0FBc0I7UUFDdEMsVUFBVTtRQUNWLE1BQU07UUFDTixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DLENBQUM7SUFFRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBTZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzT3B0aW9ucyA9IHtcbiAgY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzID0gKG9wdGlvbnM6IFNldHVwUXVlcnlEZXBlbmRlbmNpZXNPcHRpb25zKSA9PiB7XG4gIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIGNvbnN0IHF1ZXJ5RW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoW10sIGVudmlyb25tZW50SW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95UmVmID0gcXVlcnlFbnZpcm9ubWVudEluamVjdG9yLmdldChEZXN0cm95UmVmKTtcbiAgY29uc3QgY2xpZW50ID0gaW5qZWN0KG9wdGlvbnMuY2xpZW50Q29uZmlnLnRva2VuKTtcblxuICBjb25zdCBkZXBlbmRlbmNpZXM6IFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICAgIGRlc3Ryb3lSZWYsXG4gICAgY2xpZW50LFxuICAgIGluamVjdG9yOiBxdWVyeUVudmlyb25tZW50SW5qZWN0b3IsXG4gIH07XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn07XG4iXX0=
@@ -1,61 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- import { RuntimeError } from '@ethlete/core';
3
- export const queryFeatureUsedMultipleTimes = (type) => {
4
- return new RuntimeError(0 /* RuntimeErrorCode.QUERY_FEATURE_USED_MULTIPLE_TIMES */, `The query feature "${type}()" was used multiple times.`);
5
- };
6
- export const withArgsQueryFeatureMissingButRouteIsFunction = () => {
7
- return new RuntimeError(100 /* RuntimeErrorCode.WITH_ARGS_QUERY_FEATURE_MISSING_BUT_ROUTE_IS_FUNCTION */, `This queries route is a function, but a "withArgs()" feature is missing.`);
8
- };
9
- export const withPollingUsedOnUnsupportedHttpMethod = (method) => {
10
- return new RuntimeError(101 /* RuntimeErrorCode.WITH_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withPolling()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
11
- };
12
- export const withAutoRefreshUsedOnUnsupportedHttpMethod = (method) => {
13
- return new RuntimeError(102 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withAutoRefresh()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
14
- };
15
- export const withAutoRefreshUsedInManualQuery = () => {
16
- return new RuntimeError(103 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY */, `"withAutoRefresh()" has been used inside a query that has "onlyManualExecution" set to true.` +
17
- ` If this is intentional, set "ignoreOnlyManualExecution" to true inside the auto refresh config.`);
18
- };
19
- export const cookieLoginTriedButCookieDisabled = () => {
20
- return new RuntimeError(200 /* RuntimeErrorCode.COOKIE_LOGIN_TRIED_BUT_COOKIE_DISABLED */, `Cookie login has been tried, but the cookie is disabled.`);
21
- };
22
- export const enableCookieCalledWithoutCookieConfig = () => {
23
- return new RuntimeError(201 /* RuntimeErrorCode.ENABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `enableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
24
- };
25
- export const disableCookieCalledWithoutCookieConfig = () => {
26
- return new RuntimeError(202 /* RuntimeErrorCode.DISABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `disableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
27
- };
28
- export const loginCalledWithoutConfig = () => {
29
- return new RuntimeError(203 /* RuntimeErrorCode.LOGIN_CALLED_WITHOUT_CONFIG */, `login() has been called without a config. Please set it during the auth provider creation.`);
30
- };
31
- export const loginWithTokenCalledWithoutConfig = () => {
32
- return new RuntimeError(204 /* RuntimeErrorCode.LOGIN_WITH_TOKEN_CALLED_WITHOUT_CONFIG */, `loginWithToken() has been called without a config. Please set it during the auth provider creation.`);
33
- };
34
- export const refreshTokenCalledWithoutConfig = () => {
35
- return new RuntimeError(205 /* RuntimeErrorCode.REFRESH_TOKEN_CALLED_WITHOUT_CONFIG */, `refreshToken() has been called without a config. Please set it during the auth provider creation.`);
36
- };
37
- export const selectRoleCalledWithoutConfig = () => {
38
- return new RuntimeError(206 /* RuntimeErrorCode.SELECT_ROLE_CALLED_WITHOUT_CONFIG */, `selectRole() has been called without a config. Please set it during the auth provider creation.`);
39
- };
40
- export const defaultResponseTransformerResponseNotObject = (currentType) => {
41
- return new RuntimeError(207 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_OBJECT */, `The default response transformer expects the response to be an object, but it is a "${currentType}".`);
42
- };
43
- export const defaultResponseTransformerResponseNotContainingAccessToken = () => {
44
- return new RuntimeError(208 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_ACCESS_TOKEN */, `The default response transformer expects the response to contain an "accessToken" property.`);
45
- };
46
- export const defaultResponseTransformerResponseNotContainingRefreshToken = () => {
47
- return new RuntimeError(209 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_REFRESH_TOKEN */, `The default response transformer expects the response to contain a "refreshToken" property.`);
48
- };
49
- export const unableToDecryptBearerToken = (token) => {
50
- return new RuntimeError(210 /* RuntimeErrorCode.UNABLE_TO_DECRYPT_BEARER_TOKEN */, `The bearer token could not be decrypted: ${token}`);
51
- };
52
- export const bearerExpiresInPropertyNotNumber = (expiresIn) => {
53
- return new RuntimeError(211 /* RuntimeErrorCode.BEARER_EXPIRES_IN_PROPERTY_NOT_NUMBER */, `The expires in property is not a number: ${expiresIn}`);
54
- };
55
- export const uncacheableRequestHasCacheKeyParam = (key) => {
56
- return new RuntimeError(300 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_CACHE_KEY_PARAM */, `This request is uncacheable, but a cache key was provided: ${key}. Please remove it.`);
57
- };
58
- export const uncacheableRequestHasSkipCacheParam = () => {
59
- return new RuntimeError(301 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_SKIP_CACHE_PARAM */, `This request is uncacheable, but skipCache is set to true. Please remove it.`);
60
- };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQzdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsRUFBRTtJQUN4RCxPQUFPLElBQUksWUFBWSx3RUFFckIsZ0hBQWdILENBQ2pILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLEVBQUU7SUFDekQsT0FBTyxJQUFJLFlBQVkseUVBRXJCLGlIQUFpSCxDQUNsSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxFQUFFO0lBQzNDLE9BQU8sSUFBSSxZQUFZLHlEQUVyQiw0RkFBNEYsQ0FDN0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsRUFBRTtJQUNwRCxPQUFPLElBQUksWUFBWSxvRUFFckIscUdBQXFHLENBQ3RHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLEVBQUU7SUFDbEQsT0FBTyxJQUFJLFlBQVksaUVBRXJCLG1HQUFtRyxDQUNwRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxFQUFFO0lBQ2hELE9BQU8sSUFBSSxZQUFZLCtEQUVyQixpR0FBaUcsQ0FDbEcsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO0lBQ2pGLE9BQU8sSUFBSSxZQUFZLDhFQUVyQix1RkFBdUYsV0FBVyxJQUFJLENBQ3ZHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwREFBMEQsR0FBRyxHQUFHLEVBQUU7SUFDN0UsT0FBTyxJQUFJLFlBQVksK0ZBRXJCLDZGQUE2RixDQUM5RixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkRBQTJELEdBQUcsR0FBRyxFQUFFO0lBQzlFLE9BQU8sSUFBSSxZQUFZLGdHQUVyQiw2RkFBNkYsQ0FDOUYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxJQUFJLFlBQVksNERBRXJCLDRDQUE0QyxLQUFLLEVBQUUsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxZQUFZLG1FQUVyQiw0Q0FBNEMsU0FBUyxFQUFFLENBQ3hELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ2hFLE9BQU8sSUFBSSxZQUFZLHFFQUVyQiw4REFBOEQsR0FBRyxxQkFBcUIsQ0FDdkYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsRUFBRTtJQUN0RCxPQUFPLElBQUksWUFBWSxzRUFFckIsOEVBQThFLENBQy9FLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgUnVudGltZUVycm9yIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmVUeXBlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFJ1bnRpbWVFcnJvckNvZGUge1xuICAvLyBRdWVyeVxuICBRVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMgPSAwLFxuXG4gIC8vIFF1ZXJ5IGZlYXR1cmVzXG4gIFdJVEhfQVJHU19RVUVSWV9GRUFUVVJFX01JU1NJTkdfQlVUX1JPVVRFX0lTX0ZVTkNUSU9OID0gMTAwLFxuICBXSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMSxcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMixcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9JTl9NQU5VQUxfUVVFUlkgPSAxMDMsXG5cbiAgLy8gQXV0aCBwcm92aWRlclxuICBDT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCA9IDIwMCxcbiAgRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAxLFxuICBESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAyLFxuICBMT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDMsXG4gIExPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA0LFxuICBSRUZSRVNIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwNSxcbiAgU0VMRUNUX1JPTEVfQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA2LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QgPSAyMDcsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOID0gMjA4LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4gPSAyMDksXG4gIFVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTiA9IDIxMCxcbiAgQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUiA9IDIxMSxcblxuICAvLyBRdWVyeSBSZXBvc2l0b3J5XG4gIFVOQ0FDSEVBQkxFX1JFUVVFU1RfSEFTX0NBQ0hFX0tFWV9QQVJBTSA9IDMwMCxcbiAgVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSA9IDMwMSxcbn1cblxuZXhwb3J0IGNvbnN0IHF1ZXJ5RmVhdHVyZVVzZWRNdWx0aXBsZVRpbWVzID0gKHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5RVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMsXG4gICAgYFRoZSBxdWVyeSBmZWF0dXJlIFwiJHt0eXBlfSgpXCIgd2FzIHVzZWQgbXVsdGlwbGUgdGltZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJnc1F1ZXJ5RmVhdHVyZU1pc3NpbmdCdXRSb3V0ZUlzRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04sXG4gICAgYFRoaXMgcXVlcmllcyByb3V0ZSBpcyBhIGZ1bmN0aW9uLCBidXQgYSBcIndpdGhBcmdzKClcIiBmZWF0dXJlIGlzIG1pc3NpbmcuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoUG9sbGluZ1VzZWRPblVuc3VwcG9ydGVkSHR0cE1ldGhvZCA9IChtZXRob2Q6IFF1ZXJ5TWV0aG9kKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9QT0xMSU5HX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aFBvbGxpbmcoKVwiIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHRVQsIEhFQUQsIE9QVElPTlMgcmVxdWVzdHMgYW5kIEdRTCBxdWVyaWVzLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEF1dG9SZWZyZXNoVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9ELFxuICAgIGBUaGlzIGlzIGEgXCIke21ldGhvZH1cIiByZXF1ZXN0LCBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkSW5NYW51YWxRdWVyeSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSxcbiAgICBgXCJ3aXRoQXV0b1JlZnJlc2goKVwiIGhhcyBiZWVuIHVzZWQgaW5zaWRlIGEgcXVlcnkgdGhhdCBoYXMgXCJvbmx5TWFudWFsRXhlY3V0aW9uXCIgc2V0IHRvIHRydWUuYCArXG4gICAgICBgIElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIHNldCBcImlnbm9yZU9ubHlNYW51YWxFeGVjdXRpb25cIiB0byB0cnVlIGluc2lkZSB0aGUgYXV0byByZWZyZXNoIGNvbmZpZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvb2tpZUxvZ2luVHJpZWRCdXRDb29raWVEaXNhYmxlZCA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5DT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCxcbiAgICBgQ29va2llIGxvZ2luIGhhcyBiZWVuIHRyaWVkLCBidXQgdGhlIGNvb2tpZSBpcyBkaXNhYmxlZC5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBlbmFibGVDb29raWUoKSBoYXMgYmVlbiBjYWxsZWQgYnV0IHRoZXJlIGlzIG5vIGNvb2tpZSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRElTQUJMRV9DT09LSUVfQ0FMTEVEX1dJVEhPVVRfQ09PS0lFX0NPTkZJRyxcbiAgICBgZGlzYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dpbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuTE9HSU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luV2l0aFRva2VuQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9XSVRIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgbG9naW5XaXRoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGByZWZyZXNoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSb2xlQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5TRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHNlbGVjdFJvbGUoKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90T2JqZWN0ID0gKGN1cnJlbnRUeXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QsXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGJlIGFuIG9iamVjdCwgYnV0IGl0IGlzIGEgXCIke2N1cnJlbnRUeXBlfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXJSZXNwb25zZU5vdENvbnRhaW5pbmdBY2Nlc3NUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX0FDQ0VTU19UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhbiBcImFjY2Vzc1Rva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ1JlZnJlc2hUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4sXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGNvbnRhaW4gYSBcInJlZnJlc2hUb2tlblwiIHByb3BlcnR5LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5hYmxlVG9EZWNyeXB0QmVhcmVyVG9rZW4gPSAodG9rZW46IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTixcbiAgICBgVGhlIGJlYXJlciB0b2tlbiBjb3VsZCBub3QgYmUgZGVjcnlwdGVkOiAke3Rva2VufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVhcmVyRXhwaXJlc0luUHJvcGVydHlOb3ROdW1iZXIgPSAoZXhwaXJlc0luOiB1bmtub3duKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUixcbiAgICBgVGhlIGV4cGlyZXMgaW4gcHJvcGVydHkgaXMgbm90IGEgbnVtYmVyOiAke2V4cGlyZXNJbn1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuY2FjaGVhYmxlUmVxdWVzdEhhc0NhY2hlS2V5UGFyYW0gPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5VTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19DQUNIRV9LRVlfUEFSQU0sXG4gICAgYFRoaXMgcmVxdWVzdCBpcyB1bmNhY2hlYWJsZSwgYnV0IGEgY2FjaGUga2V5IHdhcyBwcm92aWRlZDogJHtrZXl9LiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSxcbiAgICBgVGhpcyByZXF1ZXN0IGlzIHVuY2FjaGVhYmxlLCBidXQgc2tpcENhY2hlIGlzIHNldCB0byB0cnVlLiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuIl19
@@ -1,54 +0,0 @@
1
- import { runInInjectionContext, signal } from '@angular/core';
2
- import { syncSignal } from '@ethlete/core';
3
- export const resetExecuteState = (options) => {
4
- const { executeState, executeOptions: opts } = options;
5
- const { state } = opts;
6
- cleanupPreviousExecute({ executeOptions: opts, executeState });
7
- opts.deps.client.repository.unbind(executeState.previousKey(), opts.deps.destroyRef);
8
- state.args.set(null);
9
- state.error.set(null);
10
- state.latestHttpEvent.set(null);
11
- state.loading.set(null);
12
- state.response.set(null);
13
- state.lastTimeExecutedAt.set(null);
14
- };
15
- export const setupQueryExecuteState = () => {
16
- return {
17
- effectRefs: [],
18
- previousKey: signal(false),
19
- };
20
- };
21
- export const queryExecute = (options) => {
22
- const { executeOptions, args, executeState, options: runQueryOptions } = options;
23
- const { deps, state, creator, creatorInternals, queryConfig } = executeOptions;
24
- const { key, request } = deps.client.repository.request({
25
- route: creator.route,
26
- method: creatorInternals.method,
27
- args,
28
- clientOptions: {
29
- reportProgress: creator.reportProgress,
30
- withCredentials: creator.withCredentials,
31
- transferCache: creator.transferCache,
32
- responseType: creator.responseType,
33
- },
34
- destroyRef: deps.destroyRef,
35
- key: queryConfig.key,
36
- previousKey: executeState.previousKey(),
37
- runQueryOptions,
38
- });
39
- executeState.previousKey.set(key);
40
- runInInjectionContext(deps.injector, () => {
41
- const responseRef = syncSignal(request.response, state.response);
42
- const loadingRef = syncSignal(request.loading, state.loading);
43
- const errorRef = syncSignal(request.error, state.error);
44
- const latestHttpEventRef = syncSignal(request.currentEvent, state.latestHttpEvent);
45
- executeState.effectRefs.push(responseRef, loadingRef, errorRef, latestHttpEventRef);
46
- });
47
- state.lastTimeExecutedAt.set(Date.now());
48
- };
49
- export const cleanupPreviousExecute = (options) => {
50
- const { executeState } = options;
51
- executeState.effectRefs.forEach((ref) => ref.destroy());
52
- executeState.effectRefs.length = 0;
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDdkQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUV2QixzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUUvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBc0IsRUFBRTtJQUM1RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLEVBQUU7UUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBY0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQTBCLE9BQW1DLEVBQUUsRUFBRTtJQUMzRixNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNqRixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxDQUFDO0lBRS9FLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtRQUMvQixJQUFJO1FBQ0osYUFBYSxFQUFFO1lBQ2IsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUN4QyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DO1FBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztRQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRTtRQUN2QyxlQUFlO0tBQ2hCLENBQUMsQ0FBQztJQUVILFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWxDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5GLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQU9GLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQTBCLE9BQTZDLEVBQUUsRUFBRTtJQUMvRyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RCxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWZmZWN0UmVmLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN5bmNTaWduYWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5QXJncywgUmVxdWVzdEFyZ3MgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUnO1xuXG5leHBvcnQgdHlwZSBSZXNldEV4ZWN1dGVTdGF0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgcmVzZXRFeGVjdXRlU3RhdGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFJlc2V0RXhlY3V0ZVN0YXRlT3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zOiBvcHRzIH0gPSBvcHRpb25zO1xuICBjb25zdCB7IHN0YXRlIH0gPSBvcHRzO1xuXG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9uczogb3B0cywgZXhlY3V0ZVN0YXRlIH0pO1xuXG4gIG9wdHMuZGVwcy5jbGllbnQucmVwb3NpdG9yeS51bmJpbmQoZXhlY3V0ZVN0YXRlLnByZXZpb3VzS2V5KCksIG9wdHMuZGVwcy5kZXN0cm95UmVmKTtcblxuICBzdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgc3RhdGUuZXJyb3Iuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuc2V0KG51bGwpO1xuICBzdGF0ZS5sb2FkaW5nLnNldChudWxsKTtcbiAgc3RhdGUucmVzcG9uc2Uuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KG51bGwpO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlU3RhdGUgPSB7XG4gIGVmZmVjdFJlZnM6IEVmZmVjdFJlZltdO1xuICBwcmV2aW91c0tleTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgZmFsc2U+O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUgPSAoKTogUXVlcnlFeGVjdXRlU3RhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIGVmZmVjdFJlZnM6IFtdLFxuICAgIHByZXZpb3VzS2V5OiBzaWduYWwoZmFsc2UpLFxuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUnVuUXVlcnlFeGVjdXRlT3B0aW9ucyA9IHtcbiAgc2tpcENhY2hlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG5cbiAgYXJnczogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbiAgb3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgcXVlcnlFeGVjdXRlID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVPcHRpb25zLCBhcmdzLCBleGVjdXRlU3RhdGUsIG9wdGlvbnM6IHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgY29uc3QgeyBkZXBzLCBzdGF0ZSwgY3JlYXRvciwgY3JlYXRvckludGVybmFscywgcXVlcnlDb25maWcgfSA9IGV4ZWN1dGVPcHRpb25zO1xuXG4gIGNvbnN0IHsga2V5LCByZXF1ZXN0IH0gPSBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnJlcXVlc3Qoe1xuICAgIHJvdXRlOiBjcmVhdG9yLnJvdXRlLFxuICAgIG1ldGhvZDogY3JlYXRvckludGVybmFscy5tZXRob2QsXG4gICAgYXJncyxcbiAgICBjbGllbnRPcHRpb25zOiB7XG4gICAgICByZXBvcnRQcm9ncmVzczogY3JlYXRvci5yZXBvcnRQcm9ncmVzcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogY3JlYXRvci53aXRoQ3JlZGVudGlhbHMsXG4gICAgICB0cmFuc2ZlckNhY2hlOiBjcmVhdG9yLnRyYW5zZmVyQ2FjaGUsXG4gICAgICByZXNwb25zZVR5cGU6IGNyZWF0b3IucmVzcG9uc2VUeXBlLFxuICAgIH0sXG4gICAgZGVzdHJveVJlZjogZGVwcy5kZXN0cm95UmVmLFxuICAgIGtleTogcXVlcnlDb25maWcua2V5LFxuICAgIHByZXZpb3VzS2V5OiBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkoKSxcbiAgICBydW5RdWVyeU9wdGlvbnMsXG4gIH0pO1xuXG4gIGV4ZWN1dGVTdGF0ZS5wcmV2aW91c0tleS5zZXQoa2V5KTtcblxuICBydW5JbkluamVjdGlvbkNvbnRleHQoZGVwcy5pbmplY3RvciwgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlUmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LnJlc3BvbnNlLCBzdGF0ZS5yZXNwb25zZSk7XG4gICAgY29uc3QgbG9hZGluZ1JlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5sb2FkaW5nLCBzdGF0ZS5sb2FkaW5nKTtcbiAgICBjb25zdCBlcnJvclJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5lcnJvciwgc3RhdGUuZXJyb3IpO1xuICAgIGNvbnN0IGxhdGVzdEh0dHBFdmVudFJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5jdXJyZW50RXZlbnQsIHN0YXRlLmxhdGVzdEh0dHBFdmVudCk7XG5cbiAgICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5wdXNoKHJlc3BvbnNlUmVmLCBsb2FkaW5nUmVmLCBlcnJvclJlZiwgbGF0ZXN0SHR0cEV2ZW50UmVmKTtcbiAgfSk7XG5cbiAgc3RhdGUubGFzdFRpbWVFeGVjdXRlZEF0LnNldChEYXRlLm5vdygpKTtcbn07XG5cbmV4cG9ydCB0eXBlIENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+O1xuICBleGVjdXRlU3RhdGU6IFF1ZXJ5RXhlY3V0ZVN0YXRlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFudXBQcmV2aW91c0V4ZWN1dGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVTdGF0ZSB9ID0gb3B0aW9ucztcblxuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5sZW5ndGggPSAwO1xufTtcbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { cleanupPreviousExecute, queryExecute, resetExecuteState, setupQueryExecuteState, } from './query-execute-utils';
2
- export const createExecuteFn = (executeOptions) => {
3
- const executeState = setupQueryExecuteState();
4
- const reset = () => resetExecuteState({ executeState, executeOptions });
5
- const exec = (executeArgs) => {
6
- const { args = executeOptions.state.args() } = executeArgs ?? {};
7
- cleanupPreviousExecute({ executeOptions, executeState });
8
- queryExecute({ executeOptions, executeState, args });
9
- };
10
- exec['reset'] = reset;
11
- exec['currentRepositoryKey'] = executeState.previousKey.asReadonly();
12
- return exec;
13
- };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixpQkFBaUIsRUFFakIsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixjQUFnRCxFQUMzQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLElBQUksR0FBRyxDQUFDLFdBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2pFLHNCQUFzQixDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekQsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBRdWVyeUNvbmZpZyB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeURlcGVuZGVuY2llcyB9IGZyb20gJy4vcXVlcnktZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7XG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUsXG4gIHF1ZXJ5RXhlY3V0ZSxcbiAgcmVzZXRFeGVjdXRlU3RhdGUsXG4gIFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMsXG4gIHNldHVwUXVlcnlFeGVjdXRlU3RhdGUsXG59IGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5pbXBvcnQgeyBRdWVyeVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBkZXBzOiBRdWVyeURlcGVuZGVuY2llcztcbiAgc3RhdGU6IFF1ZXJ5U3RhdGU8VEFyZ3M+O1xuICBjcmVhdG9yOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPjtcbiAgY3JlYXRvckludGVybmFsczogSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zO1xuICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw7XG4gIG9wdGlvbnM/OiBSdW5RdWVyeUV4ZWN1dGVPcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pOiB2b2lkO1xuICByZXNldDogKCkgPT4gdm9pZDtcbiAgY3VycmVudFJlcG9zaXRvcnlLZXk6IFNpZ25hbDxzdHJpbmcgfCBmYWxzZT47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRXhlY3V0ZUZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+LFxuKTogUXVlcnlFeGVjdXRlPFRBcmdzPiA9PiB7XG4gIGNvbnN0IGV4ZWN1dGVTdGF0ZSA9IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUoKTtcblxuICBjb25zdCByZXNldCA9ICgpID0+IHJlc2V0RXhlY3V0ZVN0YXRlKHsgZXhlY3V0ZVN0YXRlLCBleGVjdXRlT3B0aW9ucyB9KTtcblxuICBjb25zdCBleGVjID0gKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MgPSBleGVjdXRlT3B0aW9ucy5zdGF0ZS5hcmdzKCkgfSA9IGV4ZWN1dGVBcmdzID8/IHt9O1xuICAgIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9ucywgZXhlY3V0ZVN0YXRlIH0pO1xuICAgIHF1ZXJ5RXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zLCBleGVjdXRlU3RhdGUsIGFyZ3MgfSk7XG4gIH07XG5cbiAgZXhlY1sncmVzZXQnXSA9IHJlc2V0O1xuXG4gIGV4ZWNbJ2N1cnJlbnRSZXBvc2l0b3J5S2V5J10gPSBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkuYXNSZWFkb25seSgpO1xuXG4gIHJldHVybiBleGVjO1xufTtcbiJdfQ==
@@ -1,126 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- import { computed, effect, untracked } from '@angular/core';
3
- import { withAutoRefreshUsedOnUnsupportedHttpMethod, withPollingUsedOnUnsupportedHttpMethod } from './query-errors';
4
- import { QUERY_ARGS_RESET, QUERY_EFFECT_ERROR_MESSAGE, queryEffect, } from './query-utils';
5
- const createQueryFeature = (config) => {
6
- return config;
7
- };
8
- export const withArgs = (args) => {
9
- return createQueryFeature({
10
- type: "withArgs" /* QueryFeatureType.WithArgs */,
11
- fn: (context) => {
12
- const currArgs = computed(() => args());
13
- queryEffect(() => {
14
- const currArgsNow = currArgs();
15
- if (currArgsNow === null)
16
- return;
17
- untracked(() => {
18
- if (currArgsNow === QUERY_ARGS_RESET) {
19
- context.state.args.set(null);
20
- return;
21
- }
22
- context.state.args.set(currArgsNow);
23
- if (context.flags.shouldAutoExecute)
24
- context.execute({ args: currArgsNow });
25
- });
26
- }, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
27
- },
28
- });
29
- };
30
- export const withPolling = (options) => {
31
- return createQueryFeature({
32
- type: "withPolling" /* QueryFeatureType.WithPolling */,
33
- fn: (context) => {
34
- if (!context.flags.shouldAutoExecuteMethod) {
35
- throw withPollingUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
36
- }
37
- let intervalId = null;
38
- queryEffect(() => {
39
- const args = context.state.args();
40
- untracked(() => {
41
- if (intervalId !== null)
42
- clearInterval(intervalId);
43
- if (args === null)
44
- return;
45
- if (options.executeInitially) {
46
- context.execute({ args });
47
- }
48
- intervalId = window.setInterval(() => {
49
- context.execute({ args });
50
- }, options.interval);
51
- });
52
- }, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
53
- context.deps.destroyRef.onDestroy(() => intervalId !== null && clearInterval(intervalId));
54
- },
55
- });
56
- };
57
- export const withLogging = (options) => {
58
- return createQueryFeature({
59
- type: "withLogging" /* QueryFeatureType.WithLogging */,
60
- fn: (context) => {
61
- effect(() => {
62
- const event = context.state.latestHttpEvent();
63
- if (event === null)
64
- return;
65
- untracked(() => {
66
- options.logFn(event);
67
- });
68
- }, { injector: context.deps.injector });
69
- },
70
- });
71
- };
72
- export const withErrorHandling = (options) => {
73
- return createQueryFeature({
74
- type: "withErrorHandling" /* QueryFeatureType.WithErrorHandling */,
75
- fn: (context) => {
76
- effect(() => {
77
- const error = context.state.error();
78
- if (error === null)
79
- return;
80
- untracked(() => {
81
- options.handler(error);
82
- });
83
- }, { injector: context.deps.injector });
84
- },
85
- });
86
- };
87
- export const withSuccessHandling = (options) => {
88
- return createQueryFeature({
89
- type: "withSuccessHandling" /* QueryFeatureType.WithSuccessHandling */,
90
- fn: (context) => {
91
- effect(() => {
92
- const response = context.state.response();
93
- if (response === null)
94
- return;
95
- untracked(() => {
96
- options.handler(response);
97
- });
98
- }, { injector: context.deps.injector });
99
- },
100
- });
101
- };
102
- export const withAutoRefresh = (options) => {
103
- return createQueryFeature({
104
- type: "withAutoRefresh" /* QueryFeatureType.WithAutoRefresh */,
105
- fn: (context) => {
106
- if (!context.flags.shouldAutoExecuteMethod) {
107
- throw withAutoRefreshUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
108
- }
109
- if (context.queryConfig.onlyManualExecution && !options.ignoreOnlyManualExecution) {
110
- throw withAutoRefreshUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
111
- }
112
- queryEffect(() => {
113
- for (const signal of options.signalChanges) {
114
- signal();
115
- }
116
- untracked(() => {
117
- const args = context.state.args();
118
- if (args === null)
119
- return;
120
- context.execute({ args });
121
- });
122
- }, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
123
- },
124
- });
125
- };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZmVhdHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LWZlYXR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUd6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJcEUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEgsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiwwQkFBMEIsRUFFMUIsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBNEJ2QixNQUFNLGtCQUFrQixHQUFHLENBQTBCLE1BQTZELEVBQUUsRUFBRTtJQUNwSCxPQUFPLE1BQTZCLENBQUM7QUFDdkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQTBCLElBQStELEVBQUUsRUFBRTtJQUNuSCxPQUFPLGtCQUFrQixDQUFRO1FBQy9CLElBQUksNENBQTJCO1FBQy9CLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFFeEMsV0FBVyxDQUNULEdBQUcsRUFBRTtnQkFDSCxNQUFNLFdBQVcsR0FBRyxRQUFRLEVBQUUsQ0FBQztnQkFFL0IsSUFBSSxXQUFXLEtBQUssSUFBSTtvQkFBRSxPQUFPO2dCQUVqQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNiLElBQUksV0FBVyxLQUFLLGdCQUFnQixFQUFFLENBQUM7d0JBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDN0IsT0FBTztvQkFDVCxDQUFDO29CQUVELE9BQU8sQ0FB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Q0FBUTtRQUMvQixJQUFJLDBEQUFrQztRQUN0QyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQzNDLE1BQU0sMENBQTBDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BGLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsQ0FBQztnQkFDbEYsTUFBTSwwQ0FBMEMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEYsQ0FBQztZQUVELFdBQVcsQ0FDVCxHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzNDLE1BQU0sRUFBRSxDQUFDO2dCQUNYLENBQUM7Z0JBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUVsQyxJQUFJLElBQUksS0FBSyxJQUFJO3dCQUFFLE9BQU87b0JBRTFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsRUFDRCwwQkFBMEIsRUFDMUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDcEMsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIFNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsIEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgUXVlcnlDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUXVlcnlEZXBlbmRlbmNpZXMgfSBmcm9tICcuL3F1ZXJ5LWRlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QsIHdpdGhQb2xsaW5nVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1lcnJvcnMnO1xuaW1wb3J0IHsgUXVlcnlFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUgfSBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcbmltcG9ydCB7XG4gIFFVRVJZX0FSR1NfUkVTRVQsXG4gIFFVRVJZX0VGRkVDVF9FUlJPUl9NRVNTQUdFLFxuICBRdWVyeUFyZ3NSZXNldCxcbiAgcXVlcnlFZmZlY3QsXG4gIFF1ZXJ5RmVhdHVyZUZsYWdzLFxufSBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGVudW0gUXVlcnlGZWF0dXJlVHlwZSB7XG4gIFdpdGhBcmdzID0gJ3dpdGhBcmdzJyxcbiAgV2l0aExvZ2dpbmcgPSAnd2l0aExvZ2dpbmcnLFxuICBXaXRoRXJyb3JIYW5kbGluZyA9ICd3aXRoRXJyb3JIYW5kbGluZycsXG4gIFdpdGhTdWNjZXNzSGFuZGxpbmcgPSAnd2l0aFN1Y2Nlc3NIYW5kbGluZycsXG4gIFdpdGhQb2xsaW5nID0gJ3dpdGhQb2xsaW5nJyxcbiAgV2l0aEF1dG9SZWZyZXNoID0gJ3dpdGhBdXRvUmVmcmVzaCcsXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RmVhdHVyZUNvbnRleHQ8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBzdGF0ZTogUXVlcnlTdGF0ZTxUQXJncz47XG4gIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZztcbiAgY3JlYXRvckNvbmZpZzogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz47XG4gIGNyZWF0b3JJbnRlcm5hbHM6IEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucztcbiAgZXhlY3V0ZTogUXVlcnlFeGVjdXRlPFRBcmdzPjtcbiAgZGVwczogUXVlcnlEZXBlbmRlbmNpZXM7XG4gIGZsYWdzOiBRdWVyeUZlYXR1cmVGbGFncztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RmVhdHVyZUZuPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IChjb250ZXh0OiBRdWVyeUZlYXR1cmVDb250ZXh0PFRBcmdzPikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgUXVlcnlGZWF0dXJlPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZTtcbiAgZm46IChjb250ZXh0OiBRdWVyeUZlYXR1cmVDb250ZXh0PFRBcmdzPikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IGNyZWF0ZVF1ZXJ5RmVhdHVyZSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4oY29uZmlnOiB7IHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGU7IGZuOiBRdWVyeUZlYXR1cmVGbjxUQXJncz4gfSkgPT4ge1xuICByZXR1cm4gY29uZmlnIGFzIFF1ZXJ5RmVhdHVyZTxUQXJncz47XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEFyZ3MgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGFyZ3M6ICgpID0+IE5vSW5mZXI8UmVxdWVzdEFyZ3M8VEFyZ3M+PiB8IFF1ZXJ5QXJnc1Jlc2V0IHwgbnVsbCkgPT4ge1xuICByZXR1cm4gY3JlYXRlUXVlcnlGZWF0dXJlPFRBcmdzPih7XG4gICAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZS5XaXRoQXJncyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJBcmdzID0gY29tcHV0ZWQoKCkgPT4gYXJncygpKTtcblxuICAgICAgcXVlcnlFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBjdXJyQXJnc05vdyA9IGN1cnJBcmdzKCk7XG5cbiAgICAgICAgICBpZiAoY3VyckFyZ3NOb3cgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY3VyckFyZ3NOb3cgPT09IFFVRVJZX0FSR1NfUkVTRVQpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5zdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250ZXh0LnN0YXRlLmFyZ3Muc2V0KGN1cnJBcmdzTm93KTtcblxuICAgICAgICAgICAgaWYgKGNvbnRleHQuZmxhZ3Muc2hvdWxkQXV0b0V4ZWN1dGUpIGNvbnRleHQuZXhlY3V0ZSh7IGFyZ3M6IGN1cnJBcmdzTm93IH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBRVUVSWV9FRkZFQ1RfRVJST1JfTUVTU0FHRSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhQb2xsaW5nID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiB7IGludGVydmFsOiBudW1iZXI7IGV4ZWN1dGVJbml0aWFsbHk/OiBib29sZWFuIH0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aFBvbGxpbmcsXG4gICAgZm46IChjb250ZXh0KSA9PiB7XG4gICAgICBpZiAoIWNvbnRleHQuZmxhZ3Muc2hvdWxkQXV0b0V4ZWN1dGVNZXRob2QpIHtcbiAgICAgICAgdGhyb3cgd2l0aFBvbGxpbmdVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGxldCBpbnRlcnZhbElkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgcXVlcnlFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBhcmdzID0gY29udGV4dC5zdGF0ZS5hcmdzKCk7XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGludGVydmFsSWQgIT09IG51bGwpIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG5cbiAgICAgICAgICAgIGlmIChhcmdzID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmV4ZWN1dGVJbml0aWFsbHkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5leGVjdXRlKHsgYXJncyB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnRleHQuZXhlY3V0ZSh7IGFyZ3MgfSk7XG4gICAgICAgICAgICB9LCBvcHRpb25zLmludGVydmFsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgUVVFUllfRUZGRUNUX0VSUk9SX01FU1NBR0UsXG4gICAgICAgIHsgaW5qZWN0b3I6IGNvbnRleHQuZGVwcy5pbmplY3RvciB9LFxuICAgICAgKTtcblxuICAgICAgY29udGV4dC5kZXBzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IGludGVydmFsSWQgIT09IG51bGwgJiYgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKSk7XG4gICAgfSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aExvZ2dpbmcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IHtcbiAgbG9nRm46ICh2OiBIdHRwRXZlbnQ8UmVzcG9uc2VUeXBlPFRBcmdzPj4gfCBudWxsKSA9PiB2b2lkO1xufSkgPT4ge1xuICByZXR1cm4gY3JlYXRlUXVlcnlGZWF0dXJlPFRBcmdzPih7XG4gICAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZS5XaXRoTG9nZ2luZyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gY29udGV4dC5zdGF0ZS5sYXRlc3RIdHRwRXZlbnQoKTtcblxuICAgICAgICAgIGlmIChldmVudCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbnMubG9nRm4oZXZlbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7IGluamVjdG9yOiBjb250ZXh0LmRlcHMuaW5qZWN0b3IgfSxcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEVycm9ySGFuZGxpbmcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IHsgaGFuZGxlcjogKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkIH0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aEVycm9ySGFuZGxpbmcsXG4gICAgZm46IChjb250ZXh0KSA9PiB7XG4gICAgICBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGNvbnRleHQuc3RhdGUuZXJyb3IoKTtcblxuICAgICAgICAgIGlmIChlcnJvciA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbnMuaGFuZGxlcihlcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHsgaW5qZWN0b3I6IGNvbnRleHQuZGVwcy5pbmplY3RvciB9LFxuICAgICAgKTtcbiAgICB9LFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoU3VjY2Vzc0hhbmRsaW5nID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiB7XG4gIGhhbmRsZXI6IChkYXRhOiBOb25OdWxsYWJsZTxSZXNwb25zZVR5cGU8VEFyZ3M+PikgPT4gdm9pZDtcbn0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aFN1Y2Nlc3NIYW5kbGluZyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gY29udGV4dC5zdGF0ZS5yZXNwb25zZSgpO1xuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgb3B0aW9ucy5oYW5kbGVyKHJlc3BvbnNlIGFzIE5vbk51bGxhYmxlPFJlc3BvbnNlVHlwZTxUQXJncz4+KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvUmVmcmVzaCA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczoge1xuICBzaWduYWxDaGFuZ2VzOiBTaWduYWw8dW5rbm93bj5bXTtcbiAgaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvbj86IGJvb2xlYW47XG59KSA9PiB7XG4gIHJldHVybiBjcmVhdGVRdWVyeUZlYXR1cmU8VEFyZ3M+KHtcbiAgICB0eXBlOiBRdWVyeUZlYXR1cmVUeXBlLldpdGhBdXRvUmVmcmVzaCxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGlmICghY29udGV4dC5mbGFncy5zaG91bGRBdXRvRXhlY3V0ZU1ldGhvZCkge1xuICAgICAgICB0aHJvdyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LnF1ZXJ5Q29uZmlnLm9ubHlNYW51YWxFeGVjdXRpb24gJiYgIW9wdGlvbnMuaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvbikge1xuICAgICAgICB0aHJvdyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIHF1ZXJ5RWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgZm9yIChjb25zdCBzaWduYWwgb2Ygb3B0aW9ucy5zaWduYWxDaGFuZ2VzKSB7XG4gICAgICAgICAgICBzaWduYWwoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJncyA9IGNvbnRleHQuc3RhdGUuYXJncygpO1xuXG4gICAgICAgICAgICBpZiAoYXJncyA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb250ZXh0LmV4ZWN1dGUoeyBhcmdzIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBRVUVSWV9FRkZFQ1RfRVJST1JfTUVTU0FHRSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcbiJdfQ==
@@ -1,97 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { inject } from '@angular/core';
3
- import { buildQueryCacheKey, shouldCacheQuery } from '../query-client';
4
- import { buildRoute } from '../request';
5
- import { createHttpRequest } from './http-request';
6
- import { uncacheableRequestHasCacheKeyParam, uncacheableRequestHasSkipCacheParam } from './query-errors';
7
- export const createQueryRepository = (config) => {
8
- const httpClient = inject(HttpClient);
9
- const cache = new Map();
10
- const request = (options) => {
11
- const { args, clientOptions, runQueryOptions } = options;
12
- const shouldCache = shouldCacheQuery(options.method);
13
- if (!shouldCache && options.key)
14
- throw uncacheableRequestHasCacheKeyParam(options.key);
15
- if (!shouldCache && runQueryOptions?.skipCache)
16
- throw uncacheableRequestHasSkipCacheParam();
17
- const route = buildRoute({
18
- base: config.baseUrl,
19
- route: options.route,
20
- pathParams: args?.pathParams,
21
- queryParams: args?.queryParams,
22
- queryParamConfig: config.queryString,
23
- });
24
- const key = shouldCache &&
25
- buildQueryCacheKey(`${options.key ? options.key + '_' : ''}${route}`, {
26
- body: args?.body,
27
- queryParams: args?.queryParams,
28
- pathParams: args?.pathParams,
29
- // TODO: remaining props
30
- // headers: args?.headers,
31
- });
32
- const previousKey = options.previousKey;
33
- if (key !== previousKey && previousKey) {
34
- unbind(previousKey, options.destroyRef);
35
- }
36
- if (shouldCache && key) {
37
- const cacheEntry = cache.get(key);
38
- if (cacheEntry) {
39
- bind(key, options.destroyRef, cacheEntry.request);
40
- if (runQueryOptions?.skipCache || cacheEntry.request.isStale()) {
41
- cacheEntry.request.execute();
42
- }
43
- return { key, request: cacheEntry.request };
44
- }
45
- }
46
- const request = createHttpRequest({
47
- fullPath: route,
48
- args,
49
- method: options.method,
50
- dependencies: {
51
- httpClient,
52
- },
53
- clientOptions,
54
- cacheAdapter: config.cacheAdapter,
55
- retryFn: config.retryFn,
56
- });
57
- request.execute();
58
- if (shouldCache && key) {
59
- bind(key, options.destroyRef, request);
60
- }
61
- return { key, request };
62
- };
63
- const unbind = (key, destroyRef) => {
64
- if (!key)
65
- return false;
66
- const cacheEntry = cache.get(key);
67
- if (!cacheEntry)
68
- return false;
69
- cacheEntry.consumers.delete(destroyRef);
70
- if (cacheEntry.consumers.size === 0) {
71
- cacheEntry.request.destroy();
72
- cache.delete(key);
73
- }
74
- return true;
75
- };
76
- const bind = (key, destroyRef, request) => {
77
- const destroyListener = destroyRef.onDestroy(() => unbind(key, destroyRef));
78
- const cacheEntry = cache.get(key);
79
- if (cacheEntry) {
80
- cacheEntry.consumers.set(destroyRef, destroyListener);
81
- }
82
- else {
83
- const consumers = new Map([]);
84
- consumers.set(destroyRef, destroyListener);
85
- cache.set(key, {
86
- consumers,
87
- request,
88
- });
89
- }
90
- };
91
- const repository = {
92
- request,
93
- unbind,
94
- };
95
- return repository;
96
- };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBK0MsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdFekcsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUF5QixFQUFtQixFQUFFO0lBQ2xGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztJQUUxRCxNQUFNLE9BQU8sR0FBRyxDQUEwQixPQUE2QyxFQUFFLEVBQUU7UUFDekYsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHO1lBQUUsTUFBTSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUUsU0FBUztZQUFFLE1BQU0sbUNBQW1D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QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFhLEVBQUUsVUFBc0IsRUFBRSxPQUErQixFQUFFLEVBQUU7UUFDdEYsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFNUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxTQUFTLEdBQTRDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXZFLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBRTNDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNiLFNBQVM7Z0JBQ1QsT0FBTzthQUNSLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBb0I7UUFDbEMsT0FBTztRQUNQLE1BQU07S0FDUCxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYnVpbGRRdWVyeUNhY2hlS2V5LCBzaG91bGRDYWNoZVF1ZXJ5IH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7IGJ1aWxkUm91dGUgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IENyZWF0ZUh0dHBSZXF1ZXN0Q2xpZW50T3B0aW9ucywgSHR0cFJlcXVlc3QsIGNyZWF0ZUh0dHBSZXF1ZXN0IH0gZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlNZXRob2QsIFJvdXRlVHlwZSB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyB1bmNhY2hlYWJsZVJlcXVlc3RIYXNDYWNoZUtleVBhcmFtLCB1bmNhY2hlYWJsZVJlcXVlc3RIYXNTa2lwQ2FjaGVQYXJhbSB9IGZyb20gJy4vcXVlcnktZXJyb3JzJztcbmltcG9ydCB7IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUtdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIC8qKlxuICAgKiBUaGUgcm91dGUgb2YgdGhlIHJlcXVlc3QuXG4gICAqIEBleGFtcGxlICcvdXNlcnMnXG4gICAqIEBleGFtcGxlIChhcmdzKSA9PiBgL3VzZXJzLyR7YXJncy51c2VySWR9YFxuICAgKi9cbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG5cbiAgLyoqIFRoZSBIVFRQIG1ldGhvZCBvZiB0aGUgcmVxdWVzdCAqL1xuICBtZXRob2Q6IFF1ZXJ5TWV0aG9kO1xuXG4gIC8qKiBUaGUgZGF0YSBvZiB0aGUgcmVxdWVzdCAqL1xuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcblxuICAvKiogVGhlIGNsaWVudCBvcHRpb25zIG9mIHRoZSByZXF1ZXN0ICovXG4gIGNsaWVudE9wdGlvbnM/OiBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnM7XG5cbiAgLyoqIElmIHNldCwgdGhpcyByZXF1ZXN0J3MgY2FjaGUga2V5IHdpbGwgYmUgcHJlZml4ZWQgd2l0aCB0aGlzIGtleSAqL1xuICBrZXk/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwcmV2aW91cyBjYWNoZSBrZXkgb2YgdGhlIHJlcXVlc3QgKi9cbiAgcHJldmlvdXNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcblxuICAvKiogVGhlIGRlc3Ryb3kgcmVmIHRvIGJpbmQgdGhlIHJlcXVlc3QgdG8uIElmIHRoZSBkZXN0cm95IHJlZiBpcyBkZXN0cm95ZWQsIHRoZSByZXF1ZXN0IHdpbGwgYmUgZGVzdHJveWVkIGFzIHdlbGwuICovXG4gIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWY7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gb24gaG93IHRvIHJ1biB0aGUgcXVlcnkgKi9cbiAgcnVuUXVlcnlPcHRpb25zPzogUnVuUXVlcnlFeGVjdXRlT3B0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeUl0ZW08VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKiogVGhlIGtleSBvZiB0aGUgcmVxdWVzdC4gSWYgdGhlIGtleSBpcyBgZmFsc2VgLCB0aGUgcmVxdWVzdCBpcyBub3QgY2FjaGVkLCBvdGhlcndpc2UgaXQgaXMuICovXG4gIGtleTogUXVlcnlLZXlPck5vbmU7XG5cbiAgLyoqIFRoZSByZXF1ZXN0IG9iamVjdCAqL1xuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxUQXJncz47XG59O1xuXG4vKipcbiAqIFRoZSBxdWVyeSByZXBvc2l0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhbGwgcmVxdWVzdHMgYW5kIHRoZWlyIGNvbnN1bWVycy5cbiAqIEl0IHdpbGwgY2FjaGUgcmVxdWVzdHMgaWYgdGhleSBjYW4gYmUgY2FjaGVkIGFuZCByZXVzZSB0aGVtIGlmIHRoZXkgYXJlIGFscmVhZHkgY2FjaGVkLlxuICogSXQgd2lsbCBhbHNvIGRlc3Ryb3kgcmVxdWVzdHMgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzIGxlZnQuXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgLyoqIENyZWF0ZXMgYSBuZXcgcmVxdWVzdC4gSWYgdGhlIHJlcXVlc3QgaXMgYWxyZWFkeSBjYWNoZWQsIGl0IHdpbGwgYmUgcmV1c2VkLiAqL1xuICByZXF1ZXN0OiA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFF1ZXJ5UmVwb3NpdG9yeVJlcXVlc3RPcHRpb25zPFRBcmdzPikgPT4gUXVlcnlSZXBvc2l0b3J5SXRlbTxUQXJncz47XG5cbiAgLyoqIFJlbW92ZXMgYSBjb25zdW1lciBmcm9tIGEgcmVxdWVzdCBieSBpdHMga2V5LiBEZXN0cm95cyB0aGUgcmVxdWVzdCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBjb25zdW1lcnMgbGVmdC4gKi9cbiAgdW5iaW5kOiAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4gYm9vbGVhbjtcbn07XG5cbi8qKiBUaGUga2V5IG9mIGEgcXVlcnkgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5ID0gc3RyaW5nO1xuXG4vKiogQSBrZXkgdGhhdCB3aWxsIG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5Tm9DYWNoZSA9IGZhbHNlO1xuXG4vKiogQSBrZXkgdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5T3JOb25lID0gUXVlcnlLZXkgfCBRdWVyeUtleU5vQ2FjaGU7XG5cbi8qKiBSdW5zIC51bmJpbmQoKSBpZiB0aGUgRGVzdHJveVJlZi5vbkRlc3Ryb3koKSBnZXRzIGNhbGxlZCAqL1xudHlwZSBEZXN0cm95Q2xlYW51cENhbGxiYWNrID0gKCkgPT4gdm9pZDtcblxuLyoqIEtlZXBzIHRyYWNrIG9mIGFsbCBwbGFjZXMgd2hlcmUgdGhlIHJlcXVlc3QgZ2V0cyB1c2VkLiBXaWxsIGJlIGNsZWFuZWQgdXAgYW5kIHJlbW92ZWQgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzLiAgKi9cbnR5cGUgRGVzdHJveUxpc3RlbmVyTWFwSXRlbSA9IHtcbiAgY29uc3VtZXJzOiBNYXA8RGVzdHJveVJlZiwgRGVzdHJveUNsZWFudXBDYWxsYmFjaz47XG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFF1ZXJ5QXJncz47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlSZXBvc2l0b3J5ID0gKGNvbmZpZzogUXVlcnlDbGllbnRDb25maWcpOiBRdWVyeVJlcG9zaXRvcnkgPT4ge1xuICBjb25zdCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcDxRdWVyeUtleSwgRGVzdHJveUxpc3RlbmVyTWFwSXRlbT4oKTtcblxuICBjb25zdCByZXF1ZXN0ID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGNsaWVudE9wdGlvbnMsIHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBzaG91bGRDYWNoZSA9IHNob3VsZENhY2hlUXVlcnkob3B0aW9ucy5tZXRob2QpO1xuXG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBvcHRpb25zLmtleSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbShvcHRpb25zLmtleSk7XG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBydW5RdWVyeU9wdGlvbnM/LnNraXBDYWNoZSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0oKTtcblxuICAgIGNvbnN0IHJvdXRlID0gYnVpbGRSb3V0ZSh7XG4gICAgICBiYXNlOiBjb25maWcuYmFzZVVybCxcbiAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgcGF0aFBhcmFtczogYXJncz8ucGF0aFBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiBhcmdzPy5xdWVyeVBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1Db25maWc6IGNvbmZpZy5xdWVyeVN0cmluZyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGtleSA9XG4gICAgICBzaG91bGRDYWNoZSAmJlxuICAgICAgYnVpbGRRdWVyeUNhY2hlS2V5KGAke29wdGlvbnMua2V5ID8gb3B0aW9ucy5rZXkgKyAnXycgOiAnJ30ke3JvdXRlfWAsIHtcbiAgICAgICAgYm9keTogYXJncz8uYm9keSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGFyZ3M/LnF1ZXJ5UGFyYW1zLFxuICAgICAgICBwYXRoUGFyYW1zOiBhcmdzPy5wYXRoUGFyYW1zLFxuXG4gICAgICAgIC8vIFRPRE86IHJlbWFpbmluZyBwcm9wc1xuICAgICAgICAvLyBoZWFkZXJzOiBhcmdzPy5oZWFkZXJzLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBwcmV2aW91c0tleSA9IG9wdGlvbnMucHJldmlvdXNLZXk7XG5cbiAgICBpZiAoa2V5ICE9PSBwcmV2aW91c0tleSAmJiBwcmV2aW91c0tleSkge1xuICAgICAgdW5iaW5kKHByZXZpb3VzS2V5LCBvcHRpb25zLmRlc3Ryb3lSZWYpO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRDYWNoZSAmJiBrZXkpIHtcbiAgICAgIGNvbnN0IGNhY2hlRW50cnkgPSBjYWNoZS5nZXQoa2V5KTtcblxuICAgICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgICAgYmluZChrZXksIG9wdGlvbnMuZGVzdHJveVJlZiwgY2FjaGVFbnRyeS5yZXF1ZXN0KTtcblxuICAgICAgICBpZiAocnVuUXVlcnlPcHRpb25zPy5za2lwQ2FjaGUgfHwgY2FjaGVFbnRyeS5yZXF1ZXN0LmlzU3RhbGUoKSkge1xuICAgICAgICAgIGNhY2hlRW50cnkucmVxdWVzdC5leGVjdXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBrZXksIHJlcXVlc3Q6IGNhY2hlRW50cnkucmVxdWVzdCBhcyBIdHRwUmVxdWVzdDxUQXJncz4gfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlSHR0cFJlcXVlc3Q8VEFyZ3M+KHtcbiAgICAgIGZ1bGxQYXRoOiByb3V0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kLFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgIGh0dHBDbGllbnQsXG4gICAgICB9LFxuICAgICAgY2xpZW50T3B0aW9ucyxcbiAgICAgIGNhY2hlQWRhcHRlcjogY29uZmlnLmNhY2hlQWRhcHRlcixcbiAgICAgIHJldHJ5Rm46IGNvbmZpZy5yZXRyeUZuLFxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5leGVjdXRlKCk7XG5cbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYga2V5KSB7XG4gICAgICBiaW5kKGtleSwgb3B0aW9ucy5kZXN0cm95UmVmLCByZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBrZXksIHJlcXVlc3QgfTtcbiAgfTtcblxuICBjb25zdCB1bmJpbmQgPSAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4ge1xuICAgIGlmICgha2V5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjYWNoZUVudHJ5ID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICBpZiAoIWNhY2hlRW50cnkpIHJldHVybiBmYWxzZTtcblxuICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLmRlbGV0ZShkZXN0cm95UmVmKTtcblxuICAgIGlmIChjYWNoZUVudHJ5LmNvbnN1bWVycy5zaXplID09PSAwKSB7XG4gICAgICBjYWNoZUVudHJ5LnJlcXVlc3QuZGVzdHJveSgpO1xuICAgICAgY2FjaGUuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgYmluZCA9IChrZXk6IFF1ZXJ5S2V5LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxRdWVyeUFyZ3M+KSA9PiB7XG4gICAgY29uc3QgZGVzdHJveUxpc3RlbmVyID0gZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdW5iaW5kKGtleSwgZGVzdHJveVJlZikpO1xuXG4gICAgY29uc3QgY2FjaGVFbnRyeSA9IGNhY2hlLmdldChrZXkpO1xuXG4gICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLnNldChkZXN0cm95UmVmLCBkZXN0cm95TGlzdGVuZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb25zdW1lcnM6IE1hcDxEZXN0cm95UmVmLCBEZXN0cm95Q2xlYW51cENhbGxiYWNrPiA9IG5ldyBNYXAoW10pO1xuXG4gICAgICBjb25zdW1lcnMuc2V0KGRlc3Ryb3lSZWYsIGRlc3Ryb3lMaXN0ZW5lcik7XG5cbiAgICAgIGNhY2hlLnNldChrZXksIHtcbiAgICAgICAgY29uc3VtZXJzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlcG9zaXRvcnk6IFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgICByZXF1ZXN0LFxuICAgIHVuYmluZCxcbiAgfTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn07XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { effect, signal, untracked } from '@angular/core';
2
- import { setupQueryState } from './query-state';
3
- export const createQuerySnapshotFn = (options) => {
4
- const { state, deps } = options;
5
- const snapshotFn = () => {
6
- const snapshotState = setupQueryState({});
7
- const isAlive = signal(true);
8
- const killEffectRef = effect(() => {
9
- const currentLoading = state.loading();
10
- const currentError = state.error();
11
- const currentResponse = state.response();
12
- const currentArgs = state.args();
13
- const currentLatestHttpEvent = state.latestHttpEvent();
14
- const currentLastTimeExecutedAt = state.lastTimeExecutedAt();
15
- untracked(() => {
16
- snapshotState.args.set(currentArgs);
17
- snapshotState.error.set(currentError);
18
- snapshotState.lastTimeExecutedAt.set(currentLastTimeExecutedAt);
19
- snapshotState.latestHttpEvent.set(currentLatestHttpEvent);
20
- snapshotState.loading.set(currentLoading);
21
- snapshotState.response.set(currentResponse);
22
- if (currentLoading)
23
- return;
24
- if (!currentResponse && !currentError)
25
- return;
26
- // kill the effect once loading is done and we either have a response or an error
27
- killEffectRef.destroy();
28
- isAlive.set(false);
29
- });
30
- }, { injector: deps.injector });
31
- const snapshot = {
32
- args: snapshotState.args.asReadonly(),
33
- response: snapshotState.response.asReadonly(),
34
- latestHttpEvent: snapshotState.latestHttpEvent.asReadonly(),
35
- loading: snapshotState.loading.asReadonly(),
36
- error: snapshotState.error.asReadonly(),
37
- lastTimeExecutedAt: snapshotState.lastTimeExecutedAt.asReadonly(),
38
- isAlive: isAlive.asReadonly(),
39
- id: options.execute.currentRepositoryKey,
40
- };
41
- return snapshot;
42
- };
43
- return snapshotFn;
44
- };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxRCxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQTBCLE9BQTBDLEVBQUUsRUFBRTtJQUMzRyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQzFCLEdBQUcsRUFBRTtZQUNILE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2RCxNQUFNLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBRTdELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0QyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQ2hFLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQzFELGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxjQUFjO29CQUFFLE9BQU87Z0JBRTNCLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxZQUFZO29CQUFFLE9BQU87Z0JBRTlDLGlGQUFpRjtnQkFDakYsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUV4QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUF5QjtZQUNyQyxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDckMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQzdDLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRTtZQUMzRCxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDM0MsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUU7WUFDakUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDN0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CO1NBQ3pDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRixPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFF1ZXJ5U25hcHNob3QgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgUXVlcnlFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUsIHNldHVwUXVlcnlTdGF0ZSB9IGZyb20gJy4vcXVlcnktc3RhdGUnO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeVNuYXBzaG90T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIHN0YXRlOiBRdWVyeVN0YXRlPFRBcmdzPjtcbiAgZGVwczogUXVlcnlEZXBlbmRlbmNpZXM7XG4gIGV4ZWN1dGU6IFF1ZXJ5RXhlY3V0ZTxUQXJncz47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlTbmFwc2hvdEZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBDcmVhdGVRdWVyeVNuYXBzaG90T3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBzdGF0ZSwgZGVwcyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBzbmFwc2hvdEZuID0gKCkgPT4ge1xuICAgIGNvbnN0IHNuYXBzaG90U3RhdGUgPSBzZXR1cFF1ZXJ5U3RhdGU8VEFyZ3M+KHt9KTtcbiAgICBjb25zdCBpc0FsaXZlID0gc2lnbmFsKHRydWUpO1xuXG4gICAgY29uc3Qga2lsbEVmZmVjdFJlZiA9IGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudExvYWRpbmcgPSBzdGF0ZS5sb2FkaW5nKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFcnJvciA9IHN0YXRlLmVycm9yKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRSZXNwb25zZSA9IHN0YXRlLnJlc3BvbnNlKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcmdzID0gc3RhdGUuYXJncygpO1xuICAgICAgICBjb25zdCBjdXJyZW50TGF0ZXN0SHR0cEV2ZW50ID0gc3RhdGUubGF0ZXN0SHR0cEV2ZW50KCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMYXN0VGltZUV4ZWN1dGVkQXQgPSBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQoKTtcblxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUuYXJncy5zZXQoY3VycmVudEFyZ3MpO1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUuZXJyb3Iuc2V0KGN1cnJlbnRFcnJvcik7XG4gICAgICAgICAgc25hcHNob3RTdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KGN1cnJlbnRMYXN0VGltZUV4ZWN1dGVkQXQpO1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUubGF0ZXN0SHR0cEV2ZW50LnNldChjdXJyZW50TGF0ZXN0SHR0cEV2ZW50KTtcbiAgICAgICAgICBzbmFwc2hvdFN0YXRlLmxvYWRpbmcuc2V0KGN1cnJlbnRMb2FkaW5nKTtcbiAgICAgICAgICBzbmFwc2hvdFN0YXRlLnJlc3BvbnNlLnNldChjdXJyZW50UmVzcG9uc2UpO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnRMb2FkaW5nKSByZXR1cm47XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRSZXNwb25zZSAmJiAhY3VycmVudEVycm9yKSByZXR1cm47XG5cbiAgICAgICAgICAvLyBraWxsIHRoZSBlZmZlY3Qgb25jZSBsb2FkaW5nIGlzIGRvbmUgYW5kIHdlIGVpdGhlciBoYXZlIGEgcmVzcG9uc2Ugb3IgYW4gZXJyb3JcbiAgICAgICAgICBraWxsRWZmZWN0UmVmLmRlc3Ryb3koKTtcblxuICAgICAgICAgIGlzQWxpdmUuc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBpbmplY3RvcjogZGVwcy5pbmplY3RvciB9LFxuICAgICk7XG5cbiAgICBjb25zdCBzbmFwc2hvdDogUXVlcnlTbmFwc2hvdDxUQXJncz4gPSB7XG4gICAgICBhcmdzOiBzbmFwc2hvdFN0YXRlLmFyZ3MuYXNSZWFkb25seSgpLFxuICAgICAgcmVzcG9uc2U6IHNuYXBzaG90U3RhdGUucmVzcG9uc2UuYXNSZWFkb25seSgpLFxuICAgICAgbGF0ZXN0SHR0cEV2ZW50OiBzbmFwc2hvdFN0YXRlLmxhdGVzdEh0dHBFdmVudC5hc1JlYWRvbmx5KCksXG4gICAgICBsb2FkaW5nOiBzbmFwc2hvdFN0YXRlLmxvYWRpbmcuYXNSZWFkb25seSgpLFxuICAgICAgZXJyb3I6IHNuYXBzaG90U3RhdGUuZXJyb3IuYXNSZWFkb25seSgpLFxuICAgICAgbGFzdFRpbWVFeGVjdXRlZEF0OiBzbmFwc2hvdFN0YXRlLmxhc3RUaW1lRXhlY3V0ZWRBdC5hc1JlYWRvbmx5KCksXG4gICAgICBpc0FsaXZlOiBpc0FsaXZlLmFzUmVhZG9ubHkoKSxcbiAgICAgIGlkOiBvcHRpb25zLmV4ZWN1dGUuY3VycmVudFJlcG9zaXRvcnlLZXksXG4gICAgfTtcblxuICAgIHJldHVybiBzbmFwc2hvdDtcbiAgfTtcblxuICByZXR1cm4gc25hcHNob3RGbjtcbn07XG4iXX0=