@alistt69/create-api 0.2.10 → 0.3.0

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 (60) hide show
  1. package/README.md +68 -2
  2. package/dist/controller.d.ts +3 -0
  3. package/dist/controller.d.ts.map +1 -0
  4. package/dist/controller.js +2 -0
  5. package/dist/controller.js.map +1 -0
  6. package/dist/index.d.ts +3 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/createApi.d.ts +1 -1
  11. package/dist/lib/createApi.d.ts.map +1 -1
  12. package/dist/lib/createApi.js +22 -2
  13. package/dist/lib/createApi.js.map +1 -1
  14. package/dist/lib/createController.d.ts +4 -0
  15. package/dist/lib/createController.d.ts.map +1 -0
  16. package/dist/lib/createController.js +113 -0
  17. package/dist/lib/createController.js.map +1 -0
  18. package/dist/lib/createRequestId.d.ts +2 -0
  19. package/dist/lib/createRequestId.d.ts.map +1 -0
  20. package/dist/lib/createRequestId.js +6 -0
  21. package/dist/lib/createRequestId.js.map +1 -0
  22. package/dist/lib/fetchBaseQuery.d.ts +1 -1
  23. package/dist/lib/fetchBaseQuery.d.ts.map +1 -1
  24. package/dist/lib/getHookName.d.ts +1 -1
  25. package/dist/lib/getHookName.d.ts.map +1 -1
  26. package/dist/lib/initiateMutation.d.ts +7 -0
  27. package/dist/lib/initiateMutation.d.ts.map +1 -0
  28. package/dist/lib/initiateMutation.js +47 -0
  29. package/dist/lib/initiateMutation.js.map +1 -0
  30. package/dist/lib/initiateQuery.d.ts +4 -0
  31. package/dist/lib/initiateQuery.d.ts.map +1 -0
  32. package/dist/lib/initiateQuery.js +35 -0
  33. package/dist/lib/initiateQuery.js.map +1 -0
  34. package/dist/lib/makeLazyQueryHook.d.ts +8 -8
  35. package/dist/lib/makeLazyQueryHook.d.ts.map +1 -1
  36. package/dist/lib/makeLazyQueryHook.js +10 -87
  37. package/dist/lib/makeLazyQueryHook.js.map +1 -1
  38. package/dist/lib/makeMutationHook.d.ts +1 -1
  39. package/dist/lib/makeMutationHook.d.ts.map +1 -1
  40. package/dist/lib/makeMutationHook.js +2 -6
  41. package/dist/lib/makeMutationHook.js.map +1 -1
  42. package/dist/lib/makeQueryHook.d.ts +9 -8
  43. package/dist/lib/makeQueryHook.d.ts.map +1 -1
  44. package/dist/lib/makeQueryHook.js +8 -79
  45. package/dist/lib/makeQueryHook.js.map +1 -1
  46. package/dist/lib/runQuery.d.ts +11 -0
  47. package/dist/lib/runQuery.d.ts.map +1 -0
  48. package/dist/lib/runQuery.js +83 -0
  49. package/dist/lib/runQuery.js.map +1 -0
  50. package/dist/model/mutation.d.ts +1 -1
  51. package/dist/model/mutation.d.ts.map +1 -1
  52. package/dist/model/query.d.ts +1 -1
  53. package/dist/model/query.d.ts.map +1 -1
  54. package/dist/model/queryStore.d.ts +10 -5
  55. package/dist/model/queryStore.d.ts.map +1 -1
  56. package/dist/model/queryStore.js +46 -8
  57. package/dist/model/queryStore.js.map +1 -1
  58. package/dist/model/types.d.ts +63 -6
  59. package/dist/model/types.d.ts.map +1 -1
  60. package/package.json +5 -1
@@ -1,7 +1,9 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { useSyncExternalStore } from 'use-sync-external-store/shim';
3
- import { setQueryRunner, initQueryState, getInFlightQuery, registerQueryKey, setInFlightQuery, updateQueryState, subscribeToQuery, clearInFlightQuery, setTagsForQueryKey, setQueryAbortController, scheduleCleanupIfUnused, clearQueryAbortController, } from '../model/queryStore.js';
4
- export function makeLazyQueryHook({ query, baseQuery, endpointName, providesTags, serializeArgs, transformResponse, keepUnusedDataFor = 0, transformErrorResponse, }) {
3
+ import { setQueryRunner, initQueryState, registerQueryKey, subscribeToQuery, scheduleCleanupIfUnused, getInitialQueryState, } from '../model/queryStore.js';
4
+ import { runQuery } from './runQuery.js';
5
+ export function makeLazyQueryHook(props) {
6
+ const { endpointName, serializeArgs, keepUnusedDataFor = 0, } = props;
5
7
  return function useGeneratedLazyQuery() {
6
8
  const [currentArg, setCurrentArg] = useState(undefined);
7
9
  const currentKey = useMemo(() => {
@@ -12,17 +14,11 @@ export function makeLazyQueryHook({ query, baseQuery, endpointName, providesTags
12
14
  ? serializeArgs(currentArg)
13
15
  : JSON.stringify(currentArg);
14
16
  return `${endpointName}::${serializedArg}`;
15
- }, [currentArg, endpointName, serializeArgs]);
17
+ }, [currentArg]);
16
18
  const argRef = useRef(currentArg);
17
19
  argRef.current = currentArg;
18
20
  const ownedKeyRef = useRef(null);
19
- const emptyState = {
20
- data: undefined,
21
- isLoading: false,
22
- isFetching: false,
23
- error: undefined,
24
- fulfilledAt: undefined,
25
- };
21
+ const emptyState = useMemo(() => getInitialQueryState(), []);
26
22
  const state = useSyncExternalStore((onStoreChange) => {
27
23
  if (!currentKey) {
28
24
  return () => undefined;
@@ -44,81 +40,8 @@ export function makeLazyQueryHook({ query, baseQuery, endpointName, providesTags
44
40
  ? serializeArgs(arg)
45
41
  : JSON.stringify(arg);
46
42
  const key = `${endpointName}::${serializedArg}`;
47
- const existingPromise = getInFlightQuery(key);
48
- if (existingPromise) {
49
- return existingPromise;
50
- }
51
- const controller = new AbortController();
52
- setQueryAbortController(key, controller);
53
- let promise;
54
- // eslint-disable-next-line prefer-const
55
- promise = (async () => {
56
- updateQueryState(key, (prevState) => ({
57
- ...prevState,
58
- error: undefined,
59
- ...(prevState.data !== undefined
60
- ? { isFetching: true, isLoading: false }
61
- : { isLoading: true, isFetching: false }),
62
- }));
63
- try {
64
- const request = query(arg);
65
- const result = await baseQuery({
66
- ...request,
67
- signal: controller.signal,
68
- });
69
- if ('error' in result) {
70
- const transformedError = transformErrorResponse
71
- ? transformErrorResponse(result.error, arg)
72
- : result.error;
73
- throw transformedError;
74
- }
75
- const raw = result.data;
76
- const data = transformResponse ? transformResponse(raw, arg) : raw;
77
- if (!controller.signal.aborted) {
78
- updateQueryState(key, (prevState) => ({
79
- ...prevState,
80
- data,
81
- error: undefined,
82
- fulfilledAt: Date.now(),
83
- }));
84
- if (providesTags) {
85
- setTagsForQueryKey(key, providesTags(data, arg));
86
- }
87
- }
88
- return data;
89
- }
90
- catch (error) {
91
- if (controller.signal.aborted)
92
- throw error;
93
- updateQueryState(key, (prevState) => ({
94
- ...prevState,
95
- error,
96
- }));
97
- throw error;
98
- }
99
- finally {
100
- if (!controller.signal.aborted) {
101
- updateQueryState(key, (prevState) => ({
102
- ...prevState,
103
- isLoading: false,
104
- isFetching: false,
105
- }));
106
- }
107
- clearInFlightQuery(key, promise);
108
- clearQueryAbortController(key, controller);
109
- }
110
- })();
111
- setInFlightQuery(key, promise);
112
- return promise;
113
- }, [
114
- query,
115
- baseQuery,
116
- endpointName,
117
- providesTags,
118
- serializeArgs,
119
- transformResponse,
120
- transformErrorResponse,
121
- ]);
43
+ return runQuery(props, arg, { key });
44
+ }, []);
122
45
  const trigger = useCallback((arg) => {
123
46
  const serializedArg = serializeArgs
124
47
  ? serializeArgs(arg)
@@ -133,7 +56,7 @@ export function makeLazyQueryHook({ query, baseQuery, endpointName, providesTags
133
56
  ownedKeyRef.current = nextKey;
134
57
  setCurrentArg(arg);
135
58
  return run(arg);
136
- }, [endpointName, keepUnusedDataFor, run, serializeArgs]);
59
+ }, [run]);
137
60
  const refetch = useCallback(() => {
138
61
  if (argRef.current === undefined) {
139
62
  return undefined;
@@ -150,7 +73,7 @@ export function makeLazyQueryHook({ query, baseQuery, endpointName, providesTags
150
73
  ownedKeyRef.current = null;
151
74
  }
152
75
  };
153
- }, [currentKey, keepUnusedDataFor]);
76
+ }, [currentKey]);
154
77
  return [trigger, { ...state, refetch }];
155
78
  };
156
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"makeLazyQueryHook.js","sourceRoot":"","sources":["../../src/lib/makeLazyQueryHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeLazyQueryHook.js","sourceRoot":"","sources":["../../src/lib/makeLazyQueryHook.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseQueryFn, MutationBuilderDefinition } from '../model/types.js';
1
+ import { type BaseQueryFn, type MutationBuilderDefinition } from '../model/types.js';
2
2
  type MakeMutationHookProps<R, A, Raw = R> = {
3
3
  baseQuery: BaseQueryFn<Raw>;
4
4
  } & Omit<MutationBuilderDefinition<R, A, Raw>, 'type'>;
@@ -1 +1 @@
1
- {"version":3,"file":"makeMutationHook.d.ts","sourceRoot":"","sources":["../../src/lib/makeMutationHook.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAsB,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE/F,KAAK,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI;IACxC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAC5C,KAAK,EACL,SAAS,EACT,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACzB,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,yBAea,CAAC;;;;;GA+EhD"}
1
+ {"version":3,"file":"makeMutationHook.d.ts","sourceRoot":"","sources":["../../src/lib/makeMutationHook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAA2B,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9G,KAAK,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI;IACxC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EAC5C,KAAK,EACL,SAAS,EACT,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACzB,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,yBAea,CAAC;;;;;GA0EhD"}
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useMemo, useRef, useState } from 'react';
2
- import { getQueryKeysByTag, refetchQueryByKey, refetchQueriesByEndpoint, } from '../model/queryStore.js';
2
+ import { invalidateTags, refetchQueriesByEndpoint } from '../model/queryStore.js';
3
3
  export function makeMutationHook({ query, baseQuery, invalidates, invalidatesTags, transformResponse, transformErrorResponse, }) {
4
4
  return function useGeneratedMutation() {
5
5
  const initialState = useMemo(() => ({
@@ -43,11 +43,7 @@ export function makeMutationHook({ query, baseQuery, invalidates, invalidatesTag
43
43
  refetchQueriesByEndpoint(endpointName);
44
44
  });
45
45
  if (invalidatesTags) {
46
- const tags = invalidatesTags(data, arg);
47
- const keys = new Set(tags.flatMap((tag) => getQueryKeysByTag(tag)));
48
- keys.forEach((key) => {
49
- refetchQueryByKey(key);
50
- });
46
+ invalidateTags(invalidatesTags(data, arg));
51
47
  }
52
48
  return data;
53
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"makeMutationHook.js","sourceRoot":"","sources":["../../src/lib/makeMutationHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeMutationHook.js","sourceRoot":"","sources":["../../src/lib/makeMutationHook.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
- import { BaseQueryFn, QueryBuilderDefinition, QueryHookOptions } from '../model/types.js';
2
- type MakeQueryHookProps<R, A, Raw = R> = {
3
- endpointName: string;
4
- baseQuery: BaseQueryFn<Raw>;
5
- } & Omit<QueryBuilderDefinition<R, A, Raw>, 'type'>;
6
- export declare function makeQueryHook<R, A, Raw = R>({ query, baseQuery, endpointName, providesTags, serializeArgs, staleTime, transformResponse, keepUnusedDataFor, transformErrorResponse, }: MakeQueryHookProps<R, A, Raw>): (arg: A, options?: QueryHookOptions) => {
1
+ import { type QueryHookOptions } from '../model/types.js';
2
+ import { type RunQueryProps } from './runQuery.js';
3
+ export declare function makeQueryHook<R, A, Raw = R>(props: RunQueryProps<R, A, Raw>): (arg: A, options?: QueryHookOptions) => {
7
4
  refetch: () => Promise<R>;
8
5
  data?: unknown;
6
+ error?: unknown;
7
+ status: import("../model/types.js").QueryStatus;
8
+ isUninitialized: boolean;
9
9
  isLoading: boolean;
10
10
  isFetching: boolean;
11
- error?: unknown;
11
+ isSuccess: boolean;
12
+ isError: boolean;
12
13
  fulfilledAt?: number;
14
+ requestId?: string;
13
15
  };
14
- export {};
15
16
  //# sourceMappingURL=makeQueryHook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeQueryHook.d.ts","sourceRoot":"","sources":["../../src/lib/makeQueryHook.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1F,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpD,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,EACzC,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAa,EACb,iBAAiB,EACjB,iBAAqB,EACrB,sBAAsB,GACzB,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IACM,KAAK,CAAC,EAAE,UAAU,gBAAgB;;;;;;;EAoJvE"}
1
+ {"version":3,"file":"makeQueryHook.d.ts","sourceRoot":"","sources":["../../src/lib/makeQueryHook.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EACvC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IASG,KAAK,CAAC,EAAE,UAAU,gBAAgB;;;;;;;;;;;;EA4DvE"}
@@ -1,7 +1,9 @@
1
1
  import { useCallback, useEffect, useRef } from 'react';
2
2
  import { useSyncExternalStore } from 'use-sync-external-store/shim';
3
- import { setQueryRunner, initQueryState, clearQueryRunner, subscribeToQuery, registerQueryKey, setInFlightQuery, getInFlightQuery, updateQueryState, setTagsForQueryKey, clearInFlightQuery, setQueryAbortController, clearQueryAbortController, } from '../model/queryStore.js';
4
- export function makeQueryHook({ query, baseQuery, endpointName, providesTags, serializeArgs, staleTime = 0, transformResponse, keepUnusedDataFor = 0, transformErrorResponse, }) {
3
+ import { setQueryRunner, initQueryState, clearQueryRunner, subscribeToQuery, registerQueryKey, } from '../model/queryStore.js';
4
+ import { runQuery } from './runQuery.js';
5
+ export function makeQueryHook(props) {
6
+ const { endpointName, serializeArgs, staleTime = 0, keepUnusedDataFor = 0, } = props;
5
7
  return function useGeneratedQuery(arg, options) {
6
8
  const enabled = options?.enabled ?? true;
7
9
  const refetchOnMount = options?.refetchOnMount ?? true;
@@ -11,81 +13,8 @@ export function makeQueryHook({ query, baseQuery, endpointName, providesTags, se
11
13
  argRef.current = arg;
12
14
  const state = useSyncExternalStore((onStoreChange) => subscribeToQuery(key, onStoreChange, keepUnusedDataFor), () => initQueryState(key), () => initQueryState(key));
13
15
  const run = useCallback((requestArg) => {
14
- const existingPromise = getInFlightQuery(key);
15
- if (existingPromise) {
16
- return existingPromise;
17
- }
18
- const controller = new AbortController();
19
- setQueryAbortController(key, controller);
20
- let promise;
21
- // eslint-disable-next-line prefer-const
22
- promise = (async () => {
23
- updateQueryState(key, (prevState) => ({
24
- ...prevState,
25
- error: undefined,
26
- ...(prevState.data !== undefined
27
- ? { isFetching: true, isLoading: false }
28
- : { isLoading: true, isFetching: false }),
29
- }));
30
- try {
31
- const request = query(requestArg);
32
- const result = await baseQuery({
33
- ...request,
34
- signal: controller.signal,
35
- });
36
- if ('error' in result) {
37
- const transformedError = transformErrorResponse
38
- ? transformErrorResponse(result.error, requestArg)
39
- : result.error;
40
- throw transformedError;
41
- }
42
- const raw = result.data;
43
- const data = transformResponse ? transformResponse(raw, requestArg) : raw;
44
- if (!controller.signal.aborted) {
45
- updateQueryState(key, (prevState) => ({
46
- ...prevState,
47
- data,
48
- error: undefined,
49
- fulfilledAt: Date.now(),
50
- }));
51
- if (providesTags) {
52
- setTagsForQueryKey(key, providesTags(data, requestArg));
53
- }
54
- }
55
- return data;
56
- }
57
- catch (error) {
58
- if (controller.signal.aborted) {
59
- throw error;
60
- }
61
- updateQueryState(key, (prevState) => ({
62
- ...prevState,
63
- error,
64
- }));
65
- throw error;
66
- }
67
- finally {
68
- if (!controller.signal.aborted) {
69
- updateQueryState(key, (prevState) => ({
70
- ...prevState,
71
- isLoading: false,
72
- isFetching: false,
73
- }));
74
- }
75
- clearInFlightQuery(key, promise);
76
- clearQueryAbortController(key, controller);
77
- }
78
- })();
79
- setInFlightQuery(key, promise);
80
- return promise;
81
- }, [
82
- key,
83
- query,
84
- baseQuery,
85
- providesTags,
86
- transformResponse,
87
- transformErrorResponse,
88
- ]);
16
+ return runQuery(props, requestArg, { key });
17
+ }, [key]);
89
18
  const refetch = useCallback(() => {
90
19
  return run(argRef.current);
91
20
  }, [run]);
@@ -97,7 +26,7 @@ export function makeQueryHook({ query, baseQuery, endpointName, providesTags, se
97
26
  else {
98
27
  clearQueryRunner(key);
99
28
  }
100
- }, [endpointName, key, run, arg, enabled]);
29
+ }, [key, run, enabled]);
101
30
  useEffect(() => {
102
31
  if (!enabled) {
103
32
  return;
@@ -114,7 +43,7 @@ export function makeQueryHook({ query, baseQuery, endpointName, providesTags, se
114
43
  if (!isFresh) {
115
44
  void run(arg).catch(() => undefined);
116
45
  }
117
- }, [enabled, key, run, staleTime, refetchOnMount]);
46
+ }, [enabled, key, run, refetchOnMount]);
118
47
  return { ...state, refetch };
119
48
  };
120
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"makeQueryHook.js","sourceRoot":"","sources":["../../src/lib/makeQueryHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeQueryHook.js","sourceRoot":"","sources":["../../src/lib/makeQueryHook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type BaseQueryFn, type QueryBuilderDefinition } from '../model/types.js';
2
+ export type RunQueryProps<R, A, Raw = R> = {
3
+ endpointName: string;
4
+ baseQuery: BaseQueryFn<Raw>;
5
+ } & Omit<QueryBuilderDefinition<R, A, Raw>, 'type'>;
6
+ export interface RunQueryOptions {
7
+ key: string;
8
+ requestId?: string;
9
+ }
10
+ export declare function runQuery<R, A, Raw = R>(props: RunQueryProps<R, A, Raw>, arg: A, options: RunQueryOptions): Promise<R>;
11
+ //# sourceMappingURL=runQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runQuery.d.ts","sourceRoot":"","sources":["../../src/lib/runQuery.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAClC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAC/B,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,eAAe,GACzB,OAAO,CAAC,CAAC,CAAC,CAuGZ"}
@@ -0,0 +1,83 @@
1
+ import { clearInFlightQuery, clearQueryAbortController, getInFlightQuery, setInFlightQuery, setQueryAbortController, setTagsForQueryKey, updateQueryState, } from '../model/queryStore.js';
2
+ export function runQuery(props, arg, options) {
3
+ const { query, baseQuery, providesTags, transformResponse, transformErrorResponse, } = props;
4
+ const { key, requestId } = options;
5
+ const existingPromise = getInFlightQuery(key);
6
+ if (existingPromise) {
7
+ return existingPromise;
8
+ }
9
+ const controller = new AbortController();
10
+ setQueryAbortController(key, controller);
11
+ let promise;
12
+ // eslint-disable-next-line prefer-const
13
+ promise = (async () => {
14
+ updateQueryState(key, (prevState) => ({
15
+ ...prevState,
16
+ error: undefined,
17
+ requestId,
18
+ status: 'pending',
19
+ isUninitialized: false,
20
+ isSuccess: false,
21
+ isError: false,
22
+ ...(prevState.data !== undefined
23
+ ? { isFetching: true, isLoading: false }
24
+ : { isLoading: true, isFetching: false }),
25
+ }));
26
+ try {
27
+ const request = query(arg);
28
+ const result = await baseQuery({
29
+ ...request,
30
+ signal: controller.signal,
31
+ });
32
+ if ('error' in result) {
33
+ const transformedError = transformErrorResponse
34
+ ? transformErrorResponse(result.error, arg)
35
+ : result.error;
36
+ throw transformedError;
37
+ }
38
+ const raw = result.data;
39
+ const data = transformResponse ? transformResponse(raw, arg) : raw;
40
+ if (!controller.signal.aborted) {
41
+ updateQueryState(key, (prevState) => ({
42
+ ...prevState,
43
+ data,
44
+ error: undefined,
45
+ requestId,
46
+ status: 'fulfilled',
47
+ isUninitialized: false,
48
+ isSuccess: true,
49
+ isError: false,
50
+ fulfilledAt: Date.now(),
51
+ }));
52
+ if (providesTags) {
53
+ setTagsForQueryKey(key, providesTags(data, arg));
54
+ }
55
+ }
56
+ return data;
57
+ }
58
+ catch (error) {
59
+ updateQueryState(key, (prevState) => ({
60
+ ...prevState,
61
+ error,
62
+ requestId,
63
+ status: 'rejected',
64
+ isUninitialized: false,
65
+ isSuccess: false,
66
+ isError: true,
67
+ }));
68
+ throw error;
69
+ }
70
+ finally {
71
+ updateQueryState(key, (prevState) => ({
72
+ ...prevState,
73
+ isLoading: false,
74
+ isFetching: false,
75
+ }));
76
+ clearInFlightQuery(key, promise);
77
+ clearQueryAbortController(key, controller);
78
+ }
79
+ })();
80
+ setInFlightQuery(key, promise);
81
+ return promise;
82
+ }
83
+ //# sourceMappingURL=runQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runQuery.js","sourceRoot":"","sources":["../../src/lib/runQuery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MutationBuilderDefinition, MutationDefinitionInput } from './types.js';
1
+ import { type MutationBuilderDefinition, type MutationDefinitionInput } from './types.js';
2
2
  type MutationSignature<R, A, Raw = R> = Omit<MutationDefinitionInput<R, A, Raw>, 'type'>;
3
3
  export declare function mutation<R, A, Raw = R>(signature: MutationSignature<R, A, Raw>): MutationBuilderDefinition<R, A, Raw>;
4
4
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../../src/model/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEhF,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEzF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAKrH"}
1
+ {"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../../src/model/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1F,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEzF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAKrH"}
@@ -1,4 +1,4 @@
1
- import { QueryBuilderDefinition, QueryDefinitionInput } from './types.js';
1
+ import { type QueryBuilderDefinition, type QueryDefinitionInput } from './types.js';
2
2
  type QuerySignature<R, A, Raw = R> = Omit<QueryDefinitionInput<R, A, Raw>, 'type'>;
3
3
  export declare function query<R, A, Raw = R>(signature: QuerySignature<R, A, Raw>): QueryBuilderDefinition<R, A, Raw>;
4
4
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/model/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE1E,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEnF,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAK5G"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/model/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEpF,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAEnF,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAK5G"}
@@ -1,5 +1,6 @@
1
- import { InferQueryState } from './types.js';
1
+ import { type InferQueryState, type RequiredWithUndefined, type TagDescription } from './types.js';
2
2
  type QueryState = InferQueryState<unknown>;
3
+ export declare function getInitialQueryState<R = unknown>(): RequiredWithUndefined<InferQueryState<R>>;
3
4
  export declare const querySubscriptionsCount: Map<string, number>;
4
5
  export declare const queryEndpointByKey: Map<string, string>;
5
6
  export declare const queryGcTimeouts: Map<string, NodeJS.Timeout>;
@@ -8,7 +9,10 @@ export declare function decrementQuerySubscriptions(key: string): number;
8
9
  export declare const queryKeySerializers: Map<string, (arg: unknown) => string>;
9
10
  export declare function setQueryKeySerializer(endpointName: string, serializer: (arg: unknown) => string): void;
10
11
  export declare function getQueryKeyByEndpointArg(endpointName: string, arg: unknown): string;
12
+ export declare function normalizeTag(tag: TagDescription): string;
13
+ export declare function normalizeTags(tags: TagDescription[]): string[];
11
14
  export declare function getQueryData<R>(endpointName: string, arg: unknown): R | undefined;
15
+ export declare function selectQueryState<R>(endpointName: string, arg: unknown): InferQueryState<R>;
12
16
  export declare function setQueryData<R>(endpointName: string, arg: unknown, data: R): void;
13
17
  export declare const queryListeners: Map<string, (() => void)[]>;
14
18
  export declare function subscribeToQuery(key: string, listener: () => void, keepUnusedDataFor: number): () => void;
@@ -34,11 +38,12 @@ export declare function cleanupQuery(key: string): void;
34
38
  export declare const queryKeysByTag: Map<string, Set<string>>;
35
39
  export declare const queryTagsByKey: Map<string, Set<string>>;
36
40
  export declare function clearTagsForQueryKey(key: string): void;
37
- export declare function setTagsForQueryKey(key: string, tags: string[]): void;
41
+ export declare function setTagsForQueryKey(key: string, tags: TagDescription[]): void;
38
42
  export declare function getQueryKeysByTag(tag: string): string[];
39
- export declare const queryTagResolvers: Map<string, (data: unknown, arg: unknown) => string[]>;
40
- export declare function setQueryTagResolver(endpointName: string, resolver?: (data: unknown, arg: unknown) => string[]): void;
41
- export declare function getQueryTagsForData(endpointName: string, data: unknown, arg: unknown): string[];
43
+ export declare function invalidateTags(tags: TagDescription[]): Promise<unknown>[];
44
+ export declare const queryTagResolvers: Map<string, (data: unknown, arg: unknown) => TagDescription[]>;
45
+ export declare function setQueryTagResolver(endpointName: string, resolver?: (data: unknown, arg: unknown) => TagDescription[]): void;
46
+ export declare function getQueryTagsForData(endpointName: string, data: unknown, arg: unknown): TagDescription[];
42
47
  export declare function updateQueryData<R>(endpointName: string, arg: unknown, updater: (prevData: R | undefined) => R): R;
43
48
  export declare const queryAbortControllers: Map<string, AbortController>;
44
49
  export declare function setQueryAbortController(key: string, controller: AbortController): void;
@@ -1 +1 @@
1
- {"version":3,"file":"queryStore.d.ts","sourceRoot":"","sources":["../../src/model/queryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryStore.d.ts","sourceRoot":"","sources":["../../src/model/queryStore.ts"],"names":[],"mappings":"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"}