Skip to content

Commit cf3e774

Browse files
authored
Merge branch 'main' into chore/async-lint-rules
2 parents 195eda3 + ea9d373 commit cf3e774

File tree

23 files changed

+277
-416
lines changed

23 files changed

+277
-416
lines changed

examples/angular/auto-refetching/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"rxjs": "^7.8.2",
1919
"tslib": "^2.8.1",
2020
"zone.js": "0.15.0"

examples/angular/basic-persister/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"@tanstack/angular-query-persist-client": "^5.62.7",
1919
"@tanstack/query-sync-storage-persister": "^5.74.0",
2020
"rxjs": "^7.8.2",

examples/angular/basic/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"rxjs": "^7.8.2",
1919
"tslib": "^2.8.1",
2020
"zone.js": "0.15.0"

examples/angular/devtools-panel/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
1717
"@angular/router": "^19.2.4",
18-
"@tanstack/angular-query-devtools-experimental": "^5.74.0",
19-
"@tanstack/angular-query-experimental": "^5.74.0",
18+
"@tanstack/angular-query-devtools-experimental": "^5.74.1",
19+
"@tanstack/angular-query-experimental": "^5.74.1",
2020
"rxjs": "^7.8.2",
2121
"tslib": "^2.8.1",
2222
"zone.js": "0.15.0"

examples/angular/infinite-query-with-max-pages/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"rxjs": "^7.8.2",
1919
"tslib": "^2.8.1",
2020
"zone.js": "0.15.0"

examples/angular/optimistic-updates/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@angular/forms": "^19.2.4",
1616
"@angular/platform-browser": "^19.2.4",
1717
"@angular/platform-browser-dynamic": "^19.2.4",
18-
"@tanstack/angular-query-experimental": "^5.74.0",
18+
"@tanstack/angular-query-experimental": "^5.74.1",
1919
"rxjs": "^7.8.2",
2020
"tslib": "^2.8.1",
2121
"zone.js": "0.15.0"

examples/angular/pagination/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"rxjs": "^7.8.2",
1919
"tslib": "^2.8.1",
2020
"zone.js": "0.15.0"

examples/angular/query-options-from-a-service/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
1717
"@angular/router": "^19.2.4",
18-
"@tanstack/angular-query-experimental": "^5.74.0",
18+
"@tanstack/angular-query-experimental": "^5.74.1",
1919
"rxjs": "^7.8.2",
2020
"tslib": "^2.8.1",
2121
"zone.js": "0.15.0"

examples/angular/router/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
1717
"@angular/router": "^19.2.4",
18-
"@tanstack/angular-query-experimental": "^5.74.0",
18+
"@tanstack/angular-query-experimental": "^5.74.1",
1919
"rxjs": "^7.8.2",
2020
"tslib": "^2.8.1",
2121
"zone.js": "0.15.0"

examples/angular/rxjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@angular/forms": "^19.2.4",
1616
"@angular/platform-browser": "^19.2.4",
1717
"@angular/platform-browser-dynamic": "^19.2.4",
18-
"@tanstack/angular-query-experimental": "^5.74.0",
18+
"@tanstack/angular-query-experimental": "^5.74.1",
1919
"rxjs": "^7.8.2",
2020
"tslib": "^2.8.1",
2121
"zone.js": "0.15.0"

examples/angular/simple/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@angular/core": "^19.2.4",
1515
"@angular/platform-browser": "^19.2.4",
1616
"@angular/platform-browser-dynamic": "^19.2.4",
17-
"@tanstack/angular-query-experimental": "^5.74.0",
17+
"@tanstack/angular-query-experimental": "^5.74.1",
1818
"rxjs": "^7.8.2",
1919
"tslib": "^2.8.1",
2020
"zone.js": "0.15.0"

packages/angular-query-devtools-experimental/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tanstack/angular-query-devtools-experimental",
3-
"version": "5.74.0",
3+
"version": "5.74.1",
44
"description": "Developer tools to interact with and visualize the TanStack/angular-query cache",
55
"author": "Arnoud de Vries",
66
"license": "MIT",

packages/angular-query-experimental/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tanstack/angular-query-experimental",
3-
"version": "5.74.0",
3+
"version": "5.74.1",
44
"description": "Signals for managing, caching and syncing asynchronous and remote data in Angular",
55
"author": "Arnoud de Vries",
66
"license": "MIT",

packages/angular-query-experimental/src/inject-infinite-query.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { InfiniteQueryObserver } from '@tanstack/query-core'
2+
import {
3+
Injector,
4+
assertInInjectionContext,
5+
inject,
6+
runInInjectionContext,
7+
} from '@angular/core'
28
import { createBaseQuery } from './create-base-query'
3-
import { assertInjector } from './util/assert-injector/assert-injector'
49
import type {
510
DefaultError,
611
InfiniteData,
@@ -16,7 +21,6 @@ import type {
1621
DefinedInitialDataInfiniteOptions,
1722
UndefinedInitialDataInfiniteOptions,
1823
} from './infinite-query-options'
19-
import type { Injector } from '@angular/core'
2024

2125
export interface InjectInfiniteQueryOptions {
2226
/**
@@ -115,14 +119,12 @@ export function injectInfiniteQuery(
115119
injectInfiniteQueryFn: () => CreateInfiniteQueryOptions,
116120
options?: InjectInfiniteQueryOptions,
117121
) {
118-
return assertInjector(injectInfiniteQuery, options?.injector, () =>
122+
!options?.injector && assertInInjectionContext(injectInfiniteQuery)
123+
const injector = options?.injector ?? inject(Injector)
124+
return runInInjectionContext(injector, () =>
119125
createBaseQuery(
120126
injectInfiniteQueryFn,
121127
InfiniteQueryObserver as typeof QueryObserver,
122128
),
123129
)
124130
}
125-
126-
export interface InjectInfiniteQueryOptions {
127-
injector?: Injector
128-
}
Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
import { DestroyRef, NgZone, inject, signal } from '@angular/core'
1+
import {
2+
DestroyRef,
3+
Injector,
4+
NgZone,
5+
assertInInjectionContext,
6+
inject,
7+
signal,
8+
} from '@angular/core'
29
import { QueryClient, notifyManager } from '@tanstack/query-core'
3-
import { assertInjector } from './util/assert-injector/assert-injector'
410
import type { QueryFilters } from '@tanstack/query-core'
5-
import type { Injector, Signal } from '@angular/core'
11+
import type { Signal } from '@angular/core'
612

713
export interface InjectIsFetchingOptions {
814
/**
@@ -27,34 +33,34 @@ export function injectIsFetching(
2733
filters?: QueryFilters,
2834
options?: InjectIsFetchingOptions,
2935
): Signal<number> {
30-
return assertInjector(injectIsFetching, options?.injector, () => {
31-
const destroyRef = inject(DestroyRef)
32-
const ngZone = inject(NgZone)
33-
const queryClient = inject(QueryClient)
36+
!options?.injector && assertInInjectionContext(injectIsFetching)
37+
const injector = options?.injector ?? inject(Injector)
38+
const destroyRef = injector.get(DestroyRef)
39+
const ngZone = injector.get(NgZone)
40+
const queryClient = injector.get(QueryClient)
3441

35-
const cache = queryClient.getQueryCache()
36-
// isFetching is the prev value initialized on mount *
37-
let isFetching = queryClient.isFetching(filters)
42+
const cache = queryClient.getQueryCache()
43+
// isFetching is the prev value initialized on mount *
44+
let isFetching = queryClient.isFetching(filters)
3845

39-
const result = signal(isFetching)
46+
const result = signal(isFetching)
4047

41-
const unsubscribe = ngZone.runOutsideAngular(() =>
42-
cache.subscribe(
43-
notifyManager.batchCalls(() => {
44-
const newIsFetching = queryClient.isFetching(filters)
45-
if (isFetching !== newIsFetching) {
46-
// * and update with each change
47-
isFetching = newIsFetching
48-
ngZone.run(() => {
49-
result.set(isFetching)
50-
})
51-
}
52-
}),
53-
),
54-
)
48+
const unsubscribe = ngZone.runOutsideAngular(() =>
49+
cache.subscribe(
50+
notifyManager.batchCalls(() => {
51+
const newIsFetching = queryClient.isFetching(filters)
52+
if (isFetching !== newIsFetching) {
53+
// * and update with each change
54+
isFetching = newIsFetching
55+
ngZone.run(() => {
56+
result.set(isFetching)
57+
})
58+
}
59+
}),
60+
),
61+
)
5562

56-
destroyRef.onDestroy(unsubscribe)
63+
destroyRef.onDestroy(unsubscribe)
5764

58-
return result
59-
})
65+
return result
6066
}
Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
import { DestroyRef, NgZone, inject, signal } from '@angular/core'
1+
import {
2+
DestroyRef,
3+
Injector,
4+
NgZone,
5+
assertInInjectionContext,
6+
inject,
7+
signal,
8+
} from '@angular/core'
29
import { QueryClient, notifyManager } from '@tanstack/query-core'
3-
import { assertInjector } from './util/assert-injector/assert-injector'
410
import type { MutationFilters } from '@tanstack/query-core'
5-
import type { Injector, Signal } from '@angular/core'
11+
import type { Signal } from '@angular/core'
612

713
export interface InjectIsMutatingOptions {
814
/**
@@ -26,34 +32,34 @@ export function injectIsMutating(
2632
filters?: MutationFilters,
2733
options?: InjectIsMutatingOptions,
2834
): Signal<number> {
29-
return assertInjector(injectIsMutating, options?.injector, () => {
30-
const destroyRef = inject(DestroyRef)
31-
const ngZone = inject(NgZone)
32-
const queryClient = inject(QueryClient)
35+
!options?.injector && assertInInjectionContext(injectIsMutating)
36+
const injector = options?.injector ?? inject(Injector)
37+
const destroyRef = injector.get(DestroyRef)
38+
const ngZone = injector.get(NgZone)
39+
const queryClient = injector.get(QueryClient)
3340

34-
const cache = queryClient.getMutationCache()
35-
// isMutating is the prev value initialized on mount *
36-
let isMutating = queryClient.isMutating(filters)
41+
const cache = queryClient.getMutationCache()
42+
// isMutating is the prev value initialized on mount *
43+
let isMutating = queryClient.isMutating(filters)
3744

38-
const result = signal(isMutating)
45+
const result = signal(isMutating)
3946

40-
const unsubscribe = ngZone.runOutsideAngular(() =>
41-
cache.subscribe(
42-
notifyManager.batchCalls(() => {
43-
const newIsMutating = queryClient.isMutating(filters)
44-
if (isMutating !== newIsMutating) {
45-
// * and update with each change
46-
isMutating = newIsMutating
47-
ngZone.run(() => {
48-
result.set(isMutating)
49-
})
50-
}
51-
}),
52-
),
53-
)
47+
const unsubscribe = ngZone.runOutsideAngular(() =>
48+
cache.subscribe(
49+
notifyManager.batchCalls(() => {
50+
const newIsMutating = queryClient.isMutating(filters)
51+
if (isMutating !== newIsMutating) {
52+
// * and update with each change
53+
isMutating = newIsMutating
54+
ngZone.run(() => {
55+
result.set(isMutating)
56+
})
57+
}
58+
}),
59+
),
60+
)
5461

55-
destroyRef.onDestroy(unsubscribe)
62+
destroyRef.onDestroy(unsubscribe)
5663

57-
return result
58-
})
64+
return result
5965
}

packages/angular-query-experimental/src/inject-is-restoring.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from '@angular/core'
88
import type { Provider, Signal } from '@angular/core'
99

10-
const IsRestoring = new InjectionToken<Signal<boolean>>('IsRestoring')
10+
const IS_RESTORING = new InjectionToken<Signal<boolean>>('')
1111

1212
/**
1313
* The `Injector` in which to create the isRestoring signal.
@@ -30,7 +30,7 @@ export function injectIsRestoring(
3030
!options?.injector && assertInInjectionContext(injectIsRestoring)
3131
const injector = options?.injector ?? inject(Injector)
3232
return injector.get(
33-
IsRestoring,
33+
IS_RESTORING,
3434
computed(() => false),
3535
{ optional: true },
3636
)
@@ -44,7 +44,7 @@ export function injectIsRestoring(
4444
*/
4545
export function provideIsRestoring(isRestoring: Signal<boolean>): Provider {
4646
return {
47-
provide: IsRestoring,
47+
provide: IS_RESTORING,
4848
useValue: isRestoring,
4949
}
5050
}

0 commit comments

Comments
 (0)