@ethlete/query 6.0.0-next.61 → 6.0.0-next.63

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 (28) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/fesm2022/ethlete-query-devtools-contract.mjs +1 -1
  3. package/fesm2022/ethlete-query-ngrx-toolkit.mjs +30 -7
  4. package/fesm2022/ethlete-query-ngrx-toolkit.mjs.map +1 -1
  5. package/fesm2022/ethlete-query.mjs +183 -43
  6. package/fesm2022/ethlete-query.mjs.map +1 -1
  7. package/generators/migrate-from-ngrx-toolkit/args-assignability.js +55 -8
  8. package/generators/migrate-from-ngrx-toolkit/consumers.js +133 -37
  9. package/generators/migrate-from-ngrx-toolkit/creators.js +8 -4
  10. package/generators/migrate-from-ngrx-toolkit/feature.js +31 -4
  11. package/generators/migrate-from-ngrx-toolkit/migration.js +3 -1
  12. package/generators/migrate-from-ngrx-toolkit/module-resolution.js +23 -0
  13. package/generators/migrate-from-ngrx-toolkit/store-removal.js +64 -11
  14. package/generators/migrate-to-query-v3/auth-consumers-migration.js +64 -0
  15. package/generators/migrate-to-query-v3/auth-provider-scaffold.js +93 -1
  16. package/generators/migrate-to-query-v3/cleanup-migration.js +135 -15
  17. package/generators/migrate-to-query-v3/legacy-prepare-migration.js +275 -27
  18. package/generators/migrate-to-query-v3/legacy-query-creator-migration.js +171 -25
  19. package/generators/migrate-to-query-v3/migration.js +9 -3
  20. package/generators/migrate-to-query-v3/module-resolution.js +131 -0
  21. package/generators/migrate-to-query-v3/query-client-migration.js +82 -14
  22. package/generators/migrate-to-query-v3/rename-symbols.js +16 -11
  23. package/generators/move-devtools-contract-imports/moved-names.js +1 -0
  24. package/migrations.json +10 -0
  25. package/package.json +1 -1
  26. package/types/ethlete-query-devtools-contract.d.ts +2 -2
  27. package/types/ethlete-query-ngrx-toolkit.d.ts +13 -0
  28. package/types/ethlete-query.d.ts +40 -6
@@ -698,14 +698,15 @@ const tokensNotAvailableInsideAuthAndExec = () => {
698
698
  const invalidStateInsideSecureExecuteFactory = () => {
699
699
  return new RuntimeError(QueryRuntimeErrorCode.INVALID_STATE_INSIDE_SECURE_EXECUTE_FACTORY, `An invalid state occurred inside the secure execute factory.`);
700
700
  };
701
- const circularQueryDependency = () => {
702
- return new RuntimeError(QueryRuntimeErrorCode.CIRCULAR_QUERY_DEPENDENCY, `The same query was executed with identical args more than 5 times in a row, less than 100ms apart. This is usually a sign of a circular dependency.`);
701
+ const describeQuery = (route) => typeof route === "string" ? `The query for "${route}"` : "A query with a function route";
702
+ const circularQueryDependency = (route) => {
703
+ return new RuntimeError(QueryRuntimeErrorCode.CIRCULAR_QUERY_DEPENDENCY, `${describeQuery(route)} was executed with identical args more than 5 times in a row, less than 100ms apart. This is usually a sign of a circular dependency. Repeated execute({ skipCache: true }) calls count too, e.g. a test that fakes responses in a tight loop.`);
703
704
  };
704
705
  const queryExecutedAfterDestroyMessage = (route) => {
705
- return `${typeof route === "string" ? `The query for "${route}"` : "A query with a function route"} was executed after the scope that created it was destroyed. The call was ignored - drop the reference to the query when its component or injector goes away.`;
706
+ return `${describeQuery(route)} was executed after the scope that created it was destroyed. The call was ignored - drop the reference to the query when its component or injector goes away.`;
706
707
  };
707
708
  const queryExecutedWhileParkedMessage = (route) => {
708
- return `${typeof route === "string" ? `The query for "${route}"` : "A query with a function route"} was executed while its withArgs source returned null (parked). The call was ignored - pass args to execute(), or let the source return them.`;
709
+ return `${describeQuery(route)} was executed while its withArgs source returned null (parked). The call was ignored - pass args to execute(), or let the source return them.`;
709
710
  };
710
711
  const legacyPrepareWithoutInjectionContext = (creatorName, method = "prepare") => {
711
712
  const label = creatorName ? `"${creatorName}"` : "A legacy query creator";
@@ -2375,7 +2376,7 @@ const LONG_POLLING_TRIGGER = "long-polling";
2375
2376
  const FEATURE_TRIGGERS = ["polling", "auto-refresh"];
2376
2377
  const CIRCULAR_DEPENDENCY_WINDOW_MS = 100;
2377
2378
  const CIRCULAR_DEPENDENCY_MAX_REPEATS = 5;
2378
- const circularQueryDependencyChecker = () => {
2379
+ const circularQueryDependencyChecker = (route) => {
2379
2380
  const recent = /* @__PURE__ */ new Map();
2380
2381
  const check = (args) => {
2381
2382
  const now = Date.now();
@@ -2385,7 +2386,7 @@ const circularQueryDependencyChecker = () => {
2385
2386
  const repeats = entry ? entry.repeats + 1 : 1;
2386
2387
  if (repeats > CIRCULAR_DEPENDENCY_MAX_REPEATS) {
2387
2388
  recent.delete(signature);
2388
- throw circularQueryDependency();
2389
+ throw circularQueryDependency(route);
2389
2390
  }
2390
2391
  recent.set(signature, {
2391
2392
  lastTs: now,
@@ -2396,7 +2397,7 @@ const circularQueryDependencyChecker = () => {
2396
2397
  };
2397
2398
  const createExecuteFn = (executeOptions) => {
2398
2399
  const executeState = setupQueryExecuteState();
2399
- const circularChecker = circularQueryDependencyChecker();
2400
+ const circularChecker = circularQueryDependencyChecker(executeOptions.creatorInternals.route);
2400
2401
  const aborter = createQueryExecutionAborter(executeOptions.state);
2401
2402
  const reset = () => untracked(() => resetExecuteState({
2402
2403
  executeState,
@@ -4581,7 +4582,7 @@ const AUTH_HEADER$1 = "Authorization";
4581
4582
  const EXPIRED_TOKEN_WAIT_MS = 5e3;
4582
4583
  const createSecureExecuteFactory = (options) => {
4583
4584
  const executeState = setupQueryExecuteState();
4584
- const circularChecker = circularQueryDependencyChecker();
4585
+ const circularChecker = circularQueryDependencyChecker(options.route);
4585
4586
  const aborter = createQueryExecutionAborter(options.state);
4586
4587
  let authQuerySubscription = Subscription.EMPTY;
4587
4588
  let tokenRefreshSubscription = Subscription.EMPTY;
@@ -6181,21 +6182,41 @@ const buildPersistentAuthFeature = (config, context) => {
6181
6182
  writeCookie(carriedToken, cookieExpiry(rememberMeSignal()));
6182
6183
  };
6183
6184
  adoptOtherScopeCookie();
6185
+ let lastHeldToken = null;
6186
+ let retriedState = null;
6187
+ const readFresherCookieToken = () => {
6188
+ const storedToken = getCookie(cookieName);
6189
+ const revealedToken = storedToken ? deobfuscateToken(storedToken) : null;
6190
+ return revealedToken && revealedToken !== lastHeldToken ? revealedToken : null;
6191
+ };
6184
6192
  effect(() => {
6185
6193
  const token = refreshToken();
6186
6194
  const rememberMe = rememberMeSignal();
6187
6195
  if (context.isTabLocalSession()) return;
6188
6196
  if (!token) return;
6197
+ lastHeldToken = token;
6189
6198
  removeOtherScopeCookies();
6190
6199
  writeCookie(obfuscateToken(token), cookieExpiry(rememberMe));
6191
6200
  });
6192
6201
  effect(() => {
6193
- if (context.sessionEndCause() && !context.isTabLocalSession()) removeCookie();
6202
+ const endCause = context.sessionEndCause();
6203
+ if (!endCause || context.isTabLocalSession()) return;
6204
+ if (endCause === "expired" && readFresherCookieToken()) {
6205
+ retriedState = untracked(executionState);
6206
+ exchangeCookie();
6207
+ return;
6208
+ }
6209
+ removeCookie();
6194
6210
  });
6195
6211
  effect(() => {
6196
6212
  const state = executionState();
6197
6213
  if (!state) return;
6198
- if (state.state === "error" && (state.type === "tokenRefresh" || state.type === "autoLogin") && (state.error.code === 401 || state.error.code === 403) && !context.isTabLocalSession()) removeCookie();
6214
+ if (!(state.state === "error" && (state.type === "tokenRefresh" || state.type === "autoLogin") && (state.error.code === 401 || state.error.code === 403)) || context.isTabLocalSession() || state === retriedState) return;
6215
+ if (readFresherCookieToken()) {
6216
+ exchangeCookie();
6217
+ return;
6218
+ }
6219
+ removeCookie();
6199
6220
  });
6200
6221
  const autoLoginBuilder = context.queryBuilders.find((builder) => builder.key === config.autoLogin.queryKey);
6201
6222
  const buildAutoLoginArgs = (token) => {
@@ -6208,6 +6229,7 @@ const buildPersistentAuthFeature = (config, context) => {
6208
6229
  if (!storedToken) return;
6209
6230
  const revealedToken = deobfuscateToken(storedToken);
6210
6231
  if (!revealedToken) return;
6232
+ lastHeldToken = revealedToken;
6211
6233
  const args = buildAutoLoginArgs(revealedToken);
6212
6234
  context.queries[config.autoLogin.queryKey].execute(args, { triggeredBy: "persistent-auth" });
6213
6235
  };
@@ -6616,7 +6638,7 @@ const buildTrackingFeature = (context, config) => {
6616
6638
  };
6617
6639
  };
6618
6640
  const createTrackingFeature = (context, config) => runInInjectionContext(context.injector, () => buildTrackingFeature(context, config));
6619
- const QUERY_VERSION = "6.0.0-next.61";
6641
+ const QUERY_VERSION = "6.0.0-next.63";
6620
6642
  const ethlete = {};
6621
6643
  let app = null;
6622
6644
  const publish = () => {
@@ -6639,15 +6661,22 @@ const queryDevtoolsAbout = () => ({
6639
6661
  let mounted = 0;
6640
6662
  let settled = false;
6641
6663
  let notify = null;
6664
+ let showInAutomation = false;
6642
6665
  const setQueryDevtoolsUiMounted = (isMounted) => {
6643
6666
  mounted = Math.max(0, mounted + (isMounted ? 1 : -1));
6644
6667
  notify?.();
6645
6668
  };
6669
+ const isQueryDevtoolsUiMounted = () => mounted > 0;
6646
6670
  const markQueryDevtoolsAppSettled = () => {
6647
6671
  settled = true;
6648
6672
  notify?.();
6649
6673
  };
6650
- const queryDevtoolsPillsAllowed = () => mounted > 0 || !settled;
6674
+ const queryDevtoolsPillsAllowed = () => !isQueryDevtoolsHiddenInAutomation() && (mounted > 0 || !settled);
6675
+ const setQueryDevtoolsShowInAutomation = (show) => {
6676
+ showInAutomation = show;
6677
+ notify?.();
6678
+ };
6679
+ const isQueryDevtoolsHiddenInAutomation = () => !showInAutomation && typeof navigator !== "undefined" && navigator.webdriver === true;
6651
6680
  const onQueryDevtoolsUiChange = (listener) => {
6652
6681
  notify = listener;
6653
6682
  };
@@ -9762,12 +9791,15 @@ const ONE_TIME_OPTIONS = [
9762
9791
  "apiEnvs",
9763
9792
  "authAccounts",
9764
9793
  "responseHistory",
9765
- "schema"
9794
+ "schema",
9795
+ "showInAutomation"
9766
9796
  ];
9767
- const settleThePillsOnFirstRender = () => provideEnvironmentInitializer(() => {
9797
+ const settleThePillsOnFirstRender = (ui) => provideEnvironmentInitializer(() => {
9768
9798
  const destroyRef = inject(DestroyRef);
9769
9799
  setQueryDevtoolsPillNonce(inject(CSP_NONCE, { optional: true }));
9800
+ const injector = inject(EnvironmentInjector);
9770
9801
  afterNextRender(() => {
9802
+ if (ui && !isQueryDevtoolsUiMounted()) ui().then((m) => m.mountQueryDevtools(injector));
9771
9803
  const settle = setTimeout(markQueryDevtoolsAppSettled, PILL_SETTLE_GRACE_MS);
9772
9804
  destroyRef.onDestroy(() => clearTimeout(settle));
9773
9805
  });
@@ -9779,12 +9811,13 @@ const warnAboutIgnoredOptions = (options) => {
9779
9811
  };
9780
9812
  const ɵresetQueryDevtoolsForTesting = () => {
9781
9813
  queryDevtoolsInitialized = false;
9814
+ setQueryDevtoolsShowInAutomation(false);
9782
9815
  setQueryDevtoolsRegistrar(null);
9783
9816
  };
9784
9817
  const provideQueryDevtools = (options) => {
9785
9818
  if (queryDevtoolsInitialized) {
9786
9819
  warnAboutIgnoredOptions(options);
9787
- return makeEnvironmentProviders([settleThePillsOnFirstRender()]);
9820
+ return makeEnvironmentProviders([settleThePillsOnFirstRender(options?.ui)]);
9788
9821
  }
9789
9822
  queryDevtoolsInitialized = true;
9790
9823
  initQueryDevtoolsSettings();
@@ -9797,6 +9830,7 @@ const provideQueryDevtools = (options) => {
9797
9830
  initQueryDevtoolsFaults();
9798
9831
  setQueryDevtoolsSchemaLoader(options?.schema);
9799
9832
  setQueryDevtoolsApiEnvs(options?.apiEnvs);
9833
+ setQueryDevtoolsShowInAutomation(options?.showInAutomation ?? false);
9800
9834
  initQueryDevtoolsAuthSessions(options?.authAccounts);
9801
9835
  setQueryDevtoolsAuthSeedReader(readQueryDevtoolsAuthSeedFor);
9802
9836
  setQueryDevtoolsAuthProviderRegistrar(trackQueryDevtoolsAuthProvider);
@@ -9808,7 +9842,7 @@ const provideQueryDevtools = (options) => {
9808
9842
  setQueryDevtoolsMockResolver(resolveQueryDevtoolsMockForAttempt);
9809
9843
  setQueryDevtoolsTokenPayloadPatcher(applyQueryDevtoolsTokenTtl);
9810
9844
  if (!isDevMode()) console.warn("You are using the Query Devtools in production mode. This increases the size of your bundle and should only be used for development purposes.");
9811
- return makeEnvironmentProviders([settleThePillsOnFirstRender()]);
9845
+ return makeEnvironmentProviders([settleThePillsOnFirstRender(options?.ui)]);
9812
9846
  };
9813
9847
  const getOpName = /\b(?:query|mutation)\s+([\w-]+)(?:\s*\([^)]*\))?(?:\s*@\w+(?:\s*\([^)]*\))?)*\s*\{/;
9814
9848
  const STRING_LITERAL = "\"\"\"[\\s\\S]*?\"\"\"|\"(?:[^\"\\\\\\n]|\\\\.)*\"";
@@ -9852,7 +9886,7 @@ const gql = (strings, ...values) => {
9852
9886
  };
9853
9887
  const createGqlExecuteFn = (executeOptions) => {
9854
9888
  const executeState = setupQueryExecuteState();
9855
- const circularChecker = circularQueryDependencyChecker();
9889
+ const circularChecker = circularQueryDependencyChecker(executeOptions.creator?.route);
9856
9890
  const aborter = createQueryExecutionAborter(executeOptions.state);
9857
9891
  const reset = () => untracked(() => resetExecuteState({
9858
9892
  executeState,
@@ -10417,8 +10451,12 @@ const addQueryContainerHandling = (obs, valueFn, config) => {
10417
10451
  });
10418
10452
  };
10419
10453
  function toQuerySignal(source, options) {
10420
- const s = toSignal(source, options);
10421
- addQueryContainerHandling(source, () => s(), options);
10454
+ const shared = (source instanceof Observable ? source : new Observable((subscriber) => source.subscribe(subscriber))).pipe(shareReplay({
10455
+ bufferSize: 1,
10456
+ refCount: true
10457
+ }));
10458
+ const s = toSignal(shared, options);
10459
+ addQueryContainerHandling(shared, () => s(), options);
10422
10460
  return s;
10423
10461
  }
10424
10462
  function effectComputed(computation, injector) {
@@ -10845,6 +10883,15 @@ const transformExecStateToQueryState = (execState, triggeredVia = "program") =>
10845
10883
  };
10846
10884
  }
10847
10885
  };
10886
+ const signalChanges = (source, injector) => {
10887
+ const changes = new Subject();
10888
+ effect(() => {
10889
+ const value = source();
10890
+ untracked(() => changes.next(value));
10891
+ }, { injector });
10892
+ injector.get(DestroyRef).onDestroy(() => changes.complete());
10893
+ return changes.asObservable();
10894
+ };
10848
10895
  const isLegacyQuery = (query) => {
10849
10896
  if (!query || typeof query !== "object" || Array.isArray(query)) return false;
10850
10897
  if (!("newQuery" in query)) return false;
@@ -10871,40 +10918,45 @@ var LegacyQuery = class {
10871
10918
  this._errorAtExecute = null;
10872
10919
  this._ownLoadSettled = false;
10873
10920
  this._wasAborted = false;
10921
+ this._mockState = signal(null, ...ngDevMode ? [{ debugName: "_mockState" }] : /* istanbul ignore next */ []);
10922
+ this._mockSubscription = null;
10874
10923
  if (this._isInert) {
10875
10924
  this.state$ = of(transformExecStateToQueryState(null));
10876
10925
  this.isDestroyed = true;
10877
10926
  return;
10878
10927
  }
10879
- const executionState$ = toObservable(this.newQuery.executionState, { injector: this.newQuery.subtle.injector });
10880
- this.state$ = defer(() => executionState$.pipe(startWith(untracked(this.newQuery.executionState)))).pipe(distinctUntilChanged(), map((execState) => this.toQueryState(execState)), switchMap((s) => this._transformState(s)), shareReplay({
10881
- bufferSize: 1,
10882
- refCount: true
10883
- }));
10884
10928
  this.storeSyncEffect = effect(() => {
10885
10929
  const execState = this.newQuery.executionState();
10886
10930
  untracked(() => {
10887
- if (execState?.type !== "success" || !this.entity?.set) return;
10888
- const res = execState.response;
10889
- const id = this.entity.id({
10890
- args: this._arguments,
10891
- response: res
10892
- });
10893
- this.entity.set({
10894
- args: this._arguments,
10895
- response: res,
10896
- id,
10897
- store: this.entity.store
10898
- });
10931
+ if (execState?.type === "success") this.syncEntity(execState.response);
10899
10932
  });
10900
- }, ...ngDevMode ? [{ debugName: "storeSyncEffect" }] : /* istanbul ignore next */ []);
10933
+ }, {
10934
+ ...ngDevMode ? { debugName: "storeSyncEffect" } : /* istanbul ignore next */ {},
10935
+ injector: this.newQuery.subtle.injector
10936
+ });
10937
+ const executionState$ = signalChanges(this.newQuery.executionState, this.newQuery.subtle.injector);
10938
+ const mockState$ = signalChanges(this._mockState, this.newQuery.subtle.injector);
10939
+ this.state$ = defer(() => combineLatest([mockState$.pipe(startWith(untracked(this._mockState)), distinctUntilChanged()), executionState$.pipe(startWith(untracked(this.newQuery.executionState)), distinctUntilChanged())])).pipe(map(([mock, execState]) => mock ?? this.toQueryState(execState)), switchMap((s) => this._transformState(s)));
10901
10940
  this.newQuery.subtle.destroyRef.onDestroy(() => this.teardown());
10902
10941
  }
10903
10942
  get url() {
10904
10943
  return this.newQuery.url();
10905
10944
  }
10906
10945
  get rawState() {
10907
- return this.toQueryState(this.newQuery.executionState());
10946
+ return this._mockState() ?? this.toQueryState(this.newQuery.executionState());
10947
+ }
10948
+ syncEntity(response) {
10949
+ if (!this.entity?.set) return;
10950
+ const id = this.entity.id({
10951
+ args: this._arguments,
10952
+ response
10953
+ });
10954
+ this.entity.set({
10955
+ args: this._arguments,
10956
+ response,
10957
+ id,
10958
+ store: this.entity.store
10959
+ });
10908
10960
  }
10909
10961
  toQueryState(execState) {
10910
10962
  const state = transformExecStateToQueryState(execState, this.triggerOf(execState));
@@ -10959,7 +11011,10 @@ var LegacyQuery = class {
10959
11011
  return this._canBeCached;
10960
11012
  }
10961
11013
  get _isInMockMode() {
10962
- return false;
11014
+ return !!this.mockConfig;
11015
+ }
11016
+ get mockConfig() {
11017
+ return this._arguments?.mock;
10963
11018
  }
10964
11019
  destroy() {
10965
11020
  if (this.isDestroyed) return;
@@ -10978,6 +11033,10 @@ var LegacyQuery = class {
10978
11033
  this._ownLoadSettled = false;
10979
11034
  this._responseAtExecute = untracked(this.newQuery.response);
10980
11035
  this._errorAtExecute = untracked(this.newQuery.error);
11036
+ if (this.mockConfig) {
11037
+ this.startMock(this.mockConfig);
11038
+ return this;
11039
+ }
10981
11040
  untracked(() => this.newQuery.execute({
10982
11041
  args: this._arguments,
10983
11042
  options: { allowCache: options.skipCache !== true }
@@ -10989,9 +11048,63 @@ var LegacyQuery = class {
10989
11048
  abort() {
10990
11049
  if (!isQueryStateLoading(untracked(() => this.rawState))) return this;
10991
11050
  this._wasAborted = true;
11051
+ this._mockSubscription?.unsubscribe();
11052
+ this._mockSubscription = null;
11053
+ untracked(() => this._mockState.set(null));
10992
11054
  this.newQuery.reset();
10993
11055
  return this;
10994
11056
  }
11057
+ startMock({ delay = 200, error, response, retryIntoResponse = false, progress }) {
11058
+ this._mockSubscription?.unsubscribe();
11059
+ const meta = {
11060
+ id: -1,
11061
+ triggeredVia: this._triggeredVia
11062
+ };
11063
+ const loading = (extra = {}) => this._mockState.set({
11064
+ type: QueryStateType.Loading,
11065
+ meta,
11066
+ ...extra
11067
+ });
11068
+ const settle = () => {
11069
+ if (error) {
11070
+ this._mockState.set({
11071
+ type: QueryStateType.Failure,
11072
+ meta,
11073
+ error
11074
+ });
11075
+ return;
11076
+ }
11077
+ this.syncEntity(response);
11078
+ this._mockState.set({
11079
+ type: QueryStateType.Success,
11080
+ meta,
11081
+ headers: {},
11082
+ response
11083
+ });
11084
+ };
11085
+ untracked(() => {
11086
+ loading();
11087
+ if (progress) {
11088
+ const fileSize = progress.fileSize ?? 1e6;
11089
+ const eventCount = progress.eventCount ?? 5;
11090
+ this._mockSubscription = interval(delay).pipe(takeWhile((a) => a < eventCount + 1, true)).subscribe((a) => {
11091
+ if (a === eventCount + 1) return settle();
11092
+ const current = Math.min(fileSize * a, fileSize * eventCount);
11093
+ loading({
11094
+ progress: {
11095
+ current,
11096
+ ...progress.omitTotal ? {} : {
11097
+ percentage: current / (fileSize * eventCount) * 100,
11098
+ total: fileSize
11099
+ }
11100
+ },
11101
+ ...progress.omitPartialText ? {} : { partialText: `Partial text ${a}` }
11102
+ });
11103
+ });
11104
+ } else if (retryIntoResponse) this._mockSubscription = interval(delay).pipe(takeWhile((a) => a < 3, true)).subscribe((a) => a === 3 ? settle() : loading());
11105
+ else this._mockSubscription = timer(delay).subscribe(() => settle());
11106
+ });
11107
+ }
10995
11108
  poll(config) {
10996
11109
  if (this._pollingSubscription || this.isDestroyed) return this;
10997
11110
  this._currentPollConfig = config;
@@ -11070,6 +11183,8 @@ var LegacyQuery = class {
11070
11183
  this.isDestroyed = true;
11071
11184
  this._pollingSubscription?.unsubscribe();
11072
11185
  this._pollingSubscription = null;
11186
+ this._mockSubscription?.unsubscribe();
11187
+ this._mockSubscription = null;
11073
11188
  this._dependentsChanged$.complete();
11074
11189
  this.storeSyncEffect?.destroy();
11075
11190
  }
@@ -11166,6 +11281,8 @@ const canCreatorBeCached = (creator) => {
11166
11281
  if (method === "MUTATE") return false;
11167
11282
  return typeof method === "string" && shouldCacheQuery(method);
11168
11283
  };
11284
+ const stableStringify = (value) => JSON.stringify(value, (_key, nested) => nested && typeof nested === "object" && !Array.isArray(nested) ? Object.fromEntries(Object.entries(nested).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)) : nested);
11285
+ const cacheableHeaders = (headers) => Object.fromEntries(headers.keys().filter((name) => name.toLowerCase() !== "authorization").map((name) => [name.toLowerCase(), headers.getAll(name)]));
11169
11286
  var LegacyQueryCreator = class {
11170
11287
  constructor(options) {
11171
11288
  this.options = options;
@@ -11177,17 +11294,28 @@ var LegacyQueryCreator = class {
11177
11294
  headers = headers.set(key, value);
11178
11295
  }
11179
11296
  const variables = args?.variables;
11297
+ const mock = args?.mock;
11180
11298
  const queryArgs = {
11181
11299
  ...args?.body !== void 0 ? { body: args.body } : {},
11182
11300
  ...args?.pathParams ? { pathParams: args.pathParams } : {},
11183
11301
  ...args?.queryParams ? { queryParams: args.queryParams } : {},
11184
11302
  ...variables !== void 0 ? { variables } : {},
11303
+ ...mock ? { mock } : {},
11185
11304
  headers
11186
11305
  };
11187
11306
  if (!isInjectorUsable(injector)) {
11188
11307
  if (isDevMode()) console.warn(`${this.label ? `"${this.label}"` : "A legacy query"}.prepare() was called with a destroyed injector, so an inert query was returned. This usually means a callback outlived the component whose injector it captured - guard the call site with DestroyRef.onDestroy, or pass an injector that outlives it.`);
11189
11308
  return new LegacyQuery(createInertQuery(), queryArgs, this.options.entity, true, this.canBeCached);
11190
11309
  }
11310
+ const scope = injector.get(DestroyRef);
11311
+ const reuseKey = this.canBeCached && !args?.config?.skipQueryStore ? (args?.config?.queryStoreCacheKey ?? "") + stableStringify({
11312
+ ...queryArgs,
11313
+ headers: cacheableHeaders(headers)
11314
+ }) : null;
11315
+ if (reuseKey !== null) {
11316
+ const existing = this.preparedQueries.get(scope)?.get(reuseKey);
11317
+ if (existing && !existing.newQuery.subtle.injector.get(DestroyRef).destroyed) return existing;
11318
+ }
11191
11319
  return runInInjectionContext(injector, () => {
11192
11320
  return untracked(() => {
11193
11321
  const settleScope = this.canBeCached ? null : createSettleScope(injector);
@@ -11200,6 +11328,17 @@ var LegacyQueryCreator = class {
11200
11328
  });
11201
11329
  const legacyQuery = new LegacyQuery(newQuery, queryArgs, this.options.entity, false, this.canBeCached);
11202
11330
  settleScope?.bind(legacyQuery, newQuery.subtle.injector);
11331
+ if (reuseKey !== null) {
11332
+ let scoped = this.preparedQueries.get(scope);
11333
+ if (!scoped) {
11334
+ scoped = /* @__PURE__ */ new Map();
11335
+ this.preparedQueries.set(scope, scoped);
11336
+ }
11337
+ scoped.set(reuseKey, legacyQuery);
11338
+ newQuery.subtle.injector.get(DestroyRef).onDestroy(() => {
11339
+ if (scoped.get(reuseKey) === legacyQuery) scoped.delete(reuseKey);
11340
+ });
11341
+ }
11203
11342
  if (args?.config?.destroyOnResponse) effect(() => {
11204
11343
  const type = newQuery.executionState()?.type;
11205
11344
  if (type === "success" || type === "failure") legacyQuery.destroy();
@@ -11227,6 +11366,7 @@ var LegacyQueryCreator = class {
11227
11366
  return _signal;
11228
11367
  };
11229
11368
  this.behaviorSubject = this.createSubject;
11369
+ this.preparedQueries = /* @__PURE__ */ new WeakMap();
11230
11370
  }
11231
11371
  get canBeCached() {
11232
11372
  return canCreatorBeCached(this.options.creator);
@@ -11915,11 +12055,11 @@ var V2BearerAuthProvider = class {
11915
12055
  }
11916
12056
  setCookie() {
11917
12057
  if (!this._config.refreshConfig?.cookieName || !this.tokens.refreshToken) return;
11918
- setCookie(this._config.refreshConfig.cookieName, this.tokens.refreshToken, this._config.refreshConfig.cookieExpiresInDays, this._config.refreshConfig.cookieDomain ?? null, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieSameSite);
12058
+ setCookie(this._config.refreshConfig.cookieName, this.tokens.refreshToken, this._config.refreshConfig.cookieExpiresInDays, this._config.refreshConfig.cookieDomain, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieSameSite);
11919
12059
  }
11920
12060
  deleteCookie() {
11921
12061
  if (!this._config.refreshConfig?.cookieName) return;
11922
- deleteCookie(this._config.refreshConfig.cookieName, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieDomain ?? null);
12062
+ deleteCookie(this._config.refreshConfig.cookieName, this._config.refreshConfig.cookiePath, this._config.refreshConfig.cookieDomain);
11923
12063
  }
11924
12064
  prepareForRefresh() {
11925
12065
  if (!this.tokens.token || !this._config.refreshConfig) return;
@@ -12687,7 +12827,7 @@ var QueryDevtoolsComponent = class QueryDevtoolsComponent {
12687
12827
  refreshOnUnauthorizedResponse: refreshCfg?.refreshOnUnauthorizedResponse ?? "true (default)",
12688
12828
  token: refreshCfg?.token,
12689
12829
  cookieName: refreshCfg?.cookieName,
12690
- cookieDomain: refreshCfg?.cookieDomain ?? "current origin (default)",
12830
+ cookieDomain: refreshCfg?.cookieDomain ?? "parent domain (default)",
12691
12831
  cookieExpiresInDays: refreshCfg?.cookieExpiresInDays ?? "30 (default)",
12692
12832
  cookiePath: refreshCfg?.cookiePath ?? "/ (default)",
12693
12833
  cookieEnabled: refreshCfg?.cookieEnabled ?? "true (default)",
@@ -14909,6 +15049,6 @@ const createServerWebSocketClient = () => {
14909
15049
  subtle: { leaveRoom: () => void 0 }
14910
15050
  };
14911
15051
  };
14912
- export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, IS_QUERY_REQUEST, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QUERY_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryFeatures, authAccessTokenExpiryUnreadable, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsTokenTtl, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createAuthGuard, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDefaultRetryFn, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHeadQuery, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createOptionsQuery, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryBatch, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryGroup, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySubmission, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecureHeadQuery, createSecureOptionsQuery, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createSkippedSnapshot, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, detectContentTypeHeader, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, executeUntilSettled$, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, gqlErrorsInResponse, gqlTransformerFor, hasDefaultQueryRetry, hasHeader, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, invalidateOnSuccess, invalidatesUsedOnRead, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isIdempotentQueryMethod, isLegacyQuery, isNaN$1 as isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareFallbackInjector, legacyPrepareWithoutInjectionContext, mapToPaginated, mapViolationsToFormErrors, maybeExecute, mergeHeaders, nestedEffect, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryBatchAlreadyRunning, queryBatchWithArgsUsed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryCreatedInReactiveContext, queryErrorMessage, queryErrorMessages, queryExecute, queryExecutedAfterDestroyMessage, queryExecutedWhileParkedMessage, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, recordExecutionArgs, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, resolveQueryHeaders, resolveQueryTags, runDefaultQueryRetry, runQueryErrorParsers, searchQueryField, serializeBody, setDefaultQueryRetryFn, setQueryDevtoolsTokenTtl, setQueryDevtoolsUiMounted, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, skipParkedExecution, sortQueryField, splitQueryConfig, stringArrayQueryField, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, tableSortQueryField, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, transformToTableSort, transformToTableSortQueryParam, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapGqlResponseWithErrors, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withLongPolling, withLongPollingUsedOnUnsupportedHttpMethod, withLongPollingUsedWithPolling, withMultiTabSync, withOptimisticUpdate, withOptimisticUpdateUsedOnRead, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage, EMPTY_QUERY_DEVTOOLS_FAULT as ɵEMPTY_QUERY_DEVTOOLS_FAULT, MAX_QUERY_BATCH_TOMBSTONES as ɵMAX_QUERY_BATCH_TOMBSTONES, MAX_QUERY_BATCH_TOMBSTONE_BUCKETS as ɵMAX_QUERY_BATCH_TOMBSTONE_BUCKETS, MAX_QUERY_DEVTOOLS_TOMBSTONES as ɵMAX_QUERY_DEVTOOLS_TOMBSTONES, QUERY_DEVTOOLS_FAULT_STATUSES as ɵQUERY_DEVTOOLS_FAULT_STATUSES, QUERY_DEVTOOLS_TOKEN_TTL_LIMIT as ɵQUERY_DEVTOOLS_TOKEN_TTL_LIMIT, addQueryDevtoolsAuthAccount as ɵaddQueryDevtoolsAuthAccount, applyQueryDevtoolsOverrides as ɵapplyQueryDevtoolsOverrides, applyQueryDevtoolsTokenTtl as ɵapplyQueryDevtoolsTokenTtl, armAllQueryDevtoolsMocks as ɵarmAllQueryDevtoolsMocks, armQueryDevtoolsMock as ɵarmQueryDevtoolsMock, armQueryDevtoolsOverrideTransfer as ɵarmQueryDevtoolsOverrideTransfer, canOverrideQueryDevtoolsTokenTtl as ɵcanOverrideQueryDevtoolsTokenTtl, clearQueryDevtoolsArmedMocks as ɵclearQueryDevtoolsArmedMocks, clearQueryDevtoolsAuthCredentials as ɵclearQueryDevtoolsAuthCredentials, clearQueryDevtoolsAuthSessions as ɵclearQueryDevtoolsAuthSessions, clearQueryDevtoolsFaults as ɵclearQueryDevtoolsFaults, clearQueryDevtoolsMockStore as ɵclearQueryDevtoolsMockStore, clearQueryDevtoolsOverrideStore as ɵclearQueryDevtoolsOverrideStore, clearQueryDevtoolsStore as ɵclearQueryDevtoolsStore, clearQueryDevtoolsTombstones as ɵclearQueryDevtoolsTombstones, clearRestoredQueryDevtoolsOverrides as ɵclearRestoredQueryDevtoolsOverrides, collectLeafPaths as ɵcollectLeafPaths, collectQueryDevtoolsSchemaComponents as ɵcollectQueryDevtoolsSchemaComponents, countUnresolvedQueryDevtoolsOverrides as ɵcountUnresolvedQueryDevtoolsOverrides, createQueryDevtoolsOverrides as ɵcreateQueryDevtoolsOverrides, deleteQueryDevtoolsMock as ɵdeleteQueryDevtoolsMock, detectPaginationShape as ɵdetectPaginationShape, forgetQueryDevtoolsAuthSession as ɵforgetQueryDevtoolsAuthSession, forgetQueryDevtoolsAuthSessionsFor as ɵforgetQueryDevtoolsAuthSessionsFor, generateQueryDevtoolsNumberPreset as ɵgenerateQueryDevtoolsNumberPreset, generateQueryDevtoolsSampleNumber as ɵgenerateQueryDevtoolsSampleNumber, generateQueryDevtoolsStringPreset as ɵgenerateQueryDevtoolsStringPreset, hasQueryDevtoolsOverridesAtPath as ɵhasQueryDevtoolsOverridesAtPath, isDateShapedLeaf as ɵisDateShapedLeaf, isQueryDevtoolsEnabled as ɵisQueryDevtoolsEnabled, isQueryDevtoolsFaultArmed as ɵisQueryDevtoolsFaultArmed, isQueryDevtoolsRepositoryLive as ɵisQueryDevtoolsRepositoryLive, loadQueryDevtoolsSchema as ɵloadQueryDevtoolsSchema, loginQueryDevtoolsAuthAccount as ɵloginQueryDevtoolsAuthAccount, logoutQueryDevtoolsAuthSession as ɵlogoutQueryDevtoolsAuthSession, matchesQueryDevtoolsMockPattern as ɵmatchesQueryDevtoolsMockPattern, matchesQueryDevtoolsMockQuery as ɵmatchesQueryDevtoolsMockQuery, measureQueryDevtoolsPayload as ɵmeasureQueryDevtoolsPayload, parseQueryDevtoolsOverrideTransfer as ɵparseQueryDevtoolsOverrideTransfer, queryDevtoolsAbout as ɵqueryDevtoolsAbout, queryDevtoolsAllowsLocalAuthSessions as ɵqueryDevtoolsAllowsLocalAuthSessions, queryDevtoolsApiEnvIds as ɵqueryDevtoolsApiEnvIds, queryDevtoolsApiEnvIsProduction as ɵqueryDevtoolsApiEnvIsProduction, queryDevtoolsApiEnvScope as ɵqueryDevtoolsApiEnvScope, queryDevtoolsApiEnvValues as ɵqueryDevtoolsApiEnvValues, queryDevtoolsApiEnvs as ɵqueryDevtoolsApiEnvs, queryDevtoolsArmedMocks as ɵqueryDevtoolsArmedMocks, queryDevtoolsArmedMocksRestored as ɵqueryDevtoolsArmedMocksRestored, queryDevtoolsAuthAccountsFor as ɵqueryDevtoolsAuthAccountsFor, queryDevtoolsAuthActive as ɵqueryDevtoolsAuthActive, queryDevtoolsAuthFieldsFor as ɵqueryDevtoolsAuthFieldsFor, queryDevtoolsAuthOtherScopeCount as ɵqueryDevtoolsAuthOtherScopeCount, queryDevtoolsAuthSessions as ɵqueryDevtoolsAuthSessions, queryDevtoolsAuthSessionsFor as ɵqueryDevtoolsAuthSessionsFor, queryDevtoolsAuthTabLocal as ɵqueryDevtoolsAuthTabLocal, queryDevtoolsEntries as ɵqueryDevtoolsEntries, queryDevtoolsFaults as ɵqueryDevtoolsFaults, queryDevtoolsFaultsRestored as ɵqueryDevtoolsFaultsRestored, queryDevtoolsMockId as ɵqueryDevtoolsMockId, queryDevtoolsMocks as ɵqueryDevtoolsMocks, queryDevtoolsOverridePersistence as ɵqueryDevtoolsOverridePersistence, queryDevtoolsRequestPath as ɵqueryDevtoolsRequestPath, queryDevtoolsResponseHistory as ɵqueryDevtoolsResponseHistory, queryDevtoolsRestoredOverridesScope as ɵqueryDevtoolsRestoredOverridesScope, queryDevtoolsSchemaNames as ɵqueryDevtoolsSchemaNames, queryDevtoolsSchemaRoutes as ɵqueryDevtoolsSchemaRoutes, queryDevtoolsSchemaState as ɵqueryDevtoolsSchemaState, queryDevtoolsSettings as ɵqueryDevtoolsSettings, queryDevtoolsStorage as ɵqueryDevtoolsStorage, queryDevtoolsTokenTtls as ɵqueryDevtoolsTokenTtls, readQueryDevtoolsStore as ɵreadQueryDevtoolsStore, registerEthleteVersion as ɵregisterEthleteVersion, removeQueryDevtoolsAuthAccount as ɵremoveQueryDevtoolsAuthAccount, renameQueryDevtoolsAuthSession as ɵrenameQueryDevtoolsAuthSession, ɵresetQueryDevtoolsForTesting, restoredQueryDevtoolsOverrides as ɵrestoredQueryDevtoolsOverrides, saveQueryDevtoolsMock as ɵsaveQueryDevtoolsMock, seedQueryDevtoolsSchemaBody as ɵseedQueryDevtoolsSchemaBody, seedQueryDevtoolsSchemaRoute as ɵseedQueryDevtoolsSchemaRoute, serializeQueryDevtoolsOverrideTransfer as ɵserializeQueryDevtoolsOverrideTransfer, setQueryDevtoolsApiEnv as ɵsetQueryDevtoolsApiEnv, setQueryDevtoolsAppInfo as ɵsetQueryDevtoolsAppInfo, setQueryDevtoolsArmedMocksScope as ɵsetQueryDevtoolsArmedMocksScope, setQueryDevtoolsAuthCredentials as ɵsetQueryDevtoolsAuthCredentials, setQueryDevtoolsAuthTabLocal as ɵsetQueryDevtoolsAuthTabLocal, setQueryDevtoolsFault as ɵsetQueryDevtoolsFault, setQueryDevtoolsFaultsScope as ɵsetQueryDevtoolsFaultsScope, setQueryDevtoolsOverridePersistence as ɵsetQueryDevtoolsOverridePersistence, setQueryDevtoolsOverridesScope as ɵsetQueryDevtoolsOverridesScope, setQueryDevtoolsSettings as ɵsetQueryDevtoolsSettings, smartDuplicateArrayItem as ɵsmartDuplicateArrayItem, snapshotQueryDevtoolsHandle as ɵsnapshotQueryDevtoolsHandle, stringifyQueryRouteParts as ɵstringifyQueryRouteParts, sumQueryDevtoolsStats as ɵsumQueryDevtoolsStats, switchQueryDevtoolsAuthSession as ɵswitchQueryDevtoolsAuthSession, tombstoneOf as ɵtombstoneOf, writeQueryDevtoolsStore as ɵwriteQueryDevtoolsStore };
15052
+ export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, IS_QUERY_REQUEST, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QUERY_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryFeatures, authAccessTokenExpiryUnreadable, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsTokenTtl, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createAuthGuard, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDefaultRetryFn, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHeadQuery, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createOptionsQuery, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryBatch, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryGroup, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySubmission, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecureHeadQuery, createSecureOptionsQuery, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createSkippedSnapshot, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, detectContentTypeHeader, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, executeUntilSettled$, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, gqlErrorsInResponse, gqlTransformerFor, hasDefaultQueryRetry, hasHeader, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, invalidateOnSuccess, invalidatesUsedOnRead, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isIdempotentQueryMethod, isLegacyQuery, isNaN$1 as isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareFallbackInjector, legacyPrepareWithoutInjectionContext, mapToPaginated, mapViolationsToFormErrors, maybeExecute, mergeHeaders, nestedEffect, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryBatchAlreadyRunning, queryBatchWithArgsUsed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryCreatedInReactiveContext, queryErrorMessage, queryErrorMessages, queryExecute, queryExecutedAfterDestroyMessage, queryExecutedWhileParkedMessage, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, recordExecutionArgs, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, resolveQueryHeaders, resolveQueryTags, runDefaultQueryRetry, runQueryErrorParsers, searchQueryField, serializeBody, setDefaultQueryRetryFn, setQueryDevtoolsTokenTtl, setQueryDevtoolsUiMounted, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, skipParkedExecution, sortQueryField, splitQueryConfig, stringArrayQueryField, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, tableSortQueryField, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, transformToTableSort, transformToTableSortQueryParam, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapGqlResponseWithErrors, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withLongPolling, withLongPollingUsedOnUnsupportedHttpMethod, withLongPollingUsedWithPolling, withMultiTabSync, withOptimisticUpdate, withOptimisticUpdateUsedOnRead, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage, EMPTY_QUERY_DEVTOOLS_FAULT as ɵEMPTY_QUERY_DEVTOOLS_FAULT, MAX_QUERY_BATCH_TOMBSTONES as ɵMAX_QUERY_BATCH_TOMBSTONES, MAX_QUERY_BATCH_TOMBSTONE_BUCKETS as ɵMAX_QUERY_BATCH_TOMBSTONE_BUCKETS, MAX_QUERY_DEVTOOLS_TOMBSTONES as ɵMAX_QUERY_DEVTOOLS_TOMBSTONES, QUERY_DEVTOOLS_FAULT_STATUSES as ɵQUERY_DEVTOOLS_FAULT_STATUSES, QUERY_DEVTOOLS_TOKEN_TTL_LIMIT as ɵQUERY_DEVTOOLS_TOKEN_TTL_LIMIT, addQueryDevtoolsAuthAccount as ɵaddQueryDevtoolsAuthAccount, applyQueryDevtoolsOverrides as ɵapplyQueryDevtoolsOverrides, applyQueryDevtoolsTokenTtl as ɵapplyQueryDevtoolsTokenTtl, armAllQueryDevtoolsMocks as ɵarmAllQueryDevtoolsMocks, armQueryDevtoolsMock as ɵarmQueryDevtoolsMock, armQueryDevtoolsOverrideTransfer as ɵarmQueryDevtoolsOverrideTransfer, canOverrideQueryDevtoolsTokenTtl as ɵcanOverrideQueryDevtoolsTokenTtl, clearQueryDevtoolsArmedMocks as ɵclearQueryDevtoolsArmedMocks, clearQueryDevtoolsAuthCredentials as ɵclearQueryDevtoolsAuthCredentials, clearQueryDevtoolsAuthSessions as ɵclearQueryDevtoolsAuthSessions, clearQueryDevtoolsFaults as ɵclearQueryDevtoolsFaults, clearQueryDevtoolsMockStore as ɵclearQueryDevtoolsMockStore, clearQueryDevtoolsOverrideStore as ɵclearQueryDevtoolsOverrideStore, clearQueryDevtoolsStore as ɵclearQueryDevtoolsStore, clearQueryDevtoolsTombstones as ɵclearQueryDevtoolsTombstones, clearRestoredQueryDevtoolsOverrides as ɵclearRestoredQueryDevtoolsOverrides, collectLeafPaths as ɵcollectLeafPaths, collectQueryDevtoolsSchemaComponents as ɵcollectQueryDevtoolsSchemaComponents, countUnresolvedQueryDevtoolsOverrides as ɵcountUnresolvedQueryDevtoolsOverrides, createQueryDevtoolsOverrides as ɵcreateQueryDevtoolsOverrides, deleteQueryDevtoolsMock as ɵdeleteQueryDevtoolsMock, detectPaginationShape as ɵdetectPaginationShape, forgetQueryDevtoolsAuthSession as ɵforgetQueryDevtoolsAuthSession, forgetQueryDevtoolsAuthSessionsFor as ɵforgetQueryDevtoolsAuthSessionsFor, generateQueryDevtoolsNumberPreset as ɵgenerateQueryDevtoolsNumberPreset, generateQueryDevtoolsSampleNumber as ɵgenerateQueryDevtoolsSampleNumber, generateQueryDevtoolsStringPreset as ɵgenerateQueryDevtoolsStringPreset, hasQueryDevtoolsOverridesAtPath as ɵhasQueryDevtoolsOverridesAtPath, isDateShapedLeaf as ɵisDateShapedLeaf, isQueryDevtoolsEnabled as ɵisQueryDevtoolsEnabled, isQueryDevtoolsFaultArmed as ɵisQueryDevtoolsFaultArmed, isQueryDevtoolsHiddenInAutomation as ɵisQueryDevtoolsHiddenInAutomation, isQueryDevtoolsRepositoryLive as ɵisQueryDevtoolsRepositoryLive, loadQueryDevtoolsSchema as ɵloadQueryDevtoolsSchema, loginQueryDevtoolsAuthAccount as ɵloginQueryDevtoolsAuthAccount, logoutQueryDevtoolsAuthSession as ɵlogoutQueryDevtoolsAuthSession, matchesQueryDevtoolsMockPattern as ɵmatchesQueryDevtoolsMockPattern, matchesQueryDevtoolsMockQuery as ɵmatchesQueryDevtoolsMockQuery, measureQueryDevtoolsPayload as ɵmeasureQueryDevtoolsPayload, parseQueryDevtoolsOverrideTransfer as ɵparseQueryDevtoolsOverrideTransfer, queryDevtoolsAbout as ɵqueryDevtoolsAbout, queryDevtoolsAllowsLocalAuthSessions as ɵqueryDevtoolsAllowsLocalAuthSessions, queryDevtoolsApiEnvIds as ɵqueryDevtoolsApiEnvIds, queryDevtoolsApiEnvIsProduction as ɵqueryDevtoolsApiEnvIsProduction, queryDevtoolsApiEnvScope as ɵqueryDevtoolsApiEnvScope, queryDevtoolsApiEnvValues as ɵqueryDevtoolsApiEnvValues, queryDevtoolsApiEnvs as ɵqueryDevtoolsApiEnvs, queryDevtoolsArmedMocks as ɵqueryDevtoolsArmedMocks, queryDevtoolsArmedMocksRestored as ɵqueryDevtoolsArmedMocksRestored, queryDevtoolsAuthAccountsFor as ɵqueryDevtoolsAuthAccountsFor, queryDevtoolsAuthActive as ɵqueryDevtoolsAuthActive, queryDevtoolsAuthFieldsFor as ɵqueryDevtoolsAuthFieldsFor, queryDevtoolsAuthOtherScopeCount as ɵqueryDevtoolsAuthOtherScopeCount, queryDevtoolsAuthSessions as ɵqueryDevtoolsAuthSessions, queryDevtoolsAuthSessionsFor as ɵqueryDevtoolsAuthSessionsFor, queryDevtoolsAuthTabLocal as ɵqueryDevtoolsAuthTabLocal, queryDevtoolsEntries as ɵqueryDevtoolsEntries, queryDevtoolsFaults as ɵqueryDevtoolsFaults, queryDevtoolsFaultsRestored as ɵqueryDevtoolsFaultsRestored, queryDevtoolsMockId as ɵqueryDevtoolsMockId, queryDevtoolsMocks as ɵqueryDevtoolsMocks, queryDevtoolsOverridePersistence as ɵqueryDevtoolsOverridePersistence, queryDevtoolsRequestPath as ɵqueryDevtoolsRequestPath, queryDevtoolsResponseHistory as ɵqueryDevtoolsResponseHistory, queryDevtoolsRestoredOverridesScope as ɵqueryDevtoolsRestoredOverridesScope, queryDevtoolsSchemaNames as ɵqueryDevtoolsSchemaNames, queryDevtoolsSchemaRoutes as ɵqueryDevtoolsSchemaRoutes, queryDevtoolsSchemaState as ɵqueryDevtoolsSchemaState, queryDevtoolsSettings as ɵqueryDevtoolsSettings, queryDevtoolsStorage as ɵqueryDevtoolsStorage, queryDevtoolsTokenTtls as ɵqueryDevtoolsTokenTtls, readQueryDevtoolsStore as ɵreadQueryDevtoolsStore, registerEthleteVersion as ɵregisterEthleteVersion, removeQueryDevtoolsAuthAccount as ɵremoveQueryDevtoolsAuthAccount, renameQueryDevtoolsAuthSession as ɵrenameQueryDevtoolsAuthSession, ɵresetQueryDevtoolsForTesting, restoredQueryDevtoolsOverrides as ɵrestoredQueryDevtoolsOverrides, saveQueryDevtoolsMock as ɵsaveQueryDevtoolsMock, seedQueryDevtoolsSchemaBody as ɵseedQueryDevtoolsSchemaBody, seedQueryDevtoolsSchemaRoute as ɵseedQueryDevtoolsSchemaRoute, serializeQueryDevtoolsOverrideTransfer as ɵserializeQueryDevtoolsOverrideTransfer, setQueryDevtoolsApiEnv as ɵsetQueryDevtoolsApiEnv, setQueryDevtoolsAppInfo as ɵsetQueryDevtoolsAppInfo, setQueryDevtoolsArmedMocksScope as ɵsetQueryDevtoolsArmedMocksScope, setQueryDevtoolsAuthCredentials as ɵsetQueryDevtoolsAuthCredentials, setQueryDevtoolsAuthTabLocal as ɵsetQueryDevtoolsAuthTabLocal, setQueryDevtoolsFault as ɵsetQueryDevtoolsFault, setQueryDevtoolsFaultsScope as ɵsetQueryDevtoolsFaultsScope, setQueryDevtoolsOverridePersistence as ɵsetQueryDevtoolsOverridePersistence, setQueryDevtoolsOverridesScope as ɵsetQueryDevtoolsOverridesScope, setQueryDevtoolsSettings as ɵsetQueryDevtoolsSettings, smartDuplicateArrayItem as ɵsmartDuplicateArrayItem, snapshotQueryDevtoolsHandle as ɵsnapshotQueryDevtoolsHandle, stringifyQueryRouteParts as ɵstringifyQueryRouteParts, sumQueryDevtoolsStats as ɵsumQueryDevtoolsStats, switchQueryDevtoolsAuthSession as ɵswitchQueryDevtoolsAuthSession, tombstoneOf as ɵtombstoneOf, writeQueryDevtoolsStore as ɵwriteQueryDevtoolsStore };
14913
15053
 
14914
15054
  //# sourceMappingURL=ethlete-query.mjs.map