@tanstack/angular-query-experimental 5.103.1 → 5.103.3

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 (219) hide show
  1. package/dist/create-base-query.d.mts +169 -0
  2. package/dist/create-base-query.d.mts.map +1 -0
  3. package/dist/create-base-query.mjs +91 -0
  4. package/dist/create-base-query.mjs.map +1 -0
  5. package/dist/devtools/index.d.mts +3 -0
  6. package/dist/devtools/index.mjs +2 -0
  7. package/dist/devtools/production/index.d.mts +4 -0
  8. package/dist/devtools/production/index.mjs +2 -0
  9. package/dist/devtools/stub.d.mts +6 -0
  10. package/dist/devtools/stub.d.mts.map +1 -0
  11. package/dist/devtools/stub.mjs +9 -0
  12. package/dist/devtools/stub.mjs.map +1 -0
  13. package/dist/devtools/types.d.mts +107 -0
  14. package/dist/devtools/types.d.mts.map +1 -0
  15. package/dist/devtools/types.mjs +1 -0
  16. package/{devtools/with-devtools.d.ts → dist/devtools/with-devtools.d.mts} +6 -2
  17. package/dist/devtools/with-devtools.d.mts.map +1 -0
  18. package/dist/devtools/with-devtools.mjs +110 -0
  19. package/dist/devtools/with-devtools.mjs.map +1 -0
  20. package/dist/devtools-panel/index.d.mts +3 -0
  21. package/dist/devtools-panel/index.mjs +2 -0
  22. package/{devtools-panel/inject-devtools-panel.d.ts → dist/devtools-panel/inject-devtools-panel.d.mts} +6 -2
  23. package/dist/devtools-panel/inject-devtools-panel.d.mts.map +1 -0
  24. package/dist/devtools-panel/inject-devtools-panel.mjs +67 -0
  25. package/dist/devtools-panel/inject-devtools-panel.mjs.map +1 -0
  26. package/dist/devtools-panel/production/index.d.mts +4 -0
  27. package/dist/devtools-panel/production/index.mjs +2 -0
  28. package/dist/devtools-panel/stub.d.mts +6 -0
  29. package/dist/devtools-panel/stub.d.mts.map +1 -0
  30. package/dist/devtools-panel/stub.mjs +7 -0
  31. package/dist/devtools-panel/stub.mjs.map +1 -0
  32. package/dist/devtools-panel/types.d.mts +52 -0
  33. package/dist/devtools-panel/types.d.mts.map +1 -0
  34. package/dist/devtools-panel/types.mjs +1 -0
  35. package/dist/index.d.mts +16 -0
  36. package/{index.mjs → dist/index.mjs} +8 -21
  37. package/dist/index.mjs.map +1 -0
  38. package/{infinite-query-options.d.ts → dist/infinite-query-options.d.mts} +35 -31
  39. package/dist/infinite-query-options.d.mts.map +1 -0
  40. package/dist/infinite-query-options.mjs +8 -0
  41. package/dist/infinite-query-options.mjs.map +1 -0
  42. package/{inject-infinite-query.d.ts → dist/inject-infinite-query.d.mts} +18 -14
  43. package/dist/inject-infinite-query.d.mts.map +1 -0
  44. package/dist/inject-infinite-query.mjs +13 -0
  45. package/dist/inject-infinite-query.mjs.map +1 -0
  46. package/{inject-is-fetching.d.ts → dist/inject-is-fetching.d.mts} +14 -10
  47. package/dist/inject-is-fetching.d.mts.map +1 -0
  48. package/dist/inject-is-fetching.mjs +69 -0
  49. package/dist/inject-is-fetching.mjs.map +1 -0
  50. package/{inject-is-mutating.d.ts → dist/inject-is-mutating.d.mts} +14 -10
  51. package/dist/inject-is-mutating.d.mts.map +1 -0
  52. package/dist/inject-is-mutating.mjs +52 -0
  53. package/dist/inject-is-mutating.mjs.map +1 -0
  54. package/{inject-is-restoring.d.ts → dist/inject-is-restoring.d.mts} +13 -10
  55. package/dist/inject-is-restoring.d.mts.map +1 -0
  56. package/dist/inject-is-restoring.mjs +35 -0
  57. package/dist/inject-is-restoring.mjs.map +1 -0
  58. package/{inject-mutation-state.d.ts → dist/inject-mutation-state.d.mts} +16 -13
  59. package/dist/inject-mutation-state.d.mts.map +1 -0
  60. package/dist/inject-mutation-state.mjs +103 -0
  61. package/dist/inject-mutation-state.mjs.map +1 -0
  62. package/{inject-mutation.d.ts → dist/inject-mutation.d.mts} +15 -11
  63. package/dist/inject-mutation.d.mts.map +1 -0
  64. package/dist/inject-mutation.mjs +226 -0
  65. package/dist/inject-mutation.mjs.map +1 -0
  66. package/dist/inject-queries-experimental/index.d.mts +2 -0
  67. package/dist/inject-queries-experimental/index.mjs +2 -0
  68. package/{inject-queries.d.ts → dist/inject-queries.d.mts} +36 -55
  69. package/dist/inject-queries.d.mts.map +1 -0
  70. package/dist/inject-queries.mjs +203 -0
  71. package/dist/inject-queries.mjs.map +1 -0
  72. package/{inject-query-client.d.ts → dist/inject-query-client.d.mts} +8 -4
  73. package/dist/inject-query-client.d.mts.map +1 -0
  74. package/dist/inject-query-client.mjs +23 -0
  75. package/dist/inject-query-client.mjs.map +1 -0
  76. package/{inject-query.d.ts → dist/inject-query.d.mts} +18 -14
  77. package/dist/inject-query.d.mts.map +1 -0
  78. package/dist/inject-query.mjs +12 -0
  79. package/dist/inject-query.mjs.map +1 -0
  80. package/{mutation-options.d.ts → dist/mutation-options.d.mts} +8 -4
  81. package/dist/mutation-options.d.mts.map +1 -0
  82. package/dist/mutation-options.mjs +8 -0
  83. package/dist/mutation-options.mjs.map +1 -0
  84. package/dist/pending-tasks-compat.d.mts +10 -0
  85. package/dist/pending-tasks-compat.d.mts.map +1 -0
  86. package/dist/pending-tasks-compat.mjs +13 -0
  87. package/dist/pending-tasks-compat.mjs.map +1 -0
  88. package/{providers.d.ts → dist/providers.d.mts} +16 -13
  89. package/dist/providers.d.mts.map +1 -0
  90. package/dist/providers.mjs +124 -0
  91. package/dist/providers.mjs.map +1 -0
  92. package/{query-options.d.ts → dist/query-options.d.mts} +41 -37
  93. package/dist/query-options.d.mts.map +1 -0
  94. package/dist/query-options.mjs +8 -0
  95. package/dist/query-options.mjs.map +1 -0
  96. package/dist/signal-proxy.d.mts +13 -0
  97. package/dist/signal-proxy.d.mts.map +1 -0
  98. package/dist/signal-proxy.mjs +35 -0
  99. package/dist/signal-proxy.mjs.map +1 -0
  100. package/{types.d.ts → dist/types.d.mts} +36 -37
  101. package/dist/types.d.mts.map +1 -0
  102. package/dist/types.mjs +6 -0
  103. package/dist/types.mjs.map +1 -0
  104. package/package.json +48 -20
  105. package/src/__tests__/infinite-query-options.test-d.ts +314 -0
  106. package/src/__tests__/infinite-query-options.test.ts +19 -0
  107. package/src/__tests__/inject-devtools-panel.test.ts +196 -0
  108. package/src/__tests__/inject-infinite-query.test-d.ts +66 -0
  109. package/src/__tests__/inject-infinite-query.test.ts +227 -0
  110. package/src/__tests__/inject-is-fetching.test.ts +108 -0
  111. package/src/__tests__/inject-is-mutating.test.ts +113 -0
  112. package/src/__tests__/inject-is-restoring.test.ts +93 -0
  113. package/src/__tests__/inject-mutation-state.test-d.ts +22 -0
  114. package/src/__tests__/inject-mutation-state.test.ts +198 -0
  115. package/src/__tests__/inject-mutation.test-d.ts +158 -0
  116. package/src/__tests__/inject-mutation.test.ts +1161 -0
  117. package/src/__tests__/inject-queries.test-d.ts +196 -0
  118. package/src/__tests__/inject-queries.test.ts +240 -0
  119. package/src/__tests__/inject-query.test-d.ts +357 -0
  120. package/src/__tests__/inject-query.test.ts +700 -0
  121. package/src/__tests__/mutation-options.test-d.ts +234 -0
  122. package/src/__tests__/mutation-options.test.ts +344 -0
  123. package/src/__tests__/pending-tasks.test.ts +644 -0
  124. package/src/__tests__/provide-query-client.test.ts +38 -0
  125. package/src/__tests__/provide-tanstack-query.test.ts +38 -0
  126. package/src/__tests__/query-options.test-d.ts +262 -0
  127. package/src/__tests__/query-options.test.ts +14 -0
  128. package/src/__tests__/signal-proxy.test.ts +27 -0
  129. package/src/__tests__/test-utils.ts +77 -0
  130. package/src/__tests__/with-devtools.test.ts +674 -0
  131. package/src/create-base-query.ts +175 -0
  132. package/src/devtools/index.ts +8 -0
  133. package/src/devtools/production/index.ts +1 -0
  134. package/src/devtools/stub.ts +7 -0
  135. package/src/devtools/types.ts +116 -0
  136. package/src/devtools/with-devtools.ts +182 -0
  137. package/src/devtools-panel/index.ts +8 -0
  138. package/src/devtools-panel/inject-devtools-panel.ts +110 -0
  139. package/src/devtools-panel/production/index.ts +1 -0
  140. package/src/devtools-panel/stub.ts +7 -0
  141. package/src/devtools-panel/types.ts +57 -0
  142. package/src/index.ts +60 -0
  143. package/src/infinite-query-options.ts +354 -0
  144. package/src/inject-infinite-query.ts +296 -0
  145. package/src/inject-is-fetching.ts +97 -0
  146. package/src/inject-is-mutating.ts +80 -0
  147. package/src/inject-is-restoring.ts +53 -0
  148. package/src/inject-mutation-state.ts +167 -0
  149. package/src/inject-mutation.ts +328 -0
  150. package/src/inject-queries-experimental/index.ts +1 -0
  151. package/src/inject-queries.ts +479 -0
  152. package/src/inject-query-client.ts +22 -0
  153. package/src/inject-query.ts +208 -0
  154. package/src/mutation-options.ts +121 -0
  155. package/src/pending-tasks-compat.ts +27 -0
  156. package/src/providers.ts +170 -0
  157. package/src/query-options.ts +292 -0
  158. package/src/signal-proxy.ts +46 -0
  159. package/src/types.ts +429 -0
  160. package/create-base-query.d.ts +0 -164
  161. package/create-base-query.mjs +0 -99
  162. package/create-base-query.mjs.map +0 -1
  163. package/devtools/index.d.ts +0 -2
  164. package/devtools/index.mjs +0 -5
  165. package/devtools/index.mjs.map +0 -1
  166. package/devtools/production/index.d.ts +0 -1
  167. package/devtools/stub.d.ts +0 -2
  168. package/devtools/stub.mjs +0 -8
  169. package/devtools/stub.mjs.map +0 -1
  170. package/devtools/types.d.ts +0 -100
  171. package/devtools/with-devtools.mjs +0 -106
  172. package/devtools/with-devtools.mjs.map +0 -1
  173. package/devtools-panel/index.d.ts +0 -2
  174. package/devtools-panel/index.mjs +0 -5
  175. package/devtools-panel/index.mjs.map +0 -1
  176. package/devtools-panel/inject-devtools-panel.mjs +0 -72
  177. package/devtools-panel/inject-devtools-panel.mjs.map +0 -1
  178. package/devtools-panel/production/index.d.ts +0 -1
  179. package/devtools-panel/stub.d.ts +0 -2
  180. package/devtools-panel/stub.mjs +0 -8
  181. package/devtools-panel/stub.mjs.map +0 -1
  182. package/devtools-panel/types.d.ts +0 -48
  183. package/index.d.ts +0 -25
  184. package/index.mjs.map +0 -1
  185. package/infinite-query-options.mjs +0 -7
  186. package/infinite-query-options.mjs.map +0 -1
  187. package/inject-infinite-query.mjs +0 -18
  188. package/inject-infinite-query.mjs.map +0 -1
  189. package/inject-is-fetching.mjs +0 -31
  190. package/inject-is-fetching.mjs.map +0 -1
  191. package/inject-is-mutating.mjs +0 -31
  192. package/inject-is-mutating.mjs.map +0 -1
  193. package/inject-is-restoring.mjs +0 -21
  194. package/inject-is-restoring.mjs.map +0 -1
  195. package/inject-mutation-state.mjs +0 -51
  196. package/inject-mutation-state.mjs.map +0 -1
  197. package/inject-mutation.mjs +0 -94
  198. package/inject-mutation.mjs.map +0 -1
  199. package/inject-queries-experimental/index.d.ts +0 -1
  200. package/inject-queries-experimental/index.mjs +0 -5
  201. package/inject-queries-experimental/index.mjs.map +0 -1
  202. package/inject-queries.mjs +0 -82
  203. package/inject-queries.mjs.map +0 -1
  204. package/inject-query-client.mjs +0 -9
  205. package/inject-query-client.mjs.map +0 -1
  206. package/inject-query.mjs +0 -14
  207. package/inject-query.mjs.map +0 -1
  208. package/mutation-options.mjs +0 -7
  209. package/mutation-options.mjs.map +0 -1
  210. package/pending-tasks-compat.d.ts +0 -7
  211. package/pending-tasks-compat.mjs +0 -19
  212. package/pending-tasks-compat.mjs.map +0 -1
  213. package/providers.mjs +0 -32
  214. package/providers.mjs.map +0 -1
  215. package/query-options.mjs +0 -7
  216. package/query-options.mjs.map +0 -1
  217. package/signal-proxy.d.ts +0 -11
  218. package/signal-proxy.mjs +0 -29
  219. package/signal-proxy.mjs.map +0 -1
@@ -1,6 +1,7 @@
1
- import { DefaultError, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, MutateFunction, MutationObserverOptions, MutationObserverResult, OmitKeyof, Override, QueryKey, QueryObserverOptions, QueryObserverResult } from '@tanstack/query-core';
2
- import { Signal } from '@angular/core';
3
- import { MapToSignals } from './signal-proxy.js';
1
+ import { MapToSignals } from "./signal-proxy.mjs";
2
+ import { Signal } from "@angular/core";
3
+ import { DefaultError, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, MutateFunction, MutationObserverOptions, MutationObserverResult, OmitKeyof, Override, QueryKey, QueryObserverOptions, QueryObserverResult } from "@tanstack/query-core";
4
+ //#region src/types.d.ts
4
5
  /**
5
6
  * The options shared across `angular-query-experimental`'s query functions. Extends
6
7
  * {@link QueryObserverOptions} from `@tanstack/query-core` as-is — unlike `react-query`,
@@ -14,8 +15,7 @@ import { MapToSignals } from './signal-proxy.js';
14
15
  * `placeholderData`. Defaults to, and is usually the same as, `TQueryFnData`.
15
16
  * @template TQueryKey - The type of your `queryKey`.
16
17
  */
17
- export interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
18
- }
18
+ interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {}
19
19
  /**
20
20
  * The options accepted by `injectQuery`. Same as {@link CreateBaseQueryOptions}, minus `suspense` — which
21
21
  * `angular-query-experimental` doesn't support, unlike `react-query`.
@@ -26,10 +26,9 @@ export interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = Default
26
26
  * `select` is used.
27
27
  * @template TQueryKey - The type of your `queryKey`.
28
28
  */
29
- export interface CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
30
- }
29
+ interface CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {}
31
30
  type CreateStatusBasedQueryResult<TStatus extends QueryObserverResult['status'], TData = unknown, TError = DefaultError> = Extract<QueryObserverResult<TData, TError>, {
32
- status: TStatus;
31
+ status: TStatus;
33
32
  }>;
34
33
  /**
35
34
  * The `isSuccess`/`isError`/`isPending` methods on a query result. Unlike `react-query`'s derived booleans,
@@ -40,10 +39,10 @@ type CreateStatusBasedQueryResult<TStatus extends QueryObserverResult['status'],
40
39
  * @template TData - The type `data` ends up as after `select` runs.
41
40
  * @template TError - The type of errors your `queryFn` may throw.
42
41
  */
43
- export interface BaseQueryNarrowing<TData = unknown, TError = DefaultError> {
44
- isSuccess: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'success', TData, TError>>;
45
- isError: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'error', TData, TError>>;
46
- isPending: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'pending', TData, TError>>;
42
+ interface BaseQueryNarrowing<TData = unknown, TError = DefaultError> {
43
+ isSuccess: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'success', TData, TError>>;
44
+ isError: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'error', TData, TError>>;
45
+ isPending: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'pending', TData, TError>>;
47
46
  }
48
47
  /**
49
48
  * The options accepted by `injectInfiniteQuery`. Same as {@link CreateBaseQueryOptions}, minus `suspense` —
@@ -59,8 +58,7 @@ export interface BaseQueryNarrowing<TData = unknown, TError = DefaultError> {
59
58
  * @template TQueryKey - The type of your `queryKey`.
60
59
  * @template TPageParam - The type of the parameter passed to `queryFn` to fetch a given page.
61
60
  */
62
- export interface CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'suspense'> {
63
- }
61
+ interface CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'suspense'> {}
64
62
  /**
65
63
  * The result of `injectQuery` when `initialData` isn't set — `data` may be `undefined` while the query is
66
64
  * `pending`. Same shape as {@link QueryObserverResult} from `@tanstack/query-core`, but value fields (like
@@ -72,14 +70,14 @@ export interface CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = Def
72
70
  * @template TData - The type `data` ends up as after `select` runs.
73
71
  * @template TError - The type of errors your `queryFn` may throw.
74
72
  */
75
- export type CreateBaseQueryResult<TData = unknown, TError = DefaultError, TState = QueryObserverResult<TData, TError>> = BaseQueryNarrowing<TData, TError> & MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>;
73
+ type CreateBaseQueryResult<TData = unknown, TError = DefaultError, TState = QueryObserverResult<TData, TError>> = BaseQueryNarrowing<TData, TError> & MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>;
76
74
  /**
77
75
  * The result of `injectQuery`. Same as {@link CreateBaseQueryResult}.
78
76
  *
79
77
  * @template TData - The type `data` ends up as after `select` runs.
80
78
  * @template TError - The type of errors your `queryFn` may throw.
81
79
  */
82
- export type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
80
+ type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
83
81
  /**
84
82
  * The result of `injectQuery` when `initialData` is set — `data` is never `undefined`. Same shape as
85
83
  * {@link DefinedQueryObserverResult} from `@tanstack/query-core`, but value fields are exposed as a
@@ -88,7 +86,7 @@ export type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBa
88
86
  * @template TData - The type `data` ends up as after `select` runs.
89
87
  * @template TError - The type of errors your `queryFn` may throw.
90
88
  */
91
- export type DefinedCreateQueryResult<TData = unknown, TError = DefaultError, TState = DefinedQueryObserverResult<TData, TError>> = BaseQueryNarrowing<TData, TError> & MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>;
89
+ type DefinedCreateQueryResult<TData = unknown, TError = DefaultError, TState = DefinedQueryObserverResult<TData, TError>> = BaseQueryNarrowing<TData, TError> & MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>;
92
90
  /**
93
91
  * The result of `injectInfiniteQuery` when `initialData` isn't set — `data` may be `undefined` while the
94
92
  * query is `pending`. Same shape as {@link InfiniteQueryObserverResult} from `@tanstack/query-core`, but
@@ -98,7 +96,7 @@ export type DefinedCreateQueryResult<TData = unknown, TError = DefaultError, TSt
98
96
  * @template TData - The type `data` ends up as after `select` runs.
99
97
  * @template TError - The type of errors your `queryFn` may throw.
100
98
  */
101
- export type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = BaseQueryNarrowing<TData, TError> & MapToSignals<InfiniteQueryObserverResult<TData, TError>>;
99
+ type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = BaseQueryNarrowing<TData, TError> & MapToSignals<InfiniteQueryObserverResult<TData, TError>>;
102
100
  /**
103
101
  * The result of `injectInfiniteQuery` when `initialData` is set — `data` is never `undefined`. Same shape as
104
102
  * {@link DefinedInfiniteQueryObserverResult} from `@tanstack/query-core`, but value fields are exposed as a
@@ -107,7 +105,7 @@ export type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> =
107
105
  * @template TData - The type `data` ends up as after `select` runs.
108
106
  * @template TError - The type of errors your `queryFn` may throw.
109
107
  */
110
- export type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultError, TDefinedInfiniteQueryObserver = DefinedInfiniteQueryObserverResult<TData, TError>> = MapToSignals<TDefinedInfiniteQueryObserver>;
108
+ type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultError, TDefinedInfiniteQueryObserver = DefinedInfiniteQueryObserverResult<TData, TError>> = MapToSignals<TDefinedInfiniteQueryObserver>;
111
109
  /**
112
110
  * The options accepted by `injectMutation`. Same as {@link MutationObserverOptions} from
113
111
  * `@tanstack/query-core`, minus the internal `_defaulted` flag.
@@ -118,8 +116,7 @@ export type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultEr
118
116
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
119
117
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
120
118
  */
121
- export interface CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> extends OmitKeyof<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>, '_defaulted'> {
122
- }
119
+ interface CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> extends OmitKeyof<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>, '_defaulted'> {}
123
120
  /**
124
121
  * The type of `mutate`, as returned by `injectMutation`. Forwards the variables (and an optional per-call
125
122
  * `onSuccess`/`onError`/`onSettled`) to the underlying `mutate` call. Fire-and-forget — errors are surfaced
@@ -131,7 +128,7 @@ export interface CreateMutationOptions<TData = unknown, TError = DefaultError, T
131
128
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
132
129
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
133
130
  */
134
- export type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TOnMutateResult>>) => void;
131
+ type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TOnMutateResult>>) => void;
135
132
  /**
136
133
  * The type of `mutateAsync`, as returned by `injectMutation`. Similar to {@link CreateMutateFunction}, but
137
134
  * returns a promise which can be awaited.
@@ -142,7 +139,7 @@ export type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariab
142
139
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
143
140
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
144
141
  */
145
- export type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = MutateFunction<TData, TError, TVariables, TOnMutateResult>;
142
+ type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = MutateFunction<TData, TError, TVariables, TOnMutateResult>;
146
143
  /**
147
144
  * The pre-`Signal` shape {@link CreateMutationResult} is built from — not what `injectMutation` actually
148
145
  * returns. Same as {@link MutationObserverResult} from `@tanstack/query-core`, with `mutate` narrowed to the
@@ -154,16 +151,16 @@ export type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TV
154
151
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
155
152
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
156
153
  */
157
- export type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TOnMutateResult>, {
158
- mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult>;
154
+ type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TOnMutateResult>, {
155
+ mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult>;
159
156
  }> & {
160
- /**
161
- * Similar to `mutate`, but returns a promise which can be awaited.
162
- */
163
- mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
157
+ /**
158
+ * Similar to `mutate`, but returns a promise which can be awaited.
159
+ */
160
+ mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult>;
164
161
  };
165
162
  type CreateStatusBasedMutationResult<TStatus extends CreateBaseMutationResult['status'], TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = Extract<CreateBaseMutationResult<TData, TError, TVariables, TOnMutateResult>, {
166
- status: TStatus;
163
+ status: TStatus;
167
164
  }>;
168
165
  type SignalFunction<T extends () => any> = T & Signal<ReturnType<T>>;
169
166
  /**
@@ -177,11 +174,11 @@ type SignalFunction<T extends () => any> = T & Signal<ReturnType<T>>;
177
174
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
178
175
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
179
176
  */
180
- export interface BaseMutationNarrowing<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> {
181
- isSuccess: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'success', TData, TError, TVariables, TOnMutateResult>>>;
182
- isError: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'error', TData, TError, TVariables, TOnMutateResult>>>;
183
- isPending: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'pending', TData, TError, TVariables, TOnMutateResult>>>;
184
- isIdle: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'idle', TData, TError, TVariables, TOnMutateResult>>>;
177
+ interface BaseMutationNarrowing<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> {
178
+ isSuccess: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'success', TData, TError, TVariables, TOnMutateResult>>>;
179
+ isError: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'error', TData, TError, TVariables, TOnMutateResult>>>;
180
+ isPending: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'pending', TData, TError, TVariables, TOnMutateResult>>>;
181
+ isIdle: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, CreateStatusBasedMutationResult<'idle', TData, TError, TVariables, TOnMutateResult>>>;
185
182
  }
186
183
  /**
187
184
  * The result of `injectMutation`. Based on {@link CreateBaseMutationResult}, but value fields are exposed as
@@ -195,5 +192,7 @@ export interface BaseMutationNarrowing<TData = unknown, TError = DefaultError, T
195
192
  * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as
196
193
  * their `onMutateResult` parameter — useful for optimistic-update rollback data.
197
194
  */
198
- export type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown, TState = CreateStatusBasedMutationResult<CreateBaseMutationResult['status'], TData, TError, TVariables, TOnMutateResult>> = BaseMutationNarrowing<TData, TError, TVariables, TOnMutateResult> & MapToSignals<OmitKeyof<TState, keyof BaseMutationNarrowing, 'safely'>>;
199
- export {};
195
+ type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown, TState = CreateStatusBasedMutationResult<CreateBaseMutationResult['status'], TData, TError, TVariables, TOnMutateResult>> = BaseMutationNarrowing<TData, TError, TVariables, TOnMutateResult> & MapToSignals<OmitKeyof<TState, keyof BaseMutationNarrowing, 'safely'>>;
196
+ //#endregion
197
+ export { BaseMutationNarrowing, BaseQueryNarrowing, CreateBaseMutationResult, CreateBaseQueryOptions, CreateBaseQueryResult, CreateInfiniteQueryOptions, CreateInfiniteQueryResult, CreateMutateAsyncFunction, CreateMutateFunction, CreateMutationOptions, CreateMutationResult, CreateQueryOptions, CreateQueryResult, DefinedCreateInfiniteQueryResult, DefinedCreateQueryResult };
198
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;;;;;;;;;;UAiCiB,uBACf,wBACA,SAAS,cACT,QAAQ,cACR,aAAa,cACb,kBAAkB,WAAW,kBACrB,qBACR,cACA,QACA,OACA,YACA;;;;;;;;;;;UAae,mBACf,wBACA,SAAS,cACT,QAAQ,cACR,kBAAkB,WAAW,kBACrB,UACR,uBAAuB,cAAc,QAAQ,OAAO,cAAc;KAI/D,6BACH,gBAAgB,+BAChB,iBACA,SAAS,gBACP,QAAQ,oBAAoB,OAAO;EAAW,QAAQ;;;;;;;;;;;UAWzC,mBAAmB,iBAAiB,SAAS;EAC5D,YACE,MAAM,sBAAsB,OAAO,oBACxB,sBACX,OACA,QACA,wCAAwC,OAAO;EAEjD,UACE,MAAM,sBAAsB,OAAO,oBACxB,sBACX,OACA,QACA,sCAAsC,OAAO;EAE/C,YACE,MAAM,sBAAsB,OAAO,oBACxB,sBACX,OACA,QACA,wCAAwC,OAAO;;;;;;;;;;;;;;;;UAkBlC,2BACf,wBACA,SAAS,cACT,QAAQ,cACR,kBAAkB,WAAW,UAC7B,8BACQ,UACR,6BACE,cACA,QACA,OACA,WACA;;;;;;;;;;;;KAgBQ,sBACV,iBACA,SAAS,cACT,SAAS,oBAAoB,OAAO,WAClC,mBAAmB,OAAO,UAC5B,aAAa,UAAU,cAAc;;;;;;;KAQ3B,kBACV,iBACA,SAAS,gBACP,sBAAsB,OAAO;;;;;;;;;KAUrB,yBACV,iBACA,SAAS,cACT,SAAS,2BAA2B,OAAO,WACzC,mBAAmB,OAAO,UAC5B,aAAa,UAAU,cAAc;;;;;;;;;;KAW3B,0BACV,iBACA,SAAS,gBACP,mBAAmB,OAAO,UAC5B,aAAa,4BAA4B,OAAO;;;;;;;;;KAUtC,iCACV,iBACA,SAAS,cACT,gCAAgC,mCAC9B,OACA,WAEA,aAAa;;;;;;;;;;;UAYA,sBACf,iBACA,SAAS,cACT,mBACA,mCACQ,UACR,wBAAwB,OAAO,QAAQ,YAAY;;;;;;;;;;;;KAezC,qBACV,iBACA,SAAS,cACT,mBACA,iCAEG,MAAM,WACP,eAAe,OAAO,QAAQ,YAAY;;;;;;;;;;;KAclC,0BACV,iBACA,SAAS,cACT,mBACA,6BACE,eAAe,OAAO,QAAQ,YAAY;;;;;;;;;;;;KAalC,yBACV,iBACA,SAAS,cACT,sBACA,6BACE,SACF,uBAAuB,OAAO,QAAQ,YAAY;EAChD,QAAQ,qBAAqB,OAAO,QAAQ,YAAY;;;;;EAK1D,aAAa,0BACX,OACA,QACA,YACA;;KAIC,gCACH,gBAAgB,oCAChB,iBACA,SAAS,cACT,sBACA,6BACE,QACF,yBAAyB,OAAO,QAAQ,YAAY;EAClD,QAAQ;;KAGP,eAAe,uBAAuB,IAAI,OAAO,WAAW;;;;;;;;;;;;UAahD,sBACf,iBACA,SAAS,cACT,sBACA;EAEA,WAAW,gBAEP,MAAM,qBAAqB,OAAO,QAAQ,YAAY,6BAC3C,qBACX,OACA,QACA,YACA,iBACA,2CAEE,OACA,QACA,YACA;EAIN,SAAS,gBAEL,MAAM,qBAAqB,OAAO,QAAQ,YAAY,6BAC3C,qBACX,OACA,QACA,YACA,iBACA,yCAEE,OACA,QACA,YACA;EAIN,WAAW,gBAEP,MAAM,qBAAqB,OAAO,QAAQ,YAAY,6BAC3C,qBACX,OACA,QACA,YACA,iBACA,2CAEE,OACA,QACA,YACA;EAIN,QAAQ,gBAEJ,MAAM,qBAAqB,OAAO,QAAQ,YAAY,6BAC3C,qBACX,OACA,QACA,YACA,iBACA,wCAEE,OACA,QACA,YACA;;;;;;;;;;;;;;KAkBI,qBACV,iBACA,SAAS,cACT,sBACA,2BACA,SAAS,gCACP,oCACA,OACA,QACA,YACA,oBAEA,sBAAsB,OAAO,QAAQ,YAAY,mBACnD,aAAa,UAAU,cAAc"}
package/dist/types.mjs ADDED
@@ -0,0 +1,6 @@
1
+ //#region src/types.ts
2
+ /* istanbul ignore file */
3
+ //#endregion
4
+ export {};
5
+
6
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type {\n DefaultError,\n DefinedInfiniteQueryObserverResult,\n DefinedQueryObserverResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n MutateFunction,\n MutationObserverOptions,\n MutationObserverResult,\n OmitKeyof,\n Override,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { Signal } from '@angular/core'\nimport type { MapToSignals } from './signal-proxy'\n\n/**\n * The options shared across `angular-query-experimental`'s query functions. Extends\n * {@link QueryObserverOptions} from `@tanstack/query-core` as-is — unlike `react-query`,\n * `angular-query-experimental` has no extra framework-specific option here.\n *\n * @template TQueryFnData - The type your `queryFn` resolves to.\n * @template TError - The type of errors your `queryFn` may throw.\n * @template TData - The type `data` ends up as after `select` runs. Defaults to `TQueryFnData` when no\n * `select` is used.\n * @template TQueryData - The type of the data actually held in the query cache — the input to `select` and\n * `placeholderData`. Defaults to, and is usually the same as, `TQueryFnData`.\n * @template TQueryKey - The type of your `queryKey`.\n */\nexport interface CreateBaseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n> {}\n\n/**\n * The options accepted by `injectQuery`. Same as {@link CreateBaseQueryOptions}, minus `suspense` — which\n * `angular-query-experimental` doesn't support, unlike `react-query`.\n *\n * @template TQueryFnData - The type your `queryFn` resolves to.\n * @template TError - The type of errors your `queryFn` may throw.\n * @template TData - The type `data` ends up as after `select` runs. Defaults to `TQueryFnData` when no\n * `select` is used.\n * @template TQueryKey - The type of your `queryKey`.\n */\nexport interface CreateQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends OmitKeyof<\n CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,\n 'suspense'\n> {}\n\ntype CreateStatusBasedQueryResult<\n TStatus extends QueryObserverResult['status'],\n TData = unknown,\n TError = DefaultError,\n> = Extract<QueryObserverResult<TData, TError>, { status: TStatus }>\n\n/**\n * The `isSuccess`/`isError`/`isPending` methods on a query result. Unlike `react-query`'s derived booleans,\n * these are type-guard methods you call — `if (query.isSuccess())` — so that `query.data` narrows away\n * `undefined` inside the branch, the same way `status` narrowing works on the plain object `react-query`\n * returns.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport interface BaseQueryNarrowing<TData = unknown, TError = DefaultError> {\n isSuccess: (\n this: CreateBaseQueryResult<TData, TError>,\n ) => this is CreateBaseQueryResult<\n TData,\n TError,\n CreateStatusBasedQueryResult<'success', TData, TError>\n >\n isError: (\n this: CreateBaseQueryResult<TData, TError>,\n ) => this is CreateBaseQueryResult<\n TData,\n TError,\n CreateStatusBasedQueryResult<'error', TData, TError>\n >\n isPending: (\n this: CreateBaseQueryResult<TData, TError>,\n ) => this is CreateBaseQueryResult<\n TData,\n TError,\n CreateStatusBasedQueryResult<'pending', TData, TError>\n >\n}\n\n/**\n * The options accepted by `injectInfiniteQuery`. Same as {@link CreateBaseQueryOptions}, minus `suspense` —\n * which `angular-query-experimental` doesn't support, unlike `react-query` — extends\n * {@link InfiniteQueryObserverOptions} from `@tanstack/query-core` for the infinite-query-specific options\n * (`getNextPageParam`, `initialPageParam`, etc.).\n *\n * @template TQueryFnData - The type of a single page, as your `queryFn` resolves it.\n * @template TError - The type of errors your `queryFn` may throw.\n * @template TData - The type `data` ends up as after `select` runs. Defaults to `TQueryFnData` here, though\n * `injectInfiniteQuery` itself defaults it to `InfiniteData<TQueryFnData>` — the shape `data` actually has\n * when no `select` is used.\n * @template TQueryKey - The type of your `queryKey`.\n * @template TPageParam - The type of the parameter passed to `queryFn` to fetch a given page.\n */\nexport interface CreateInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends OmitKeyof<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n 'suspense'\n> {}\n\n/**\n * The result of `injectQuery` when `initialData` isn't set — `data` may be `undefined` while the query is\n * `pending`. Same shape as {@link QueryObserverResult} from `@tanstack/query-core`, but value fields (like\n * `data`, `error`, `status`) are exposed as a `Signal` — read them with `query.data()`, not `query.data` —\n * while function fields (like `refetch`) are called directly, unchanged. `isSuccess`/`isError`/`isPending`\n * are {@link BaseQueryNarrowing} type-guard methods rather than plain booleans.\n * `injectInfiniteQuery` returns {@link CreateInfiniteQueryResult} instead.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport type CreateBaseQueryResult<\n TData = unknown,\n TError = DefaultError,\n TState = QueryObserverResult<TData, TError>,\n> = BaseQueryNarrowing<TData, TError> &\n MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>\n\n/**\n * The result of `injectQuery`. Same as {@link CreateBaseQueryResult}.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport type CreateQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = CreateBaseQueryResult<TData, TError>\n\n/**\n * The result of `injectQuery` when `initialData` is set — `data` is never `undefined`. Same shape as\n * {@link DefinedQueryObserverResult} from `@tanstack/query-core`, but value fields are exposed as a\n * `Signal` while function fields are called directly, unchanged.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport type DefinedCreateQueryResult<\n TData = unknown,\n TError = DefaultError,\n TState = DefinedQueryObserverResult<TData, TError>,\n> = BaseQueryNarrowing<TData, TError> &\n MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>\n\n/**\n * The result of `injectInfiniteQuery` when `initialData` isn't set — `data` may be `undefined` while the\n * query is `pending`. Same shape as {@link InfiniteQueryObserverResult} from `@tanstack/query-core`, but\n * value fields are exposed as a `Signal` while function fields (like `fetchNextPage`) are called directly,\n * unchanged.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport type CreateInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n> = BaseQueryNarrowing<TData, TError> &\n MapToSignals<InfiniteQueryObserverResult<TData, TError>>\n\n/**\n * The result of `injectInfiniteQuery` when `initialData` is set — `data` is never `undefined`. Same shape as\n * {@link DefinedInfiniteQueryObserverResult} from `@tanstack/query-core`, but value fields are exposed as a\n * `Signal` while function fields are called directly, unchanged.\n *\n * @template TData - The type `data` ends up as after `select` runs.\n * @template TError - The type of errors your `queryFn` may throw.\n */\nexport type DefinedCreateInfiniteQueryResult<\n TData = unknown,\n TError = DefaultError,\n TDefinedInfiniteQueryObserver = DefinedInfiniteQueryObserverResult<\n TData,\n TError\n >,\n> = MapToSignals<TDefinedInfiniteQueryObserver>\n\n/**\n * The options accepted by `injectMutation`. Same as {@link MutationObserverOptions} from\n * `@tanstack/query-core`, minus the internal `_defaulted` flag.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutate`/`mutateAsync`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport interface CreateMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> extends OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n '_defaulted'\n> {}\n\n/**\n * The type of `mutate`, as returned by `injectMutation`. Forwards the variables (and an optional per-call\n * `onSuccess`/`onError`/`onSettled`) to the underlying `mutate` call. Fire-and-forget — errors are surfaced\n * through the mutation result, not thrown.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutate`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport type CreateMutateFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...args: Parameters<\n MutateFunction<TData, TError, TVariables, TOnMutateResult>\n >\n) => void\n\n/**\n * The type of `mutateAsync`, as returned by `injectMutation`. Similar to {@link CreateMutateFunction}, but\n * returns a promise which can be awaited.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutateAsync`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport type CreateMutateAsyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = MutateFunction<TData, TError, TVariables, TOnMutateResult>\n\n/**\n * The pre-`Signal` shape {@link CreateMutationResult} is built from — not what `injectMutation` actually\n * returns. Same as {@link MutationObserverResult} from `@tanstack/query-core`, with `mutate` narrowed to the\n * fire-and-forget {@link CreateMutateFunction} signature, plus the added `mutateAsync`.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutate`/`mutateAsync`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport type CreateBaseMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> = Override<\n MutationObserverResult<TData, TError, TVariables, TOnMutateResult>,\n { mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult> }\n> & {\n /**\n * Similar to `mutate`, but returns a promise which can be awaited.\n */\n mutateAsync: CreateMutateAsyncFunction<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >\n}\n\ntype CreateStatusBasedMutationResult<\n TStatus extends CreateBaseMutationResult['status'],\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> = Extract<\n CreateBaseMutationResult<TData, TError, TVariables, TOnMutateResult>,\n { status: TStatus }\n>\n\ntype SignalFunction<T extends () => any> = T & Signal<ReturnType<T>>\n\n/**\n * The `isSuccess`/`isError`/`isPending`/`isIdle` methods on a mutation result. Each is both a `Signal`\n * (its current boolean value is read reactively without calling it) and a type-guard function you can\n * call — `if (mutation.isSuccess())` — so that `mutation.data` narrows away `undefined` inside the branch.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutate`/`mutateAsync`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport interface BaseMutationNarrowing<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n> {\n isSuccess: SignalFunction<\n (\n this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>,\n ) => this is CreateMutationResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult,\n CreateStatusBasedMutationResult<\n 'success',\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >\n >\n >\n isError: SignalFunction<\n (\n this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>,\n ) => this is CreateMutationResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult,\n CreateStatusBasedMutationResult<\n 'error',\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >\n >\n >\n isPending: SignalFunction<\n (\n this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>,\n ) => this is CreateMutationResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult,\n CreateStatusBasedMutationResult<\n 'pending',\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >\n >\n >\n isIdle: SignalFunction<\n (\n this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>,\n ) => this is CreateMutationResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult,\n CreateStatusBasedMutationResult<\n 'idle',\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >\n >\n >\n}\n\n/**\n * The result of `injectMutation`. Based on {@link CreateBaseMutationResult}, but value fields are exposed as\n * a `Signal` — read them with `mutation.data()`, not `mutation.data` — while function fields (`mutate`,\n * `mutateAsync`, `reset`) are called directly, unchanged. `isSuccess`/`isError`/`isPending`/`isIdle` are\n * {@link BaseMutationNarrowing} type-guard methods rather than plain booleans.\n *\n * @template TData - The type your mutation function resolves to.\n * @template TError - The type of errors your mutation function may throw.\n * @template TVariables - The type of the variable passed to `mutate`/`mutateAsync`.\n * @template TOnMutateResult - The type returned by `onMutate`, passed to `onSuccess`/`onError`/`onSettled` as\n * their `onMutateResult` parameter — useful for optimistic-update rollback data.\n */\nexport type CreateMutationResult<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TOnMutateResult = unknown,\n TState = CreateStatusBasedMutationResult<\n CreateBaseMutationResult['status'],\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >,\n> = BaseMutationNarrowing<TData, TError, TVariables, TOnMutateResult> &\n MapToSignals<OmitKeyof<TState, keyof BaseMutationNarrowing, 'safely'>>\n"],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/angular-query-experimental",
3
- "version": "5.103.1",
3
+ "version": "5.103.3",
4
4
  "description": "Signals for managing, caching and syncing asynchronous and remote data in Angular",
5
5
  "author": "Arnoud de Vries",
6
6
  "license": "MIT",
@@ -27,47 +27,75 @@
27
27
  "tanstack"
28
28
  ],
29
29
  "type": "module",
30
- "types": "./index.d.ts",
31
- "module": "./index.mjs",
30
+ "types": "dist/index.d.mts",
31
+ "module": "dist/index.mjs",
32
32
  "exports": {
33
33
  ".": {
34
34
  "@tanstack/custom-condition": "./src/index.ts",
35
- "types": "./index.d.ts",
36
- "default": "./index.mjs"
35
+ "types": "./dist/index.d.mts",
36
+ "default": "./dist/index.mjs"
37
37
  },
38
- "./package.json": "./package.json",
39
38
  "./inject-queries-experimental": {
40
- "types": "./inject-queries-experimental/index.d.ts",
41
- "default": "./inject-queries-experimental/index.mjs"
39
+ "types": "./dist/inject-queries-experimental/index.d.mts",
40
+ "default": "./dist/inject-queries-experimental/index.mjs"
42
41
  },
43
42
  "./devtools": {
44
- "types": "./devtools/index.d.ts",
45
- "development": "./devtools/index.mjs",
46
- "default": "./devtools/stub.mjs"
43
+ "types": "./dist/devtools/index.d.mts",
44
+ "development": "./dist/devtools/index.mjs",
45
+ "default": "./dist/devtools/stub.mjs"
47
46
  },
48
47
  "./devtools/production": {
49
- "types": "./devtools/production/index.d.ts",
50
- "default": "./devtools/index.mjs"
48
+ "types": "./dist/devtools/production/index.d.mts",
49
+ "default": "./dist/devtools/index.mjs"
51
50
  },
52
51
  "./devtools-panel": {
53
- "types": "./devtools-panel/index.d.ts",
54
- "development": "./devtools-panel/index.mjs",
55
- "default": "./devtools-panel/stub.mjs"
52
+ "types": "./dist/devtools-panel/index.d.mts",
53
+ "development": "./dist/devtools-panel/index.mjs",
54
+ "default": "./dist/devtools-panel/stub.mjs"
56
55
  },
57
56
  "./devtools-panel/production": {
58
- "types": "./devtools-panel/production/index.d.ts",
59
- "default": "./devtools-panel/index.mjs"
57
+ "types": "./dist/devtools-panel/production/index.d.mts",
58
+ "default": "./dist/devtools-panel/index.mjs"
60
59
  }
61
60
  },
62
61
  "sideEffects": false,
62
+ "files": [
63
+ "dist",
64
+ "src"
65
+ ],
63
66
  "dependencies": {
64
- "@tanstack/query-core": "5.103.1"
67
+ "@tanstack/query-core": "5.103.3"
68
+ },
69
+ "devDependencies": {
70
+ "@angular/common": "^20.0.0",
71
+ "@angular/compiler": "^20.0.0",
72
+ "@angular/core": "^20.0.0",
73
+ "@angular/platform-browser": "^20.0.0",
74
+ "@tanstack/query-test-utils": "0.0.0",
75
+ "@testing-library/angular": "^18.0.0",
76
+ "npm-run-all2": "^9.0.3",
77
+ "rxjs": "^7.8.2"
65
78
  },
66
79
  "optionalDependencies": {
67
- "@tanstack/query-devtools": "5.103.1"
80
+ "@tanstack/query-devtools": "5.103.3"
68
81
  },
69
82
  "peerDependencies": {
70
83
  "@angular/common": ">=16.0.0",
71
84
  "@angular/core": ">=16.0.0"
85
+ },
86
+ "scripts": {
87
+ "clean": "premove ./dist ./coverage ./dist-ts ./.cache/test-types",
88
+ "compile": "tsc --project tsconfig.json",
89
+ "test:eslint": "eslint --concurrency=auto ./src",
90
+ "test:types": "npm-run-all --serial test:types:*",
91
+ "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js --project tsconfig.json --outDir .cache/test-types/ts56 --tsBuildInfoFile .cache/test-types/ts56.tsbuildinfo",
92
+ "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js --project tsconfig.json --outDir .cache/test-types/ts57 --tsBuildInfoFile .cache/test-types/ts57.tsbuildinfo",
93
+ "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js --project tsconfig.json --outDir .cache/test-types/ts58 --tsBuildInfoFile .cache/test-types/ts58.tsbuildinfo",
94
+ "test:types:ts59": "node ../../node_modules/typescript59/lib/tsc.js --project tsconfig.json --outDir .cache/test-types/ts59 --tsBuildInfoFile .cache/test-types/ts59.tsbuildinfo",
95
+ "test:types:tscurrent": "tsc --project tsconfig.json --outDir .cache/test-types/tscurrent --tsBuildInfoFile .cache/test-types/tscurrent.tsbuildinfo",
96
+ "test:types:ts70": "node ../../node_modules/typescript70/lib/tsc.js --project tsconfig.json --outDir .cache/test-types/ts70 --tsBuildInfoFile .cache/test-types/ts70.tsbuildinfo",
97
+ "test:lib": "vitest",
98
+ "test:lib:dev": "pnpm run test:lib --watch",
99
+ "build": "tsdown --tsconfig tsconfig.prod.json"
72
100
  }
73
101
  }