@tanstack/angular-query-experimental 5.33.0 → 5.34.2

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 (51) hide show
  1. package/README.md +19 -2
  2. package/build/README.md +19 -2
  3. package/build/create-base-query.d.ts +1 -1
  4. package/build/esm2022/create-base-query.mjs +3 -3
  5. package/build/esm2022/index.mjs +2 -2
  6. package/build/esm2022/infinite-query-options.mjs +9 -1
  7. package/build/esm2022/inject-infinite-query.mjs +11 -3
  8. package/build/esm2022/inject-is-fetching.mjs +11 -1
  9. package/build/esm2022/inject-is-mutating.mjs +10 -1
  10. package/build/esm2022/inject-mutation-state.mjs +8 -1
  11. package/build/esm2022/inject-mutation.mjs +13 -4
  12. package/build/esm2022/inject-queries.mjs +4 -1
  13. package/build/esm2022/inject-query-client.mjs +21 -3
  14. package/build/esm2022/inject-query.mjs +36 -3
  15. package/build/esm2022/providers.mjs +40 -1
  16. package/build/esm2022/query-options.mjs +23 -1
  17. package/build/esm2022/signal-proxy.mjs +2 -4
  18. package/build/esm2022/types.mjs +1 -1
  19. package/build/fesm2022/tanstack-angular-query-experimental.mjs +179 -14
  20. package/build/fesm2022/tanstack-angular-query-experimental.mjs.map +1 -1
  21. package/build/index.d.ts +1 -1
  22. package/build/infinite-query-options.d.ts +16 -0
  23. package/build/inject-infinite-query.d.ts +27 -3
  24. package/build/inject-is-fetching.d.ts +10 -0
  25. package/build/inject-is-mutating.d.ts +9 -0
  26. package/build/inject-mutation-state.d.ts +10 -0
  27. package/build/inject-mutation.d.ts +10 -1
  28. package/build/inject-queries.d.ts +5 -0
  29. package/build/inject-query-client.d.ts +20 -3
  30. package/build/inject-query.d.ts +102 -3
  31. package/build/providers.d.ts +39 -0
  32. package/build/query-options.d.ts +50 -0
  33. package/build/signal-proxy.d.ts +1 -3
  34. package/build/types.d.ts +51 -0
  35. package/package.json +2 -2
  36. package/src/__tests__/inject-mutation-state.test.ts +0 -2
  37. package/src/create-base-query.ts +2 -2
  38. package/src/index.ts +1 -5
  39. package/src/infinite-query-options.ts +24 -0
  40. package/src/inject-infinite-query.ts +37 -5
  41. package/src/inject-is-fetching.ts +10 -0
  42. package/src/inject-is-mutating.ts +9 -0
  43. package/src/inject-mutation-state.ts +10 -0
  44. package/src/inject-mutation.ts +12 -3
  45. package/src/inject-queries.ts +5 -0
  46. package/src/inject-query-client.ts +21 -3
  47. package/src/inject-query.ts +141 -9
  48. package/src/providers.ts +39 -0
  49. package/src/query-options.ts +72 -0
  50. package/src/signal-proxy.ts +1 -3
  51. package/src/types.ts +51 -0
@@ -3,11 +3,44 @@ import { runInInjectionContext } from '@angular/core';
3
3
  import { assertInjector } from './util/assert-injector/assert-injector';
4
4
  import { injectQueryClient } from './inject-query-client';
5
5
  import { createBaseQuery } from './create-base-query';
6
- export function injectQuery(options, injector) {
6
+ /**
7
+ * Injects a query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
8
+ *
9
+ * **Basic example**
10
+ * ```ts
11
+ * class ServiceOrComponent {
12
+ * query = injectQuery(() => ({
13
+ * queryKey: ['repoData'],
14
+ * queryFn: () =>
15
+ * this.#http.get<Response>('https://api.github.com/repos/tanstack/query'),
16
+ * }))
17
+ * }
18
+ * ```
19
+ *
20
+ * **The options function can utilize signals**
21
+ * ```ts
22
+ * class ServiceOrComponent {
23
+ * filter = signal('')
24
+ *
25
+ * todosQuery = injectQuery(() => ({
26
+ * queryKey: ['todos', this.filter()],
27
+ * queryFn: () => fetchTodos(this.filter()),
28
+ * // Signals can be combined with expressions
29
+ * enabled: !!this.filter(),
30
+ * }))
31
+ * }
32
+ * ```
33
+ * @param optionsFn - A function that returns query options.
34
+ * @param injector - The Angular injector to use.
35
+ * @returns The query result.
36
+ * @public
37
+ * @see https://tanstack.com/query/latest/docs/framework/angular/guides/queries
38
+ */
39
+ export function injectQuery(optionsFn, injector) {
7
40
  const assertedInjector = assertInjector(injectQuery, injector);
8
41
  return assertInjector(injectQuery, injector, () => {
9
42
  const queryClient = injectQueryClient();
10
- return createBaseQuery((client) => runInInjectionContext(assertedInjector, () => options(client)), QueryObserver, queryClient);
43
+ return createBaseQuery((client) => runInInjectionContext(assertedInjector, () => optionsFn(client)), QueryObserver, queryClient);
11
44
  });
12
45
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luamVjdC1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFpRHJELE1BQU0sVUFBVSxXQUFXLENBQ3pCLE9BQW9ELEVBQ3BELFFBQW1CO0lBRW5CLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5RCxPQUFPLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNoRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO1FBQ3ZDLE9BQU8sZUFBZSxDQUNwQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ2hFLGFBQWEsRUFDYixXQUFXLENBQ1osQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5T2JzZXJ2ZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB7IHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJy4vdXRpbC9hc3NlcnQtaW5qZWN0b3IvYXNzZXJ0LWluamVjdG9yJ1xuaW1wb3J0IHsgaW5qZWN0UXVlcnlDbGllbnQgfSBmcm9tICcuL2luamVjdC1xdWVyeS1jbGllbnQnXG5pbXBvcnQgeyBjcmVhdGVCYXNlUXVlcnkgfSBmcm9tICcuL2NyZWF0ZS1iYXNlLXF1ZXJ5J1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0RXJyb3IsIFF1ZXJ5Q2xpZW50LCBRdWVyeUtleSB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZVF1ZXJ5T3B0aW9ucyxcbiAgQ3JlYXRlUXVlcnlSZXN1bHQsXG4gIERlZmluZWRDcmVhdGVRdWVyeVJlc3VsdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9ucyxcbiAgVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zLFxufSBmcm9tICcuL3F1ZXJ5LW9wdGlvbnMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeTxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4oXG4gIG9wdGlvbnM6IChcbiAgICBjbGllbnQ6IFF1ZXJ5Q2xpZW50LFxuICApID0+IFVuZGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4sXG4gIGluamVjdG9yPzogSW5qZWN0b3IsXG4pOiBDcmVhdGVRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPlxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnk8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PixcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcixcbik6IERlZmluZWRDcmVhdGVRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPlxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnk8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBDcmVhdGVRdWVyeU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKTogQ3JlYXRlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5KFxuICBvcHRpb25zOiAoY2xpZW50OiBRdWVyeUNsaWVudCkgPT4gQ3JlYXRlUXVlcnlPcHRpb25zLFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKSB7XG4gIGNvbnN0IGFzc2VydGVkSW5qZWN0b3IgPSBhc3NlcnRJbmplY3RvcihpbmplY3RRdWVyeSwgaW5qZWN0b3IpXG4gIHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RRdWVyeSwgaW5qZWN0b3IsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeUNsaWVudCA9IGluamVjdFF1ZXJ5Q2xpZW50KClcbiAgICByZXR1cm4gY3JlYXRlQmFzZVF1ZXJ5KFxuICAgICAgKGNsaWVudCkgPT5cbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KGFzc2VydGVkSW5qZWN0b3IsICgpID0+IG9wdGlvbnMoY2xpZW50KSksXG4gICAgICBRdWVyeU9ic2VydmVyLFxuICAgICAgcXVlcnlDbGllbnQsXG4gICAgKVxuICB9KVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luamVjdC1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFvSnJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLFNBQXNELEVBQ3RELFFBQW1CO0lBRW5CLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5RCxPQUFPLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNoRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO1FBQ3ZDLE9BQU8sZUFBZSxDQUNwQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ2xFLGFBQWEsRUFDYixXQUFXLENBQ1osQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5T2JzZXJ2ZXIgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB7IHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJy4vdXRpbC9hc3NlcnQtaW5qZWN0b3IvYXNzZXJ0LWluamVjdG9yJ1xuaW1wb3J0IHsgaW5qZWN0UXVlcnlDbGllbnQgfSBmcm9tICcuL2luamVjdC1xdWVyeS1jbGllbnQnXG5pbXBvcnQgeyBjcmVhdGVCYXNlUXVlcnkgfSBmcm9tICcuL2NyZWF0ZS1iYXNlLXF1ZXJ5J1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0RXJyb3IsIFF1ZXJ5Q2xpZW50LCBRdWVyeUtleSB9IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZVF1ZXJ5T3B0aW9ucyxcbiAgQ3JlYXRlUXVlcnlSZXN1bHQsXG4gIERlZmluZWRDcmVhdGVRdWVyeVJlc3VsdCxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9ucyxcbiAgVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zLFxufSBmcm9tICcuL3F1ZXJ5LW9wdGlvbnMnXG5cbi8qKlxuICogSW5qZWN0cyBhIHF1ZXJ5OiBhIGRlY2xhcmF0aXZlIGRlcGVuZGVuY3kgb24gYW4gYXN5bmNocm9ub3VzIHNvdXJjZSBvZiBkYXRhIHRoYXQgaXMgdGllZCB0byBhIHVuaXF1ZSBrZXkuXG4gKlxuICogKipCYXNpYyBleGFtcGxlKipcbiAqIGBgYHRzXG4gKiBjbGFzcyBTZXJ2aWNlT3JDb21wb25lbnQge1xuICogICBxdWVyeSA9IGluamVjdFF1ZXJ5KCgpID0+ICh7XG4gKiAgICAgcXVlcnlLZXk6IFsncmVwb0RhdGEnXSxcbiAqICAgICBxdWVyeUZuOiAoKSA9PlxuICogICAgICAgdGhpcy4jaHR0cC5nZXQ8UmVzcG9uc2U+KCdodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RhbnN0YWNrL3F1ZXJ5JyksXG4gKiAgIH0pKVxuICogfVxuICogYGBgXG4gKlxuICogKipUaGUgb3B0aW9ucyBmdW5jdGlvbiBjYW4gdXRpbGl6ZSBzaWduYWxzKipcbiAqIGBgYHRzXG4gKiBjbGFzcyBTZXJ2aWNlT3JDb21wb25lbnQge1xuICogICBmaWx0ZXIgPSBzaWduYWwoJycpXG4gKlxuICogICB0b2Rvc1F1ZXJ5ID0gaW5qZWN0UXVlcnkoKCkgPT4gKHtcbiAqICAgICBxdWVyeUtleTogWyd0b2RvcycsIHRoaXMuZmlsdGVyKCldLFxuICogICAgIHF1ZXJ5Rm46ICgpID0+IGZldGNoVG9kb3ModGhpcy5maWx0ZXIoKSksXG4gKiAgICAgLy8gU2lnbmFscyBjYW4gYmUgY29tYmluZWQgd2l0aCBleHByZXNzaW9uc1xuICogICAgIGVuYWJsZWQ6ICEhdGhpcy5maWx0ZXIoKSxcbiAqICAgfSkpXG4gKiB9XG4gKiBgYGBcbiAqIEBwYXJhbSBvcHRpb25zRm4gLSBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBxdWVyeSBvcHRpb25zLlxuICogQHBhcmFtIGluamVjdG9yIC0gVGhlIEFuZ3VsYXIgaW5qZWN0b3IgdG8gdXNlLlxuICogQHJldHVybnMgVGhlIHF1ZXJ5IHJlc3VsdC5cbiAqIEBwdWJsaWNcbiAqIEBzZWUgaHR0cHM6Ly90YW5zdGFjay5jb20vcXVlcnkvbGF0ZXN0L2RvY3MvZnJhbWV3b3JrL2FuZ3VsYXIvZ3VpZGVzL3F1ZXJpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5PFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPihcbiAgb3B0aW9uc0ZuOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PixcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcixcbik6IERlZmluZWRDcmVhdGVRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPlxuXG4vKipcbiAqIEluamVjdHMgYSBxdWVyeTogYSBkZWNsYXJhdGl2ZSBkZXBlbmRlbmN5IG9uIGFuIGFzeW5jaHJvbm91cyBzb3VyY2Ugb2YgZGF0YSB0aGF0IGlzIHRpZWQgdG8gYSB1bmlxdWUga2V5LlxuICpcbiAqICoqQmFzaWMgZXhhbXBsZSoqXG4gKiBgYGB0c1xuICogY2xhc3MgU2VydmljZU9yQ29tcG9uZW50IHtcbiAqICAgcXVlcnkgPSBpbmplY3RRdWVyeSgoKSA9PiAoe1xuICogICAgIHF1ZXJ5S2V5OiBbJ3JlcG9EYXRhJ10sXG4gKiAgICAgcXVlcnlGbjogKCkgPT5cbiAqICAgICAgIHRoaXMuI2h0dHAuZ2V0PFJlc3BvbnNlPignaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90YW5zdGFjay9xdWVyeScpLFxuICogICB9KSlcbiAqIH1cbiAqIGBgYFxuICpcbiAqICoqVGhlIG9wdGlvbnMgZnVuY3Rpb24gY2FuIHV0aWxpemUgc2lnbmFscyoqXG4gKiBgYGB0c1xuICogY2xhc3MgU2VydmljZU9yQ29tcG9uZW50IHtcbiAqICAgZmlsdGVyID0gc2lnbmFsKCcnKVxuICpcbiAqICAgdG9kb3NRdWVyeSA9IGluamVjdFF1ZXJ5KCgpID0+ICh7XG4gKiAgICAgcXVlcnlLZXk6IFsndG9kb3MnLCB0aGlzLmZpbHRlcigpXSxcbiAqICAgICBxdWVyeUZuOiAoKSA9PiBmZXRjaFRvZG9zKHRoaXMuZmlsdGVyKCkpLFxuICogICAgIC8vIFNpZ25hbHMgY2FuIGJlIGNvbWJpbmVkIHdpdGggZXhwcmVzc2lvbnNcbiAqICAgICBlbmFibGVkOiAhIXRoaXMuZmlsdGVyKCksXG4gKiAgIH0pKVxuICogfVxuICogYGBgXG4gKiBAcGFyYW0gb3B0aW9uc0ZuIC0gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgcXVlcnkgb3B0aW9ucy5cbiAqIEBwYXJhbSBpbmplY3RvciAtIFRoZSBBbmd1bGFyIGluamVjdG9yIHRvIHVzZS5cbiAqIEByZXR1cm5zIFRoZSBxdWVyeSByZXN1bHQuXG4gKiBAcHVibGljXG4gKiBAc2VlIGh0dHBzOi8vdGFuc3RhY2suY29tL3F1ZXJ5L2xhdGVzdC9kb2NzL2ZyYW1ld29yay9hbmd1bGFyL2d1aWRlcy9xdWVyaWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeTxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4oXG4gIG9wdGlvbnNGbjogKFxuICAgIGNsaWVudDogUXVlcnlDbGllbnQsXG4gICkgPT4gVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PixcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcixcbik6IENyZWF0ZVF1ZXJ5UmVzdWx0PFREYXRhLCBURXJyb3I+XG5cbi8qKlxuICogSW5qZWN0cyBhIHF1ZXJ5OiBhIGRlY2xhcmF0aXZlIGRlcGVuZGVuY3kgb24gYW4gYXN5bmNocm9ub3VzIHNvdXJjZSBvZiBkYXRhIHRoYXQgaXMgdGllZCB0byBhIHVuaXF1ZSBrZXkuXG4gKlxuICogKipCYXNpYyBleGFtcGxlKipcbiAqIGBgYHRzXG4gKiBjbGFzcyBTZXJ2aWNlT3JDb21wb25lbnQge1xuICogICBxdWVyeSA9IGluamVjdFF1ZXJ5KCgpID0+ICh7XG4gKiAgICAgcXVlcnlLZXk6IFsncmVwb0RhdGEnXSxcbiAqICAgICBxdWVyeUZuOiAoKSA9PlxuICogICAgICAgdGhpcy4jaHR0cC5nZXQ8UmVzcG9uc2U+KCdodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RhbnN0YWNrL3F1ZXJ5JyksXG4gKiAgIH0pKVxuICogfVxuICogYGBgXG4gKlxuICogKipUaGUgb3B0aW9ucyBmdW5jdGlvbiBjYW4gdXRpbGl6ZSBzaWduYWxzKipcbiAqIGBgYHRzXG4gKiBjbGFzcyBTZXJ2aWNlT3JDb21wb25lbnQge1xuICogICBmaWx0ZXIgPSBzaWduYWwoJycpXG4gKlxuICogICB0b2Rvc1F1ZXJ5ID0gaW5qZWN0UXVlcnkoKCkgPT4gKHtcbiAqICAgICBxdWVyeUtleTogWyd0b2RvcycsIHRoaXMuZmlsdGVyKCldLFxuICogICAgIHF1ZXJ5Rm46ICgpID0+IGZldGNoVG9kb3ModGhpcy5maWx0ZXIoKSksXG4gKiAgICAgLy8gU2lnbmFscyBjYW4gYmUgY29tYmluZWQgd2l0aCBleHByZXNzaW9uc1xuICogICAgIGVuYWJsZWQ6ICEhdGhpcy5maWx0ZXIoKSxcbiAqICAgfSkpXG4gKiB9XG4gKiBgYGBcbiAqIEBwYXJhbSBvcHRpb25zRm4gLSBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBxdWVyeSBvcHRpb25zLlxuICogQHBhcmFtIGluamVjdG9yIC0gVGhlIEFuZ3VsYXIgaW5qZWN0b3IgdG8gdXNlLlxuICogQHJldHVybnMgVGhlIHF1ZXJ5IHJlc3VsdC5cbiAqIEBwdWJsaWNcbiAqIEBzZWUgaHR0cHM6Ly90YW5zdGFjay5jb20vcXVlcnkvbGF0ZXN0L2RvY3MvZnJhbWV3b3JrL2FuZ3VsYXIvZ3VpZGVzL3F1ZXJpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5PFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPihcbiAgb3B0aW9uc0ZuOiAoXG4gICAgY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgKSA9PiBDcmVhdGVRdWVyeU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuICBpbmplY3Rvcj86IEluamVjdG9yLFxuKTogQ3JlYXRlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuLyoqXG4gKiBJbmplY3RzIGEgcXVlcnk6IGEgZGVjbGFyYXRpdmUgZGVwZW5kZW5jeSBvbiBhbiBhc3luY2hyb25vdXMgc291cmNlIG9mIGRhdGEgdGhhdCBpcyB0aWVkIHRvIGEgdW5pcXVlIGtleS5cbiAqXG4gKiAqKkJhc2ljIGV4YW1wbGUqKlxuICogYGBgdHNcbiAqIGNsYXNzIFNlcnZpY2VPckNvbXBvbmVudCB7XG4gKiAgIHF1ZXJ5ID0gaW5qZWN0UXVlcnkoKCkgPT4gKHtcbiAqICAgICBxdWVyeUtleTogWydyZXBvRGF0YSddLFxuICogICAgIHF1ZXJ5Rm46ICgpID0+XG4gKiAgICAgICB0aGlzLiNodHRwLmdldDxSZXNwb25zZT4oJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGFuc3RhY2svcXVlcnknKSxcbiAqICAgfSkpXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiAqKlRoZSBvcHRpb25zIGZ1bmN0aW9uIGNhbiB1dGlsaXplIHNpZ25hbHMqKlxuICogYGBgdHNcbiAqIGNsYXNzIFNlcnZpY2VPckNvbXBvbmVudCB7XG4gKiAgIGZpbHRlciA9IHNpZ25hbCgnJylcbiAqXG4gKiAgIHRvZG9zUXVlcnkgPSBpbmplY3RRdWVyeSgoKSA9PiAoe1xuICogICAgIHF1ZXJ5S2V5OiBbJ3RvZG9zJywgdGhpcy5maWx0ZXIoKV0sXG4gKiAgICAgcXVlcnlGbjogKCkgPT4gZmV0Y2hUb2Rvcyh0aGlzLmZpbHRlcigpKSxcbiAqICAgICAvLyBTaWduYWxzIGNhbiBiZSBjb21iaW5lZCB3aXRoIGV4cHJlc3Npb25zXG4gKiAgICAgZW5hYmxlZDogISF0aGlzLmZpbHRlcigpLFxuICogICB9KSlcbiAqIH1cbiAqIGBgYFxuICogQHBhcmFtIG9wdGlvbnNGbiAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHF1ZXJ5IG9wdGlvbnMuXG4gKiBAcGFyYW0gaW5qZWN0b3IgLSBUaGUgQW5ndWxhciBpbmplY3RvciB0byB1c2UuXG4gKiBAcmV0dXJucyBUaGUgcXVlcnkgcmVzdWx0LlxuICogQHB1YmxpY1xuICogQHNlZSBodHRwczovL3RhbnN0YWNrLmNvbS9xdWVyeS9sYXRlc3QvZG9jcy9mcmFtZXdvcmsvYW5ndWxhci9ndWlkZXMvcXVlcmllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnkoXG4gIG9wdGlvbnNGbjogKGNsaWVudDogUXVlcnlDbGllbnQpID0+IENyZWF0ZVF1ZXJ5T3B0aW9ucyxcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcixcbikge1xuICBjb25zdCBhc3NlcnRlZEluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0UXVlcnksIGluamVjdG9yKVxuICByZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0UXVlcnksIGluamVjdG9yLCAoKSA9PiB7XG4gICAgY29uc3QgcXVlcnlDbGllbnQgPSBpbmplY3RRdWVyeUNsaWVudCgpXG4gICAgcmV0dXJuIGNyZWF0ZUJhc2VRdWVyeShcbiAgICAgIChjbGllbnQpID0+XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dChhc3NlcnRlZEluamVjdG9yLCAoKSA9PiBvcHRpb25zRm4oY2xpZW50KSksXG4gICAgICBRdWVyeU9ic2VydmVyLFxuICAgICAgcXVlcnlDbGllbnQsXG4gICAgKVxuICB9KVxufVxuIl19
@@ -1,5 +1,44 @@
1
1
  import { DestroyRef, ENVIRONMENT_INITIALIZER, inject, makeEnvironmentProviders, } from '@angular/core';
2
2
  import { provideQueryClient } from './inject-query-client';
3
+ /**
4
+ * Sets up providers necessary to enable TanStack Query functionality for Angular applications.
5
+ *
6
+ * Allows to configure a `QueryClient`.
7
+ *
8
+ * **Example - standalone**
9
+ *
10
+ * ```ts
11
+ * import {
12
+ * provideAngularQuery,
13
+ * QueryClient,
14
+ * } from '@tanstack/angular-query-experimental'
15
+ *
16
+ * bootstrapApplication(AppComponent, {
17
+ * providers: [provideAngularQuery(new QueryClient())],
18
+ * })
19
+ * ```
20
+ *
21
+ * **Example - NgModule-based**
22
+ *
23
+ * ```ts
24
+ * import {
25
+ * provideAngularQuery,
26
+ * QueryClient,
27
+ * } from '@tanstack/angular-query-experimental'
28
+ *
29
+ * @NgModule({
30
+ * declarations: [AppComponent],
31
+ * imports: [BrowserModule],
32
+ * providers: [provideAngularQuery(new QueryClient())],
33
+ * bootstrap: [AppComponent],
34
+ * })
35
+ * export class AppModule {}
36
+ * ```
37
+ * @param queryClient - A `QueryClient` instance.
38
+ * @returns A set of providers to set up TanStack Query.
39
+ * @public
40
+ * @see https://tanstack.com/query/v5/docs/framework/angular/quick-start
41
+ */
3
42
  export function provideAngularQuery(queryClient) {
4
43
  return makeEnvironmentProviders([
5
44
  provideQueryClient(queryClient),
@@ -14,4 +53,4 @@ export function provideAngularQuery(queryClient) {
14
53
  },
15
54
  ]);
16
55
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sd0JBQXdCLEdBQ3pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSTFELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsV0FBd0I7SUFFeEIsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDL0I7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ25CLGtEQUFrRDtnQkFDbEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzRCxDQUFDO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIGluamVjdCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvdmlkZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9pbmplY3QtcXVlcnktY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQW5ndWxhclF1ZXJ5KFxuICBxdWVyeUNsaWVudDogUXVlcnlDbGllbnQsXG4pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHByb3ZpZGVRdWVyeUNsaWVudChxdWVyeUNsaWVudCksXG4gICAge1xuICAgICAgcHJvdmlkZTogRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZVZhbHVlOiAoKSA9PiB7XG4gICAgICAgIHF1ZXJ5Q2xpZW50Lm1vdW50KClcbiAgICAgICAgLy8gVW5tb3VudCB0aGUgcXVlcnkgY2xpZW50IG9uIGFwcGxpY2F0aW9uIGRlc3Ryb3lcbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiBxdWVyeUNsaWVudC51bm1vdW50KCkpXG4gICAgICB9LFxuICAgIH0sXG4gIF0pXG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sd0JBQXdCLEdBQ3pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSTFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsV0FBd0I7SUFFeEIsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDL0I7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ25CLGtEQUFrRDtnQkFDbEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzRCxDQUFDO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIGluamVjdCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvdmlkZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9pbmplY3QtcXVlcnktY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5cbi8qKlxuICogU2V0cyB1cCBwcm92aWRlcnMgbmVjZXNzYXJ5IHRvIGVuYWJsZSBUYW5TdGFjayBRdWVyeSBmdW5jdGlvbmFsaXR5IGZvciBBbmd1bGFyIGFwcGxpY2F0aW9ucy5cbiAqXG4gKiBBbGxvd3MgdG8gY29uZmlndXJlIGEgYFF1ZXJ5Q2xpZW50YC5cbiAqXG4gKiAqKkV4YW1wbGUgLSBzdGFuZGFsb25lKipcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHtcbiAqICAgcHJvdmlkZUFuZ3VsYXJRdWVyeSxcbiAqICAgUXVlcnlDbGllbnQsXG4gKiB9IGZyb20gJ0B0YW5zdGFjay9hbmd1bGFyLXF1ZXJ5LWV4cGVyaW1lbnRhbCdcbiAqXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHtcbiAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZUFuZ3VsYXJRdWVyeShuZXcgUXVlcnlDbGllbnQoKSldLFxuICogfSlcbiAqIGBgYFxuICpcbiAqICoqRXhhbXBsZSAtIE5nTW9kdWxlLWJhc2VkKipcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHtcbiAqICAgcHJvdmlkZUFuZ3VsYXJRdWVyeSxcbiAqICAgUXVlcnlDbGllbnQsXG4gKiB9IGZyb20gJ0B0YW5zdGFjay9hbmd1bGFyLXF1ZXJ5LWV4cGVyaW1lbnRhbCdcbiAqXG4gKiBATmdNb2R1bGUoe1xuICogICBkZWNsYXJhdGlvbnM6IFtBcHBDb21wb25lbnRdLFxuICogICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZV0sXG4gKiAgIHByb3ZpZGVyczogW3Byb3ZpZGVBbmd1bGFyUXVlcnkobmV3IFF1ZXJ5Q2xpZW50KCkpXSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XSxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqIEBwYXJhbSBxdWVyeUNsaWVudCAtIEEgYFF1ZXJ5Q2xpZW50YCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEgc2V0IG9mIHByb3ZpZGVycyB0byBzZXQgdXAgVGFuU3RhY2sgUXVlcnkuXG4gKiBAcHVibGljXG4gKiBAc2VlIGh0dHBzOi8vdGFuc3RhY2suY29tL3F1ZXJ5L3Y1L2RvY3MvZnJhbWV3b3JrL2FuZ3VsYXIvcXVpY2stc3RhcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBbmd1bGFyUXVlcnkoXG4gIHF1ZXJ5Q2xpZW50OiBRdWVyeUNsaWVudCxcbik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgcHJvdmlkZVF1ZXJ5Q2xpZW50KHF1ZXJ5Q2xpZW50KSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlVmFsdWU6ICgpID0+IHtcbiAgICAgICAgcXVlcnlDbGllbnQubW91bnQoKVxuICAgICAgICAvLyBVbm1vdW50IHRoZSBxdWVyeSBjbGllbnQgb24gYXBwbGljYXRpb24gZGVzdHJveVxuICAgICAgICBpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHF1ZXJ5Q2xpZW50LnVubW91bnQoKSlcbiAgICAgIH0sXG4gICAgfSxcbiAgXSlcbn1cbiJdfQ==
@@ -1,4 +1,26 @@
1
+ /**
2
+ * Allows to share and re-use query options in a type-safe way.
3
+ *
4
+ * The `queryKey` will be tagged with the type from `queryFn`.
5
+ *
6
+ * **Example**
7
+ *
8
+ * ```ts
9
+ * const { queryKey } = queryOptions({
10
+ * queryKey: ['key'],
11
+ * queryFn: () => Promise.resolve(5),
12
+ * // ^? Promise<number>
13
+ * })
14
+ *
15
+ * const queryClient = new QueryClient()
16
+ * const data = queryClient.getQueryData(queryKey)
17
+ * // ^? number | undefined
18
+ * ```
19
+ * @param options - The query options to tag with the type from `queryFn`.
20
+ * @returns The tagged query options.
21
+ * @public
22
+ */
1
23
  export function queryOptions(options) {
2
24
  return options;
3
25
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyeS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDQSxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQzNDLE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERhdGFUYWcsIERlZmF1bHRFcnJvciwgUXVlcnlLZXkgfSBmcm9tICdAdGFuc3RhY2svcXVlcnktY29yZSdcbmltcG9ydCB0eXBlIHsgQ3JlYXRlUXVlcnlPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHR5cGUgVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPiA9IENyZWF0ZVF1ZXJ5T3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4gJiB7XG4gIGluaXRpYWxEYXRhPzogdW5kZWZpbmVkXG59XG5cbnR5cGUgTm9uVW5kZWZpbmVkR3VhcmQ8VD4gPSBUIGV4dGVuZHMgdW5kZWZpbmVkID8gbmV2ZXIgOiBUXG5cbmV4cG9ydCB0eXBlIERlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+ID0gQ3JlYXRlUXVlcnlPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiAmIHtcbiAgaW5pdGlhbERhdGE6XG4gICAgfCBOb25VbmRlZmluZWRHdWFyZDxUUXVlcnlGbkRhdGE+XG4gICAgfCAoKCkgPT4gTm9uVW5kZWZpbmVkR3VhcmQ8VFF1ZXJ5Rm5EYXRhPilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4oXG4gIG9wdGlvbnM6IFVuZGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4sXG4pOiBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+ICYge1xuICBxdWVyeUtleTogRGF0YVRhZzxUUXVlcnlLZXksIFRRdWVyeUZuRGF0YT5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4oXG4gIG9wdGlvbnM6IERlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuKTogRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4gJiB7XG4gIHF1ZXJ5S2V5OiBEYXRhVGFnPFRRdWVyeUtleSwgVFF1ZXJ5Rm5EYXRhPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlPcHRpb25zKG9wdGlvbnM6IHVua25vd24pIHtcbiAgcmV0dXJuIG9wdGlvbnNcbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyeS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFnQjtJQUMzQyxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhVGFnLCBEZWZhdWx0RXJyb3IsIFF1ZXJ5S2V5IH0gZnJvbSAnQHRhbnN0YWNrL3F1ZXJ5LWNvcmUnXG5pbXBvcnQgdHlwZSB7IENyZWF0ZVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+ID0gQ3JlYXRlUXVlcnlPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiAmIHtcbiAgaW5pdGlhbERhdGE/OiB1bmRlZmluZWRcbn1cblxudHlwZSBOb25VbmRlZmluZWRHdWFyZDxUPiA9IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFRcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+ID0gQ3JlYXRlUXVlcnlPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiAmIHtcbiAgaW5pdGlhbERhdGE6XG4gICAgfCBOb25VbmRlZmluZWRHdWFyZDxUUXVlcnlGbkRhdGE+XG4gICAgfCAoKCkgPT4gTm9uVW5kZWZpbmVkR3VhcmQ8VFF1ZXJ5Rm5EYXRhPilcbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gc2hhcmUgYW5kIHJlLXVzZSBxdWVyeSBvcHRpb25zIGluIGEgdHlwZS1zYWZlIHdheS5cbiAqXG4gKiBUaGUgYHF1ZXJ5S2V5YCB3aWxsIGJlIHRhZ2dlZCB3aXRoIHRoZSB0eXBlIGZyb20gYHF1ZXJ5Rm5gLlxuICpcbiAqICoqRXhhbXBsZSoqXG4gKlxuICogYGBgdHNcbiAqICBjb25zdCB7IHF1ZXJ5S2V5IH0gPSBxdWVyeU9wdGlvbnMoe1xuICogICAgIHF1ZXJ5S2V5OiBbJ2tleSddLFxuICogICAgIHF1ZXJ5Rm46ICgpID0+IFByb21pc2UucmVzb2x2ZSg1KSxcbiAqICAgICAvLyAgXj8gIFByb21pc2U8bnVtYmVyPlxuICogICB9KVxuICpcbiAqICAgY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoKVxuICogICBjb25zdCBkYXRhID0gcXVlcnlDbGllbnQuZ2V0UXVlcnlEYXRhKHF1ZXJ5S2V5KVxuICogICAvLyAgICBePyAgbnVtYmVyIHwgdW5kZWZpbmVkXG4gKiBgYGBcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHF1ZXJ5IG9wdGlvbnMgdG8gdGFnIHdpdGggdGhlIHR5cGUgZnJvbSBgcXVlcnlGbmAuXG4gKiBAcmV0dXJucyBUaGUgdGFnZ2VkIHF1ZXJ5IG9wdGlvbnMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4+KFxuICBvcHRpb25zOiBVbmRlZmluZWRJbml0aWFsRGF0YU9wdGlvbnM8VFF1ZXJ5Rm5EYXRhLCBURXJyb3IsIFREYXRhLCBUUXVlcnlLZXk+LFxuKTogVW5kZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiAmIHtcbiAgcXVlcnlLZXk6IERhdGFUYWc8VFF1ZXJ5S2V5LCBUUXVlcnlGbkRhdGE+XG59XG5cbi8qKlxuICogQWxsb3dzIHRvIHNoYXJlIGFuZCByZS11c2UgcXVlcnkgb3B0aW9ucyBpbiBhIHR5cGUtc2FmZSB3YXkuXG4gKlxuICogVGhlIGBxdWVyeUtleWAgd2lsbCBiZSB0YWdnZWQgd2l0aCB0aGUgdHlwZSBmcm9tIGBxdWVyeUZuYC5cbiAqXG4gKiAqKkV4YW1wbGUqKlxuICpcbiAqIGBgYHRzXG4gKiAgY29uc3QgeyBxdWVyeUtleSB9ID0gcXVlcnlPcHRpb25zKHtcbiAqICAgICBxdWVyeUtleTogWydrZXknXSxcbiAqICAgICBxdWVyeUZuOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoNSksXG4gKiAgICAgLy8gIF4/ICBQcm9taXNlPG51bWJlcj5cbiAqICAgfSlcbiAqXG4gKiAgIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gbmV3IFF1ZXJ5Q2xpZW50KClcbiAqICAgY29uc3QgZGF0YSA9IHF1ZXJ5Q2xpZW50LmdldFF1ZXJ5RGF0YShxdWVyeUtleSlcbiAqICAgLy8gICAgXj8gIG51bWJlciB8IHVuZGVmaW5lZFxuICogYGBgXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBxdWVyeSBvcHRpb25zIHRvIHRhZyB3aXRoIHRoZSB0eXBlIGZyb20gYHF1ZXJ5Rm5gLlxuICogQHJldHVybnMgVGhlIHRhZ2dlZCBxdWVyeSBvcHRpb25zLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPihcbiAgb3B0aW9uczogRGVmaW5lZEluaXRpYWxEYXRhT3B0aW9uczxUUXVlcnlGbkRhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4sXG4pOiBEZWZpbmVkSW5pdGlhbERhdGFPcHRpb25zPFRRdWVyeUZuRGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiAmIHtcbiAgcXVlcnlLZXk6IERhdGFUYWc8VFF1ZXJ5S2V5LCBUUXVlcnlGbkRhdGE+XG59XG5cbi8qKlxuICogQWxsb3dzIHRvIHNoYXJlIGFuZCByZS11c2UgcXVlcnkgb3B0aW9ucyBpbiBhIHR5cGUtc2FmZSB3YXkuXG4gKlxuICogVGhlIGBxdWVyeUtleWAgd2lsbCBiZSB0YWdnZWQgd2l0aCB0aGUgdHlwZSBmcm9tIGBxdWVyeUZuYC5cbiAqXG4gKiAqKkV4YW1wbGUqKlxuICpcbiAqIGBgYHRzXG4gKiAgY29uc3QgeyBxdWVyeUtleSB9ID0gcXVlcnlPcHRpb25zKHtcbiAqICAgICBxdWVyeUtleTogWydrZXknXSxcbiAqICAgICBxdWVyeUZuOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoNSksXG4gKiAgICAgLy8gIF4/ICBQcm9taXNlPG51bWJlcj5cbiAqICAgfSlcbiAqXG4gKiAgIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gbmV3IFF1ZXJ5Q2xpZW50KClcbiAqICAgY29uc3QgZGF0YSA9IHF1ZXJ5Q2xpZW50LmdldFF1ZXJ5RGF0YShxdWVyeUtleSlcbiAqICAgLy8gICAgXj8gIG51bWJlciB8IHVuZGVmaW5lZFxuICogYGBgXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBxdWVyeSBvcHRpb25zIHRvIHRhZyB3aXRoIHRoZSB0eXBlIGZyb20gYHF1ZXJ5Rm5gLlxuICogQHJldHVybnMgVGhlIHRhZ2dlZCBxdWVyeSBvcHRpb25zLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlPcHRpb25zKG9wdGlvbnM6IHVua25vd24pIHtcbiAgcmV0dXJuIG9wdGlvbnNcbn1cbiJdfQ==
@@ -1,11 +1,9 @@
1
1
  import { computed, untracked } from '@angular/core';
2
2
  /**
3
3
  * Exposes fields of an object passed via an Angular `Signal` as `Computed` signals.
4
- *
5
4
  * Functions on the object are passed through as-is.
6
- *
7
5
  * @param inputSignal - `Signal` that must return an object.
8
- *
6
+ * @returns A proxy object with the same fields as the input object, but with each field wrapped in a `Computed` signal.
9
7
  */
10
8
  export function signalProxy(inputSignal) {
11
9
  const internalState = {};
@@ -37,4 +35,4 @@ export function signalProxy(inputSignal) {
37
35
  },
38
36
  });
39
37
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZ25hbC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQU9uRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsV0FBMkI7SUFFM0IsTUFBTSxhQUFhLEdBQUcsRUFBMEIsQ0FBQTtJQUVoRCxPQUFPLElBQUksS0FBSyxDQUF1QixhQUFhLEVBQUU7UUFDcEQsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJO1lBQ2QsZ0VBQWdFO1lBQ2hFLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNsQyxJQUFJLGFBQWE7Z0JBQUUsT0FBTyxhQUFhLENBQUE7WUFFdkMsa0VBQWtFO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNoRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVU7Z0JBQUUsT0FBTyxXQUFXLENBQUE7WUFFekQsMkRBQTJEO1lBQzNELG1CQUFtQjtZQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSTtZQUNULE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsT0FBTztZQUNMLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBQ0Qsd0JBQXdCO1lBQ3RCLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgdHlwZSBNYXBUb1NpZ25hbHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgRnVuY3Rpb24gPyBUW0tdIDogU2lnbmFsPFRbS10+XG59XG5cbi8qKlxuICogRXhwb3NlcyBmaWVsZHMgb2YgYW4gb2JqZWN0IHBhc3NlZCB2aWEgYW4gQW5ndWxhciBgU2lnbmFsYCBhcyBgQ29tcHV0ZWRgIHNpZ25hbHMuXG4gKlxuICogRnVuY3Rpb25zIG9uIHRoZSBvYmplY3QgYXJlIHBhc3NlZCB0aHJvdWdoIGFzLWlzLlxuICpcbiAqIEBwYXJhbSBpbnB1dFNpZ25hbCAtIGBTaWduYWxgIHRoYXQgbXVzdCByZXR1cm4gYW4gb2JqZWN0LlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFByb3h5PFRJbnB1dCBleHRlbmRzIFJlY29yZDxzdHJpbmcgfCBzeW1ib2wsIGFueT4+KFxuICBpbnB1dFNpZ25hbDogU2lnbmFsPFRJbnB1dD4sXG4pIHtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZSA9IHt9IGFzIE1hcFRvU2lnbmFsczxUSW5wdXQ+XG5cbiAgcmV0dXJuIG5ldyBQcm94eTxNYXBUb1NpZ25hbHM8VElucHV0Pj4oaW50ZXJuYWxTdGF0ZSwge1xuICAgIGdldCh0YXJnZXQsIHByb3ApIHtcbiAgICAgIC8vIGZpcnN0IGNoZWNrIGlmIHdlIGhhdmUgaXQgaW4gb3VyIGludGVybmFsIHN0YXRlIGFuZCByZXR1cm4gaXRcbiAgICAgIGNvbnN0IGNvbXB1dGVkRmllbGQgPSB0YXJnZXRbcHJvcF1cbiAgICAgIGlmIChjb21wdXRlZEZpZWxkKSByZXR1cm4gY29tcHV0ZWRGaWVsZFxuXG4gICAgICAvLyB0aGVuLCBjaGVjayBpZiBpdCdzIGEgZnVuY3Rpb24gb24gdGhlIHJlc3VsdFN0YXRlIGFuZCByZXR1cm4gaXRcbiAgICAgIGNvbnN0IHRhcmdldEZpZWxkID0gdW50cmFja2VkKGlucHV0U2lnbmFsKVtwcm9wXVxuICAgICAgaWYgKHR5cGVvZiB0YXJnZXRGaWVsZCA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHRhcmdldEZpZWxkXG5cbiAgICAgIC8vIGZpbmFsbHksIGNyZWF0ZSBhIGNvbXB1dGVkIGZpZWxkLCBzdG9yZSBpdCBhbmQgcmV0dXJuIGl0XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICByZXR1cm4gKHRhcmdldFtwcm9wXSA9IGNvbXB1dGVkKCgpID0+IGlucHV0U2lnbmFsKClbcHJvcF0pKVxuICAgIH0sXG4gICAgaGFzKF8sIHByb3ApIHtcbiAgICAgIHJldHVybiAhIXVudHJhY2tlZChpbnB1dFNpZ25hbClbcHJvcF1cbiAgICB9LFxuICAgIG93bktleXMoKSB7XG4gICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHVudHJhY2tlZChpbnB1dFNpZ25hbCkpXG4gICAgfSxcbiAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9XG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZ25hbC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQU9uRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLFdBQTJCO0lBRTNCLE1BQU0sYUFBYSxHQUFHLEVBQTBCLENBQUE7SUFFaEQsT0FBTyxJQUFJLEtBQUssQ0FBdUIsYUFBYSxFQUFFO1FBQ3BELEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSTtZQUNkLGdFQUFnRTtZQUNoRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDbEMsSUFBSSxhQUFhO2dCQUFFLE9BQU8sYUFBYSxDQUFBO1lBRXZDLGtFQUFrRTtZQUNsRSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDaEQsSUFBSSxPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUFFLE9BQU8sV0FBVyxDQUFBO1lBRXpELDJEQUEyRDtZQUMzRCxtQkFBbUI7WUFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUk7WUFDVCxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUNELE9BQU87WUFDTCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFDaEQsQ0FBQztRQUNELHdCQUF3QjtZQUN0QixPQUFPO2dCQUNMLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFBO1FBQ0gsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IHR5cGUgTWFwVG9TaWduYWxzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIEZ1bmN0aW9uID8gVFtLXSA6IFNpZ25hbDxUW0tdPlxufVxuXG4vKipcbiAqIEV4cG9zZXMgZmllbGRzIG9mIGFuIG9iamVjdCBwYXNzZWQgdmlhIGFuIEFuZ3VsYXIgYFNpZ25hbGAgYXMgYENvbXB1dGVkYCBzaWduYWxzLlxuICogRnVuY3Rpb25zIG9uIHRoZSBvYmplY3QgYXJlIHBhc3NlZCB0aHJvdWdoIGFzLWlzLlxuICogQHBhcmFtIGlucHV0U2lnbmFsIC0gYFNpZ25hbGAgdGhhdCBtdXN0IHJldHVybiBhbiBvYmplY3QuXG4gKiBAcmV0dXJucyBBIHByb3h5IG9iamVjdCB3aXRoIHRoZSBzYW1lIGZpZWxkcyBhcyB0aGUgaW5wdXQgb2JqZWN0LCBidXQgd2l0aCBlYWNoIGZpZWxkIHdyYXBwZWQgaW4gYSBgQ29tcHV0ZWRgIHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFByb3h5PFRJbnB1dCBleHRlbmRzIFJlY29yZDxzdHJpbmcgfCBzeW1ib2wsIGFueT4+KFxuICBpbnB1dFNpZ25hbDogU2lnbmFsPFRJbnB1dD4sXG4pIHtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZSA9IHt9IGFzIE1hcFRvU2lnbmFsczxUSW5wdXQ+XG5cbiAgcmV0dXJuIG5ldyBQcm94eTxNYXBUb1NpZ25hbHM8VElucHV0Pj4oaW50ZXJuYWxTdGF0ZSwge1xuICAgIGdldCh0YXJnZXQsIHByb3ApIHtcbiAgICAgIC8vIGZpcnN0IGNoZWNrIGlmIHdlIGhhdmUgaXQgaW4gb3VyIGludGVybmFsIHN0YXRlIGFuZCByZXR1cm4gaXRcbiAgICAgIGNvbnN0IGNvbXB1dGVkRmllbGQgPSB0YXJnZXRbcHJvcF1cbiAgICAgIGlmIChjb21wdXRlZEZpZWxkKSByZXR1cm4gY29tcHV0ZWRGaWVsZFxuXG4gICAgICAvLyB0aGVuLCBjaGVjayBpZiBpdCdzIGEgZnVuY3Rpb24gb24gdGhlIHJlc3VsdFN0YXRlIGFuZCByZXR1cm4gaXRcbiAgICAgIGNvbnN0IHRhcmdldEZpZWxkID0gdW50cmFja2VkKGlucHV0U2lnbmFsKVtwcm9wXVxuICAgICAgaWYgKHR5cGVvZiB0YXJnZXRGaWVsZCA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHRhcmdldEZpZWxkXG5cbiAgICAgIC8vIGZpbmFsbHksIGNyZWF0ZSBhIGNvbXB1dGVkIGZpZWxkLCBzdG9yZSBpdCBhbmQgcmV0dXJuIGl0XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICByZXR1cm4gKHRhcmdldFtwcm9wXSA9IGNvbXB1dGVkKCgpID0+IGlucHV0U2lnbmFsKClbcHJvcF0pKVxuICAgIH0sXG4gICAgaGFzKF8sIHByb3ApIHtcbiAgICAgIHJldHVybiAhIXVudHJhY2tlZChpbnB1dFNpZ25hbClbcHJvcF1cbiAgICB9LFxuICAgIG93bktleXMoKSB7XG4gICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHVudHJhY2tlZChpbnB1dFNpZ25hbCkpXG4gICAgfSxcbiAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB9XG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  /* istanbul ignore file */
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cblxuaW1wb3J0IHR5cGUge1xuICBEZWZhdWx0RXJyb3IsXG4gIERlZmluZWRJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG4gIERlZmluZWRRdWVyeU9ic2VydmVyUmVzdWx0LFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJPcHRpb25zLFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG4gIE11dGF0ZUZ1bmN0aW9uLFxuICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyxcbiAgTXV0YXRpb25PYnNlcnZlclJlc3VsdCxcbiAgT21pdEtleW9mLFxuICBRdWVyeUtleSxcbiAgUXVlcnlPYnNlcnZlck9wdGlvbnMsXG4gIFF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG59IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBNYXBUb1NpZ25hbHMgfSBmcm9tICcuL3NpZ25hbC1wcm94eSdcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCYXNlUXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlEYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPiBleHRlbmRzIFF1ZXJ5T2JzZXJ2ZXJPcHRpb25zPFxuICAgIFRRdWVyeUZuRGF0YSxcbiAgICBURXJyb3IsXG4gICAgVERhdGEsXG4gICAgVFF1ZXJ5RGF0YSxcbiAgICBUUXVlcnlLZXlcbiAgPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4gZXh0ZW5kcyBPbWl0S2V5b2Y8XG4gICAgQ3JlYXRlQmFzZVF1ZXJ5T3B0aW9uczxcbiAgICAgIFRRdWVyeUZuRGF0YSxcbiAgICAgIFRFcnJvcixcbiAgICAgIFREYXRhLFxuICAgICAgVFF1ZXJ5Rm5EYXRhLFxuICAgICAgVFF1ZXJ5S2V5XG4gICAgPixcbiAgICAnc3VzcGVuc2UnXG4gID4ge31cblxudHlwZSBDcmVhdGVTdGF0dXNCYXNlZFF1ZXJ5UmVzdWx0PFxuICBUU3RhdHVzIGV4dGVuZHMgUXVlcnlPYnNlcnZlclJlc3VsdFsnc3RhdHVzJ10sXG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuPiA9IEV4dHJhY3Q8UXVlcnlPYnNlcnZlclJlc3VsdDxURGF0YSwgVEVycm9yPiwgeyBzdGF0dXM6IFRTdGF0dXMgfT5cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUXVlcnlOYXJyb3dpbmc8VERhdGEgPSB1bmtub3duLCBURXJyb3IgPSBEZWZhdWx0RXJyb3I+IHtcbiAgaXNTdWNjZXNzOiAoXG4gICAgdGhpczogQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFREYXRhLCBURXJyb3I+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFxuICAgIFREYXRhLFxuICAgIFRFcnJvcixcbiAgICBDcmVhdGVTdGF0dXNCYXNlZFF1ZXJ5UmVzdWx0PCdzdWNjZXNzJywgVERhdGEsIFRFcnJvcj5cbiAgPlxuICBpc0Vycm9yOiAoXG4gICAgdGhpczogQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFREYXRhLCBURXJyb3I+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFxuICAgIFREYXRhLFxuICAgIFRFcnJvcixcbiAgICBDcmVhdGVTdGF0dXNCYXNlZFF1ZXJ5UmVzdWx0PCdlcnJvcicsIFREYXRhLCBURXJyb3I+XG4gID5cbiAgaXNQZW5kaW5nOiAoXG4gICAgdGhpczogQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFREYXRhLCBURXJyb3I+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlQmFzZVF1ZXJ5UmVzdWx0PFxuICAgIFREYXRhLFxuICAgIFRFcnJvcixcbiAgICBDcmVhdGVTdGF0dXNCYXNlZFF1ZXJ5UmVzdWx0PCdwZW5kaW5nJywgVERhdGEsIFRFcnJvcj5cbiAgPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUluZmluaXRlUXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlEYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuICBUUGFnZVBhcmFtID0gdW5rbm93bixcbj4gZXh0ZW5kcyBPbWl0S2V5b2Y8XG4gICAgSW5maW5pdGVRdWVyeU9ic2VydmVyT3B0aW9uczxcbiAgICAgIFRRdWVyeUZuRGF0YSxcbiAgICAgIFRFcnJvcixcbiAgICAgIFREYXRhLFxuICAgICAgVFF1ZXJ5RGF0YSxcbiAgICAgIFRRdWVyeUtleSxcbiAgICAgIFRQYWdlUGFyYW1cbiAgICA+LFxuICAgICdzdXNwZW5zZSdcbiAgPiB7fVxuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUU3RhdGUgPSBRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+LFxuPiA9IEJhc2VRdWVyeU5hcnJvd2luZzxURGF0YSwgVEVycm9yPiAmXG4gIE1hcFRvU2lnbmFsczxPbWl0S2V5b2Y8VFN0YXRlLCBrZXlvZiBCYXNlUXVlcnlOYXJyb3dpbmcsICdzYWZlbHknPj5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuPiA9IENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPlxuXG5leHBvcnQgdHlwZSBEZWZpbmVkQ3JlYXRlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGVmaW5lZFF1ZXJ5T2JzZXJ2ZXIgPSBEZWZpbmVkUXVlcnlPYnNlcnZlclJlc3VsdDxURGF0YSwgVEVycm9yPixcbj4gPSBNYXBUb1NpZ25hbHM8VERlZmluZWRRdWVyeU9ic2VydmVyPlxuXG5leHBvcnQgdHlwZSBDcmVhdGVJbmZpbml0ZVF1ZXJ5UmVzdWx0PFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbj4gPSBNYXBUb1NpZ25hbHM8SW5maW5pdGVRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+PlxuXG5leHBvcnQgdHlwZSBEZWZpbmVkQ3JlYXRlSW5maW5pdGVRdWVyeVJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREZWZpbmVkSW5maW5pdGVRdWVyeU9ic2VydmVyID0gRGVmaW5lZEluZmluaXRlUXVlcnlPYnNlcnZlclJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3JcbiAgPixcbj4gPSBNYXBUb1NpZ25hbHM8VERlZmluZWRJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXI+XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTXV0YXRpb25PcHRpb25zPFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVFZhcmlhYmxlcyA9IHZvaWQsXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4gZXh0ZW5kcyBPbWl0S2V5b2Y8XG4gICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnM8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICAgICdfZGVmYXVsdGVkJ1xuICA+IHt9XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU11dGF0ZUZ1bmN0aW9uPFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVFZhcmlhYmxlcyA9IHZvaWQsXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4gPSAoXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8TXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+PlxuKSA9PiB2b2lkXG5cbmV4cG9ydCB0eXBlIENyZWF0ZU11dGF0ZUFzeW5jRnVuY3Rpb248XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdm9pZCxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiA9IE11dGF0ZUZ1bmN0aW9uPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PlxuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNlTXV0YXRpb25SZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdW5rbm93bixcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiA9IE92ZXJyaWRlPFxuICBNdXRhdGlvbk9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgeyBtdXRhdGU6IENyZWF0ZU11dGF0ZUZ1bmN0aW9uPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PiB9XG4+ICYge1xuICBtdXRhdGVBc3luYzogQ3JlYXRlTXV0YXRlQXN5bmNGdW5jdGlvbjxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD5cbn1cblxudHlwZSBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PFxuICBUU3RhdHVzIGV4dGVuZHMgQ3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0WydzdGF0dXMnXSxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+ID0gRXh0cmFjdDxcbiAgQ3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgeyBzdGF0dXM6IFRTdGF0dXMgfVxuPlxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VNdXRhdGlvbk5hcnJvd2luZzxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+IHtcbiAgaXNTdWNjZXNzOiAoXG4gICAgdGhpczogQ3JlYXRlTXV0YXRpb25SZXN1bHQ8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlTXV0YXRpb25SZXN1bHQ8XG4gICAgVERhdGEsXG4gICAgVEVycm9yLFxuICAgIFRWYXJpYWJsZXMsXG4gICAgVENvbnRleHQsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRNdXRhdGlvblJlc3VsdDxcbiAgICAgICdzdWNjZXNzJyxcbiAgICAgIFREYXRhLFxuICAgICAgVEVycm9yLFxuICAgICAgVFZhcmlhYmxlcyxcbiAgICAgIFRDb250ZXh0XG4gICAgPlxuICA+XG4gIGlzRXJyb3I6IChcbiAgICB0aGlzOiBDcmVhdGVNdXRhdGlvblJlc3VsdDxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4sXG4gICkgPT4gdGhpcyBpcyBDcmVhdGVNdXRhdGlvblJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgVFZhcmlhYmxlcyxcbiAgICBUQ29udGV4dCxcbiAgICBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PFxuICAgICAgJ2Vycm9yJyxcbiAgICAgIFREYXRhLFxuICAgICAgVEVycm9yLFxuICAgICAgVFZhcmlhYmxlcyxcbiAgICAgIFRDb250ZXh0XG4gICAgPlxuICA+XG4gIGlzUGVuZGluZzogKFxuICAgIHRoaXM6IENyZWF0ZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgKSA9PiB0aGlzIGlzIENyZWF0ZU11dGF0aW9uUmVzdWx0PFxuICAgIFREYXRhLFxuICAgIFRFcnJvcixcbiAgICBUVmFyaWFibGVzLFxuICAgIFRDb250ZXh0LFxuICAgIENyZWF0ZVN0YXR1c0Jhc2VkTXV0YXRpb25SZXN1bHQ8XG4gICAgICAncGVuZGluZycsXG4gICAgICBURGF0YSxcbiAgICAgIFRFcnJvcixcbiAgICAgIFRWYXJpYWJsZXMsXG4gICAgICBUQ29udGV4dFxuICAgID5cbiAgPlxuICBpc0lkbGU6IChcbiAgICB0aGlzOiBDcmVhdGVNdXRhdGlvblJlc3VsdDxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4sXG4gICkgPT4gdGhpcyBpcyBDcmVhdGVNdXRhdGlvblJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgVFZhcmlhYmxlcyxcbiAgICBUQ29udGV4dCxcbiAgICBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PCdpZGxlJywgVERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+XG4gID5cbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlTXV0YXRpb25SZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdW5rbm93bixcbiAgVENvbnRleHQgPSB1bmtub3duLFxuICBUU3RhdGUgPSBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PFxuICAgIENyZWF0ZUJhc2VNdXRhdGlvblJlc3VsdFsnc3RhdHVzJ10sXG4gICAgVERhdGEsXG4gICAgVEVycm9yLFxuICAgIFRWYXJpYWJsZXMsXG4gICAgVENvbnRleHRcbiAgPixcbj4gPSBCYXNlTXV0YXRpb25OYXJyb3dpbmc8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+ICZcbiAgTWFwVG9TaWduYWxzPE9taXRLZXlvZjxUU3RhdGUsIGtleW9mIEJhc2VNdXRhdGlvbk5hcnJvd2luZywgJ3NhZmVseSc+PlxuXG50eXBlIE92ZXJyaWRlPFRUYXJnZXRBLCBUVGFyZ2V0Qj4gPSB7XG4gIFtBS2V5IGluIGtleW9mIFRUYXJnZXRBXTogQUtleSBleHRlbmRzIGtleW9mIFRUYXJnZXRCXG4gICAgPyBUVGFyZ2V0QltBS2V5XVxuICAgIDogVFRhcmdldEFbQUtleV1cbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cblxuaW1wb3J0IHR5cGUge1xuICBEZWZhdWx0RXJyb3IsXG4gIERlZmluZWRJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG4gIERlZmluZWRRdWVyeU9ic2VydmVyUmVzdWx0LFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJPcHRpb25zLFxuICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG4gIE11dGF0ZUZ1bmN0aW9uLFxuICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyxcbiAgTXV0YXRpb25PYnNlcnZlclJlc3VsdCxcbiAgT21pdEtleW9mLFxuICBRdWVyeUtleSxcbiAgUXVlcnlPYnNlcnZlck9wdGlvbnMsXG4gIFF1ZXJ5T2JzZXJ2ZXJSZXN1bHQsXG59IGZyb20gJ0B0YW5zdGFjay9xdWVyeS1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBNYXBUb1NpZ25hbHMgfSBmcm9tICcuL3NpZ25hbC1wcm94eSdcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQmFzZVF1ZXJ5T3B0aW9uczxcbiAgVFF1ZXJ5Rm5EYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5RGF0YSA9IFRRdWVyeUZuRGF0YSxcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcbj4gZXh0ZW5kcyBRdWVyeU9ic2VydmVyT3B0aW9uczxcbiAgICBUUXVlcnlGbkRhdGEsXG4gICAgVEVycm9yLFxuICAgIFREYXRhLFxuICAgIFRRdWVyeURhdGEsXG4gICAgVFF1ZXJ5S2V5XG4gID4ge31cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUXVlcnlPcHRpb25zPFxuICBUUXVlcnlGbkRhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREYXRhID0gVFF1ZXJ5Rm5EYXRhLFxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IFF1ZXJ5S2V5LFxuPiBleHRlbmRzIE9taXRLZXlvZjxcbiAgICBDcmVhdGVCYXNlUXVlcnlPcHRpb25zPFxuICAgICAgVFF1ZXJ5Rm5EYXRhLFxuICAgICAgVEVycm9yLFxuICAgICAgVERhdGEsXG4gICAgICBUUXVlcnlGbkRhdGEsXG4gICAgICBUUXVlcnlLZXlcbiAgICA+LFxuICAgICdzdXNwZW5zZSdcbiAgPiB7fVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xudHlwZSBDcmVhdGVTdGF0dXNCYXNlZFF1ZXJ5UmVzdWx0PFxuICBUU3RhdHVzIGV4dGVuZHMgUXVlcnlPYnNlcnZlclJlc3VsdFsnc3RhdHVzJ10sXG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuPiA9IEV4dHJhY3Q8UXVlcnlPYnNlcnZlclJlc3VsdDxURGF0YSwgVEVycm9yPiwgeyBzdGF0dXM6IFRTdGF0dXMgfT5cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVF1ZXJ5TmFycm93aW5nPFREYXRhID0gdW5rbm93biwgVEVycm9yID0gRGVmYXVsdEVycm9yPiB7XG4gIGlzU3VjY2VzczogKFxuICAgIHRoaXM6IENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPixcbiAgKSA9PiB0aGlzIGlzIENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRRdWVyeVJlc3VsdDwnc3VjY2VzcycsIFREYXRhLCBURXJyb3I+XG4gID5cbiAgaXNFcnJvcjogKFxuICAgIHRoaXM6IENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPixcbiAgKSA9PiB0aGlzIGlzIENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRRdWVyeVJlc3VsdDwnZXJyb3InLCBURGF0YSwgVEVycm9yPlxuICA+XG4gIGlzUGVuZGluZzogKFxuICAgIHRoaXM6IENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxURGF0YSwgVEVycm9yPixcbiAgKSA9PiB0aGlzIGlzIENyZWF0ZUJhc2VRdWVyeVJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRRdWVyeVJlc3VsdDwncGVuZGluZycsIFREYXRhLCBURXJyb3I+XG4gID5cbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSW5maW5pdGVRdWVyeU9wdGlvbnM8XG4gIFRRdWVyeUZuRGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVERhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeURhdGEgPSBUUXVlcnlGbkRhdGEsXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gUXVlcnlLZXksXG4gIFRQYWdlUGFyYW0gPSB1bmtub3duLFxuPiBleHRlbmRzIE9taXRLZXlvZjxcbiAgICBJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJPcHRpb25zPFxuICAgICAgVFF1ZXJ5Rm5EYXRhLFxuICAgICAgVEVycm9yLFxuICAgICAgVERhdGEsXG4gICAgICBUUXVlcnlEYXRhLFxuICAgICAgVFF1ZXJ5S2V5LFxuICAgICAgVFBhZ2VQYXJhbVxuICAgID4sXG4gICAgJ3N1c3BlbnNlJ1xuICA+IHt9XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUU3RhdGUgPSBRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+LFxuPiA9IEJhc2VRdWVyeU5hcnJvd2luZzxURGF0YSwgVEVycm9yPiAmXG4gIE1hcFRvU2lnbmFsczxPbWl0S2V5b2Y8VFN0YXRlLCBrZXlvZiBCYXNlUXVlcnlOYXJyb3dpbmcsICdzYWZlbHknPj5cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5UmVzdWx0PFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbj4gPSBDcmVhdGVCYXNlUXVlcnlSZXN1bHQ8VERhdGEsIFRFcnJvcj5cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZmluZWRDcmVhdGVRdWVyeVJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFREZWZpbmVkUXVlcnlPYnNlcnZlciA9IERlZmluZWRRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+LFxuPiA9IE1hcFRvU2lnbmFsczxURGVmaW5lZFF1ZXJ5T2JzZXJ2ZXI+XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDcmVhdGVJbmZpbml0ZVF1ZXJ5UmVzdWx0PFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbj4gPSBNYXBUb1NpZ25hbHM8SW5maW5pdGVRdWVyeU9ic2VydmVyUmVzdWx0PFREYXRhLCBURXJyb3I+PlxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGVmaW5lZENyZWF0ZUluZmluaXRlUXVlcnlSZXN1bHQ8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBURGVmaW5lZEluZmluaXRlUXVlcnlPYnNlcnZlciA9IERlZmluZWRJbmZpbml0ZVF1ZXJ5T2JzZXJ2ZXJSZXN1bHQ8XG4gICAgVERhdGEsXG4gICAgVEVycm9yXG4gID4sXG4+ID0gTWFwVG9TaWduYWxzPFREZWZpbmVkSW5maW5pdGVRdWVyeU9ic2VydmVyPlxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNdXRhdGlvbk9wdGlvbnM8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdm9pZCxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiBleHRlbmRzIE9taXRLZXlvZjxcbiAgICBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4sXG4gICAgJ19kZWZhdWx0ZWQnXG4gID4ge31cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENyZWF0ZU11dGF0ZUZ1bmN0aW9uPFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVFZhcmlhYmxlcyA9IHZvaWQsXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4gPSAoXG4gIC4uLmFyZ3M6IFBhcmFtZXRlcnM8TXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+PlxuKSA9PiB2b2lkXG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDcmVhdGVNdXRhdGVBc3luY0Z1bmN0aW9uPFxuICBURGF0YSA9IHVua25vd24sXG4gIFRFcnJvciA9IERlZmF1bHRFcnJvcixcbiAgVFZhcmlhYmxlcyA9IHZvaWQsXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4gPSBNdXRhdGVGdW5jdGlvbjxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD5cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2VNdXRhdGlvblJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+ID0gT3ZlcnJpZGU8XG4gIE11dGF0aW9uT2JzZXJ2ZXJSZXN1bHQ8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICB7IG11dGF0ZTogQ3JlYXRlTXV0YXRlRnVuY3Rpb248VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+IH1cbj4gJiB7XG4gIG11dGF0ZUFzeW5jOiBDcmVhdGVNdXRhdGVBc3luY0Z1bmN0aW9uPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PlxufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xudHlwZSBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PFxuICBUU3RhdHVzIGV4dGVuZHMgQ3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0WydzdGF0dXMnXSxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4+ID0gRXh0cmFjdDxcbiAgQ3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgeyBzdGF0dXM6IFRTdGF0dXMgfVxuPlxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlTXV0YXRpb25OYXJyb3dpbmc8XG4gIFREYXRhID0gdW5rbm93bixcbiAgVEVycm9yID0gRGVmYXVsdEVycm9yLFxuICBUVmFyaWFibGVzID0gdW5rbm93bixcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPiB7XG4gIGlzU3VjY2VzczogKFxuICAgIHRoaXM6IENyZWF0ZU11dGF0aW9uUmVzdWx0PFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PixcbiAgKSA9PiB0aGlzIGlzIENyZWF0ZU11dGF0aW9uUmVzdWx0PFxuICAgIFREYXRhLFxuICAgIFRFcnJvcixcbiAgICBUVmFyaWFibGVzLFxuICAgIFRDb250ZXh0LFxuICAgIENyZWF0ZVN0YXR1c0Jhc2VkTXV0YXRpb25SZXN1bHQ8XG4gICAgICAnc3VjY2VzcycsXG4gICAgICBURGF0YSxcbiAgICAgIFRFcnJvcixcbiAgICAgIFRWYXJpYWJsZXMsXG4gICAgICBUQ29udGV4dFxuICAgID5cbiAgPlxuICBpc0Vycm9yOiAoXG4gICAgdGhpczogQ3JlYXRlTXV0YXRpb25SZXN1bHQ8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlTXV0YXRpb25SZXN1bHQ8XG4gICAgVERhdGEsXG4gICAgVEVycm9yLFxuICAgIFRWYXJpYWJsZXMsXG4gICAgVENvbnRleHQsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRNdXRhdGlvblJlc3VsdDxcbiAgICAgICdlcnJvcicsXG4gICAgICBURGF0YSxcbiAgICAgIFRFcnJvcixcbiAgICAgIFRWYXJpYWJsZXMsXG4gICAgICBUQ29udGV4dFxuICAgID5cbiAgPlxuICBpc1BlbmRpbmc6IChcbiAgICB0aGlzOiBDcmVhdGVNdXRhdGlvblJlc3VsdDxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4sXG4gICkgPT4gdGhpcyBpcyBDcmVhdGVNdXRhdGlvblJlc3VsdDxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgVFZhcmlhYmxlcyxcbiAgICBUQ29udGV4dCxcbiAgICBDcmVhdGVTdGF0dXNCYXNlZE11dGF0aW9uUmVzdWx0PFxuICAgICAgJ3BlbmRpbmcnLFxuICAgICAgVERhdGEsXG4gICAgICBURXJyb3IsXG4gICAgICBUVmFyaWFibGVzLFxuICAgICAgVENvbnRleHRcbiAgICA+XG4gID5cbiAgaXNJZGxlOiAoXG4gICAgdGhpczogQ3JlYXRlTXV0YXRpb25SZXN1bHQ8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+LFxuICApID0+IHRoaXMgaXMgQ3JlYXRlTXV0YXRpb25SZXN1bHQ8XG4gICAgVERhdGEsXG4gICAgVEVycm9yLFxuICAgIFRWYXJpYWJsZXMsXG4gICAgVENvbnRleHQsXG4gICAgQ3JlYXRlU3RhdHVzQmFzZWRNdXRhdGlvblJlc3VsdDwnaWRsZScsIFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PlxuICA+XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBDcmVhdGVNdXRhdGlvblJlc3VsdDxcbiAgVERhdGEgPSB1bmtub3duLFxuICBURXJyb3IgPSBEZWZhdWx0RXJyb3IsXG4gIFRWYXJpYWJsZXMgPSB1bmtub3duLFxuICBUQ29udGV4dCA9IHVua25vd24sXG4gIFRTdGF0ZSA9IENyZWF0ZVN0YXR1c0Jhc2VkTXV0YXRpb25SZXN1bHQ8XG4gICAgQ3JlYXRlQmFzZU11dGF0aW9uUmVzdWx0WydzdGF0dXMnXSxcbiAgICBURGF0YSxcbiAgICBURXJyb3IsXG4gICAgVFZhcmlhYmxlcyxcbiAgICBUQ29udGV4dFxuICA+LFxuPiA9IEJhc2VNdXRhdGlvbk5hcnJvd2luZzxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4gJlxuICBNYXBUb1NpZ25hbHM8T21pdEtleW9mPFRTdGF0ZSwga2V5b2YgQmFzZU11dGF0aW9uTmFycm93aW5nLCAnc2FmZWx5Jz4+XG5cbnR5cGUgT3ZlcnJpZGU8VFRhcmdldEEsIFRUYXJnZXRCPiA9IHtcbiAgW0FLZXkgaW4ga2V5b2YgVFRhcmdldEFdOiBBS2V5IGV4dGVuZHMga2V5b2YgVFRhcmdldEJcbiAgICA/IFRUYXJnZXRCW0FLZXldXG4gICAgOiBUVGFyZ2V0QVtBS2V5XVxufVxuIl19
@@ -4,21 +4,49 @@ import { untracked, computed, inject, Injector, NgZone, runInInjectionContext, D
4
4
 
5
5
  /* istanbul ignore file */
6
6
 
7
+ /**
8
+ * Allows to share and re-use query options in a type-safe way.
9
+ *
10
+ * The `queryKey` will be tagged with the type from `queryFn`.
11
+ *
12
+ * **Example**
13
+ *
14
+ * ```ts
15
+ * const { queryKey } = queryOptions({
16
+ * queryKey: ['key'],
17
+ * queryFn: () => Promise.resolve(5),
18
+ * // ^? Promise<number>
19
+ * })
20
+ *
21
+ * const queryClient = new QueryClient()
22
+ * const data = queryClient.getQueryData(queryKey)
23
+ * // ^? number | undefined
24
+ * ```
25
+ * @param options - The query options to tag with the type from `queryFn`.
26
+ * @returns The tagged query options.
27
+ * @public
28
+ */
7
29
  function queryOptions(options) {
8
30
  return options;
9
31
  }
10
32
 
33
+ /**
34
+ * Allows to share and re-use infinite query options in a type-safe way.
35
+ *
36
+ * The `queryKey` will be tagged with the type from `queryFn`.
37
+ * @param options - The infinite query options to tag with the type from `queryFn`.
38
+ * @returns The tagged infinite query options.
39
+ * @public
40
+ */
11
41
  function infiniteQueryOptions(options) {
12
42
  return options;
13
43
  }
14
44
 
15
45
  /**
16
46
  * Exposes fields of an object passed via an Angular `Signal` as `Computed` signals.
17
- *
18
47
  * Functions on the object are passed through as-is.
19
- *
20
48
  * @param inputSignal - `Signal` that must return an object.
21
- *
49
+ * @returns A proxy object with the same fields as the input object, but with each field wrapped in a `Computed` signal.
22
50
  */
23
51
  function signalProxy(inputSignal) {
24
52
  const internalState = {};
@@ -93,7 +121,7 @@ function lazyInit(initializer) {
93
121
  /**
94
122
  * Base implementation for `injectQuery` and `injectInfiniteQuery`.
95
123
  */
96
- function createBaseQuery(options, Observer, queryClient) {
124
+ function createBaseQuery(optionsFn, Observer, queryClient) {
97
125
  const injector = inject(Injector);
98
126
  const ngZone = inject(NgZone);
99
127
  return lazyInit(() => {
@@ -106,7 +134,7 @@ function createBaseQuery(options, Observer, queryClient) {
106
134
  * are preserved and can keep being applied after signal changes
107
135
  */
108
136
  const defaultedOptionsSignal = computed(() => {
109
- const defaultedOptions = queryClient.defaultQueryOptions(options(queryClient));
137
+ const defaultedOptions = queryClient.defaultQueryOptions(optionsFn(queryClient));
110
138
  defaultedOptions._optimisticResults = 'optimistic';
111
139
  return defaultedOptions;
112
140
  });
@@ -223,15 +251,52 @@ function createNoopInjectionToken(description, options) {
223
251
  ];
224
252
  }
225
253
 
226
- const [injectQueryClient, provideQueryClient, QUERY_CLIENT] = createNoopInjectionToken('QueryClientToken');
254
+ const tokens = createNoopInjectionToken('QueryClientToken');
255
+ /**
256
+ * Injects the `QueryClient` instance into the component or service.
257
+ *
258
+ * **Example**
259
+ * ```ts
260
+ * const queryClient = injectQueryClient();
261
+ * ```
262
+ * @returns The `QueryClient` instance.
263
+ * @public
264
+ */
265
+ const injectQueryClient = tokens[0];
266
+ /**
267
+ * Usually {@link provideAngularQuery} is used once to set up TanStack Query and the
268
+ * {@link https://tanstack.com/query/latest/docs/reference/QueryClient|QueryClient}
269
+ * for the entire application. You can use `provideQueryClient` to provide a
270
+ * different `QueryClient` instance for a part of the application.
271
+ * @public
272
+ */
273
+ const provideQueryClient = tokens[1];
227
274
 
228
- function injectInfiniteQuery(options, injector) {
275
+ /**
276
+ * Injects an infinite query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
277
+ * Infinite queries can additively "load more" data onto an existing set of data or "infinite scroll"
278
+ * @param optionsFn - A function that returns infinite query options.
279
+ * @param injector - The Angular injector to use.
280
+ * @returns The infinite query result.
281
+ * @public
282
+ */
283
+ function injectInfiniteQuery(optionsFn, injector) {
229
284
  return assertInjector(injectInfiniteQuery, injector, () => {
230
285
  const queryClient = injectQueryClient();
231
- return createBaseQuery(options, InfiniteQueryObserver, queryClient);
286
+ return createBaseQuery(optionsFn, InfiniteQueryObserver, queryClient);
232
287
  });
233
288
  }
234
289
 
290
+ /**
291
+ * Injects a signal that tracks the number of queries that your application is loading or
292
+ * fetching in the background.
293
+ *
294
+ * Can be used for app-wide loading indicators
295
+ * @param filters - The filters to apply to the query.
296
+ * @param injector - The Angular injector to use.
297
+ * @returns signal with number of loading or fetching queries.
298
+ * @public
299
+ */
235
300
  function injectIsFetching(filters, injector) {
236
301
  return assertInjector(injectIsFetching, injector, () => {
237
302
  const queryClient = injectQueryClient();
@@ -256,6 +321,15 @@ function injectIsFetching(filters, injector) {
256
321
  });
257
322
  }
258
323
 
324
+ /**
325
+ * Injects a signal that tracks the number of mutations that your application is fetching.
326
+ *
327
+ * Can be used for app-wide loading indicators
328
+ * @param filters - The filters to apply to the query.
329
+ * @param injector - The Angular injector to use.
330
+ * @returns signal with number of fetching mutations.
331
+ * @public
332
+ */
259
333
  function injectIsMutating(filters, injector) {
260
334
  return assertInjector(injectIsMutating, injector, () => {
261
335
  const queryClient = injectQueryClient();
@@ -280,19 +354,28 @@ function injectIsMutating(filters, injector) {
280
354
  });
281
355
  }
282
356
 
283
- function injectMutation(options, injector) {
357
+ /**
358
+ * Injects a mutation: an imperative function that can be invoked which typically performs server side effects.
359
+ *
360
+ * Unlike queries, mutations are not run automatically.
361
+ * @param optionsFn - A function that returns mutation options.
362
+ * @param injector - The Angular injector to use.
363
+ * @returns The mutation.
364
+ * @public
365
+ */
366
+ function injectMutation(optionsFn, injector) {
284
367
  return assertInjector(injectMutation, injector, () => {
285
368
  const queryClient = injectQueryClient();
286
369
  const currentInjector = inject(Injector);
287
370
  const destroyRef = inject(DestroyRef);
288
371
  const ngZone = inject(NgZone);
289
372
  return lazyInit(() => runInInjectionContext(currentInjector, () => {
290
- const observer = new MutationObserver(queryClient, options(queryClient));
373
+ const observer = new MutationObserver(queryClient, optionsFn(queryClient));
291
374
  const mutate = (variables, mutateOptions) => {
292
375
  observer.mutate(variables, mutateOptions).catch(noop);
293
376
  };
294
377
  effect(() => {
295
- observer.setOptions(options(queryClient));
378
+ observer.setOptions(optionsFn(queryClient));
296
379
  });
297
380
  const result = signal(observer.getCurrentResult());
298
381
  const unsubscribe = observer.subscribe(notifyManager.batchCalls((state) => {
@@ -335,6 +418,13 @@ function getResult(mutationCache, options) {
335
418
  ? options.select(mutation)
336
419
  : mutation.state));
337
420
  }
421
+ /**
422
+ * Injects a signal that tracks the state of all mutations.
423
+ * @param mutationStateOptionsFn - A function that returns mutation state options.
424
+ * @param options - The Angular injector to use.
425
+ * @returns The signal that tracks the state of all mutations.
426
+ * @public
427
+ */
338
428
  function injectMutationState(mutationStateOptionsFn = () => ({}), options) {
339
429
  return assertInjector(injectMutationState, options?.injector, () => {
340
430
  const destroyRef = inject(DestroyRef);
@@ -365,6 +455,9 @@ function injectMutationState(mutationStateOptionsFn = () => ({}), options) {
365
455
  });
366
456
  }
367
457
 
458
+ /**
459
+ * @public
460
+ */
368
461
  function injectQueries({ queries, ...options }, injector) {
369
462
  return assertInjector(injectQueries, injector, () => {
370
463
  const queryClient = injectQueryClient();
@@ -391,14 +484,86 @@ function injectQueries({ queries, ...options }, injector) {
391
484
  });
392
485
  }
393
486
 
394
- function injectQuery(options, injector) {
487
+ /**
488
+ * Injects a query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
489
+ *
490
+ * **Basic example**
491
+ * ```ts
492
+ * class ServiceOrComponent {
493
+ * query = injectQuery(() => ({
494
+ * queryKey: ['repoData'],
495
+ * queryFn: () =>
496
+ * this.#http.get<Response>('https://api.github.com/repos/tanstack/query'),
497
+ * }))
498
+ * }
499
+ * ```
500
+ *
501
+ * **The options function can utilize signals**
502
+ * ```ts
503
+ * class ServiceOrComponent {
504
+ * filter = signal('')
505
+ *
506
+ * todosQuery = injectQuery(() => ({
507
+ * queryKey: ['todos', this.filter()],
508
+ * queryFn: () => fetchTodos(this.filter()),
509
+ * // Signals can be combined with expressions
510
+ * enabled: !!this.filter(),
511
+ * }))
512
+ * }
513
+ * ```
514
+ * @param optionsFn - A function that returns query options.
515
+ * @param injector - The Angular injector to use.
516
+ * @returns The query result.
517
+ * @public
518
+ * @see https://tanstack.com/query/latest/docs/framework/angular/guides/queries
519
+ */
520
+ function injectQuery(optionsFn, injector) {
395
521
  const assertedInjector = assertInjector(injectQuery, injector);
396
522
  return assertInjector(injectQuery, injector, () => {
397
523
  const queryClient = injectQueryClient();
398
- return createBaseQuery((client) => runInInjectionContext(assertedInjector, () => options(client)), QueryObserver, queryClient);
524
+ return createBaseQuery((client) => runInInjectionContext(assertedInjector, () => optionsFn(client)), QueryObserver, queryClient);
399
525
  });
400
526
  }
401
527
 
528
+ /**
529
+ * Sets up providers necessary to enable TanStack Query functionality for Angular applications.
530
+ *
531
+ * Allows to configure a `QueryClient`.
532
+ *
533
+ * **Example - standalone**
534
+ *
535
+ * ```ts
536
+ * import {
537
+ * provideAngularQuery,
538
+ * QueryClient,
539
+ * } from '@tanstack/angular-query-experimental'
540
+ *
541
+ * bootstrapApplication(AppComponent, {
542
+ * providers: [provideAngularQuery(new QueryClient())],
543
+ * })
544
+ * ```
545
+ *
546
+ * **Example - NgModule-based**
547
+ *
548
+ * ```ts
549
+ * import {
550
+ * provideAngularQuery,
551
+ * QueryClient,
552
+ * } from '@tanstack/angular-query-experimental'
553
+ *
554
+ * @NgModule({
555
+ * declarations: [AppComponent],
556
+ * imports: [BrowserModule],
557
+ * providers: [provideAngularQuery(new QueryClient())],
558
+ * bootstrap: [AppComponent],
559
+ * })
560
+ * export class AppModule {}
561
+ * ```
562
+ * @param queryClient - A `QueryClient` instance.
563
+ * @returns A set of providers to set up TanStack Query.
564
+ * @public
565
+ * @see https://tanstack.com/query/v5/docs/framework/angular/quick-start
566
+ */
402
567
  function provideAngularQuery(queryClient) {
403
568
  return makeEnvironmentProviders([
404
569
  provideQueryClient(queryClient),
@@ -421,5 +586,5 @@ function provideAngularQuery(queryClient) {
421
586
  * Generated bundle index. Do not edit.
422
587
  */
423
588
 
424
- export { QUERY_CLIENT, infiniteQueryOptions, injectInfiniteQuery, injectIsFetching, injectIsMutating, injectMutation, injectMutationState, injectQueries, injectQuery, injectQueryClient, provideAngularQuery, provideQueryClient, queryOptions };
589
+ export { infiniteQueryOptions, injectInfiniteQuery, injectIsFetching, injectIsMutating, injectMutation, injectMutationState, injectQueries, injectQuery, injectQueryClient, provideAngularQuery, provideQueryClient, queryOptions };
425
590
  //# sourceMappingURL=tanstack-angular-query-experimental.mjs.map