@planningcenter/chat-react-native 3.21.2-rc.1 → 3.21.2-rc.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 (40) hide show
  1. package/build/contexts/chat_context.d.ts +3 -2
  2. package/build/contexts/chat_context.d.ts.map +1 -1
  3. package/build/contexts/chat_context.js.map +1 -1
  4. package/build/hooks/services/use_team_members_for_new_conversation.d.ts +14 -14
  5. package/build/hooks/use_api.d.ts +41 -41
  6. package/build/hooks/use_api.d.ts.map +1 -1
  7. package/build/hooks/use_api.js.map +1 -1
  8. package/build/hooks/use_chat_permissions.d.ts +14 -14
  9. package/build/hooks/use_conversation.d.ts +3 -3
  10. package/build/hooks/use_groups.d.ts +26 -26
  11. package/build/hooks/use_groups_groups.d.ts +26 -26
  12. package/build/hooks/use_jolt.d.ts.map +1 -1
  13. package/build/hooks/use_jolt.js +6 -8
  14. package/build/hooks/use_jolt.js.map +1 -1
  15. package/build/hooks/use_organization.d.ts +3 -3
  16. package/build/hooks/use_suspense_api.d.ts +5 -5
  17. package/build/hooks/use_suspense_api.d.ts.map +1 -1
  18. package/build/hooks/use_suspense_api.js.map +1 -1
  19. package/build/hooks/use_teams.d.ts +26 -26
  20. package/build/screens/conversation_filter_recipients/hooks/use_service_types_with_teams.d.ts +14 -14
  21. package/build/screens/conversation_filters/hooks/filters.d.ts +40 -40
  22. package/build/types/api_primitives.d.ts +1 -1
  23. package/build/types/api_primitives.d.ts.map +1 -1
  24. package/build/types/api_primitives.js.map +1 -1
  25. package/build/utils/client/client.d.ts +3 -6
  26. package/build/utils/client/client.d.ts.map +1 -1
  27. package/build/utils/client/client.js +2 -2
  28. package/build/utils/client/client.js.map +1 -1
  29. package/build/utils/response_error.d.ts +4 -4
  30. package/build/utils/response_error.d.ts.map +1 -1
  31. package/build/utils/response_error.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/__tests__/utils/client.ts +2 -2
  34. package/src/contexts/chat_context.tsx +3 -2
  35. package/src/hooks/use_api.ts +3 -3
  36. package/src/hooks/use_jolt.ts +6 -9
  37. package/src/hooks/use_suspense_api.ts +4 -4
  38. package/src/types/api_primitives.ts +1 -1
  39. package/src/utils/client/client.ts +7 -11
  40. package/src/utils/response_error.ts +5 -5
@@ -1,7 +1,7 @@
1
1
  import { GroupResource } from '../../../types/resources/group_resource';
2
2
  import { GroupsGroupResource } from '../../../types';
3
3
  export declare const useTeamsToFilter: () => {
4
- error: import("../../../types").ApiError;
4
+ error: import("../../../types").FailedResponse;
5
5
  isError: true;
6
6
  isPending: false;
7
7
  isLoading: false;
@@ -10,8 +10,8 @@ export declare const useTeamsToFilter: () => {
10
10
  isSuccess: false;
11
11
  isPlaceholderData: false;
12
12
  status: "error";
13
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
14
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
13
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
14
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
15
15
  hasNextPage: boolean;
16
16
  hasPreviousPage: boolean;
17
17
  isFetchNextPageError: boolean;
@@ -21,7 +21,7 @@ export declare const useTeamsToFilter: () => {
21
21
  dataUpdatedAt: number;
22
22
  errorUpdatedAt: number;
23
23
  failureCount: number;
24
- failureReason: import("../../../types").ApiError | null;
24
+ failureReason: import("../../../types").FailedResponse | null;
25
25
  errorUpdateCount: number;
26
26
  isFetched: boolean;
27
27
  isFetchedAfterMount: boolean;
@@ -30,7 +30,7 @@ export declare const useTeamsToFilter: () => {
30
30
  isPaused: boolean;
31
31
  isRefetching: boolean;
32
32
  isStale: boolean;
33
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
33
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
34
34
  fetchStatus: import("@tanstack/query-core").FetchStatus;
35
35
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
36
36
  teams: GroupResource[];
@@ -46,8 +46,8 @@ export declare const useTeamsToFilter: () => {
46
46
  isSuccess: true;
47
47
  isPlaceholderData: false;
48
48
  status: "success";
49
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
50
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
49
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
50
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
51
51
  hasNextPage: boolean;
52
52
  hasPreviousPage: boolean;
53
53
  isFetchingNextPage: boolean;
@@ -55,7 +55,7 @@ export declare const useTeamsToFilter: () => {
55
55
  dataUpdatedAt: number;
56
56
  errorUpdatedAt: number;
57
57
  failureCount: number;
58
- failureReason: import("../../../types").ApiError | null;
58
+ failureReason: import("../../../types").FailedResponse | null;
59
59
  errorUpdateCount: number;
60
60
  isFetched: boolean;
61
61
  isFetchedAfterMount: boolean;
@@ -64,12 +64,12 @@ export declare const useTeamsToFilter: () => {
64
64
  isPaused: boolean;
65
65
  isRefetching: boolean;
66
66
  isStale: boolean;
67
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
67
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
68
68
  fetchStatus: import("@tanstack/query-core").FetchStatus;
69
69
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
70
70
  teams: GroupResource[];
71
71
  } | {
72
- error: import("../../../types").ApiError;
72
+ error: import("../../../types").FailedResponse;
73
73
  isError: true;
74
74
  isPending: false;
75
75
  isLoading: false;
@@ -80,8 +80,8 @@ export declare const useTeamsToFilter: () => {
80
80
  isSuccess: false;
81
81
  isPlaceholderData: false;
82
82
  status: "error";
83
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
84
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
83
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
84
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
85
85
  hasNextPage: boolean;
86
86
  hasPreviousPage: boolean;
87
87
  isFetchingNextPage: boolean;
@@ -89,7 +89,7 @@ export declare const useTeamsToFilter: () => {
89
89
  dataUpdatedAt: number;
90
90
  errorUpdatedAt: number;
91
91
  failureCount: number;
92
- failureReason: import("../../../types").ApiError | null;
92
+ failureReason: import("../../../types").FailedResponse | null;
93
93
  errorUpdateCount: number;
94
94
  isFetched: boolean;
95
95
  isFetchedAfterMount: boolean;
@@ -98,7 +98,7 @@ export declare const useTeamsToFilter: () => {
98
98
  isPaused: boolean;
99
99
  isRefetching: boolean;
100
100
  isStale: boolean;
101
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
101
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
102
102
  fetchStatus: import("@tanstack/query-core").FetchStatus;
103
103
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
104
104
  teams: GroupResource[];
@@ -114,8 +114,8 @@ export declare const useTeamsToFilter: () => {
114
114
  isSuccess: false;
115
115
  isPlaceholderData: false;
116
116
  status: "pending";
117
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
118
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
117
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
118
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
119
119
  hasNextPage: boolean;
120
120
  hasPreviousPage: boolean;
121
121
  isFetchingNextPage: boolean;
@@ -123,7 +123,7 @@ export declare const useTeamsToFilter: () => {
123
123
  dataUpdatedAt: number;
124
124
  errorUpdatedAt: number;
125
125
  failureCount: number;
126
- failureReason: import("../../../types").ApiError | null;
126
+ failureReason: import("../../../types").FailedResponse | null;
127
127
  errorUpdateCount: number;
128
128
  isFetched: boolean;
129
129
  isFetchedAfterMount: boolean;
@@ -132,7 +132,7 @@ export declare const useTeamsToFilter: () => {
132
132
  isPaused: boolean;
133
133
  isRefetching: boolean;
134
134
  isStale: boolean;
135
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
135
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
136
136
  fetchStatus: import("@tanstack/query-core").FetchStatus;
137
137
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
138
138
  teams: GroupResource[];
@@ -147,8 +147,8 @@ export declare const useTeamsToFilter: () => {
147
147
  isSuccess: false;
148
148
  isPlaceholderData: false;
149
149
  status: "pending";
150
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
151
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
150
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
151
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
152
152
  hasNextPage: boolean;
153
153
  hasPreviousPage: boolean;
154
154
  isFetchingNextPage: boolean;
@@ -156,7 +156,7 @@ export declare const useTeamsToFilter: () => {
156
156
  dataUpdatedAt: number;
157
157
  errorUpdatedAt: number;
158
158
  failureCount: number;
159
- failureReason: import("../../../types").ApiError | null;
159
+ failureReason: import("../../../types").FailedResponse | null;
160
160
  errorUpdateCount: number;
161
161
  isFetched: boolean;
162
162
  isFetchedAfterMount: boolean;
@@ -166,7 +166,7 @@ export declare const useTeamsToFilter: () => {
166
166
  isPaused: boolean;
167
167
  isRefetching: boolean;
168
168
  isStale: boolean;
169
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
169
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
170
170
  fetchStatus: import("@tanstack/query-core").FetchStatus;
171
171
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
172
172
  teams: GroupResource[];
@@ -182,8 +182,8 @@ export declare const useTeamsToFilter: () => {
182
182
  isFetchNextPageError: false;
183
183
  isFetchPreviousPageError: false;
184
184
  status: "success";
185
- fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
186
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
185
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
186
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
187
187
  hasNextPage: boolean;
188
188
  hasPreviousPage: boolean;
189
189
  isFetchingNextPage: boolean;
@@ -191,7 +191,7 @@ export declare const useTeamsToFilter: () => {
191
191
  dataUpdatedAt: number;
192
192
  errorUpdatedAt: number;
193
193
  failureCount: number;
194
- failureReason: import("../../../types").ApiError | null;
194
+ failureReason: import("../../../types").FailedResponse | null;
195
195
  errorUpdateCount: number;
196
196
  isFetched: boolean;
197
197
  isFetchedAfterMount: boolean;
@@ -200,7 +200,7 @@ export declare const useTeamsToFilter: () => {
200
200
  isPaused: boolean;
201
201
  isRefetching: boolean;
202
202
  isStale: boolean;
203
- refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
203
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
204
204
  fetchStatus: import("@tanstack/query-core").FetchStatus;
205
205
  promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
206
206
  teams: GroupResource[];
@@ -208,7 +208,7 @@ export declare const useTeamsToFilter: () => {
208
208
  export interface FilteredGroup extends GroupResource, Partial<Pick<GroupsGroupResource, 'headerImage' | 'membershipsCount'>> {
209
209
  }
210
210
  export declare const useGroupsToFilter: () => {
211
- error: import("../../../types").ApiError;
211
+ error: import("../../../types").FailedResponse;
212
212
  isError: true;
213
213
  isPending: false;
214
214
  isLoading: false;
@@ -217,7 +217,7 @@ export declare const useGroupsToFilter: () => {
217
217
  isSuccess: false;
218
218
  isPlaceholderData: false;
219
219
  status: "error";
220
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
220
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
221
221
  hasNextPage: boolean;
222
222
  hasPreviousPage: boolean;
223
223
  isFetchNextPageError: boolean;
@@ -227,7 +227,7 @@ export declare const useGroupsToFilter: () => {
227
227
  dataUpdatedAt: number;
228
228
  errorUpdatedAt: number;
229
229
  failureCount: number;
230
- failureReason: import("../../../types").ApiError | null;
230
+ failureReason: import("../../../types").FailedResponse | null;
231
231
  errorUpdateCount: number;
232
232
  isFetched: boolean;
233
233
  isFetchedAfterMount: boolean;
@@ -253,7 +253,7 @@ export declare const useGroupsToFilter: () => {
253
253
  isSuccess: true;
254
254
  isPlaceholderData: false;
255
255
  status: "success";
256
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
256
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
257
257
  hasNextPage: boolean;
258
258
  hasPreviousPage: boolean;
259
259
  isFetchingNextPage: boolean;
@@ -261,7 +261,7 @@ export declare const useGroupsToFilter: () => {
261
261
  dataUpdatedAt: number;
262
262
  errorUpdatedAt: number;
263
263
  failureCount: number;
264
- failureReason: import("../../../types").ApiError | null;
264
+ failureReason: import("../../../types").FailedResponse | null;
265
265
  errorUpdateCount: number;
266
266
  isFetched: boolean;
267
267
  isFetchedAfterMount: boolean;
@@ -276,7 +276,7 @@ export declare const useGroupsToFilter: () => {
276
276
  fetchNextPage: () => void;
277
277
  refetch: () => void;
278
278
  } | {
279
- error: import("../../../types").ApiError;
279
+ error: import("../../../types").FailedResponse;
280
280
  isError: true;
281
281
  isPending: false;
282
282
  isLoading: false;
@@ -287,7 +287,7 @@ export declare const useGroupsToFilter: () => {
287
287
  isSuccess: false;
288
288
  isPlaceholderData: false;
289
289
  status: "error";
290
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
290
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
291
291
  hasNextPage: boolean;
292
292
  hasPreviousPage: boolean;
293
293
  isFetchingNextPage: boolean;
@@ -295,7 +295,7 @@ export declare const useGroupsToFilter: () => {
295
295
  dataUpdatedAt: number;
296
296
  errorUpdatedAt: number;
297
297
  failureCount: number;
298
- failureReason: import("../../../types").ApiError | null;
298
+ failureReason: import("../../../types").FailedResponse | null;
299
299
  errorUpdateCount: number;
300
300
  isFetched: boolean;
301
301
  isFetchedAfterMount: boolean;
@@ -321,7 +321,7 @@ export declare const useGroupsToFilter: () => {
321
321
  isSuccess: false;
322
322
  isPlaceholderData: false;
323
323
  status: "pending";
324
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
324
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
325
325
  hasNextPage: boolean;
326
326
  hasPreviousPage: boolean;
327
327
  isFetchingNextPage: boolean;
@@ -329,7 +329,7 @@ export declare const useGroupsToFilter: () => {
329
329
  dataUpdatedAt: number;
330
330
  errorUpdatedAt: number;
331
331
  failureCount: number;
332
- failureReason: import("../../../types").ApiError | null;
332
+ failureReason: import("../../../types").FailedResponse | null;
333
333
  errorUpdateCount: number;
334
334
  isFetched: boolean;
335
335
  isFetchedAfterMount: boolean;
@@ -354,7 +354,7 @@ export declare const useGroupsToFilter: () => {
354
354
  isSuccess: false;
355
355
  isPlaceholderData: false;
356
356
  status: "pending";
357
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
357
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
358
358
  hasNextPage: boolean;
359
359
  hasPreviousPage: boolean;
360
360
  isFetchingNextPage: boolean;
@@ -362,7 +362,7 @@ export declare const useGroupsToFilter: () => {
362
362
  dataUpdatedAt: number;
363
363
  errorUpdatedAt: number;
364
364
  failureCount: number;
365
- failureReason: import("../../../types").ApiError | null;
365
+ failureReason: import("../../../types").FailedResponse | null;
366
366
  errorUpdateCount: number;
367
367
  isFetched: boolean;
368
368
  isFetchedAfterMount: boolean;
@@ -389,7 +389,7 @@ export declare const useGroupsToFilter: () => {
389
389
  isFetchNextPageError: false;
390
390
  isFetchPreviousPageError: false;
391
391
  status: "success";
392
- fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").ApiError>>;
392
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, import("../../../types").FailedResponse>>;
393
393
  hasNextPage: boolean;
394
394
  hasPreviousPage: boolean;
395
395
  isFetchingNextPage: boolean;
@@ -397,7 +397,7 @@ export declare const useGroupsToFilter: () => {
397
397
  dataUpdatedAt: number;
398
398
  errorUpdatedAt: number;
399
399
  failureCount: number;
400
- failureReason: import("../../../types").ApiError | null;
400
+ failureReason: import("../../../types").FailedResponse | null;
401
401
  errorUpdateCount: number;
402
402
  isFetched: boolean;
403
403
  isFetchedAfterMount: boolean;
@@ -24,7 +24,7 @@ export type ApiCollection<Type = ResourceObject> = {
24
24
  links: Record<string, string>;
25
25
  meta: CollectionMeta;
26
26
  };
27
- export interface ApiError extends Response {
27
+ export interface FailedResponse extends Response {
28
28
  errors: ErrorObject[];
29
29
  }
30
30
  export interface CollectionMeta {
@@ -1 +1 @@
1
- {"version":3,"file":"api_primitives.d.ts","sourceRoot":"","sources":["../../src/types/api_primitives.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE;QAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,WAAW,CAAC,IAAI,GAAG,cAAc,IAAI;IAC/C,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,cAAc,IAAI;IACjD,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC"}
1
+ {"version":3,"file":"api_primitives.d.ts","sourceRoot":"","sources":["../../src/types/api_primitives.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE;QAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,WAAW,CAAC,IAAI,GAAG,cAAc,IAAI;IAC/C,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,cAAc,IAAI;IACjD,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api_primitives.js","sourceRoot":"","sources":["../../src/types/api_primitives.ts"],"names":[],"mappings":"","sourcesContent":["export interface ResourceObject {\n id: string | number\n type: string\n}\n\nexport interface ErrorObject {\n source?: { parameter: string }\n detail: string\n meta?: { associated_resources: any[]; resource: string }\n title: string\n status: string\n}\n\nexport type ApiResource<Type = ResourceObject> = {\n data: Type\n links: Record<string, string>\n meta: Record<string, unknown>\n}\n\nexport type ApiCollection<Type = ResourceObject> = {\n data: Type[]\n links: Record<string, string>\n meta: CollectionMeta\n}\n\nexport interface ApiError extends Response {\n errors: ErrorObject[]\n}\n\nexport interface CollectionMeta {\n count: number\n totalCount: number\n next?: Record<string, unknown>\n parent?: ResourceObject\n [attributeName: string]: unknown\n}\n"]}
1
+ {"version":3,"file":"api_primitives.js","sourceRoot":"","sources":["../../src/types/api_primitives.ts"],"names":[],"mappings":"","sourcesContent":["export interface ResourceObject {\n id: string | number\n type: string\n}\n\nexport interface ErrorObject {\n source?: { parameter: string }\n detail: string\n meta?: { associated_resources: any[]; resource: string }\n title: string\n status: string\n}\n\nexport type ApiResource<Type = ResourceObject> = {\n data: Type\n links: Record<string, string>\n meta: Record<string, unknown>\n}\n\nexport type ApiCollection<Type = ResourceObject> = {\n data: Type[]\n links: Record<string, string>\n meta: CollectionMeta\n}\n\nexport interface FailedResponse extends Response {\n errors: ErrorObject[]\n}\n\nexport interface CollectionMeta {\n count: number\n totalCount: number\n next?: Record<string, unknown>\n parent?: ResourceObject\n [attributeName: string]: unknown\n}\n"]}
@@ -1,9 +1,6 @@
1
- import { ApiCollection, ApiError, ApiResource } from '../../types';
1
+ import { ApiCollection, ApiResource, FailedResponse } from '../../types';
2
2
  import { DeleteRequest, GetRequest, PatchRequest, PostRequest } from './types';
3
- export interface ResponseError extends Response {
4
- errors: ApiError['errors'];
5
- }
6
- export type OnUnauthorizedResponse = (_response: ResponseError) => void;
3
+ export type OnUnauthorizedResponse = (_response: FailedResponse) => void;
7
4
  type ClientArgs = {
8
5
  version: string;
9
6
  defaultHeaders?: Record<string, string>;
@@ -21,7 +18,7 @@ export declare class Client {
21
18
  post<T extends ApiCollection | ApiResource>(args: PostRequest): Promise<T>;
22
19
  delete(args: DeleteRequest): Promise<any>;
23
20
  handleNotOk: (response: Response) => Promise<never>;
24
- parseErrorResponse: (response: Response) => Promise<Partial<ApiError>>;
21
+ parseErrorResponse: (response: Response) => Promise<Partial<FailedResponse>>;
25
22
  appUrl(url: string): string;
26
23
  get headers(): {
27
24
  Accept: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAUlE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAE3F,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAA;AAEvE,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,MAAM;IACjB,OAAO,EAAE,MAAM,CAAK;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IAC3C,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;gBAED,EAAE,OAAO,EAAE,cAAmB,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,UAAU;IAOhF,GAAG,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IA2CxE,KAAK,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC;IAW5E,IAAI,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAW1E,MAAM,CAAC,IAAI,EAAE,aAAa;IAShC,WAAW,aAAoB,QAAQ,oBAUtC;IAED,kBAAkB,aAAoB,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAM1E;IAED,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,IAAI,OAAO;;;;MAOV;CACF;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAUxE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAE3F,MAAM,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAA;AAExE,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,MAAM;IACjB,OAAO,EAAE,MAAM,CAAK;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IAC3C,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;gBAED,EAAE,OAAO,EAAE,cAAmB,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,UAAU;IAOhF,GAAG,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IA2CxE,KAAK,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC;IAW5E,IAAI,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAW1E,MAAM,CAAC,IAAI,EAAE,aAAa;IAShC,WAAW,aAAoB,QAAQ,oBAUtC;IAED,kBAAkB,aAAoB,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAMhF;IAED,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,IAAI,OAAO;;;;MAOV;CACF;AAED,eAAe,MAAM,CAAA"}
@@ -66,10 +66,10 @@ export class Client {
66
66
  }
67
67
  handleNotOk = async (response) => {
68
68
  if (response.status === 401) {
69
- const { errors } = await this.parseErrorResponse(response);
69
+ const errorData = await this.parseErrorResponse(response);
70
70
  this.onUnauthorizedResponse?.({
71
71
  ...response,
72
- errors: errors || [],
72
+ errors: errorData.errors || [],
73
73
  });
74
74
  }
75
75
  return Promise.reject(response);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiCollection, ApiError, ApiResource } from '../../types'\nimport {\n concatRecords,\n ensureNoQueryParamsInDev,\n makeRequest,\n MakeRequestArgs,\n throwErrorIfFieldsMissing,\n throwErrorIfQueryParams,\n} from './request_helpers'\n\nimport { DeleteRequest, GetRequest, PatchRequest, PostRequest, WalkRequest } from './types'\n\nexport interface ResponseError extends Response {\n errors: ApiError['errors']\n}\n\nexport type OnUnauthorizedResponse = (_response: ResponseError) => void\n\ntype ClientArgs = {\n version: string\n defaultHeaders?: Record<string, string>\n onUnauthorizedResponse?: OnUnauthorizedResponse\n root?: string\n}\n\nexport class Client {\n version: string = ''\n defaultHeaders: Record<string, string> = {}\n onUnauthorizedResponse?: OnUnauthorizedResponse\n root?: string\n\n constructor({ version, defaultHeaders = {}, onUnauthorizedResponse, root }: ClientArgs) {\n this.version = version\n this.defaultHeaders = defaultHeaders\n this.onUnauthorizedResponse = onUnauthorizedResponse\n this.root = root\n }\n\n async get<T extends ApiCollection | ApiResource>(args: GetRequest): Promise<T> {\n const { walk, ...data } = args.data\n const isWalking = Boolean(walk)\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n await throwErrorIfQueryParams(url)\n\n const requestArgs: MakeRequestArgs = { data, url, action: 'GET', headers }\n\n const walkRequest = ({\n url: requestUrl,\n data: d = { fields: {} },\n acc = { data: [], included: [], meta: {}, links: {} },\n ...options\n }: WalkRequest): Promise<T> => {\n return makeRequest({\n action: 'GET',\n data: d,\n url: requestUrl,\n ...options,\n headers,\n }).then(({ links, ...rest }) => {\n const records = Array.isArray(rest.data) ? concatRecords(acc, rest) : rest\n\n // `next` will have our params in the link so we do not want to pass them back in\n if (links?.next) {\n return walkRequest({ ...options, data: d, url: links.next, acc: records })\n } else {\n return records\n }\n })\n }\n\n const handler = isWalking\n ? (a: MakeRequestArgs | WalkRequest) => walkRequest(a as WalkRequest)\n : (a: MakeRequestArgs | WalkRequest) => makeRequest(a as MakeRequestArgs)\n\n return throwErrorIfFieldsMissing(handler, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async patch<T extends ApiCollection | ApiResource>(args: PatchRequest): Promise<T> {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { data: args.data, url, action: 'PATCH', headers }\n\n return ensureNoQueryParamsInDev(makeRequest, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async post<T extends ApiCollection | ApiResource>(args: PostRequest): Promise<T> {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { ...args, data: args.data, url, action: 'POST', headers }\n\n return ensureNoQueryParamsInDev(makeRequest, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async delete(args: DeleteRequest) {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { url, action: 'DELETE', headers }\n\n return makeRequest(requestArgs).catch(this.handleNotOk)\n }\n\n handleNotOk = async (response: Response) => {\n if (response.status === 401) {\n const { errors } = await this.parseErrorResponse(response)\n this.onUnauthorizedResponse?.({\n ...response,\n errors: errors || [],\n })\n }\n\n return Promise.reject(response)\n }\n\n parseErrorResponse = async (response: Response): Promise<Partial<ApiError>> => {\n try {\n return (await response.clone().json()) as ApiError\n } catch {\n return {}\n }\n }\n\n appUrl(url: string) {\n return `${this.root}${url}`\n }\n\n get headers() {\n return {\n Accept: 'application/vnd.api+json',\n 'Content-Type': 'application/json',\n 'X-PCO-API-Version': this.version,\n ...this.defaultHeaders,\n }\n }\n}\n\nexport default Client\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiCollection, ApiResource, FailedResponse } from '../../types'\nimport {\n concatRecords,\n ensureNoQueryParamsInDev,\n makeRequest,\n MakeRequestArgs,\n throwErrorIfFieldsMissing,\n throwErrorIfQueryParams,\n} from './request_helpers'\n\nimport { DeleteRequest, GetRequest, PatchRequest, PostRequest, WalkRequest } from './types'\n\nexport type OnUnauthorizedResponse = (_response: FailedResponse) => void\n\ntype ClientArgs = {\n version: string\n defaultHeaders?: Record<string, string>\n onUnauthorizedResponse?: OnUnauthorizedResponse\n root?: string\n}\n\nexport class Client {\n version: string = ''\n defaultHeaders: Record<string, string> = {}\n onUnauthorizedResponse?: OnUnauthorizedResponse\n root?: string\n\n constructor({ version, defaultHeaders = {}, onUnauthorizedResponse, root }: ClientArgs) {\n this.version = version\n this.defaultHeaders = defaultHeaders\n this.onUnauthorizedResponse = onUnauthorizedResponse\n this.root = root\n }\n\n async get<T extends ApiCollection | ApiResource>(args: GetRequest): Promise<T> {\n const { walk, ...data } = args.data\n const isWalking = Boolean(walk)\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n await throwErrorIfQueryParams(url)\n\n const requestArgs: MakeRequestArgs = { data, url, action: 'GET', headers }\n\n const walkRequest = ({\n url: requestUrl,\n data: d = { fields: {} },\n acc = { data: [], included: [], meta: {}, links: {} },\n ...options\n }: WalkRequest): Promise<T> => {\n return makeRequest({\n action: 'GET',\n data: d,\n url: requestUrl,\n ...options,\n headers,\n }).then(({ links, ...rest }) => {\n const records = Array.isArray(rest.data) ? concatRecords(acc, rest) : rest\n\n // `next` will have our params in the link so we do not want to pass them back in\n if (links?.next) {\n return walkRequest({ ...options, data: d, url: links.next, acc: records })\n } else {\n return records\n }\n })\n }\n\n const handler = isWalking\n ? (a: MakeRequestArgs | WalkRequest) => walkRequest(a as WalkRequest)\n : (a: MakeRequestArgs | WalkRequest) => makeRequest(a as MakeRequestArgs)\n\n return throwErrorIfFieldsMissing(handler, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async patch<T extends ApiCollection | ApiResource>(args: PatchRequest): Promise<T> {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { data: args.data, url, action: 'PATCH', headers }\n\n return ensureNoQueryParamsInDev(makeRequest, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async post<T extends ApiCollection | ApiResource>(args: PostRequest): Promise<T> {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { ...args, data: args.data, url, action: 'POST', headers }\n\n return ensureNoQueryParamsInDev(makeRequest, requestArgs)\n .then(response => response as T)\n .catch(this.handleNotOk)\n }\n\n async delete(args: DeleteRequest) {\n const headers = { ...this.headers, ...args.headers }\n const url = this.appUrl(args.url)\n\n const requestArgs: MakeRequestArgs = { url, action: 'DELETE', headers }\n\n return makeRequest(requestArgs).catch(this.handleNotOk)\n }\n\n handleNotOk = async (response: Response) => {\n if (response.status === 401) {\n const errorData = await this.parseErrorResponse(response)\n this.onUnauthorizedResponse?.({\n ...response,\n errors: errorData.errors || [],\n } as FailedResponse)\n }\n\n return Promise.reject(response)\n }\n\n parseErrorResponse = async (response: Response): Promise<Partial<FailedResponse>> => {\n try {\n return (await response.clone().json()) as FailedResponse\n } catch {\n return {}\n }\n }\n\n appUrl(url: string) {\n return `${this.root}${url}`\n }\n\n get headers() {\n return {\n Accept: 'application/vnd.api+json',\n 'Content-Type': 'application/json',\n 'X-PCO-API-Version': this.version,\n ...this.defaultHeaders,\n }\n }\n}\n\nexport default Client\n"]}
@@ -1,10 +1,10 @@
1
- import { ApiError } from '../types/api_primitives';
1
+ import { FailedResponse } from '../types/api_primitives';
2
2
  export declare class ResponseError extends Error {
3
3
  status: number;
4
4
  statusText: string;
5
- errors: ApiError['errors'];
6
- response: ApiError;
7
- constructor(response: ApiError);
5
+ errors: FailedResponse['errors'];
6
+ response: FailedResponse;
7
+ constructor(response: FailedResponse);
8
8
  }
9
9
  export declare const throwResponseError: (error: unknown) => Promise<never>;
10
10
  //# sourceMappingURL=response_error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response_error.d.ts","sourceRoot":"","sources":["../../src/utils/response_error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAAA;gBAEN,QAAQ,EAAE,QAAQ;CAQ/B;AAED,eAAO,MAAM,kBAAkB,UAAW,OAAO,mBAMhD,CAAA"}
1
+ {"version":3,"file":"response_error.d.ts","sourceRoot":"","sources":["../../src/utils/response_error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,QAAQ,EAAE,cAAc,CAAA;gBAEZ,QAAQ,EAAE,cAAc;CAQrC;AAED,eAAO,MAAM,kBAAkB,UAAW,OAAO,mBAMhD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"response_error.js","sourceRoot":"","sources":["../../src/utils/response_error.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAQ;IACd,UAAU,CAAQ;IAClB,MAAM,CAAoB;IAC1B,QAAQ,CAAU;IAElB,YAAY,QAAkB;QAC5B,KAAK,CAAC,kBAAkB,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,EAAE;IACnD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,KAAiB,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC,CAAA","sourcesContent":["import { ApiError } from '../types/api_primitives'\n\nexport class ResponseError extends Error {\n status: number\n statusText: string\n errors: ApiError['errors']\n response: ApiError\n\n constructor(response: ApiError) {\n super(`ResponseError: ${response?.status} ${response?.statusText}`)\n this.name = 'ResponseError'\n this.status = response?.status\n this.statusText = response?.statusText\n this.errors = response?.errors || []\n this.response = response\n }\n}\n\nexport const throwResponseError = (error: unknown) => {\n if (error instanceof Response) {\n throw new ResponseError(error as ApiError)\n }\n\n return Promise.reject(error)\n}\n"]}
1
+ {"version":3,"file":"response_error.js","sourceRoot":"","sources":["../../src/utils/response_error.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAQ;IACd,UAAU,CAAQ;IAClB,MAAM,CAA0B;IAChC,QAAQ,CAAgB;IAExB,YAAY,QAAwB;QAClC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,EAAE;IACnD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,KAAuB,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC,CAAA","sourcesContent":["import { FailedResponse } from '../types/api_primitives'\n\nexport class ResponseError extends Error {\n status: number\n statusText: string\n errors: FailedResponse['errors']\n response: FailedResponse\n\n constructor(response: FailedResponse) {\n super(`ResponseError: ${response?.status} ${response?.statusText}`)\n this.name = 'ResponseError'\n this.status = response?.status\n this.statusText = response?.statusText\n this.errors = response?.errors || []\n this.response = response\n }\n}\n\nexport const throwResponseError = (error: unknown) => {\n if (error instanceof Response) {\n throw new ResponseError(error as FailedResponse)\n }\n\n return Promise.reject(error)\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/chat-react-native",
3
- "version": "3.21.2-rc.1",
3
+ "version": "3.21.2-rc.3",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -58,5 +58,5 @@
58
58
  "react-native-url-polyfill": "^2.0.0",
59
59
  "typescript": "<5.6.0"
60
60
  },
61
- "gitHead": "188a939b75d2487d6ef6c3dce188ee075371c516"
61
+ "gitHead": "a963dc243ab9a2d6c12b29312e84550a787858a9"
62
62
  }
@@ -2,7 +2,7 @@ import MockServer from '../../__utils__/server'
2
2
  import Client from '../../utils/client/client'
3
3
  import DefaultFixtures from '../../__utils__/fixtures/defaults'
4
4
  import { BASE_URL } from '../../__utils__/handlers'
5
- import { ApiError } from '../../types'
5
+ import { FailedResponse } from '../../types'
6
6
 
7
7
  const APP_BASE_URL = BASE_URL
8
8
  let client: Client
@@ -349,7 +349,7 @@ describe('error handling', () => {
349
349
  const test401 = async ({ secretWord }: { secretWord: string }) => {
350
350
  const url = '/records'
351
351
 
352
- const expiredTokenResource: Partial<ApiError> = {
352
+ const expiredTokenResource: Partial<FailedResponse> = {
353
353
  errors: [
354
354
  {
355
355
  detail: `Zoinks, your token is borked ( ${secretWord} )`,
@@ -3,7 +3,8 @@ import React, { createContext, useMemo } from 'react'
3
3
  import { ColorSchemeName, useColorScheme } from 'react-native'
4
4
  import { useQuery } from '@tanstack/react-query'
5
5
  import { ApiResource, DeepPartial } from '../types'
6
- import { Client, ENV, OauthType, PartialToken, ResponseError, Session, Uri } from '../utils'
6
+ import { Client, ENV, OauthType, PartialToken, Session, Uri } from '../utils'
7
+ import { FailedResponse } from '../types'
7
8
  import { ChatTheme, defaultTheme, DefaultTheme } from '../utils/theme'
8
9
  import { AgeCheckContactInfo } from '../screens/age_check/screen_props'
9
10
  import { ProductAnalyticsConfig } from '../types/product_analytics'
@@ -12,7 +13,7 @@ export interface ChatProviderProps {
12
13
  env?: ENV
13
14
  giphyApiKey?: string
14
15
  onAgeDisqualification?: (params: AgeCheckContactInfo) => void
15
- onUnauthorizedResponse: (_response: ResponseError) => void
16
+ onUnauthorizedResponse: (_response: FailedResponse) => void
16
17
  token?: PartialToken
17
18
  tokenType?: OauthType
18
19
  theme: CreateChatThemeProps
@@ -4,7 +4,7 @@ import {
4
4
  useInfiniteQuery,
5
5
  useQuery,
6
6
  } from '@tanstack/react-query'
7
- import { ApiCollection, ApiError, ApiResource, ResourceObject } from '../types'
7
+ import { ApiCollection, ApiResource, FailedResponse, ResourceObject } from '../types'
8
8
  import { GetRequest, RequestData } from '../utils/client'
9
9
  import { App, useApiClient } from './use_api_client'
10
10
  import { getRequestQueryKey, RequestQueryKey } from './use_suspense_api'
@@ -18,7 +18,7 @@ export const useApiGet = <T extends ResourceObject | ResourceObject[]>(args: Api
18
18
  type Resource = ApiResource<T>
19
19
  const apiClient = useApiClient()
20
20
 
21
- const { data, ...query } = useQuery<Resource, ApiError>({
21
+ const { data, ...query } = useQuery<Resource, FailedResponse>({
22
22
  queryKey: getRequestQueryKey(args),
23
23
  queryFn: ({ queryKey }) => {
24
24
  const [url, d, headers, app = 'chat'] = queryKey as RequestQueryKey
@@ -48,7 +48,7 @@ export const useApiPaginator = <T extends ResourceObject>(
48
48
  const apiClient = useApiClient()
49
49
  const query = useInfiniteQuery<
50
50
  ApiCollection<T>,
51
- ApiError,
51
+ FailedResponse,
52
52
  InfiniteData<ApiCollection<T>>,
53
53
  any,
54
54
  Partial<RequestData> | undefined
@@ -12,7 +12,6 @@ import { useCallback, useEffect, useMemo } from 'react'
12
12
  import { useChatContext } from '../contexts/chat_context'
13
13
  import { ApiResource } from '../types'
14
14
  import { Client, Uri } from '../utils'
15
- import { useAppState } from './use_app_state'
16
15
 
17
16
  interface JoltResponse {
18
17
  type: 'JoltToken'
@@ -59,6 +58,7 @@ export const useJoltClient = (): JoltClient | undefined => {
59
58
  queryFn: () => fetchJoltToken().then(res => res.data.wssUrl),
60
59
  staleTime: Infinity,
61
60
  gcTime: Infinity,
61
+ refetchOnWindowFocus: false,
62
62
  })
63
63
 
64
64
  const fetchAuthTokenFn: FetchAuthToken = () => {
@@ -112,6 +112,7 @@ export const useJoltClient = (): JoltClient | undefined => {
112
112
  { logToConsole: false }
113
113
  )
114
114
  },
115
+ refetchOnWindowFocus: false,
115
116
  staleTime: Infinity,
116
117
  gcTime: Infinity,
117
118
  })
@@ -124,9 +125,8 @@ export function useJoltChannel(
124
125
  enabled: boolean = true
125
126
  ): JoltSubscription | undefined | null {
126
127
  const jolt = useJoltClient()
127
- const appState = useAppState()
128
128
  const queryClient = useQueryClient()
129
- const ready = Boolean(jolt) && appState !== 'background' && enabled
129
+ const ready = Boolean(jolt) && enabled
130
130
 
131
131
  const handleSubscribe = useCallback(async () => {
132
132
  if (!jolt) return null
@@ -141,6 +141,7 @@ export function useJoltChannel(
141
141
  const { data: subscription } = useQuery<JoltSubscription | null>({
142
142
  queryKey: ['jolt-subscription', channelName],
143
143
  queryFn: handleSubscribe,
144
+ refetchOnWindowFocus: false,
144
145
  enabled: ready,
145
146
  })
146
147
 
@@ -154,12 +155,8 @@ export function useJoltChannel(
154
155
  }, [queryClient, channelName, jolt])
155
156
 
156
157
  useEffect(() => {
157
- if (appState !== 'background') return handleUnsubscribe
158
-
159
- handleUnsubscribe()
160
-
161
- return () => null
162
- }, [appState, handleUnsubscribe])
158
+ return handleUnsubscribe
159
+ }, [handleUnsubscribe])
163
160
 
164
161
  return subscription
165
162
  }