@geekmidas/client 4.0.3 → 4.0.5
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.
- package/CHANGELOG.md +16 -0
- package/dist/auth-fetcher.cjs +1 -1
- package/dist/auth-fetcher.d.cts +1 -1
- package/dist/auth-fetcher.d.mts +1 -1
- package/dist/auth-fetcher.mjs +1 -1
- package/dist/endpoint-hooks.cjs +44 -1
- package/dist/endpoint-hooks.cjs.map +1 -1
- package/dist/endpoint-hooks.d.cts +24 -3
- package/dist/endpoint-hooks.d.cts.map +1 -1
- package/dist/endpoint-hooks.d.mts +24 -3
- package/dist/endpoint-hooks.d.mts.map +1 -1
- package/dist/endpoint-hooks.mjs +45 -2
- package/dist/endpoint-hooks.mjs.map +1 -1
- package/dist/{fetcher-C7rErA7M.mjs → fetcher-CakjC9C7.mjs} +5 -6
- package/dist/fetcher-CakjC9C7.mjs.map +1 -0
- package/dist/{fetcher-DtsaihL6.cjs → fetcher-CwnSqc4D.cjs} +5 -6
- package/dist/fetcher-CwnSqc4D.cjs.map +1 -0
- package/dist/fetcher.cjs +1 -1
- package/dist/fetcher.d.cts +6 -5
- package/dist/fetcher.d.cts.map +1 -1
- package/dist/fetcher.d.mts +6 -5
- package/dist/fetcher.d.mts.map +1 -1
- package/dist/fetcher.mjs +1 -1
- package/dist/openapi-hooks.cjs +1 -1
- package/dist/openapi-hooks.d.cts +4 -4
- package/dist/openapi-hooks.d.mts +1 -1
- package/dist/openapi-hooks.mjs +1 -1
- package/dist/react-query.cjs +1 -1
- package/dist/react-query.d.cts +8 -8
- package/dist/react-query.d.mts +1 -1
- package/dist/react-query.mjs +1 -1
- package/dist/{types-AMWu2wmL.d.mts → types-D8Jrl4o3.d.mts} +6 -5
- package/dist/{types-AMWu2wmL.d.mts.map → types-D8Jrl4o3.d.mts.map} +1 -1
- package/dist/{types-OSOkr8AA.d.cts → types-DMQMHePI.d.cts} +6 -5
- package/dist/{types-OSOkr8AA.d.cts.map → types-DMQMHePI.d.cts.map} +1 -1
- package/dist/types.d.cts +2 -2
- package/dist/types.d.mts +2 -2
- package/package.json +69 -29
- package/src/__tests__/fetcher.spec.ts +58 -0
- package/src/endpoint-hooks.ts +144 -2
- package/src/fetcher.ts +13 -6
- package/src/types.ts +8 -4
- package/dist/fetcher-C7rErA7M.mjs.map +0 -1
- package/dist/fetcher-DtsaihL6.cjs.map +0 -1
package/dist/openapi-hooks.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FetcherOptions } from "./types-
|
|
2
|
-
import * as
|
|
1
|
+
import { FetcherOptions } from "./types-DMQMHePI.cjs";
|
|
2
|
+
import * as _tanstack_react_query8 from "@tanstack/react-query";
|
|
3
3
|
import { UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
4
4
|
|
|
5
5
|
//#region src/openapi-hooks.d.ts
|
|
@@ -91,8 +91,8 @@ interface OperationRegistry {
|
|
|
91
91
|
declare function createOpenAPIHooks<Paths>(options?: FetcherOptions & {
|
|
92
92
|
operations?: OperationRegistry;
|
|
93
93
|
}): {
|
|
94
|
-
useQuery: <OpId extends OperationsByMethod<Paths, "get">>(operationId: OpId, config?: RemoveNever<OperationParams<Paths, OpId>>, options?: Omit<UseQueryOptions<OperationResponse<Paths, OpId>, Error>, "queryKey" | "queryFn">) =>
|
|
95
|
-
useMutation: <OpId extends Exclude<OperationId<Paths>, OperationsByMethod<Paths, "get">>>(operationId: OpId, options?: Omit<UseMutationOptions<OperationResponse<Paths, OpId>, Error, RemoveNever<OperationParams<Paths, OpId>>>, "mutationFn">) =>
|
|
94
|
+
useQuery: <OpId extends OperationsByMethod<Paths, "get">>(operationId: OpId, config?: RemoveNever<OperationParams<Paths, OpId>>, options?: Omit<UseQueryOptions<OperationResponse<Paths, OpId>, Error>, "queryKey" | "queryFn">) => _tanstack_react_query8.UseQueryResult<_tanstack_react_query8.NoInfer<OperationResponse<Paths, OpId>>, Error>;
|
|
95
|
+
useMutation: <OpId extends Exclude<OperationId<Paths>, OperationsByMethod<Paths, "get">>>(operationId: OpId, options?: Omit<UseMutationOptions<OperationResponse<Paths, OpId>, Error, RemoveNever<OperationParams<Paths, OpId>>>, "mutationFn">) => _tanstack_react_query8.UseMutationResult<OperationResponse<Paths, OpId>, Error, RemoveNever<OperationParams<Paths, OpId>>, unknown>;
|
|
96
96
|
};
|
|
97
97
|
//#endregion
|
|
98
98
|
export { createOpenAPIHooks };
|
package/dist/openapi-hooks.d.mts
CHANGED
package/dist/openapi-hooks.mjs
CHANGED
package/dist/react-query.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_fetcher = require('./fetcher-
|
|
2
|
+
const require_fetcher = require('./fetcher-CwnSqc4D.cjs');
|
|
3
3
|
const __tanstack_react_query = require_chunk.__toESM(require("@tanstack/react-query"));
|
|
4
4
|
const react = require_chunk.__toESM(require("react"));
|
|
5
5
|
|
package/dist/react-query.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtractEndpointResponse, FetcherOptions, FilteredRequestConfig, MutationEndpoint, QueryEndpoint, TypedEndpoint } from "./types-
|
|
2
|
-
import * as
|
|
1
|
+
import { ExtractEndpointResponse, FetcherOptions, FilteredRequestConfig, MutationEndpoint, QueryEndpoint, TypedEndpoint } from "./types-DMQMHePI.cjs";
|
|
2
|
+
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
3
3
|
import { QueryClient, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
4
4
|
|
|
5
5
|
//#region src/react-query.d.ts
|
|
@@ -10,15 +10,15 @@ declare class TypedQueryClient<Paths> {
|
|
|
10
10
|
private fetcher;
|
|
11
11
|
private queryClient?;
|
|
12
12
|
constructor(options?: TypedQueryClientOptions);
|
|
13
|
-
useQuery<T extends QueryEndpoint<Paths>>(endpoint: T, config?: FilteredRequestConfig<Paths, T>, options?: Omit<UseQueryOptions<ExtractEndpointResponse<Paths, T>, Response>, 'queryKey' | 'queryFn'>):
|
|
14
|
-
useMutation<T extends MutationEndpoint<Paths>>(endpoint: T, options?: Omit<UseMutationOptions<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>>, 'mutationFn'>):
|
|
13
|
+
useQuery<T extends QueryEndpoint<Paths>>(endpoint: T, config?: FilteredRequestConfig<Paths, T>, options?: Omit<UseQueryOptions<ExtractEndpointResponse<Paths, T>, Response>, 'queryKey' | 'queryFn'>): _tanstack_react_query0.UseQueryResult<_tanstack_react_query0.NoInfer<ExtractEndpointResponse<Paths, T>>, Response>;
|
|
14
|
+
useMutation<T extends MutationEndpoint<Paths>>(endpoint: T, options?: Omit<UseMutationOptions<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>>, 'mutationFn'>): _tanstack_react_query0.UseMutationResult<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>, unknown>;
|
|
15
15
|
useInfiniteQuery<T extends QueryEndpoint<Paths>, TPageData = ExtractEndpointResponse<Paths, T>, TPageParam = unknown>(endpoint: T, options: Omit<UseInfiniteQueryOptions<TPageData, Response, {
|
|
16
16
|
pages: TPageData[];
|
|
17
17
|
pageParams: TPageParam[];
|
|
18
18
|
}, unknown[], TPageParam>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'> & {
|
|
19
19
|
getNextPageParam: (lastPage: TPageData, allPages: TPageData[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
|
|
20
20
|
initialPageParam: TPageParam;
|
|
21
|
-
}, config?: FilteredRequestConfig<Paths, T>):
|
|
21
|
+
}, config?: FilteredRequestConfig<Paths, T>): _tanstack_react_query0.UseInfiniteQueryResult<{
|
|
22
22
|
pages: TPageData[];
|
|
23
23
|
pageParams: TPageParam[];
|
|
24
24
|
}, Response>;
|
|
@@ -47,15 +47,15 @@ declare class TypedQueryClient<Paths> {
|
|
|
47
47
|
setQueryClient(queryClient: QueryClient): void;
|
|
48
48
|
}
|
|
49
49
|
declare function createTypedQueryClient<Paths>(options?: TypedQueryClientOptions): TypedQueryClient<Paths>;
|
|
50
|
-
declare function useTypedQuery<Paths, T extends QueryEndpoint<Paths>>(client: TypedQueryClient<Paths>, endpoint: T, config?: FilteredRequestConfig<Paths, T>, options?: Omit<UseQueryOptions<ExtractEndpointResponse<Paths, T>, Response>, 'queryKey' | 'queryFn'>):
|
|
51
|
-
declare function useTypedMutation<Paths, T extends MutationEndpoint<Paths>>(client: TypedQueryClient<Paths>, endpoint: T, options?: Omit<UseMutationOptions<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>>, 'mutationFn'>):
|
|
50
|
+
declare function useTypedQuery<Paths, T extends QueryEndpoint<Paths>>(client: TypedQueryClient<Paths>, endpoint: T, config?: FilteredRequestConfig<Paths, T>, options?: Omit<UseQueryOptions<ExtractEndpointResponse<Paths, T>, Response>, 'queryKey' | 'queryFn'>): _tanstack_react_query0.UseQueryResult<_tanstack_react_query0.NoInfer<ExtractEndpointResponse<Paths, T>>, Response>;
|
|
51
|
+
declare function useTypedMutation<Paths, T extends MutationEndpoint<Paths>>(client: TypedQueryClient<Paths>, endpoint: T, options?: Omit<UseMutationOptions<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>>, 'mutationFn'>): _tanstack_react_query0.UseMutationResult<ExtractEndpointResponse<Paths, T>, Response, FilteredRequestConfig<Paths, T>, unknown>;
|
|
52
52
|
declare function useTypedInfiniteQuery<Paths, T extends QueryEndpoint<Paths>, TPageData = ExtractEndpointResponse<Paths, T>, TPageParam = unknown>(client: TypedQueryClient<Paths>, endpoint: T, options: Omit<UseInfiniteQueryOptions<TPageData, Response, {
|
|
53
53
|
pages: TPageData[];
|
|
54
54
|
pageParams: TPageParam[];
|
|
55
55
|
}, unknown[], TPageParam>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'> & {
|
|
56
56
|
getNextPageParam: (lastPage: TPageData, allPages: TPageData[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
|
|
57
57
|
initialPageParam: TPageParam;
|
|
58
|
-
}, config?: FilteredRequestConfig<Paths, T>):
|
|
58
|
+
}, config?: FilteredRequestConfig<Paths, T>): _tanstack_react_query0.UseInfiniteQueryResult<{
|
|
59
59
|
pages: TPageData[];
|
|
60
60
|
pageParams: TPageParam[];
|
|
61
61
|
}, Response>;
|
package/dist/react-query.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractEndpointResponse, FetcherOptions, FilteredRequestConfig, MutationEndpoint, QueryEndpoint, TypedEndpoint } from "./types-
|
|
1
|
+
import { ExtractEndpointResponse, FetcherOptions, FilteredRequestConfig, MutationEndpoint, QueryEndpoint, TypedEndpoint } from "./types-D8Jrl4o3.mjs";
|
|
2
2
|
import * as _tanstack_react_query3 from "@tanstack/react-query";
|
|
3
3
|
import { QueryClient, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
4
4
|
|
package/dist/react-query.mjs
CHANGED
|
@@ -96,14 +96,15 @@ interface FetcherOptions {
|
|
|
96
96
|
onError?: (error: Error) => void | Promise<void>;
|
|
97
97
|
fetch?: typeof fetch;
|
|
98
98
|
}
|
|
99
|
-
type WrappedResult<T> = {
|
|
99
|
+
type WrappedResult<T, E = unknown> = {
|
|
100
100
|
ok: true;
|
|
101
101
|
data: T;
|
|
102
102
|
} | {
|
|
103
103
|
ok: false;
|
|
104
|
-
error:
|
|
104
|
+
error: E;
|
|
105
105
|
};
|
|
106
|
-
type
|
|
106
|
+
type ErrorTransformer<E> = (error: unknown) => E | Promise<E>;
|
|
107
|
+
type WrappedApiFunction<Paths, E = unknown> = <T extends TypedEndpoint<Paths>>(endpoint: T, ...args: IsConfigRequired<Paths, T> extends true ? [config: FilteredRequestConfig<Paths, T>] : [config?: FilteredRequestConfig<Paths, T>]) => Promise<WrappedResult<ExtractEndpointResponse<Paths, T>, E>>;
|
|
107
108
|
//#endregion
|
|
108
|
-
export { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
109
|
-
//# sourceMappingURL=types-
|
|
109
|
+
export { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
110
|
+
//# sourceMappingURL=types-D8Jrl4o3.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-D8Jrl4o3.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -96,14 +96,15 @@ interface FetcherOptions {
|
|
|
96
96
|
onError?: (error: Error) => void | Promise<void>;
|
|
97
97
|
fetch?: typeof fetch;
|
|
98
98
|
}
|
|
99
|
-
type WrappedResult<T> = {
|
|
99
|
+
type WrappedResult<T, E = unknown> = {
|
|
100
100
|
ok: true;
|
|
101
101
|
data: T;
|
|
102
102
|
} | {
|
|
103
103
|
ok: false;
|
|
104
|
-
error:
|
|
104
|
+
error: E;
|
|
105
105
|
};
|
|
106
|
-
type
|
|
106
|
+
type ErrorTransformer<E> = (error: unknown) => E | Promise<E>;
|
|
107
|
+
type WrappedApiFunction<Paths, E = unknown> = <T extends TypedEndpoint<Paths>>(endpoint: T, ...args: IsConfigRequired<Paths, T> extends true ? [config: FilteredRequestConfig<Paths, T>] : [config?: FilteredRequestConfig<Paths, T>]) => Promise<WrappedResult<ExtractEndpointResponse<Paths, T>, E>>;
|
|
107
108
|
//#endregion
|
|
108
|
-
export { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
109
|
-
//# sourceMappingURL=types-
|
|
109
|
+
export { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
110
|
+
//# sourceMappingURL=types-DMQMHePI.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-DMQMHePI.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/types.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult } from "./types-
|
|
2
|
-
export { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
1
|
+
import { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult } from "./types-DMQMHePI.cjs";
|
|
2
|
+
export { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
package/dist/types.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult } from "./types-
|
|
2
|
-
export { EndpointString, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
|
1
|
+
import { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult } from "./types-D8Jrl4o3.mjs";
|
|
2
|
+
export { EndpointString, ErrorTransformer, ExtractEndpointConfig, ExtractEndpointResponse, ExtractMethod, ExtractPathParams, ExtractQueryParams, ExtractRequestBody, ExtractResponse, FetcherOptions, FilterEndpointByMethod, FilteredRequestConfig, IsConfigRequired, MutationEndpoint, OpenAPIRoutes, ParseEndpoint, QueryEndpoint, RequestConfig, TypedApiFunction, TypedEndpoint, ValidEndpoint, WrappedApiFunction, WrappedResult };
|
package/package.json
CHANGED
|
@@ -1,48 +1,88 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geekmidas/client",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
"import": {
|
|
9
|
+
"types": "./dist/index.d.mts",
|
|
10
|
+
"default": "./dist/index.mjs"
|
|
11
|
+
},
|
|
12
|
+
"require": {
|
|
13
|
+
"types": "./dist/index.d.cts",
|
|
14
|
+
"default": "./dist/index.cjs"
|
|
15
|
+
}
|
|
11
16
|
},
|
|
12
17
|
"./fetcher": {
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
"import": {
|
|
19
|
+
"types": "./dist/fetcher.d.mts",
|
|
20
|
+
"default": "./dist/fetcher.mjs"
|
|
21
|
+
},
|
|
22
|
+
"require": {
|
|
23
|
+
"types": "./dist/fetcher.d.cts",
|
|
24
|
+
"default": "./dist/fetcher.cjs"
|
|
25
|
+
}
|
|
16
26
|
},
|
|
17
27
|
"./infer": {
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./dist/infer.d.mts",
|
|
30
|
+
"default": "./dist/infer.mjs"
|
|
31
|
+
},
|
|
32
|
+
"require": {
|
|
33
|
+
"types": "./dist/infer.d.cts",
|
|
34
|
+
"default": "./dist/infer.cjs"
|
|
35
|
+
}
|
|
21
36
|
},
|
|
22
37
|
"./react-query": {
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
38
|
+
"import": {
|
|
39
|
+
"types": "./dist/react-query.d.mts",
|
|
40
|
+
"default": "./dist/react-query.mjs"
|
|
41
|
+
},
|
|
42
|
+
"require": {
|
|
43
|
+
"types": "./dist/react-query.d.cts",
|
|
44
|
+
"default": "./dist/react-query.cjs"
|
|
45
|
+
}
|
|
26
46
|
},
|
|
27
47
|
"./openapi": {
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
"import": {
|
|
49
|
+
"types": "./dist/openapi-hooks.d.mts",
|
|
50
|
+
"default": "./dist/openapi-hooks.mjs"
|
|
51
|
+
},
|
|
52
|
+
"require": {
|
|
53
|
+
"types": "./dist/openapi-hooks.d.cts",
|
|
54
|
+
"default": "./dist/openapi-hooks.cjs"
|
|
55
|
+
}
|
|
31
56
|
},
|
|
32
57
|
"./types": {
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
58
|
+
"import": {
|
|
59
|
+
"types": "./dist/types.d.mts",
|
|
60
|
+
"default": "./dist/types.mjs"
|
|
61
|
+
},
|
|
62
|
+
"require": {
|
|
63
|
+
"types": "./dist/types.d.cts",
|
|
64
|
+
"default": "./dist/types.cjs"
|
|
65
|
+
}
|
|
36
66
|
},
|
|
37
67
|
"./auth-fetcher": {
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
68
|
+
"import": {
|
|
69
|
+
"types": "./dist/auth-fetcher.d.mts",
|
|
70
|
+
"default": "./dist/auth-fetcher.mjs"
|
|
71
|
+
},
|
|
72
|
+
"require": {
|
|
73
|
+
"types": "./dist/auth-fetcher.d.cts",
|
|
74
|
+
"default": "./dist/auth-fetcher.cjs"
|
|
75
|
+
}
|
|
41
76
|
},
|
|
42
77
|
"./endpoint-hooks": {
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
78
|
+
"import": {
|
|
79
|
+
"types": "./dist/endpoint-hooks.d.mts",
|
|
80
|
+
"default": "./dist/endpoint-hooks.mjs"
|
|
81
|
+
},
|
|
82
|
+
"require": {
|
|
83
|
+
"types": "./dist/endpoint-hooks.d.cts",
|
|
84
|
+
"default": "./dist/endpoint-hooks.cjs"
|
|
85
|
+
}
|
|
46
86
|
}
|
|
47
87
|
},
|
|
48
88
|
"repository": {
|
|
@@ -68,16 +108,16 @@
|
|
|
68
108
|
"@types/react-dom": "~19.1.6",
|
|
69
109
|
"jsdom": "~26.1.0",
|
|
70
110
|
"msw": "~2.10.3",
|
|
71
|
-
"@geekmidas/
|
|
72
|
-
"@geekmidas/
|
|
111
|
+
"@geekmidas/constructs": "^3.0.12",
|
|
112
|
+
"@geekmidas/schema": "^1.0.2"
|
|
73
113
|
},
|
|
74
114
|
"peerDependencies": {
|
|
75
115
|
"@tanstack/react-query": ">=5.0.0",
|
|
76
116
|
"react": ">=18.0.0",
|
|
77
117
|
"react-dom": ">=18.0.0",
|
|
78
118
|
"zod": "~4.1.13",
|
|
79
|
-
"@geekmidas/constructs": "^3.0.
|
|
80
|
-
"@geekmidas/schema": "^1.0.
|
|
119
|
+
"@geekmidas/constructs": "^3.0.12",
|
|
120
|
+
"@geekmidas/schema": "^1.0.2"
|
|
81
121
|
},
|
|
82
122
|
"peerDependenciesMeta": {
|
|
83
123
|
"@geekmidas/constructs": {
|
|
@@ -477,6 +477,64 @@ describe('TypedFetcher', () => {
|
|
|
477
477
|
expect('data' in result).toBe(false);
|
|
478
478
|
expect(onError).toHaveBeenCalledWith(expect.any(Response));
|
|
479
479
|
});
|
|
480
|
+
|
|
481
|
+
it('should transform error with callback', async () => {
|
|
482
|
+
const client = createTypedFetcher<paths>({
|
|
483
|
+
baseURL: 'https://api.example.com',
|
|
484
|
+
});
|
|
485
|
+
const wrappedClient = client.wrap(async (error) => {
|
|
486
|
+
const response = error as Response;
|
|
487
|
+
const body = await response.json();
|
|
488
|
+
return { status: response.status, message: body.message };
|
|
489
|
+
});
|
|
490
|
+
|
|
491
|
+
const result = await wrappedClient('GET /users/{id}', {
|
|
492
|
+
params: { id: '404' },
|
|
493
|
+
});
|
|
494
|
+
|
|
495
|
+
expect(result.ok).toBe(false);
|
|
496
|
+
if (!result.ok) {
|
|
497
|
+
expect(result.error).toEqual({
|
|
498
|
+
status: 404,
|
|
499
|
+
message: 'User not found',
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
|
|
504
|
+
it('should infer error type from transformer', async () => {
|
|
505
|
+
const client = createTypedFetcher<paths>({
|
|
506
|
+
baseURL: 'https://api.example.com',
|
|
507
|
+
});
|
|
508
|
+
const wrappedClient = client.wrap(async (error) => {
|
|
509
|
+
const response = error as Response;
|
|
510
|
+
return { status: response.status, message: 'something went wrong' };
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
const result = await wrappedClient('GET /error');
|
|
514
|
+
|
|
515
|
+
expect(result.ok).toBe(false);
|
|
516
|
+
if (!result.ok) {
|
|
517
|
+
expect(result.error.status).toBe(500);
|
|
518
|
+
expect(result.error.message).toBe('something went wrong');
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
|
|
522
|
+
it('should preserve extra properties on wrapped function', async () => {
|
|
523
|
+
const client = createTypedFetcher<paths>({
|
|
524
|
+
baseURL: 'https://api.example.com',
|
|
525
|
+
});
|
|
526
|
+
|
|
527
|
+
// Simulate attaching hooks (like useQuery/useMutation)
|
|
528
|
+
const mockUseQuery = vi.fn();
|
|
529
|
+
const mockUseMutation = vi.fn();
|
|
530
|
+
(client as any).useQuery = mockUseQuery;
|
|
531
|
+
(client as any).useMutation = mockUseMutation;
|
|
532
|
+
|
|
533
|
+
const wrappedClient = client.wrap();
|
|
534
|
+
|
|
535
|
+
expect((wrappedClient as any).useQuery).toBe(mockUseQuery);
|
|
536
|
+
expect((wrappedClient as any).useMutation).toBe(mockUseMutation);
|
|
537
|
+
});
|
|
480
538
|
});
|
|
481
539
|
|
|
482
540
|
it('should URL encode special characters in path parameters', async () => {
|
package/src/endpoint-hooks.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
QueryClient,
|
|
3
|
+
QueryFunctionContext,
|
|
4
|
+
UseInfiniteQueryOptions,
|
|
5
|
+
UseInfiniteQueryResult,
|
|
3
6
|
UseMutationOptions,
|
|
4
7
|
UseMutationResult,
|
|
5
8
|
UseQueryOptions,
|
|
6
9
|
UseQueryResult,
|
|
7
10
|
} from '@tanstack/react-query';
|
|
8
|
-
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
11
|
+
import { useInfiniteQuery, useMutation, useQuery } from '@tanstack/react-query';
|
|
9
12
|
import { useMemo } from 'react';
|
|
10
13
|
import type {
|
|
11
14
|
ExtractEndpointResponse,
|
|
@@ -98,6 +101,52 @@ export interface EndpointHooks<Paths> {
|
|
|
98
101
|
FilteredRequestConfig<Paths, T>
|
|
99
102
|
>;
|
|
100
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Use infinite query hook for paginated GET endpoints.
|
|
106
|
+
*/
|
|
107
|
+
useInfiniteQuery: <
|
|
108
|
+
T extends QueryEndpoint<Paths>,
|
|
109
|
+
TPageData = ExtractEndpointResponse<Paths, T>,
|
|
110
|
+
TPageParam = unknown,
|
|
111
|
+
>(
|
|
112
|
+
endpoint: T,
|
|
113
|
+
options: Omit<
|
|
114
|
+
UseInfiniteQueryOptions<
|
|
115
|
+
TPageData,
|
|
116
|
+
Error,
|
|
117
|
+
{ pages: TPageData[]; pageParams: TPageParam[] },
|
|
118
|
+
unknown[],
|
|
119
|
+
TPageParam
|
|
120
|
+
>,
|
|
121
|
+
'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'
|
|
122
|
+
> & {
|
|
123
|
+
getNextPageParam: (
|
|
124
|
+
lastPage: TPageData,
|
|
125
|
+
allPages: TPageData[],
|
|
126
|
+
lastPageParam: TPageParam,
|
|
127
|
+
allPageParams: TPageParam[],
|
|
128
|
+
) => TPageParam | undefined;
|
|
129
|
+
initialPageParam: TPageParam;
|
|
130
|
+
},
|
|
131
|
+
config?: FilteredRequestConfig<Paths, T>,
|
|
132
|
+
) => UseInfiniteQueryResult<
|
|
133
|
+
{ pages: TPageData[]; pageParams: TPageParam[] },
|
|
134
|
+
Error
|
|
135
|
+
>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Invalidate queries for a specific endpoint.
|
|
139
|
+
*/
|
|
140
|
+
invalidateQueries: <T extends QueryEndpoint<Paths>>(
|
|
141
|
+
endpoint: T,
|
|
142
|
+
config?: FilteredRequestConfig<Paths, T>,
|
|
143
|
+
) => Promise<void>;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Invalidate all queries in the cache.
|
|
147
|
+
*/
|
|
148
|
+
invalidateAllQueries: () => Promise<void>;
|
|
149
|
+
|
|
101
150
|
/**
|
|
102
151
|
* Build a query key for manual cache operations
|
|
103
152
|
*/
|
|
@@ -124,7 +173,7 @@ export interface EndpointHooks<Paths> {
|
|
|
124
173
|
*/
|
|
125
174
|
export function createEndpointHooks<Paths>(
|
|
126
175
|
fetcher: TypedApiFunction<Paths>,
|
|
127
|
-
|
|
176
|
+
options: CreateEndpointHooksOptions = {},
|
|
128
177
|
): EndpointHooks<Paths> {
|
|
129
178
|
return {
|
|
130
179
|
useQuery: <T extends QueryEndpoint<Paths>>(
|
|
@@ -199,6 +248,99 @@ export function createEndpointHooks<Paths>(
|
|
|
199
248
|
>(memoizedOptions);
|
|
200
249
|
},
|
|
201
250
|
|
|
251
|
+
useInfiniteQuery: <
|
|
252
|
+
T extends QueryEndpoint<Paths>,
|
|
253
|
+
TPageData = ExtractEndpointResponse<Paths, T>,
|
|
254
|
+
TPageParam = unknown,
|
|
255
|
+
>(
|
|
256
|
+
endpoint: T,
|
|
257
|
+
options: Omit<
|
|
258
|
+
UseInfiniteQueryOptions<
|
|
259
|
+
TPageData,
|
|
260
|
+
Error,
|
|
261
|
+
{ pages: TPageData[]; pageParams: TPageParam[] },
|
|
262
|
+
unknown[],
|
|
263
|
+
TPageParam
|
|
264
|
+
>,
|
|
265
|
+
'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'
|
|
266
|
+
> & {
|
|
267
|
+
getNextPageParam: (
|
|
268
|
+
lastPage: TPageData,
|
|
269
|
+
allPages: TPageData[],
|
|
270
|
+
lastPageParam: TPageParam,
|
|
271
|
+
allPageParams: TPageParam[],
|
|
272
|
+
) => TPageParam | undefined;
|
|
273
|
+
initialPageParam: TPageParam;
|
|
274
|
+
},
|
|
275
|
+
config?: FilteredRequestConfig<Paths, T>,
|
|
276
|
+
) => {
|
|
277
|
+
const queryKey = buildQueryKey(endpoint, config);
|
|
278
|
+
|
|
279
|
+
const memoizedOptions = useMemo(
|
|
280
|
+
() => ({
|
|
281
|
+
queryKey,
|
|
282
|
+
queryFn: ({
|
|
283
|
+
pageParam,
|
|
284
|
+
}: QueryFunctionContext<unknown[], TPageParam>) => {
|
|
285
|
+
let mergedConfig = config;
|
|
286
|
+
if (pageParam !== undefined && config) {
|
|
287
|
+
const pageQuery =
|
|
288
|
+
typeof pageParam === 'object' ? pageParam : { page: pageParam };
|
|
289
|
+
mergedConfig = {
|
|
290
|
+
...config,
|
|
291
|
+
query: { ...(config as any).query, ...pageQuery },
|
|
292
|
+
} as any;
|
|
293
|
+
} else if (pageParam !== undefined && !config) {
|
|
294
|
+
const pageQuery =
|
|
295
|
+
typeof pageParam === 'object' ? pageParam : { page: pageParam };
|
|
296
|
+
mergedConfig = { query: pageQuery } as any;
|
|
297
|
+
}
|
|
298
|
+
return (
|
|
299
|
+
fetcher as (
|
|
300
|
+
endpoint: T,
|
|
301
|
+
config?: unknown,
|
|
302
|
+
) => Promise<ExtractEndpointResponse<Paths, T>>
|
|
303
|
+
)(endpoint, mergedConfig) as Promise<TPageData>;
|
|
304
|
+
},
|
|
305
|
+
...options,
|
|
306
|
+
}),
|
|
307
|
+
[endpoint, config, fetcher, queryKey, options],
|
|
308
|
+
);
|
|
309
|
+
|
|
310
|
+
return useInfiniteQuery<
|
|
311
|
+
TPageData,
|
|
312
|
+
Error,
|
|
313
|
+
{ pages: TPageData[]; pageParams: TPageParam[] },
|
|
314
|
+
unknown[],
|
|
315
|
+
TPageParam
|
|
316
|
+
>(memoizedOptions);
|
|
317
|
+
},
|
|
318
|
+
|
|
319
|
+
invalidateQueries: <T extends QueryEndpoint<Paths>>(
|
|
320
|
+
endpoint: T,
|
|
321
|
+
config?: FilteredRequestConfig<Paths, T>,
|
|
322
|
+
) => {
|
|
323
|
+
if (!options.queryClient) {
|
|
324
|
+
throw new Error(
|
|
325
|
+
'queryClient is required for invalidateQueries. Pass it to createEndpointHooks options.',
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
const queryKey = buildQueryKey(endpoint, config);
|
|
329
|
+
return options.queryClient.invalidateQueries({
|
|
330
|
+
queryKey,
|
|
331
|
+
exact: !!config,
|
|
332
|
+
});
|
|
333
|
+
},
|
|
334
|
+
|
|
335
|
+
invalidateAllQueries: () => {
|
|
336
|
+
if (!options.queryClient) {
|
|
337
|
+
throw new Error(
|
|
338
|
+
'queryClient is required for invalidateAllQueries. Pass it to createEndpointHooks options.',
|
|
339
|
+
);
|
|
340
|
+
}
|
|
341
|
+
return options.queryClient.invalidateQueries();
|
|
342
|
+
},
|
|
343
|
+
|
|
202
344
|
buildQueryKey,
|
|
203
345
|
};
|
|
204
346
|
}
|