@tanstack/angular-query-experimental 5.12.1

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 (50) hide show
  1. package/LICENSE +21 -0
  2. package/build/createBaseQuery.d.ts +7 -0
  3. package/build/esm2022/createBaseQuery.mjs +35 -0
  4. package/build/esm2022/index.mjs +14 -0
  5. package/build/esm2022/infiniteQueryOptions.mjs +4 -0
  6. package/build/esm2022/injectIsFetching.mjs +25 -0
  7. package/build/esm2022/injectIsMutating.mjs +25 -0
  8. package/build/esm2022/injectMutation.mjs +30 -0
  9. package/build/esm2022/injectQueries.mjs +30 -0
  10. package/build/esm2022/injectQuery.mjs +11 -0
  11. package/build/esm2022/injectQueryClient.mjs +4 -0
  12. package/build/esm2022/providers.mjs +17 -0
  13. package/build/esm2022/query-proxy.mjs +37 -0
  14. package/build/esm2022/queryOptions.mjs +4 -0
  15. package/build/esm2022/tanstack-angular-query-experimental.mjs +5 -0
  16. package/build/esm2022/types.mjs +2 -0
  17. package/build/fesm2022/tanstack-angular-query-experimental.mjs +209 -0
  18. package/build/fesm2022/tanstack-angular-query-experimental.mjs.map +1 -0
  19. package/build/index.d.ts +12 -0
  20. package/build/infiniteQueryOptions.d.ts +3 -0
  21. package/build/injectIsFetching.d.ts +3 -0
  22. package/build/injectIsMutating.d.ts +3 -0
  23. package/build/injectMutation.d.ts +4 -0
  24. package/build/injectQueries.d.ts +71 -0
  25. package/build/injectQuery.d.ts +11 -0
  26. package/build/injectQueryClient.d.ts +13 -0
  27. package/build/providers.d.ts +3 -0
  28. package/build/query-proxy.d.ts +4 -0
  29. package/build/queryOptions.d.ts +12 -0
  30. package/build/types.d.ts +38 -0
  31. package/package.json +65 -0
  32. package/src/createBaseQuery.ts +87 -0
  33. package/src/index.ts +26 -0
  34. package/src/infiniteQueryOptions.ts +28 -0
  35. package/src/injectIsFetching.ts +36 -0
  36. package/src/injectIsMutating.ts +36 -0
  37. package/src/injectMutation.ts +63 -0
  38. package/src/injectQueries.ts +249 -0
  39. package/src/injectQuery.ts +61 -0
  40. package/src/injectQueryClient.ts +7 -0
  41. package/src/providers.ts +26 -0
  42. package/src/query-proxy.ts +51 -0
  43. package/src/queryOptions.ts +46 -0
  44. package/src/test-setup.ts +13 -0
  45. package/src/tests/injectIsFetching.test.ts +32 -0
  46. package/src/tests/injectIsMutating.test.ts +43 -0
  47. package/src/tests/injectMutation.test.ts +52 -0
  48. package/src/tests/injectQuery.test.ts +232 -0
  49. package/src/tests/test-utils.ts +37 -0
  50. package/src/types.ts +136 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-present Tanner Linsley
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,7 @@
1
+ import type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core';
2
+ import type { CreateBaseQueryOptions, CreateBaseQueryResult } from './types';
3
+ /**
4
+ * Base implementation for `createQuery` and `createInfiniteQuery`.
5
+ * @internal
6
+ */
7
+ export declare function createBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options: (client: QueryClient) => CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, Observer: typeof QueryObserver, queryClient: QueryClient): CreateBaseQueryResult<TData, TError>;
@@ -0,0 +1,35 @@
1
+ import { DestroyRef, assertInInjectionContext, computed, effect, inject, signal, } from '@angular/core';
2
+ import { notifyManager } from '@tanstack/query-core';
3
+ import { createResultStateSignalProxy } from './query-proxy';
4
+ /**
5
+ * Base implementation for `createQuery` and `createInfiniteQuery`.
6
+ * @internal
7
+ */
8
+ export function createBaseQuery(options, Observer, queryClient) {
9
+ assertInInjectionContext(createBaseQuery);
10
+ const destroyRef = inject(DestroyRef);
11
+ /** Creates a signal that has the default options applied */
12
+ const defaultedOptionsSignal = computed(() => {
13
+ const defaultedOptions = queryClient.defaultQueryOptions(options(queryClient));
14
+ defaultedOptions._optimisticResults = 'optimistic';
15
+ return defaultedOptions;
16
+ });
17
+ /** Creates the observer */
18
+ const observer = new Observer(queryClient, defaultedOptionsSignal());
19
+ effect(() => {
20
+ // Do not notify on updates because of changes in the options because
21
+ // these changes should already be reflected in the optimistic result.
22
+ observer.setOptions(defaultedOptionsSignal(), { listeners: false });
23
+ });
24
+ const result = signal(observer.getCurrentResult());
25
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls((val) => result.set(val)));
26
+ destroyRef.onDestroy(unsubscribe);
27
+ /** Subscribe to changes in result and defaultedOptionsStore */
28
+ const resultSignal = computed(() => {
29
+ return !defaultedOptionsSignal().notifyOnChangeProps
30
+ ? observer.trackResult(result())
31
+ : result();
32
+ });
33
+ return createResultStateSignalProxy(resultSignal);
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQmFzZVF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZUJhc2VRdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQVU1RDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQU83QixPQVFDLEVBQ0QsUUFBOEIsRUFDOUIsV0FBd0I7SUFFeEIsd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDekMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRXJDLDREQUE0RDtJQUM1RCxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDM0MsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQ3RELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FDckIsQ0FBQTtRQUNELGdCQUFnQixDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQTtRQUNsRCxPQUFPLGdCQUFnQixDQUFBO0lBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBRUYsMkJBQTJCO0lBQzNCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQU0zQixXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFBO0lBRXhDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDVixxRUFBcUU7UUFDckUsc0VBQXNFO1FBQ3RFLFFBQVEsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7SUFFbEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FDcEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNuRCxDQUFBO0lBQ0QsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUVqQywrREFBK0Q7SUFDL0QsTUFBTSxZQUFZLEdBQStDLFFBQVEsQ0FDdkUsR0FBRyxFQUFFO1FBQ0gsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUMsbUJBQW1CO1lBQ2xELENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNkLENBQUMsQ0FDRixDQUFBO0lBRUQsT0FBTyw0QkFBNEIsQ0FBZ0IsWUFBWSxDQUFDLENBQUE7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlc3Ryb3lSZWYsXG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgeyBjcmVhdGVSZXN1bHRTdGF0ZVNpZ25hbFByb3h5IH0gZnJvbSAnLi9xdWVyeS1wcm94eSdcbmltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB0eXBlIHtcbiAgUXVlcnlDbGllbnQsXG4gIFF1ZXJ5S2V5LFxuICBRdWVyeU9ic2VydmVyLFxuICBRdWVyeU9ic2VydmVyUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB0eXBlIHsgQ3JlYXRlQmFzZVF1ZXJ5T3B0aW9ucywgQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi90eXBlcydcblxuLyoqXG4gKiBCYXNlIGltcGxlbWVudGF0aW9uIGZvciBgY3JlYXRlUXVlcnlgIGFuZCBgY3JlYXRlSW5maW5pdGVRdWVyeWAuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2VRdWVyeTxcbiAgVFF1ZXJ5Rm5EYXRhLFxuICBURXJyb3IsXG4gIFREYXRhLFxuICBUUXVlcnlEYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSxcbj4oXG4gIG9wdGlvbnM6IChcbiAgICBjbGllbnQ6IFF1ZXJ5Q2xpZW50LFxuICApID0+IENyZWF0ZUJhc2VRdWVyeU9wdGlvbnM8XG4gICAgVFF1ZXJ5Rm5EYXRhLFxuICAgIFRFcnJvcixcbiAgICBURGF0YSxcbiAgICBUUXVlcnlEYXRhLFxuICAgIFRRdWVyeUtleVxuICA+LFxuICBPYnNlcnZlcjogdHlwZW9mIFF1ZXJ5T2JzZXJ2ZXIsXG4gIHF1ZXJ5Q2xpZW50OiBRdWVyeUNsaWVudCxcbik6IENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChjcmVhdGVCYXNlUXVlcnkpXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZilcblxuICAvKiogQ3JlYXRlcyBhIHNpZ25hbCB0aGF0IGhhcyB0aGUgZGVmYXVsdCBvcHRpb25zIGFwcGxpZWQgKi9cbiAgY29uc3QgZGVmYXVsdGVkT3B0aW9uc1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0ZWRPcHRpb25zID0gcXVlcnlDbGllbnQuZGVmYXVsdFF1ZXJ5T3B0aW9ucyhcbiAgICAgIG9wdGlvbnMocXVlcnlDbGllbnQpLFxuICAgIClcbiAgICBkZWZhdWx0ZWRPcHRpb25zLl9vcHRpbWlzdGljUmVzdWx0cyA9ICdvcHRpbWlzdGljJ1xuICAgIHJldHVybiBkZWZhdWx0ZWRPcHRpb25zXG4gIH0pXG5cbiAgLyoqIENyZWF0ZXMgdGhlIG9ic2VydmVyICovXG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IE9ic2VydmVyPFxuICAgIFRRdWVyeUZuRGF0YSxcbiAgICBURXJyb3IsXG4gICAgVERhdGEsXG4gICAgVFF1ZXJ5RGF0YSxcbiAgICBUUXVlcnlLZXlcbiAgPihxdWVyeUNsaWVudCwgZGVmYXVsdGVkT3B0aW9uc1NpZ25hbCgpKVxuXG4gIGVmZmVjdCgoKSA9PiB7XG4gICAgLy8gRG8gbm90IG5vdGlmeSBvbiB1cGRhdGVzIGJlY2F1c2Ugb2YgY2hhbmdlcyBpbiB0aGUgb3B0aW9ucyBiZWNhdXNlXG4gICAgLy8gdGhlc2UgY2hhbmdlcyBzaG91bGQgYWxyZWFkeSBiZSByZWZsZWN0ZWQgaW4gdGhlIG9wdGltaXN0aWMgcmVzdWx0LlxuICAgIG9ic2VydmVyLnNldE9wdGlvbnMoZGVmYXVsdGVkT3B0aW9uc1NpZ25hbCgpLCB7IGxpc3RlbmVyczogZmFsc2UgfSlcbiAgfSlcblxuICBjb25zdCByZXN1bHQgPSBzaWduYWwob2JzZXJ2ZXIuZ2V0Q3VycmVudFJlc3VsdCgpKVxuXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gb2JzZXJ2ZXIuc3Vic2NyaWJlKFxuICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2hDYWxscygodmFsKSA9PiByZXN1bHQuc2V0KHZhbCkpLFxuICApXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KHVuc3Vic2NyaWJlKVxuXG4gIC8qKiBTdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiByZXN1bHQgYW5kIGRlZmF1bHRlZE9wdGlvbnNTdG9yZSAqL1xuICBjb25zdCByZXN1bHRTaWduYWw6IFNpZ25hbDxRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+PiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHtcbiAgICAgIHJldHVybiAhZGVmYXVsdGVkT3B0aW9uc1NpZ25hbCgpLm5vdGlmeU9uQ2hhbmdlUHJvcHNcbiAgICAgICAgPyBvYnNlcnZlci50cmFja1Jlc3VsdChyZXN1bHQoKSlcbiAgICAgICAgOiByZXN1bHQoKVxuICAgIH0sXG4gIClcblxuICByZXR1cm4gY3JlYXRlUmVzdWx0U3RhdGVTaWduYWxQcm94eTxURGF0YSwgVEVycm9yPihyZXN1bHRTaWduYWwpXG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ /* istanbul ignore file */
2
+ // Re-export core
3
+ export * from '@tanstack/query-core';
4
+ export * from './types';
5
+ export { queryOptions } from './queryOptions';
6
+ export { infiniteQueryOptions } from './infiniteQueryOptions';
7
+ export * from './injectIsFetching';
8
+ export * from './injectIsMutating';
9
+ export * from './injectMutation';
10
+ export * from './injectQueries';
11
+ export * from './injectQuery';
12
+ export { injectQueryClient, provideQueryClient, QUERY_CLIENT, } from './injectQueryClient';
13
+ export { provideAngularQuery } from './providers';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQTBCO0FBRTFCLGlCQUFpQjtBQUNqQixjQUFjLHNCQUFzQixDQUFBO0FBRXBDLGNBQWMsU0FBUyxDQUFBO0FBTXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUU3RCxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsZUFBZSxDQUFBO0FBQzdCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8vIFJlLWV4cG9ydCBjb3JlXG5leHBvcnQgKiBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHR5cGUge1xuICBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zLFxuICBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnMsXG59IGZyb20gJy4vcXVlcnlPcHRpb25zJ1xuZXhwb3J0IHsgcXVlcnlPcHRpb25zIH0gZnJvbSAnLi9xdWVyeU9wdGlvbnMnXG5cbmV4cG9ydCB7IGluZmluaXRlUXVlcnlPcHRpb25zIH0gZnJvbSAnLi9pbmZpbml0ZVF1ZXJ5T3B0aW9ucydcblxuZXhwb3J0ICogZnJvbSAnLi9pbmplY3RJc0ZldGNoaW5nJ1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3RJc011dGF0aW5nJ1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3RNdXRhdGlvbidcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0UXVlcmllcydcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0UXVlcnknXG5leHBvcnQge1xuICBpbmplY3RRdWVyeUNsaWVudCxcbiAgcHJvdmlkZVF1ZXJ5Q2xpZW50LFxuICBRVUVSWV9DTElFTlQsXG59IGZyb20gJy4vaW5qZWN0UXVlcnlDbGllbnQnXG5leHBvcnQgeyBwcm92aWRlQW5ndWxhclF1ZXJ5IH0gZnJvbSAnLi9wcm92aWRlcnMnXG4iXX0=
@@ -0,0 +1,4 @@
1
+ export function infiniteQueryOptions(options) {
2
+ return options;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGVRdWVyeU9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5maW5pdGVRdWVyeU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLG9CQUFvQixDQU9sQyxPQU9DO0lBU0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVmYXVsdEVycm9yLCBJbmZpbml0ZURhdGEsIFF1ZXJ5S2V5IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgdHlwZSB7IENyZWF0ZUluZmluaXRlUXVlcnlPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIGluZmluaXRlUXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEsXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBJbmZpbml0ZURhdGE8VFF1ZXJ5Rm5EYXRhPixcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbiAgVFBhZ2VQYXJhbSA9IHVua25vd24sXG4+KFxuICBvcHRpb25zOiBDcmVhdGVJbmZpbml0ZVF1ZXJ5T3B0aW9uczxcbiAgICBUUXVlcnlGbkRhdGEsXG4gICAgVEVycm9yLFxuICAgIFREYXRhLFxuICAgIFRRdWVyeUZuRGF0YSxcbiAgICBUUXVlcnlLZXksXG4gICAgVFBhZ2VQYXJhbVxuICA+LFxuKTogQ3JlYXRlSW5maW5pdGVRdWVyeU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSxcbiAgVEVycm9yLFxuICBURGF0YSxcbiAgVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXksXG4gIFRQYWdlUGFyYW1cbj4ge1xuICByZXR1cm4gb3B0aW9uc1xufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { DestroyRef, inject, signal } from '@angular/core';
2
+ import { notifyManager } from '@tanstack/query-core';
3
+ import { assertInjector } from 'ngxtension/assert-injector';
4
+ import { injectQueryClient } from './injectQueryClient';
5
+ export function injectIsFetching(filters, injector) {
6
+ return assertInjector(injectIsFetching, injector, () => {
7
+ const queryClient = injectQueryClient();
8
+ const destroyRef = inject(DestroyRef);
9
+ const cache = queryClient.getQueryCache();
10
+ // isFetching is the prev value initialized on mount *
11
+ let isFetching = queryClient.isFetching(filters);
12
+ const result = signal(isFetching);
13
+ const unsubscribe = cache.subscribe(notifyManager.batchCalls(() => {
14
+ const newIsFetching = queryClient.isFetching(filters);
15
+ if (isFetching !== newIsFetching) {
16
+ // * and update with each change
17
+ isFetching = newIsFetching;
18
+ result.set(isFetching);
19
+ }
20
+ }));
21
+ destroyRef.onDestroy(unsubscribe);
22
+ return result;
23
+ });
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0SXNGZXRjaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmplY3RJc0ZldGNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUd2RCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE9BQXNCLEVBQ3RCLFFBQW1CO0lBRW5CLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDckQsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtRQUN2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFckMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3pDLHNEQUFzRDtRQUN0RCxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRWhELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUNqQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUM1QixNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3JELElBQUksVUFBVSxLQUFLLGFBQWEsRUFBRTtnQkFDaEMsZ0NBQWdDO2dCQUNoQyxVQUFVLEdBQUcsYUFBYSxDQUFBO2dCQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUVELFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFakMsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyB0eXBlIFF1ZXJ5RmlsdGVycywgbm90aWZ5TWFuYWdlciB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3RvcidcbmltcG9ydCB7IGluamVjdFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9pbmplY3RRdWVyeUNsaWVudCdcbmltcG9ydCB0eXBlIHsgSW5qZWN0b3IsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RJc0ZldGNoaW5nKFxuICBmaWx0ZXJzPzogUXVlcnlGaWx0ZXJzLFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKTogU2lnbmFsPG51bWJlcj4ge1xuICByZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0SXNGZXRjaGluZywgaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeUNsaWVudCA9IGluamVjdFF1ZXJ5Q2xpZW50KClcbiAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpXG5cbiAgICBjb25zdCBjYWNoZSA9IHF1ZXJ5Q2xpZW50LmdldFF1ZXJ5Q2FjaGUoKVxuICAgIC8vIGlzRmV0Y2hpbmcgaXMgdGhlIHByZXYgdmFsdWUgaW5pdGlhbGl6ZWQgb24gbW91bnQgKlxuICAgIGxldCBpc0ZldGNoaW5nID0gcXVlcnlDbGllbnQuaXNGZXRjaGluZyhmaWx0ZXJzKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gc2lnbmFsKGlzRmV0Y2hpbmcpXG5cbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IGNhY2hlLnN1YnNjcmliZShcbiAgICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2hDYWxscygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lzRmV0Y2hpbmcgPSBxdWVyeUNsaWVudC5pc0ZldGNoaW5nKGZpbHRlcnMpXG4gICAgICAgIGlmIChpc0ZldGNoaW5nICE9PSBuZXdJc0ZldGNoaW5nKSB7XG4gICAgICAgICAgLy8gKiBhbmQgdXBkYXRlIHdpdGggZWFjaCBjaGFuZ2VcbiAgICAgICAgICBpc0ZldGNoaW5nID0gbmV3SXNGZXRjaGluZ1xuICAgICAgICAgIHJlc3VsdC5zZXQoaXNGZXRjaGluZylcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3kodW5zdWJzY3JpYmUpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pXG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { DestroyRef, inject, signal } from '@angular/core';
2
+ import { notifyManager } from '@tanstack/query-core';
3
+ import { assertInjector } from 'ngxtension/assert-injector';
4
+ import { injectQueryClient } from './injectQueryClient';
5
+ export function injectIsMutating(filters, injector) {
6
+ return assertInjector(injectIsMutating, injector, () => {
7
+ const queryClient = injectQueryClient();
8
+ const destroyRef = inject(DestroyRef);
9
+ const cache = queryClient.getMutationCache();
10
+ // isMutating is the prev value initialized on mount *
11
+ let isMutating = queryClient.isMutating(filters);
12
+ const result = signal(isMutating);
13
+ const unsubscribe = cache.subscribe(notifyManager.batchCalls(() => {
14
+ const newIsMutating = queryClient.isMutating(filters);
15
+ if (isMutating !== newIsMutating) {
16
+ // * and update with each change
17
+ isMutating = newIsMutating;
18
+ result.set(isMutating);
19
+ }
20
+ }));
21
+ destroyRef.onDestroy(unsubscribe);
22
+ return result;
23
+ });
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0SXNNdXRhdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmplY3RJc011dGF0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUd2RCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE9BQXlCLEVBQ3pCLFFBQW1CO0lBRW5CLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDckQsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtRQUN2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFckMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDNUMsc0RBQXNEO1FBQ3RELElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWpDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQ2pDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDckQsSUFBSSxVQUFVLEtBQUssYUFBYSxFQUFFO2dCQUNoQyxnQ0FBZ0M7Z0JBQ2hDLFVBQVUsR0FBRyxhQUFhLENBQUE7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUVqQyxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IHR5cGUgTXV0YXRpb25GaWx0ZXJzLCBub3RpZnlNYW5hZ2VyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJ1xuaW1wb3J0IHsgaW5qZWN0UXVlcnlDbGllbnQgfSBmcm9tICcuL2luamVjdFF1ZXJ5Q2xpZW50J1xuaW1wb3J0IHR5cGUgeyBJbmplY3RvciwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzTXV0YXRpbmcoXG4gIGZpbHRlcnM/OiBNdXRhdGlvbkZpbHRlcnMsXG4gIGluamVjdG9yPzogSW5qZWN0b3IsXG4pOiBTaWduYWw8bnVtYmVyPiB7XG4gIHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RJc011dGF0aW5nLCBpbmplY3RvciwgKCkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gaW5qZWN0UXVlcnlDbGllbnQoKVxuICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZilcblxuICAgIGNvbnN0IGNhY2hlID0gcXVlcnlDbGllbnQuZ2V0TXV0YXRpb25DYWNoZSgpXG4gICAgLy8gaXNNdXRhdGluZyBpcyB0aGUgcHJldiB2YWx1ZSBpbml0aWFsaXplZCBvbiBtb3VudCAqXG4gICAgbGV0IGlzTXV0YXRpbmcgPSBxdWVyeUNsaWVudC5pc011dGF0aW5nKGZpbHRlcnMpXG5cbiAgICBjb25zdCByZXN1bHQgPSBzaWduYWwoaXNNdXRhdGluZylcblxuICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gY2FjaGUuc3Vic2NyaWJlKFxuICAgICAgbm90aWZ5TWFuYWdlci5iYXRjaENhbGxzKCgpID0+IHtcbiAgICAgICAgY29uc3QgbmV3SXNNdXRhdGluZyA9IHF1ZXJ5Q2xpZW50LmlzTXV0YXRpbmcoZmlsdGVycylcbiAgICAgICAgaWYgKGlzTXV0YXRpbmcgIT09IG5ld0lzTXV0YXRpbmcpIHtcbiAgICAgICAgICAvLyAqIGFuZCB1cGRhdGUgd2l0aCBlYWNoIGNoYW5nZVxuICAgICAgICAgIGlzTXV0YXRpbmcgPSBuZXdJc011dGF0aW5nXG4gICAgICAgICAgcmVzdWx0LnNldChpc011dGF0aW5nKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG5cbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSh1bnN1YnNjcmliZSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSlcbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { DestroyRef, computed, effect, inject, signal } from '@angular/core';
2
+ import { MutationObserver, notifyManager } from '@tanstack/query-core';
3
+ import { assertInjector } from 'ngxtension/assert-injector';
4
+ import { injectQueryClient } from './injectQueryClient';
5
+ export function injectMutation(options, injector) {
6
+ return assertInjector(injectMutation, injector, () => {
7
+ const queryClient = injectQueryClient();
8
+ const destroyRef = inject(DestroyRef);
9
+ const observer = new MutationObserver(queryClient, options(queryClient));
10
+ const mutate = (variables, mutateOptions) => {
11
+ observer.mutate(variables, mutateOptions).catch(noop);
12
+ };
13
+ effect(() => {
14
+ observer.setOptions(options(queryClient));
15
+ });
16
+ const result = signal(observer.getCurrentResult());
17
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls((val) => {
18
+ result.set(val);
19
+ }));
20
+ destroyRef.onDestroy(unsubscribe);
21
+ return computed(() => ({
22
+ ...result(),
23
+ mutate,
24
+ mutateAsync: result().mutate,
25
+ }));
26
+ });
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
29
+ function noop() { }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0TXV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5qZWN0TXV0YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQVV2RCxNQUFNLFVBQVUsY0FBYyxDQU01QixPQUUrRCxFQUMvRCxRQUFtQjtJQUVuQixPQUFPLGNBQWMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNuRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUNuQyxXQUFXLEVBQ1gsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUNyQixDQUFBO1FBQ0QsTUFBTSxNQUFNLEdBQThELENBQ3hFLFNBQVMsRUFDVCxhQUFhLEVBQ2IsRUFBRTtZQUNGLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUE7UUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUMzQyxDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFBO1FBRWxELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQ3BDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUE7UUFFRCxVQUFVLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRWpDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckIsR0FBRyxNQUFNLEVBQUU7WUFDWCxNQUFNO1lBQ04sV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU07U0FDN0IsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxnRUFBZ0U7QUFDaEUsU0FBUyxJQUFJLEtBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXIsIG5vdGlmeU1hbmFnZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InXG5pbXBvcnQgeyBpbmplY3RRdWVyeUNsaWVudCB9IGZyb20gJy4vaW5qZWN0UXVlcnlDbGllbnQnXG5pbXBvcnQgdHlwZSB7IERlZmF1bHRFcnJvciwgUXVlcnlDbGllbnQgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB0eXBlIHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZU11dGF0ZUZ1bmN0aW9uLFxuICBDcmVhdGVNdXRhdGlvbk9wdGlvbnMsXG4gIENyZWF0ZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TXV0YXRpb248XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdm9pZCxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPihcbiAgb3B0aW9uczogKFxuICAgIGNsaWVudDogUXVlcnlDbGllbnQsXG4gICkgPT4gQ3JlYXRlTXV0YXRpb25PcHRpb25zPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcixcbik6IENyZWF0ZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PiB7XG4gIHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RNdXRhdGlvbiwgaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeUNsaWVudCA9IGluamVjdFF1ZXJ5Q2xpZW50KClcbiAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpXG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PihcbiAgICAgIHF1ZXJ5Q2xpZW50LFxuICAgICAgb3B0aW9ucyhxdWVyeUNsaWVudCksXG4gICAgKVxuICAgIGNvbnN0IG11dGF0ZTogQ3JlYXRlTXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+ID0gKFxuICAgICAgdmFyaWFibGVzLFxuICAgICAgbXV0YXRlT3B0aW9ucyxcbiAgICApID0+IHtcbiAgICAgIG9ic2VydmVyLm11dGF0ZSh2YXJpYWJsZXMsIG11dGF0ZU9wdGlvbnMpLmNhdGNoKG5vb3ApXG4gICAgfVxuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIG9ic2VydmVyLnNldE9wdGlvbnMob3B0aW9ucyhxdWVyeUNsaWVudCkpXG4gICAgfSlcblxuICAgIGNvbnN0IHJlc3VsdCA9IHNpZ25hbChvYnNlcnZlci5nZXRDdXJyZW50UmVzdWx0KCkpXG5cbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IG9ic2VydmVyLnN1YnNjcmliZShcbiAgICAgIG5vdGlmeU1hbmFnZXIuYmF0Y2hDYWxscygodmFsKSA9PiB7XG4gICAgICAgIHJlc3VsdC5zZXQodmFsKVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3kodW5zdWJzY3JpYmUpXG5cbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAgIC4uLnJlc3VsdCgpLFxuICAgICAgbXV0YXRlLFxuICAgICAgbXV0YXRlQXN5bmM6IHJlc3VsdCgpLm11dGF0ZSxcbiAgICB9KSlcbiAgfSlcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuZnVuY3Rpb24gbm9vcCgpIHt9XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { QueriesObserver, notifyManager } from '@tanstack/query-core';
2
+ import { DestroyRef, computed, effect, inject, signal } from '@angular/core';
3
+ import { assertInjector } from 'ngxtension/assert-injector';
4
+ import { injectQueryClient } from './injectQueryClient';
5
+ export function injectQueries({ queries, ...options }, injector) {
6
+ return assertInjector(injectQueries, injector, () => {
7
+ const queryClient = injectQueryClient();
8
+ const destroyRef = inject(DestroyRef);
9
+ const defaultedQueries = computed(() => {
10
+ return queries().map((opts) => {
11
+ const defaultedOptions = queryClient.defaultQueryOptions(opts);
12
+ // Make sure the results are already in fetching state before subscribing or updating options
13
+ defaultedOptions._optimisticResults = 'optimistic';
14
+ return defaultedOptions;
15
+ });
16
+ });
17
+ const observer = new QueriesObserver(queryClient, defaultedQueries(), options);
18
+ // Do not notify on updates because of changes in the options because
19
+ // these changes should already be reflected in the optimistic result.
20
+ effect(() => {
21
+ observer.setQueries(defaultedQueries(), options, { listeners: false });
22
+ });
23
+ const [, getCombinedResult] = observer.getOptimisticResult(defaultedQueries());
24
+ const result = signal(getCombinedResult());
25
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls(result.set));
26
+ destroyRef.onDestroy(unsubscribe);
27
+ return result;
28
+ });
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmplY3RRdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBZ012RCxNQUFNLFVBQVUsYUFBYSxDQUkzQixFQUNFLE9BQU8sRUFDUCxHQUFHLE9BQU8sRUFJWCxFQUNELFFBQW1CO0lBRW5CLE9BQU8sY0FBYyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixFQUFFLENBQUE7UUFDdkMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRXJDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQyxPQUFPLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM1QixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDOUQsNkZBQTZGO2dCQUM3RixnQkFBZ0IsQ0FBQyxrQkFBa0IsR0FBRyxZQUFZLENBQUE7Z0JBRWxELE9BQU8sZ0JBQWdCLENBQUE7WUFDekIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxDQUNsQyxXQUFXLEVBQ1gsZ0JBQWdCLEVBQUUsRUFDbEIsT0FBa0QsQ0FDbkQsQ0FBQTtRQUVELHFFQUFxRTtRQUNyRSxzRUFBc0U7UUFDdEUsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLFFBQVEsQ0FBQyxVQUFVLENBQ2pCLGdCQUFnQixFQUFFLEVBQ2xCLE9BQWtELEVBQ2xELEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUNyQixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxHQUN6QixRQUFRLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFBO1FBRWxELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBUyxDQUFDLENBQUE7UUFFakQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzVFLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFakMsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyaWVzT2JzZXJ2ZXIsIG5vdGlmeU1hbmFnZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InXG5pbXBvcnQgeyBpbmplY3RRdWVyeUNsaWVudCB9IGZyb20gJy4vaW5qZWN0UXVlcnlDbGllbnQnXG5pbXBvcnQgdHlwZSB7IEluamVjdG9yLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUge1xuICBEZWZhdWx0RXJyb3IsXG4gIFF1ZXJpZXNPYnNlcnZlck9wdGlvbnMsXG4gIFF1ZXJpZXNQbGFjZWhvbGRlckRhdGFGdW5jdGlvbixcbiAgUXVlcnlGdW5jdGlvbixcbiAgUXVlcnlLZXksXG4gIFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zLFxuICBRdWVyeU9ic2VydmVyUmVzdWx0LFxuICBUaHJvd09uRXJyb3IsXG59IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuXG4vLyBUaGlzIGRlZmluZXMgdGhlIGBDcmVhdGVRdWVyeU9wdGlvbnNgIHRoYXQgYXJlIGFjY2VwdGVkIGluIGBRdWVyaWVzT3B0aW9uc2AgJiBgR2V0T3B0aW9uc2AuXG4vLyBgcGxhY2Vob2xkZXJEYXRhYCBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGEgcGFyYW1ldGVyXG50eXBlIFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4gPSBPbWl0PFxuICBRdWVyeU9ic2VydmVyT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUZuRGF0YSwgVFF1ZXJ5S2V5PixcbiAgJ3BsYWNlaG9sZGVyRGF0YSdcbj4gJiB7XG4gIHBsYWNlaG9sZGVyRGF0YT86IFRRdWVyeUZuRGF0YSB8IFF1ZXJpZXNQbGFjZWhvbGRlckRhdGFGdW5jdGlvbjxUUXVlcnlGbkRhdGE+XG59XG5cbi8vIEF2b2lkIFRTIGRlcHRoLWxpbWl0IGVycm9yIGluIGNhc2Ugb2YgbGFyZ2UgYXJyYXkgbGl0ZXJhbFxudHlwZSBNQVhJTVVNX0RFUFRIID0gMjBcblxudHlwZSBHZXRPcHRpb25zPFQ+ID1cbiAgLy8gUGFydCAxOiByZXNwb25zaWJsZSBmb3IgYXBwbHlpbmcgZXhwbGljaXQgdHlwZSBwYXJhbWV0ZXIgdG8gZnVuY3Rpb24gYXJndW1lbnRzLCBpZiBvYmplY3QgeyBxdWVyeUZuRGF0YTogVFF1ZXJ5Rm5EYXRhLCBlcnJvcjogVEVycm9yLCBkYXRhOiBURGF0YSB9XG4gIFQgZXh0ZW5kcyB7XG4gICAgcXVlcnlGbkRhdGE6IGluZmVyIFRRdWVyeUZuRGF0YVxuICAgIGVycm9yPzogaW5mZXIgVEVycm9yXG4gICAgZGF0YTogaW5mZXIgVERhdGFcbiAgfVxuICAgID8gUXVlcnlPYnNlcnZlck9wdGlvbnNGb3JDcmVhdGVRdWVyaWVzPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YT5cbiAgICA6IFQgZXh0ZW5kcyB7IHF1ZXJ5Rm5EYXRhOiBpbmZlciBUUXVlcnlGbkRhdGE7IGVycm9yPzogaW5mZXIgVEVycm9yIH1cbiAgICAgID8gUXVlcnlPYnNlcnZlck9wdGlvbnNGb3JDcmVhdGVRdWVyaWVzPFRRdWVyeUZuRGF0YSwgVEVycm9yPlxuICAgICAgOiBUIGV4dGVuZHMgeyBkYXRhOiBpbmZlciBURGF0YTsgZXJyb3I/OiBpbmZlciBURXJyb3IgfVxuICAgICAgICA/IFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczx1bmtub3duLCBURXJyb3IsIFREYXRhPlxuICAgICAgICA6IC8vIFBhcnQgMjogcmVzcG9uc2libGUgZm9yIGFwcGx5aW5nIGV4cGxpY2l0IHR5cGUgcGFyYW1ldGVyIHRvIGZ1bmN0aW9uIGFyZ3VtZW50cywgaWYgdHVwbGUgW1RRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YV1cbiAgICAgICAgICBUIGV4dGVuZHMgW2luZmVyIFRRdWVyeUZuRGF0YSwgaW5mZXIgVEVycm9yLCBpbmZlciBURGF0YV1cbiAgICAgICAgICA/IFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGE+XG4gICAgICAgICAgOiBUIGV4dGVuZHMgW2luZmVyIFRRdWVyeUZuRGF0YSwgaW5mZXIgVEVycm9yXVxuICAgICAgICAgICAgPyBRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3I+XG4gICAgICAgICAgICA6IFQgZXh0ZW5kcyBbaW5mZXIgVFF1ZXJ5Rm5EYXRhXVxuICAgICAgICAgICAgICA/IFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczxUUXVlcnlGbkRhdGE+XG4gICAgICAgICAgICAgIDogLy8gUGFydCAzOiByZXNwb25zaWJsZSBmb3IgaW5mZXJyaW5nIGFuZCBlbmZvcmNpbmcgdHlwZSBpZiBubyBleHBsaWNpdCBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkXG4gICAgICAgICAgICAgICAgVCBleHRlbmRzIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlGbj86IFF1ZXJ5RnVuY3Rpb248aW5mZXIgVFF1ZXJ5Rm5EYXRhLCBpbmZlciBUUXVlcnlLZXk+XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogKGRhdGE6IGFueSkgPT4gaW5mZXIgVERhdGFcbiAgICAgICAgICAgICAgICAgICAgdGhyb3dPbkVycm9yPzogVGhyb3dPbkVycm9yPGFueSwgaW5mZXIgVEVycm9yLCBhbnksIGFueT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA/IFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczxcbiAgICAgICAgICAgICAgICAgICAgVFF1ZXJ5Rm5EYXRhLFxuICAgICAgICAgICAgICAgICAgICBURXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIFREYXRhLFxuICAgICAgICAgICAgICAgICAgICBUUXVlcnlLZXlcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA6IFQgZXh0ZW5kcyB7XG4gICAgICAgICAgICAgICAgICAgICAgcXVlcnlGbj86IFF1ZXJ5RnVuY3Rpb248XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZlciBUUXVlcnlGbkRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZlciBUUXVlcnlLZXlcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgdGhyb3dPbkVycm9yPzogVGhyb3dPbkVycm9yPGFueSwgaW5mZXIgVEVycm9yLCBhbnksIGFueT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPyBRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM8XG4gICAgICAgICAgICAgICAgICAgICAgVFF1ZXJ5Rm5EYXRhLFxuICAgICAgICAgICAgICAgICAgICAgIFRFcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICBUUXVlcnlGbkRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgVFF1ZXJ5S2V5XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDogLy8gRmFsbGJhY2tcbiAgICAgICAgICAgICAgICAgICAgUXVlcnlPYnNlcnZlck9wdGlvbnNGb3JDcmVhdGVRdWVyaWVzXG5cbnR5cGUgR2V0UmVzdWx0czxUPiA9XG4gIC8vIFBhcnQgMTogcmVzcG9uc2libGUgZm9yIG1hcHBpbmcgZXhwbGljaXQgdHlwZSBwYXJhbWV0ZXIgdG8gZnVuY3Rpb24gcmVzdWx0LCBpZiBvYmplY3RcbiAgVCBleHRlbmRzIHsgcXVlcnlGbkRhdGE6IGFueTsgZXJyb3I/OiBpbmZlciBURXJyb3I7IGRhdGE6IGluZmVyIFREYXRhIH1cbiAgICA/IFF1ZXJ5T2JzZXJ2ZXJSZXN1bHQ8VERhdGEsIFRFcnJvcj5cbiAgICA6IFQgZXh0ZW5kcyB7IHF1ZXJ5Rm5EYXRhOiBpbmZlciBUUXVlcnlGbkRhdGE7IGVycm9yPzogaW5mZXIgVEVycm9yIH1cbiAgICAgID8gUXVlcnlPYnNlcnZlclJlc3VsdDxUUXVlcnlGbkRhdGEsIFRFcnJvcj5cbiAgICAgIDogVCBleHRlbmRzIHsgZGF0YTogaW5mZXIgVERhdGE7IGVycm9yPzogaW5mZXIgVEVycm9yIH1cbiAgICAgICAgPyBRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+XG4gICAgICAgIDogLy8gUGFydCAyOiByZXNwb25zaWJsZSBmb3IgbWFwcGluZyBleHBsaWNpdCB0eXBlIHBhcmFtZXRlciB0byBmdW5jdGlvbiByZXN1bHQsIGlmIHR1cGxlXG4gICAgICAgICAgVCBleHRlbmRzIFthbnksIGluZmVyIFRFcnJvciwgaW5mZXIgVERhdGFdXG4gICAgICAgICAgPyBRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+XG4gICAgICAgICAgOiBUIGV4dGVuZHMgW2luZmVyIFRRdWVyeUZuRGF0YSwgaW5mZXIgVEVycm9yXVxuICAgICAgICAgICAgPyBRdWVyeU9ic2VydmVyUmVzdWx0PFRRdWVyeUZuRGF0YSwgVEVycm9yPlxuICAgICAgICAgICAgOiBUIGV4dGVuZHMgW2luZmVyIFRRdWVyeUZuRGF0YV1cbiAgICAgICAgICAgICAgPyBRdWVyeU9ic2VydmVyUmVzdWx0PFRRdWVyeUZuRGF0YT5cbiAgICAgICAgICAgICAgOiAvLyBQYXJ0IDM6IHJlc3BvbnNpYmxlIGZvciBtYXBwaW5nIGluZmVycmVkIHR5cGUgdG8gcmVzdWx0cywgaWYgbm8gZXhwbGljaXQgcGFyYW1ldGVyIHdhcyBwcm92aWRlZFxuICAgICAgICAgICAgICAgIFQgZXh0ZW5kcyB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5Rm4/OiBRdWVyeUZ1bmN0aW9uPHVua25vd24sIGFueT5cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0OiAoZGF0YTogYW55KSA9PiBpbmZlciBURGF0YVxuICAgICAgICAgICAgICAgICAgICB0aHJvd09uRXJyb3I/OiBUaHJvd09uRXJyb3I8YW55LCBpbmZlciBURXJyb3IsIGFueSwgYW55PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID8gUXVlcnlPYnNlcnZlclJlc3VsdDxcbiAgICAgICAgICAgICAgICAgICAgVERhdGEsXG4gICAgICAgICAgICAgICAgICAgIHVua25vd24gZXh0ZW5kcyBURXJyb3IgPyBEZWZhdWx0RXJyb3IgOiBURXJyb3JcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA6IFQgZXh0ZW5kcyB7XG4gICAgICAgICAgICAgICAgICAgICAgcXVlcnlGbj86IFF1ZXJ5RnVuY3Rpb248aW5mZXIgVFF1ZXJ5Rm5EYXRhLCBhbnk+XG4gICAgICAgICAgICAgICAgICAgICAgdGhyb3dPbkVycm9yPzogVGhyb3dPbkVycm9yPGFueSwgaW5mZXIgVEVycm9yLCBhbnksIGFueT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPyBRdWVyeU9ic2VydmVyUmVzdWx0PFxuICAgICAgICAgICAgICAgICAgICAgIFRRdWVyeUZuRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICB1bmtub3duIGV4dGVuZHMgVEVycm9yID8gRGVmYXVsdEVycm9yIDogVEVycm9yXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDogLy8gRmFsbGJhY2tcbiAgICAgICAgICAgICAgICAgICAgUXVlcnlPYnNlcnZlclJlc3VsdFxuXG4vKipcbiAqIFF1ZXJpZXNPcHRpb25zIHJlZHVjZXIgcmVjdXJzaXZlbHkgdW53cmFwcyBmdW5jdGlvbiBhcmd1bWVudHMgdG8gaW5mZXIvZW5mb3JjZSB0eXBlIHBhcmFtXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJpZXNPcHRpb25zPFxuICBUIGV4dGVuZHMgQXJyYXk8YW55PixcbiAgUmVzdWx0IGV4dGVuZHMgQXJyYXk8YW55PiA9IFtdLFxuICBEZXB0aCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8bnVtYmVyPiA9IFtdLFxuPiA9IERlcHRoWydsZW5ndGgnXSBleHRlbmRzIE1BWElNVU1fREVQVEhcbiAgPyBBcnJheTxRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM+XG4gIDogVCBleHRlbmRzIFtdXG4gICAgPyBbXVxuICAgIDogVCBleHRlbmRzIFtpbmZlciBIZWFkXVxuICAgICAgPyBbLi4uUmVzdWx0LCBHZXRPcHRpb25zPEhlYWQ+XVxuICAgICAgOiBUIGV4dGVuZHMgW2luZmVyIEhlYWQsIC4uLmluZmVyIFRhaWxdXG4gICAgICAgID8gUXVlcmllc09wdGlvbnM8XG4gICAgICAgICAgICBbLi4uVGFpbF0sXG4gICAgICAgICAgICBbLi4uUmVzdWx0LCBHZXRPcHRpb25zPEhlYWQ+XSxcbiAgICAgICAgICAgIFsuLi5EZXB0aCwgMV1cbiAgICAgICAgICA+XG4gICAgICAgIDogQXJyYXk8dW5rbm93bj4gZXh0ZW5kcyBUXG4gICAgICAgICAgPyBUXG4gICAgICAgICAgOiAvLyBJZiBUIGlzICpzb21lKiBhcnJheSBidXQgd2UgY291bGRuJ3QgYXNzaWduIHVua25vd25bXSB0byBpdCwgdGhlbiBpdCBtdXN0IGhvbGQgc29tZSBrbm93bi9ob21vZ2Vub3VzIHR5cGUhXG4gICAgICAgICAgICAvLyB1c2UgdGhpcyB0byBpbmZlciB0aGUgcGFyYW0gdHlwZXMgaW4gdGhlIGNhc2Ugb2YgQXJyYXkubWFwKCkgYXJndW1lbnRcbiAgICAgICAgICAgIFQgZXh0ZW5kcyBBcnJheTxcbiAgICAgICAgICAgICAgICBRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM8XG4gICAgICAgICAgICAgICAgICBpbmZlciBUUXVlcnlGbkRhdGEsXG4gICAgICAgICAgICAgICAgICBpbmZlciBURXJyb3IsXG4gICAgICAgICAgICAgICAgICBpbmZlciBURGF0YSxcbiAgICAgICAgICAgICAgICAgIGluZmVyIFRRdWVyeUtleVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPyBBcnJheTxcbiAgICAgICAgICAgICAgICBRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM8XG4gICAgICAgICAgICAgICAgICBUUXVlcnlGbkRhdGEsXG4gICAgICAgICAgICAgICAgICBURXJyb3IsXG4gICAgICAgICAgICAgICAgICBURGF0YSxcbiAgICAgICAgICAgICAgICAgIFRRdWVyeUtleVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgOiAvLyBGYWxsYmFja1xuICAgICAgICAgICAgICBBcnJheTxRdWVyeU9ic2VydmVyT3B0aW9uc0ZvckNyZWF0ZVF1ZXJpZXM+XG5cbi8qKlxuICogUXVlcmllc1Jlc3VsdHMgcmVkdWNlciByZWN1cnNpdmVseSBtYXBzIHR5cGUgcGFyYW0gdG8gcmVzdWx0c1xuICovXG5leHBvcnQgdHlwZSBRdWVyaWVzUmVzdWx0czxcbiAgVCBleHRlbmRzIEFycmF5PGFueT4sXG4gIFJlc3VsdCBleHRlbmRzIEFycmF5PGFueT4gPSBbXSxcbiAgRGVwdGggZXh0ZW5kcyBSZWFkb25seUFycmF5PG51bWJlcj4gPSBbXSxcbj4gPSBEZXB0aFsnbGVuZ3RoJ10gZXh0ZW5kcyBNQVhJTVVNX0RFUFRIXG4gID8gQXJyYXk8UXVlcnlPYnNlcnZlclJlc3VsdD5cbiAgOiBUIGV4dGVuZHMgW11cbiAgICA/IFtdXG4gICAgOiBUIGV4dGVuZHMgW2luZmVyIEhlYWRdXG4gICAgICA/IFsuLi5SZXN1bHQsIEdldFJlc3VsdHM8SGVhZD5dXG4gICAgICA6IFQgZXh0ZW5kcyBbaW5mZXIgSGVhZCwgLi4uaW5mZXIgVGFpbF1cbiAgICAgICAgPyBRdWVyaWVzUmVzdWx0czxcbiAgICAgICAgICAgIFsuLi5UYWlsXSxcbiAgICAgICAgICAgIFsuLi5SZXN1bHQsIEdldFJlc3VsdHM8SGVhZD5dLFxuICAgICAgICAgICAgWy4uLkRlcHRoLCAxXVxuICAgICAgICAgID5cbiAgICAgICAgOiBUIGV4dGVuZHMgQXJyYXk8XG4gICAgICAgICAgICAgIFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zRm9yQ3JlYXRlUXVlcmllczxcbiAgICAgICAgICAgICAgICBpbmZlciBUUXVlcnlGbkRhdGEsXG4gICAgICAgICAgICAgICAgaW5mZXIgVEVycm9yLFxuICAgICAgICAgICAgICAgIGluZmVyIFREYXRhLFxuICAgICAgICAgICAgICAgIGFueVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+XG4gICAgICAgICAgPyAvLyBEeW5hbWljLXNpemUgKGhvbW9nZW5vdXMpIENyZWF0ZVF1ZXJ5T3B0aW9ucyBhcnJheTogbWFwIGRpcmVjdGx5IHRvIGFycmF5IG9mIHJlc3VsdHNcbiAgICAgICAgICAgIEFycmF5PFxuICAgICAgICAgICAgICBRdWVyeU9ic2VydmVyUmVzdWx0PFxuICAgICAgICAgICAgICAgIHVua25vd24gZXh0ZW5kcyBURGF0YSA/IFRRdWVyeUZuRGF0YSA6IFREYXRhLFxuICAgICAgICAgICAgICAgIHVua25vd24gZXh0ZW5kcyBURXJyb3IgPyBEZWZhdWx0RXJyb3IgOiBURXJyb3JcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPlxuICAgICAgICAgIDogLy8gRmFsbGJhY2tcbiAgICAgICAgICAgIEFycmF5PFF1ZXJ5T2JzZXJ2ZXJSZXN1bHQ+XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyaWVzPFxuICBUIGV4dGVuZHMgQXJyYXk8YW55PixcbiAgVENvbWJpbmVkUmVzdWx0ID0gUXVlcmllc1Jlc3VsdHM8VD4sXG4+KFxuICB7XG4gICAgcXVlcmllcyxcbiAgICAuLi5vcHRpb25zXG4gIH06IHtcbiAgICBxdWVyaWVzOiBTaWduYWw8Wy4uLlF1ZXJpZXNPcHRpb25zPFQ+XT5cbiAgICBjb21iaW5lPzogKHJlc3VsdDogUXVlcmllc1Jlc3VsdHM8VD4pID0+IFRDb21iaW5lZFJlc3VsdFxuICB9LFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKTogU2lnbmFsPFRDb21iaW5lZFJlc3VsdD4ge1xuICByZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0UXVlcmllcywgaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeUNsaWVudCA9IGluamVjdFF1ZXJ5Q2xpZW50KClcbiAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpXG5cbiAgICBjb25zdCBkZWZhdWx0ZWRRdWVyaWVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgcmV0dXJuIHF1ZXJpZXMoKS5tYXAoKG9wdHMpID0+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdGVkT3B0aW9ucyA9IHF1ZXJ5Q2xpZW50LmRlZmF1bHRRdWVyeU9wdGlvbnMob3B0cylcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSByZXN1bHRzIGFyZSBhbHJlYWR5IGluIGZldGNoaW5nIHN0YXRlIGJlZm9yZSBzdWJzY3JpYmluZyBvciB1cGRhdGluZyBvcHRpb25zXG4gICAgICAgIGRlZmF1bHRlZE9wdGlvbnMuX29wdGltaXN0aWNSZXN1bHRzID0gJ29wdGltaXN0aWMnXG5cbiAgICAgICAgcmV0dXJuIGRlZmF1bHRlZE9wdGlvbnNcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFF1ZXJpZXNPYnNlcnZlcjxUQ29tYmluZWRSZXN1bHQ+KFxuICAgICAgcXVlcnlDbGllbnQsXG4gICAgICBkZWZhdWx0ZWRRdWVyaWVzKCksXG4gICAgICBvcHRpb25zIGFzIFF1ZXJpZXNPYnNlcnZlck9wdGlvbnM8VENvbWJpbmVkUmVzdWx0PixcbiAgICApXG5cbiAgICAvLyBEbyBub3Qgbm90aWZ5IG9uIHVwZGF0ZXMgYmVjYXVzZSBvZiBjaGFuZ2VzIGluIHRoZSBvcHRpb25zIGJlY2F1c2VcbiAgICAvLyB0aGVzZSBjaGFuZ2VzIHNob3VsZCBhbHJlYWR5IGJlIHJlZmxlY3RlZCBpbiB0aGUgb3B0aW1pc3RpYyByZXN1bHQuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIG9ic2VydmVyLnNldFF1ZXJpZXMoXG4gICAgICAgIGRlZmF1bHRlZFF1ZXJpZXMoKSxcbiAgICAgICAgb3B0aW9ucyBhcyBRdWVyaWVzT2JzZXJ2ZXJPcHRpb25zPFRDb21iaW5lZFJlc3VsdD4sXG4gICAgICAgIHsgbGlzdGVuZXJzOiBmYWxzZSB9LFxuICAgICAgKVxuICAgIH0pXG5cbiAgICBjb25zdCBbLCBnZXRDb21iaW5lZFJlc3VsdF0gPVxuICAgICAgb2JzZXJ2ZXIuZ2V0T3B0aW1pc3RpY1Jlc3VsdChkZWZhdWx0ZWRRdWVyaWVzKCkpXG5cbiAgICBjb25zdCByZXN1bHQgPSBzaWduYWwoZ2V0Q29tYmluZWRSZXN1bHQoKSBhcyBhbnkpXG5cbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IG9ic2VydmVyLnN1YnNjcmliZShub3RpZnlNYW5hZ2VyLmJhdGNoQ2FsbHMocmVzdWx0LnNldCkpXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3kodW5zdWJzY3JpYmUpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pXG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { QueryObserver } from '@tanstack/query-core';
2
+ import { assertInjector } from 'ngxtension/assert-injector';
3
+ import { injectQueryClient } from './injectQueryClient';
4
+ import { createBaseQuery } from './createBaseQuery';
5
+ export function injectQuery(options, injector) {
6
+ return assertInjector(injectQuery, injector, () => {
7
+ const queryClient = injectQueryClient();
8
+ return createBaseQuery(options, QueryObserver, queryClient);
9
+ });
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5qZWN0UXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUEwQ25ELE1BQU0sVUFBVSxXQUFXLENBTXpCLE9BRStELEVBQy9ELFFBQW1CO0lBRW5CLE9BQU8sY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ2hELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixFQUFFLENBQUE7UUFDdkMsT0FBTyxlQUFlLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUM3RCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeU9ic2VydmVyIH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJ1xuaW1wb3J0IHsgaW5qZWN0UXVlcnlDbGllbnQgfSBmcm9tICcuL2luamVjdFF1ZXJ5Q2xpZW50J1xuaW1wb3J0IHsgY3JlYXRlQmFzZVF1ZXJ5IH0gZnJvbSAnLi9jcmVhdGVCYXNlUXVlcnknXG5pbXBvcnQgdHlwZSB7IERlZmF1bHRFcnJvciwgUXVlcnlDbGllbnQsIFF1ZXJ5S2V5IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgdHlwZSB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB0eXBlIHtcbiAgQ3JlYXRlUXVlcnlPcHRpb25zLFxuICBDcmVhdGVRdWVyeVJlc3VsdCxcbiAgRGVmaW5lZENyZWF0ZVF1ZXJ5UmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zLFxuICBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnMsXG59IGZyb20gJy4vcXVlcnlPcHRpb25zJ1xuXG4vKipcbiAqIENyZWF0ZSBhIFF1ZXJ5LlxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBpbmplY3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnk8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKTogQ3JlYXRlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5PFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPihcbiAgb3B0aW9uczogKFxuICAgIGNsaWVudDogUXVlcnlDbGllbnQsXG4gICkgPT4gRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4sXG4gIGluamVjdG9yPzogSW5qZWN0b3IsXG4pOiBEZWZpbmVkQ3JlYXRlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5PFxuICBUUXVlcnlGbkRhdGEsXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBDcmVhdGVRdWVyeU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKSB7XG4gIHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RRdWVyeSwgaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeUNsaWVudCA9IGluamVjdFF1ZXJ5Q2xpZW50KClcbiAgICByZXR1cm4gY3JlYXRlQmFzZVF1ZXJ5KG9wdGlvbnMsIFF1ZXJ5T2JzZXJ2ZXIsIHF1ZXJ5Q2xpZW50KVxuICB9KVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ import { createNoopInjectionToken } from 'ngxtension/create-injection-token';
2
+ const [injectQueryClient, provideQueryClient, QUERY_CLIENT] = createNoopInjectionToken('QueryClientToken');
3
+ export { injectQueryClient, provideQueryClient, QUERY_CLIENT };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0UXVlcnlDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5qZWN0UXVlcnlDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFHNUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxHQUN6RCx3QkFBd0IsQ0FBYyxrQkFBa0IsQ0FBQyxDQUFBO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZU5vb3BJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ25neHRlbnNpb24vY3JlYXRlLWluamVjdGlvbi10b2tlbidcbmltcG9ydCB0eXBlIHsgUXVlcnlDbGllbnQgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcblxuY29uc3QgW2luamVjdFF1ZXJ5Q2xpZW50LCBwcm92aWRlUXVlcnlDbGllbnQsIFFVRVJZX0NMSUVOVF0gPVxuICBjcmVhdGVOb29wSW5qZWN0aW9uVG9rZW48UXVlcnlDbGllbnQ+KCdRdWVyeUNsaWVudFRva2VuJylcblxuZXhwb3J0IHsgaW5qZWN0UXVlcnlDbGllbnQsIHByb3ZpZGVRdWVyeUNsaWVudCwgUVVFUllfQ0xJRU5UIH1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { DestroyRef, ENVIRONMENT_INITIALIZER, inject, makeEnvironmentProviders, } from '@angular/core';
2
+ import { provideQueryClient } from './injectQueryClient';
3
+ export function provideAngularQuery(queryClient) {
4
+ return makeEnvironmentProviders([
5
+ provideQueryClient(queryClient),
6
+ {
7
+ provide: ENVIRONMENT_INITIALIZER,
8
+ multi: true,
9
+ useValue: () => {
10
+ queryClient.mount();
11
+ // Unmount the query client on application destroy
12
+ inject(DestroyRef).onDestroy(() => queryClient.unmount());
13
+ },
14
+ },
15
+ ]);
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sd0JBQXdCLEdBQ3pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBSXhELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsV0FBd0I7SUFFeEIsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDL0I7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ25CLGtEQUFrRDtnQkFDbEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzRCxDQUFDO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIGluamVjdCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvdmlkZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9pbmplY3RRdWVyeUNsaWVudCdcbmltcG9ydCB0eXBlIHsgRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBRdWVyeUNsaWVudCB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFuZ3VsYXJRdWVyeShcbiAgcXVlcnlDbGllbnQ6IFF1ZXJ5Q2xpZW50LFxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlUXVlcnlDbGllbnQocXVlcnlDbGllbnQpLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogKCkgPT4ge1xuICAgICAgICBxdWVyeUNsaWVudC5tb3VudCgpXG4gICAgICAgIC8vIFVubW91bnQgdGhlIHF1ZXJ5IGNsaWVudCBvbiBhcHBsaWNhdGlvbiBkZXN0cm95XG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gcXVlcnlDbGllbnQudW5tb3VudCgpKVxuICAgICAgfSxcbiAgICB9LFxuICBdKVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { computed, untracked } from '@angular/core';
2
+ export function createResultStateSignalProxy(resultState) {
3
+ const internalState = {};
4
+ return new Proxy(internalState, {
5
+ get(target, prop) {
6
+ // first check if we have it in our internal state and return it
7
+ const computedField = target[prop];
8
+ // TODO: check if this if statement is necessary
9
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
10
+ if (computedField)
11
+ return computedField;
12
+ // then, check if it's a function on the resultState and return it
13
+ const targetField = untracked(resultState)[prop];
14
+ if (typeof targetField === 'function')
15
+ return targetField;
16
+ // finally, create a computed field, store it and return it
17
+ // @ts-ignore
18
+ return (target[prop] = computed(() => resultState()[prop]));
19
+ },
20
+ has(target, prop) {
21
+ return !!target[prop];
22
+ },
23
+ ownKeys(target) {
24
+ return [...Reflect.ownKeys(target)];
25
+ },
26
+ getOwnPropertyDescriptor() {
27
+ return {
28
+ enumerable: true,
29
+ configurable: true,
30
+ };
31
+ },
32
+ set() {
33
+ return true;
34
+ },
35
+ });
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcnktcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJaEUsTUFBTSxVQUFVLDRCQUE0QixDQUkxQyxXQUEwQjtJQUMxQixNQUFNLGFBQWEsR0FBRyxFQUFpRCxDQUFBO0lBRXZFLE9BQU8sSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1FBQzlCLEdBQUcsQ0FDRCxNQUFtRCxFQUNuRCxJQUEyQjtZQUUzQixnRUFBZ0U7WUFDaEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQVcsQ0FBQyxDQUFBO1lBRXpDLGdEQUFnRDtZQUNoRCx1RUFBdUU7WUFDdkUsSUFBSSxhQUFhO2dCQUFFLE9BQU8sYUFBYSxDQUFBO1lBRXZDLGtFQUFrRTtZQUNsRSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBVyxDQUFDLENBQUE7WUFDdkQsSUFBSSxPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUFFLE9BQU8sV0FBVyxDQUFBO1lBRXpELDJEQUEyRDtZQUMzRCxhQUFhO1lBQ2IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BFLENBQUM7UUFDRCxHQUFHLENBQ0QsTUFBbUQsRUFDbkQsSUFBeUI7WUFFekIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQVMsQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxPQUFPLENBQUMsTUFBTTtZQUNaLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNyQyxDQUFDO1FBQ0Qsd0JBQXdCO1lBQ3RCLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUE7UUFDSCxDQUFDO1FBQ0QsR0FBRztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFNpZ25hbCwgY29tcHV0ZWQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7IERlZmF1bHRFcnJvciwgUXVlcnlPYnNlcnZlclJlc3VsdCB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVCYXNlUXVlcnlSZXN1bHQgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVzdWx0U3RhdGVTaWduYWxQcm94eTxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFN0YXRlID0gUXVlcnlPYnNlcnZlclJlc3VsdDxURGF0YSwgVEVycm9yPixcbj4ocmVzdWx0U3RhdGU6IFNpZ25hbDxTdGF0ZT4pIHtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZSA9IHt9IGFzIENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yLCBTdGF0ZT5cblxuICByZXR1cm4gbmV3IFByb3h5KGludGVybmFsU3RhdGUsIHtcbiAgICBnZXQ8S2V5IGV4dGVuZHMga2V5b2YgU3RhdGU+KFxuICAgICAgdGFyZ2V0OiBDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvciwgU3RhdGU+LFxuICAgICAgcHJvcDogS2V5IHwgc3RyaW5nIHwgc3ltYm9sLFxuICAgICkge1xuICAgICAgLy8gZmlyc3QgY2hlY2sgaWYgd2UgaGF2ZSBpdCBpbiBvdXIgaW50ZXJuYWwgc3RhdGUgYW5kIHJldHVybiBpdFxuICAgICAgY29uc3QgY29tcHV0ZWRGaWVsZCA9IHRhcmdldFtwcm9wIGFzIEtleV1cblxuICAgICAgLy8gVE9ETzogY2hlY2sgaWYgdGhpcyBpZiBzdGF0ZW1lbnQgaXMgbmVjZXNzYXJ5XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgaWYgKGNvbXB1dGVkRmllbGQpIHJldHVybiBjb21wdXRlZEZpZWxkXG5cbiAgICAgIC8vIHRoZW4sIGNoZWNrIGlmIGl0J3MgYSBmdW5jdGlvbiBvbiB0aGUgcmVzdWx0U3RhdGUgYW5kIHJldHVybiBpdFxuICAgICAgY29uc3QgdGFyZ2V0RmllbGQgPSB1bnRyYWNrZWQocmVzdWx0U3RhdGUpW3Byb3AgYXMgS2V5XVxuICAgICAgaWYgKHR5cGVvZiB0YXJnZXRGaWVsZCA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHRhcmdldEZpZWxkXG5cbiAgICAgIC8vIGZpbmFsbHksIGNyZWF0ZSBhIGNvbXB1dGVkIGZpZWxkLCBzdG9yZSBpdCBhbmQgcmV0dXJuIGl0XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gKHRhcmdldFtwcm9wXSA9IGNvbXB1dGVkKCgpID0+IHJlc3VsdFN0YXRlKClbcHJvcCBhcyBLZXldKSlcbiAgICB9LFxuICAgIGhhczxLIGV4dGVuZHMga2V5b2YgU3RhdGU+KFxuICAgICAgdGFyZ2V0OiBDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvciwgU3RhdGU+LFxuICAgICAgcHJvcDogSyB8IHN0cmluZyB8IHN5bWJvbCxcbiAgICApIHtcbiAgICAgIHJldHVybiAhIXRhcmdldFtwcm9wIGFzIEtdXG4gICAgfSxcbiAgICBvd25LZXlzKHRhcmdldCkge1xuICAgICAgcmV0dXJuIFsuLi5SZWZsZWN0Lm93bktleXModGFyZ2V0KV1cbiAgICB9LFxuICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function queryOptions(options) {
2
+ return options;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnlPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5T3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ0EsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFnQjtJQUMzQyxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWZhdWx0RXJyb3IsIFF1ZXJ5S2V5IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgdHlwZSB7IENyZWF0ZVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCB0eXBlIFVuZGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4gPSBDcmVhdGVRdWVyeU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+ICYge1xuICBpbml0aWFsRGF0YT86IHVuZGVmaW5lZFxufVxuXG50eXBlIE5vblVuZGVmaW5lZEd1YXJkPFQ+ID0gVCBleHRlbmRzIHVuZGVmaW5lZCA/IG5ldmVyIDogVFxuXG5leHBvcnQgdHlwZSBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPiA9IENyZWF0ZVF1ZXJ5T3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4gJiB7XG4gIGluaXRpYWxEYXRhOlxuICAgIHwgTm9uVW5kZWZpbmVkR3VhcmQ8VFF1ZXJ5Rm5EYXRhPlxuICAgIHwgKCgpID0+IE5vblVuZGVmaW5lZEd1YXJkPFRRdWVyeUZuRGF0YT4pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuKTogVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PlxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPihcbiAgb3B0aW9uczogRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4sXG4pOiBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PlxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlPcHRpb25zKG9wdGlvbnM6IHVua25vd24pIHtcbiAgcmV0dXJuIG9wdGlvbnNcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuc3RhY2stYW5ndWxhci1xdWVyeS1leHBlcmltZW50YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFuc3RhY2stYW5ndWxhci1xdWVyeS1leHBlcmltZW50YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHR5cGUge1xuICBEZWZhdWx0RXJyb3IsXG4gIERlZmluZWRRdWVyeU9ic2VydmVyUmVzdWx0LFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJPcHRpb25zLFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG4gIE11dGF0ZUZ1bmN0aW9uLFxuICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyxcbiAgTXV0YXRpb25PYnNlcnZlclJlc3VsdCxcbiAgUXVlcnlLZXksXG4gIFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zLFxuICBRdWVyeU9ic2VydmVyUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcblxuLyoqIE9wdGlvbnMgZm9yIGNyZWF0ZUJhc2VRdWVyeSAqL1xuZXhwb3J0IHR5cGUgQ3JlYXRlQmFzZVF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5RGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4gPSBRdWVyeU9ic2VydmVyT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeURhdGEsIFRRdWVyeUtleT5cblxuLyoqIFJlc3VsdCBmcm9tIGNyZWF0ZUJhc2VRdWVyeSAqL1xuZXhwb3J0IHR5cGUgQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgU3RhdGUgPSBRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+LFxuPiA9IHtcbiAgW0sgaW4ga2V5b2YgU3RhdGVdOiBTdGF0ZVtLXSBleHRlbmRzIEZ1bmN0aW9uID8gU3RhdGVbS10gOiBTaWduYWw8U3RhdGVbS10+XG59XG4vKiogUmVzdWx0IGZyb20gY3JlYXRlQmFzZVF1ZXJ5ICovXG5cbi8qKiBPcHRpb25zIGZvciBjcmVhdGVRdWVyeSAqL1xuZXhwb3J0IHR5cGUgQ3JlYXRlUXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPiA9IENyZWF0ZUJhc2VRdWVyeU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlGbkRhdGEsIFRRdWVyeUtleT5cblxuLyoqIFJlc3VsdCBmcm9tIGNyZWF0ZVF1ZXJ5ICovXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeVJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4+ID0gQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFREYXRhLCBURXJyb3I+XG5cbi8qKiBPcHRpb25zIGZvciBjcmVhdGVJbmZpbml0ZVF1ZXJ5ICovXG5leHBvcnQgdHlwZSBDcmVhdGVJbmZpbml0ZVF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5RGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbiAgVFBhZ2VQYXJhbSA9IHVua25vd24sXG4+ID0gSW5maW5pdGVRdWVyeU9ic2VydmVyT3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhLFxuICBURXJyb3IsXG4gIFREYXRhLFxuICBUUXVlcnlEYXRhLFxuICBUUXVlcnlLZXksXG4gIFRQYWdlUGFyYW1cbj5cblxuLyoqIFJlc3VsdCBmcm9tIGNyZWF0ZUluZmluaXRlUXVlcnkgKi9cbmV4cG9ydCB0eXBlIENyZWF0ZUluZmluaXRlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuPiA9IFNpZ25hbDxJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQ8VERhdGEsIFRFcnJvcj4+XG5cbi8qKiBPcHRpb25zIGZvciBjcmVhdGVCYXNlUXVlcnkgd2l0aCBpbml0aWFsRGF0YSAqL1xuZXhwb3J0IHR5cGUgRGVmaW5lZENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIERlZmluZWRRdWVyeU9ic2VydmVyID0gRGVmaW5lZFF1ZXJ5T2JzZXJ2ZXJSZXN1bHQ8VERhdGEsIFRFcnJvcj4sXG4+ID0ge1xuICBbSyBpbiBrZXlvZiBEZWZpbmVkUXVlcnlPYnNlcnZlcl06IERlZmluZWRRdWVyeU9ic2VydmVyW0tdIGV4dGVuZHMgRnVuY3Rpb25cbiAgICA/IERlZmluZWRRdWVyeU9ic2VydmVyW0tdXG4gICAgOiBTaWduYWw8RGVmaW5lZFF1ZXJ5T2JzZXJ2ZXJbS10+XG59XG5cbi8qKiBPcHRpb25zIGZvciBjcmVhdGVRdWVyeSB3aXRoIGluaXRpYWxEYXRhICovXG5leHBvcnQgdHlwZSBEZWZpbmVkQ3JlYXRlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuPiA9IERlZmluZWRDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuLyoqIE9wdGlvbnMgZm9yIGNyZWF0ZU11dGF0aW9uICovXG5leHBvcnQgdHlwZSBDcmVhdGVNdXRhdGlvbk9wdGlvbnM8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdm9pZCxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiA9IE9taXQ8XG4gIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgJ19kZWZhdWx0ZWQnIHwgJ3ZhcmlhYmxlcydcbj5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlTXV0YXRlRnVuY3Rpb248XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdm9pZCxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiA9IChcbiAgLi4uYXJnczogUGFyYW1ldGVyczxNdXRhdGVGdW5jdGlvbjxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4+XG4pID0+IHZvaWRcblxuZXhwb3J0IHR5cGUgQ3JlYXRlTXV0YXRlQXN5bmNGdW5jdGlvbjxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB2b2lkLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+ID0gTXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2VNdXRhdGlvblJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+ID0gT3ZlcnJpZGU8XG4gIE11dGF0aW9uT2JzZXJ2ZXJSZXN1bHQ8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICB7IG11dGF0ZTogQ3JlYXRlTXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+IH1cbj4gJiB7XG4gIG11dGF0ZUFzeW5jOiBDcmVhdGVNdXRhdGVBc3luY0Z1bmN0aW9uPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PlxufVxuXG4vKiogUmVzdWx0IGZyb20gY3JlYXRlTXV0YXRpb24gKi9cbmV4cG9ydCB0eXBlIENyZWF0ZU11dGF0aW9uUmVzdWx0PFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVFZhcmlhYmxlcyA9IHVua25vd24sXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4gPSBTaWduYWw8Q3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0Pj5cblxudHlwZSBPdmVycmlkZTxBLCBCPiA9IHsgW0sgaW4ga2V5b2YgQV06IEsgZXh0ZW5kcyBrZXlvZiBCID8gQltLXSA6IEFbS10gfVxuIl19
@@ -0,0 +1,209 @@
1
+ import { notifyManager, MutationObserver, QueriesObserver, QueryObserver } from '@tanstack/query-core';
2
+ export * from '@tanstack/query-core';
3
+ import { DestroyRef, inject, signal, effect, computed, untracked, assertInInjectionContext, ENVIRONMENT_INITIALIZER, makeEnvironmentProviders } from '@angular/core';
4
+ import { assertInjector } from 'ngxtension/assert-injector';
5
+ import { createNoopInjectionToken } from 'ngxtension/create-injection-token';
6
+
7
+ function queryOptions(options) {
8
+ return options;
9
+ }
10
+
11
+ function infiniteQueryOptions(options) {
12
+ return options;
13
+ }
14
+
15
+ const [injectQueryClient, provideQueryClient, QUERY_CLIENT] = createNoopInjectionToken('QueryClientToken');
16
+
17
+ function injectIsFetching(filters, injector) {
18
+ return assertInjector(injectIsFetching, injector, () => {
19
+ const queryClient = injectQueryClient();
20
+ const destroyRef = inject(DestroyRef);
21
+ const cache = queryClient.getQueryCache();
22
+ // isFetching is the prev value initialized on mount *
23
+ let isFetching = queryClient.isFetching(filters);
24
+ const result = signal(isFetching);
25
+ const unsubscribe = cache.subscribe(notifyManager.batchCalls(() => {
26
+ const newIsFetching = queryClient.isFetching(filters);
27
+ if (isFetching !== newIsFetching) {
28
+ // * and update with each change
29
+ isFetching = newIsFetching;
30
+ result.set(isFetching);
31
+ }
32
+ }));
33
+ destroyRef.onDestroy(unsubscribe);
34
+ return result;
35
+ });
36
+ }
37
+
38
+ function injectIsMutating(filters, injector) {
39
+ return assertInjector(injectIsMutating, injector, () => {
40
+ const queryClient = injectQueryClient();
41
+ const destroyRef = inject(DestroyRef);
42
+ const cache = queryClient.getMutationCache();
43
+ // isMutating is the prev value initialized on mount *
44
+ let isMutating = queryClient.isMutating(filters);
45
+ const result = signal(isMutating);
46
+ const unsubscribe = cache.subscribe(notifyManager.batchCalls(() => {
47
+ const newIsMutating = queryClient.isMutating(filters);
48
+ if (isMutating !== newIsMutating) {
49
+ // * and update with each change
50
+ isMutating = newIsMutating;
51
+ result.set(isMutating);
52
+ }
53
+ }));
54
+ destroyRef.onDestroy(unsubscribe);
55
+ return result;
56
+ });
57
+ }
58
+
59
+ function injectMutation(options, injector) {
60
+ return assertInjector(injectMutation, injector, () => {
61
+ const queryClient = injectQueryClient();
62
+ const destroyRef = inject(DestroyRef);
63
+ const observer = new MutationObserver(queryClient, options(queryClient));
64
+ const mutate = (variables, mutateOptions) => {
65
+ observer.mutate(variables, mutateOptions).catch(noop);
66
+ };
67
+ effect(() => {
68
+ observer.setOptions(options(queryClient));
69
+ });
70
+ const result = signal(observer.getCurrentResult());
71
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls((val) => {
72
+ result.set(val);
73
+ }));
74
+ destroyRef.onDestroy(unsubscribe);
75
+ return computed(() => ({
76
+ ...result(),
77
+ mutate,
78
+ mutateAsync: result().mutate,
79
+ }));
80
+ });
81
+ }
82
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
83
+ function noop() { }
84
+
85
+ function injectQueries({ queries, ...options }, injector) {
86
+ return assertInjector(injectQueries, injector, () => {
87
+ const queryClient = injectQueryClient();
88
+ const destroyRef = inject(DestroyRef);
89
+ const defaultedQueries = computed(() => {
90
+ return queries().map((opts) => {
91
+ const defaultedOptions = queryClient.defaultQueryOptions(opts);
92
+ // Make sure the results are already in fetching state before subscribing or updating options
93
+ defaultedOptions._optimisticResults = 'optimistic';
94
+ return defaultedOptions;
95
+ });
96
+ });
97
+ const observer = new QueriesObserver(queryClient, defaultedQueries(), options);
98
+ // Do not notify on updates because of changes in the options because
99
+ // these changes should already be reflected in the optimistic result.
100
+ effect(() => {
101
+ observer.setQueries(defaultedQueries(), options, { listeners: false });
102
+ });
103
+ const [, getCombinedResult] = observer.getOptimisticResult(defaultedQueries());
104
+ const result = signal(getCombinedResult());
105
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls(result.set));
106
+ destroyRef.onDestroy(unsubscribe);
107
+ return result;
108
+ });
109
+ }
110
+
111
+ function createResultStateSignalProxy(resultState) {
112
+ const internalState = {};
113
+ return new Proxy(internalState, {
114
+ get(target, prop) {
115
+ // first check if we have it in our internal state and return it
116
+ const computedField = target[prop];
117
+ // TODO: check if this if statement is necessary
118
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
119
+ if (computedField)
120
+ return computedField;
121
+ // then, check if it's a function on the resultState and return it
122
+ const targetField = untracked(resultState)[prop];
123
+ if (typeof targetField === 'function')
124
+ return targetField;
125
+ // finally, create a computed field, store it and return it
126
+ // @ts-ignore
127
+ return (target[prop] = computed(() => resultState()[prop]));
128
+ },
129
+ has(target, prop) {
130
+ return !!target[prop];
131
+ },
132
+ ownKeys(target) {
133
+ return [...Reflect.ownKeys(target)];
134
+ },
135
+ getOwnPropertyDescriptor() {
136
+ return {
137
+ enumerable: true,
138
+ configurable: true,
139
+ };
140
+ },
141
+ set() {
142
+ return true;
143
+ },
144
+ });
145
+ }
146
+
147
+ /**
148
+ * Base implementation for `createQuery` and `createInfiniteQuery`.
149
+ * @internal
150
+ */
151
+ function createBaseQuery(options, Observer, queryClient) {
152
+ assertInInjectionContext(createBaseQuery);
153
+ const destroyRef = inject(DestroyRef);
154
+ /** Creates a signal that has the default options applied */
155
+ const defaultedOptionsSignal = computed(() => {
156
+ const defaultedOptions = queryClient.defaultQueryOptions(options(queryClient));
157
+ defaultedOptions._optimisticResults = 'optimistic';
158
+ return defaultedOptions;
159
+ });
160
+ /** Creates the observer */
161
+ const observer = new Observer(queryClient, defaultedOptionsSignal());
162
+ effect(() => {
163
+ // Do not notify on updates because of changes in the options because
164
+ // these changes should already be reflected in the optimistic result.
165
+ observer.setOptions(defaultedOptionsSignal(), { listeners: false });
166
+ });
167
+ const result = signal(observer.getCurrentResult());
168
+ const unsubscribe = observer.subscribe(notifyManager.batchCalls((val) => result.set(val)));
169
+ destroyRef.onDestroy(unsubscribe);
170
+ /** Subscribe to changes in result and defaultedOptionsStore */
171
+ const resultSignal = computed(() => {
172
+ return !defaultedOptionsSignal().notifyOnChangeProps
173
+ ? observer.trackResult(result())
174
+ : result();
175
+ });
176
+ return createResultStateSignalProxy(resultSignal);
177
+ }
178
+
179
+ function injectQuery(options, injector) {
180
+ return assertInjector(injectQuery, injector, () => {
181
+ const queryClient = injectQueryClient();
182
+ return createBaseQuery(options, QueryObserver, queryClient);
183
+ });
184
+ }
185
+
186
+ function provideAngularQuery(queryClient) {
187
+ return makeEnvironmentProviders([
188
+ provideQueryClient(queryClient),
189
+ {
190
+ provide: ENVIRONMENT_INITIALIZER,
191
+ multi: true,
192
+ useValue: () => {
193
+ queryClient.mount();
194
+ // Unmount the query client on application destroy
195
+ inject(DestroyRef).onDestroy(() => queryClient.unmount());
196
+ },
197
+ },
198
+ ]);
199
+ }
200
+
201
+ /* istanbul ignore file */
202
+ // Re-export core
203
+
204
+ /**
205
+ * Generated bundle index. Do not edit.
206
+ */
207
+
208
+ export { QUERY_CLIENT, infiniteQueryOptions, injectIsFetching, injectIsMutating, injectMutation, injectQueries, injectQuery, injectQueryClient, provideAngularQuery, provideQueryClient, queryOptions };
209
+ //# sourceMappingURL=tanstack-angular-query-experimental.mjs.map