@openapi-qraft/react 1.7.0 → 1.9.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.
- package/CHANGELOG.md +8 -0
- package/README.md +61 -55
- package/dist/QraftContext.d.ts +1 -1
- package/dist/ServiceOperation.d.ts +1 -1
- package/dist/ServiceOperation.d.ts.map +1 -1
- package/dist/callbacks/mutationFn.js +2 -2
- package/dist/callbacks/mutationFn.js.map +1 -1
- package/dist/callbacks/operationInvokeFn.d.ts +9 -0
- package/dist/callbacks/operationInvokeFn.d.ts.map +1 -0
- package/dist/callbacks/operationInvokeFn.js +21 -0
- package/dist/callbacks/operationInvokeFn.js.map +1 -0
- package/dist/callbacks/queryFn.d.ts.map +1 -1
- package/dist/callbacks/queryFn.js +4 -2
- package/dist/callbacks/queryFn.js.map +1 -1
- package/dist/callbacks/useInfiniteQuery.js +1 -1
- package/dist/callbacks/useInfiniteQuery.js.map +1 -1
- package/dist/callbacks/useQueries.js +1 -1
- package/dist/callbacks/useQueries.js.map +1 -1
- package/dist/callbacks/useQuery.js +1 -1
- package/dist/callbacks/useQuery.js.map +1 -1
- package/dist/callbacks/useSuspenseInfiniteQuery.js +1 -1
- package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
- package/dist/callbacks/useSuspenseQueries.js +1 -1
- package/dist/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/callbacks/useSuspenseQuery.js +1 -1
- package/dist/callbacks/useSuspenseQuery.js.map +1 -1
- package/dist/lib/callQueryClientFetchMethod.js +3 -3
- package/dist/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/lib/callQueryClientMethodWithMutationFilters.js +2 -2
- package/dist/lib/callQueryClientMethodWithMutationFilters.js.map +1 -1
- package/dist/lib/callQueryClientMethodWithQueryFilters.js +2 -2
- package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
- package/dist/lib/callQueryClientMethodWithQueryKey.js +1 -1
- package/dist/lib/callQueryClientMethodWithQueryKey.js.map +1 -1
- package/dist/lib/composeMutationKey.d.ts +1 -1
- package/dist/lib/composeMutationKey.d.ts.map +1 -1
- package/dist/lib/composeMutationKey.js +1 -1
- package/dist/lib/composeMutationKey.js.map +1 -1
- package/dist/lib/createRecursiveProxy.d.ts +6 -0
- package/dist/lib/createRecursiveProxy.d.ts.map +1 -1
- package/dist/lib/createRecursiveProxy.js +7 -0
- package/dist/lib/createRecursiveProxy.js.map +1 -1
- package/dist/lib/requestFn.d.ts +26 -3
- package/dist/lib/requestFn.d.ts.map +1 -1
- package/dist/lib/requestFn.js +27 -3
- package/dist/lib/requestFn.js.map +1 -1
- package/dist/lib/useComposeUseQueryOptions.js +2 -2
- package/dist/lib/useComposeUseQueryOptions.js.map +1 -1
- package/dist/lib/useQueryClient.d.ts.map +1 -1
- package/dist/lib/useQueryClient.js +1 -2
- package/dist/lib/useQueryClient.js.map +1 -1
- package/dist/qraftAPIClient.d.ts +4 -16
- package/dist/qraftAPIClient.d.ts.map +1 -1
- package/dist/qraftAPIClient.js +28 -9
- package/dist/qraftAPIClient.js.map +1 -1
- package/dist/service-operation/ServiceOperationKey.d.ts +1 -1
- package/dist/service-operation/ServiceOperationKey.d.ts.map +1 -1
- package/dist/service-operation/ServiceOperationMutationFn.d.ts +27 -0
- package/dist/service-operation/ServiceOperationMutationFn.d.ts.map +1 -1
- package/dist/service-operation/ServiceOperationQueryFn.d.ts +47 -0
- package/dist/service-operation/ServiceOperationQueryFn.d.ts.map +1 -1
- package/package.json +10 -5
- package/src/QraftContext.ts +1 -1
- package/src/ServiceOperation.ts +1 -1
- package/src/callbacks/mutationFn.ts +2 -2
- package/src/callbacks/operationInvokeFn.ts +45 -0
- package/src/callbacks/queryFn.ts +11 -6
- package/src/callbacks/useInfiniteQuery.ts +1 -1
- package/src/callbacks/useQueries.ts +1 -1
- package/src/callbacks/useQuery.ts +1 -1
- package/src/callbacks/useSuspenseInfiniteQuery.ts +1 -1
- package/src/callbacks/useSuspenseQueries.ts +1 -1
- package/src/callbacks/useSuspenseQuery.ts +1 -1
- package/src/lib/callQueryClientFetchMethod.ts +3 -3
- package/src/lib/callQueryClientMethodWithMutationFilters.ts +2 -2
- package/src/lib/callQueryClientMethodWithQueryFilters.ts +2 -2
- package/src/lib/callQueryClientMethodWithQueryKey.ts +1 -1
- package/src/lib/composeMutationKey.ts +6 -8
- package/src/lib/createRecursiveProxy.ts +7 -0
- package/src/lib/requestFn.ts +31 -5
- package/src/lib/useComposeUseQueryOptions.ts +2 -2
- package/src/lib/useQueryClient.ts +3 -2
- package/src/qraftAPIClient.ts +39 -39
- package/src/service-operation/ServiceOperationKey.ts +1 -1
- package/src/service-operation/ServiceOperationMutationFn.ts +58 -0
- package/src/service-operation/ServiceOperationQueryFn.ts +110 -0
package/dist/lib/requestFn.d.ts
CHANGED
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* This function is used to make a request to a specified endpoint.
|
|
3
|
+
*
|
|
4
|
+
* @template T The expected return type of the request.
|
|
5
|
+
*
|
|
6
|
+
* @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
7
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
8
|
+
* @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.
|
|
9
|
+
*
|
|
10
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
11
|
+
*
|
|
12
|
+
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
3
13
|
*/
|
|
4
14
|
export declare function requestFn<T>(schema: OperationSchema, requestInfo: RequestFnInfo, options?: RequestFnOptions): Promise<T>;
|
|
5
15
|
/**
|
|
6
|
-
*
|
|
16
|
+
* This function is used to make a request to a specified endpoint.
|
|
17
|
+
* It's needed to create a custom `requestFn` with a custom `urlSerializer`
|
|
18
|
+
* and `bodySerializer`, with the tree-shaking of the default `requestFn`
|
|
19
|
+
* and its serializers.
|
|
20
|
+
*
|
|
21
|
+
* @template T The expected return type of the request.
|
|
22
|
+
*
|
|
23
|
+
* @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
24
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
25
|
+
* @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.
|
|
26
|
+
*
|
|
27
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
28
|
+
*
|
|
29
|
+
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
7
30
|
*/
|
|
8
31
|
export declare function baseRequestFn<T>(requestSchema: OperationSchema, requestInfo: RequestFnInfo, options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>): Promise<T>;
|
|
9
32
|
export declare function urlSerializer(schema: OperationSchema, info: RequestFnPayload): string;
|
|
@@ -28,6 +51,7 @@ export interface OperationSchema {
|
|
|
28
51
|
export interface RequestFnPayload {
|
|
29
52
|
/**
|
|
30
53
|
* Base URL to use for the request
|
|
54
|
+
* @example 'https://api.example.com'
|
|
31
55
|
*/
|
|
32
56
|
baseUrl: string | undefined;
|
|
33
57
|
/**
|
|
@@ -39,7 +63,6 @@ export interface RequestFnPayload {
|
|
|
39
63
|
*/
|
|
40
64
|
readonly parameters?: {
|
|
41
65
|
readonly path?: Record<string, any>;
|
|
42
|
-
readonly cookie?: Record<string, any>;
|
|
43
66
|
readonly header?: Record<string, any>;
|
|
44
67
|
readonly query?: Record<string, any>;
|
|
45
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestFn.d.ts","sourceRoot":"","sources":["../../src/lib/requestFn.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"requestFn.d.ts","sourceRoot":"","sources":["../../src/lib/requestFn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,aAAa,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,aAAa,EAAE,eAAe,EAC9B,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,eAAe,GAAG,gBAAgB,CAAC,GAC1E,OAAO,CAAC,CAAC,CAAC,CAoCZ;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAqBR;AA6DD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,gBAAgB,wCAwBvB;AA+ED,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,MAAM,EACX,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,CAAC;IAEZ;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtC,CAAC;IAEF;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE1D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,UAAU,aACR,SAAQ,gBAAgB,EACtB,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7D;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAC3C,CAAC,IAAI,CAAC,GAAG,EAAE;CACb,CAAC"}
|
package/dist/lib/requestFn.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* This function is used to make a request to a specified endpoint.
|
|
3
|
+
*
|
|
4
|
+
* @template T The expected return type of the request.
|
|
5
|
+
*
|
|
6
|
+
* @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
7
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
8
|
+
* @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.
|
|
9
|
+
*
|
|
10
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
11
|
+
*
|
|
12
|
+
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
3
13
|
*/
|
|
4
14
|
export async function requestFn(schema, requestInfo, options) {
|
|
5
15
|
return baseRequestFn(schema, requestInfo, {
|
|
@@ -9,7 +19,20 @@ export async function requestFn(schema, requestInfo, options) {
|
|
|
9
19
|
});
|
|
10
20
|
}
|
|
11
21
|
/**
|
|
12
|
-
*
|
|
22
|
+
* This function is used to make a request to a specified endpoint.
|
|
23
|
+
* It's needed to create a custom `requestFn` with a custom `urlSerializer`
|
|
24
|
+
* and `bodySerializer`, with the tree-shaking of the default `requestFn`
|
|
25
|
+
* and its serializers.
|
|
26
|
+
*
|
|
27
|
+
* @template T The expected return type of the request.
|
|
28
|
+
*
|
|
29
|
+
* @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.
|
|
30
|
+
* @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.
|
|
31
|
+
* @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.
|
|
32
|
+
*
|
|
33
|
+
* @returns {Promise<T>} Returns a promise that resolves with the response of the request.
|
|
34
|
+
*
|
|
35
|
+
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
13
36
|
*/
|
|
14
37
|
export async function baseRequestFn(requestSchema, requestInfo, options) {
|
|
15
38
|
const { parameters, headers, body, ...requestInfoRest } = requestInfo;
|
|
@@ -36,7 +59,8 @@ export async function baseRequestFn(requestSchema, requestInfo, options) {
|
|
|
36
59
|
}
|
|
37
60
|
export function urlSerializer(schema, info) {
|
|
38
61
|
const path = schema.url.replace(/{(.*?)}/g, (substring, group) => {
|
|
39
|
-
if (info.parameters?.path
|
|
62
|
+
if (info.parameters?.path &&
|
|
63
|
+
Object.prototype.hasOwnProperty.call(info.parameters.path, group)) {
|
|
40
64
|
return encodeURI(String(info.parameters?.path[group]));
|
|
41
65
|
}
|
|
42
66
|
return substring;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestFn.js","sourceRoot":"","sources":["../../src/lib/requestFn.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"requestFn.js","sourceRoot":"","sources":["../../src/lib/requestFn.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,10 @@ export function useComposeUseQueryOptions(qraftOptions, schema, args, infinite)
|
|
|
15
15
|
if (!contextValue?.requestFn)
|
|
16
16
|
throw new Error(`QraftContext.requestFn not found`);
|
|
17
17
|
const queryFn = options?.queryFn ??
|
|
18
|
-
// @ts-expect-error
|
|
18
|
+
// @ts-expect-error - Too complex to type
|
|
19
19
|
function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
20
20
|
return contextValue.requestFn(schema, {
|
|
21
|
-
// @ts-expect-error
|
|
21
|
+
// @ts-expect-error - Too complex to type
|
|
22
22
|
parameters: infinite
|
|
23
23
|
? shelfMerge(2, queryParams, pageParam)
|
|
24
24
|
: queryParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComposeUseQueryOptions.js","sourceRoot":"","sources":["../../src/lib/useComposeUseQueryOptions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA4C,EAC5C,MAAuB,EACvB,IAAyB,EACzB,QAAiB;IAEjB,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAEhD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,EAAE,SAAS;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEtD,MAAM,OAAO,GACX,OAAO,EAAE,OAAO;QAChB,
|
|
1
|
+
{"version":3,"file":"useComposeUseQueryOptions.js","sourceRoot":"","sources":["../../src/lib/useComposeUseQueryOptions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA4C,EAC5C,MAAuB,EACvB,IAAyB,EACzB,QAAiB;IAEjB,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAEhD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,EAAE,SAAS;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEtD,MAAM,OAAO,GACX,OAAO,EAAE,OAAO;QAChB,yCAAyC;QACzC,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,OAAO,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE;gBACpC,yCAAyC;gBACzC,UAAU,EAAE,QAAQ;oBAClB,CAAC,CAAE,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAW;oBAClD,CAAC,CAAC,WAAW;gBACf,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACxC,CAAC,CAAE,UAAiE;QACpE,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC;YAC7C,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C,OAAO;QACL,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QACjC,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC;KACjC,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryClient.d.ts","sourceRoot":"","sources":["../../src/lib/useQueryClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,WAAW,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"useQueryClient.d.ts","sourceRoot":"","sources":["../../src/lib/useQueryClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,WAAW,EAAE,WAAW,GAAG,SAAS,eAOrC"}
|
|
@@ -8,8 +8,7 @@ import { QraftContext } from '../QraftContext.js';
|
|
|
8
8
|
* @param queryClient If not provided, will be taken this instance
|
|
9
9
|
*/
|
|
10
10
|
export function useQueryClient(qraftOptions, queryClient) {
|
|
11
|
-
const queryClientByContext = useContext(qraftOptions?.context ?? QraftContext)
|
|
12
|
-
?.queryClient;
|
|
11
|
+
const queryClientByContext = useContext(qraftOptions?.context ?? QraftContext)?.queryClient;
|
|
13
12
|
return useQueryClientTanstack(queryClient ?? queryClientByContext);
|
|
14
13
|
}
|
|
15
14
|
//# sourceMappingURL=useQueryClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryClient.js","sourceRoot":"","sources":["../../src/lib/useQueryClient.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAEL,cAAc,IAAI,sBAAsB,GACzC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,YAA4C,EAC5C,WAAoC;IAEpC,MAAM,oBAAoB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"useQueryClient.js","sourceRoot":"","sources":["../../src/lib/useQueryClient.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAEL,cAAc,IAAI,sBAAsB,GACzC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,YAA4C,EAC5C,WAAoC;IAEpC,MAAM,oBAAoB,GAAG,UAAU,CACrC,YAAY,EAAE,OAAO,IAAI,YAAY,CACtC,EAAE,WAAW,CAAC;IAEf,OAAO,sBAAsB,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC;AACrE,CAAC"}
|
package/dist/qraftAPIClient.d.ts
CHANGED
|
@@ -4,33 +4,21 @@ import type { QraftContextValue } from './QraftContext.js';
|
|
|
4
4
|
export interface QraftClientOptions {
|
|
5
5
|
context?: Context<QraftContextValue>;
|
|
6
6
|
}
|
|
7
|
-
export declare const qraftAPIClient: <Services extends
|
|
8
|
-
type
|
|
7
|
+
export declare const qraftAPIClient: <Services extends ServicesBaseDeclaration<Services>, Callbacks extends ServicesCallbacks>(services: ServicesDeclaration<Services>, callbacks: Callbacks, options?: QraftClientOptions) => Services;
|
|
8
|
+
type ServicesBaseDeclaration<Services> = {
|
|
9
9
|
[service in keyof Services]: {
|
|
10
10
|
[method in keyof Services[service]]: {
|
|
11
11
|
schema: OperationSchema;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
type ServicesDeclaration<Services extends
|
|
15
|
+
type ServicesDeclaration<Services extends ServicesBaseDeclaration<Services>> = {
|
|
16
16
|
[service in keyof Services]: {
|
|
17
17
|
[method in keyof Services[service]]: {
|
|
18
18
|
schema: Services[service][method]['schema'];
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
-
type ServicesCallbacks = Record<string, (...rest: any[]) =>
|
|
23
|
-
type ServicesCallbacksFilter<Services extends ServicesOutput<Services>, Callbacks> = Services extends {
|
|
24
|
-
[serviceName in keyof Services]: {
|
|
25
|
-
[method in keyof Services[serviceName]]: {
|
|
26
|
-
schema: OperationSchema;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
} ? {
|
|
30
|
-
[serviceName in keyof Services]: {
|
|
31
|
-
[method in keyof Services[serviceName]]: Pick<Services[serviceName][method], FilterKeys<keyof Services[serviceName][method], Callbacks | 'schema' | 'types'>>;
|
|
32
|
-
};
|
|
33
|
-
} : never;
|
|
34
|
-
type FilterKeys<T, K> = K extends T ? K : never;
|
|
22
|
+
type ServicesCallbacks = Record<string, (...rest: any[]) => unknown>;
|
|
35
23
|
export {};
|
|
36
24
|
//# sourceMappingURL=qraftAPIClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,cAAc,qKAMf,kBAAkB,aA8B7B,CAAC;AAuCF,KAAK,uBAAuB,CAAC,QAAQ,IAAI;KACtC,OAAO,IAAI,MAAM,QAAQ,GAAG;SAC1B,MAAM,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG;YAAE,MAAM,EAAE,eAAe,CAAA;SAAE;KACjE;CACF,CAAC;AAEF,KAAK,mBAAmB,CAAC,QAAQ,SAAS,uBAAuB,CAAC,QAAQ,CAAC,IAAI;KAC5E,OAAO,IAAI,MAAM,QAAQ,GAAG;SAC1B,MAAM,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG;YACnC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C;KACF;CACF,CAAC;AAEF,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC"}
|
package/dist/qraftAPIClient.js
CHANGED
|
@@ -1,24 +1,43 @@
|
|
|
1
1
|
import { createRecursiveProxy } from './lib/createRecursiveProxy.js';
|
|
2
2
|
export const qraftAPIClient = (services, callbacks, options) => {
|
|
3
|
-
return createRecursiveProxy((getPath, key)
|
|
3
|
+
return createRecursiveProxy(function getCallback(getPath, key) {
|
|
4
4
|
if (getPath.length !== 2 || key !== 'schema')
|
|
5
|
-
return;
|
|
5
|
+
return; // todo::maybe return callback?
|
|
6
6
|
const serviceOperation = getByPath(services, getPath);
|
|
7
7
|
if (!isServiceOperation(serviceOperation))
|
|
8
8
|
throw new Error(`Service operation not found: ${getPath.join('.')}`);
|
|
9
9
|
return serviceOperation.schema;
|
|
10
|
-
}, (applyPath, args)
|
|
11
|
-
const path = applyPath
|
|
10
|
+
}, function applyCallback(applyPath, args) {
|
|
11
|
+
const { path, callbackName } = extractCallbackDetails(applyPath);
|
|
12
|
+
if (!(callbackName in callbacks))
|
|
13
|
+
throw new Error(`Function ${callbackName} is not supported`);
|
|
12
14
|
const serviceOperation = getByPath(services, path);
|
|
13
15
|
if (!isServiceOperation(serviceOperation))
|
|
14
16
|
throw new Error(`Service operation not found: ${path.join('.')}`);
|
|
15
|
-
|
|
16
|
-
const functionName = applyPath[applyPath.length - 1];
|
|
17
|
-
if (!(functionName in callbacks))
|
|
18
|
-
throw new Error(`Function ${functionName} is not supported`);
|
|
19
|
-
return callbacks[functionName](options, serviceOperation.schema, args);
|
|
17
|
+
return callbacks[callbackName](options, serviceOperation.schema, args);
|
|
20
18
|
}, []);
|
|
21
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Extracts Callback details from the applyPath
|
|
22
|
+
* @param applyPath
|
|
23
|
+
*/
|
|
24
|
+
function extractCallbackDetails(applyPath) {
|
|
25
|
+
// <service>.<operation>()
|
|
26
|
+
if (applyPath.length === 2) {
|
|
27
|
+
return {
|
|
28
|
+
path: applyPath,
|
|
29
|
+
callbackName: 'operationInvokeFn',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// <service>.<operation>.<method>()
|
|
34
|
+
return {
|
|
35
|
+
path: applyPath.slice(0, -1),
|
|
36
|
+
// The last arg is for instance `.useMutation` or `.useQuery()`
|
|
37
|
+
callbackName: applyPath[applyPath.length - 1],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
22
41
|
function isServiceOperation(input) {
|
|
23
42
|
return input !== null && typeof input === 'object' && 'schema' in input;
|
|
24
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qraftAPIClient.js","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qraftAPIClient.js","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAQrE,MAAM,CAAC,MAAM,cAAc,GAAG,CAI5B,QAAuC,EACvC,SAAoB,EACpB,OAA4B,EAClB,EAAE;IACZ,OAAO,oBAAoB,CACzB,SAAS,WAAW,CAAC,OAAO,EAAE,GAAG;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,CAAC,+BAA+B;QAErF,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACjC,CAAC,EACD,SAAS,aAAa,CAAC,SAAS,EAAE,IAAI;QACpC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,mBAAmB,CAAC,CAAC;QAE/D,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpE,OAAO,SAAS,CAAC,YAA+B,CAAC,CAC/C,OAAO,EACP,gBAAgB,CAAC,MAAM,EACvB,IAAI,CACL,CAAC;IACJ,CAAC,EACD,EAAE,CACM,CAAC;AACb,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,sBAAsB,CAAC,SAAmB;IACjD,0BAA0B;IAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,mBAGb;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,mCAAmC;QACnC,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,+DAA+D;YAC/D,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAc;IAEd,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,GAA4B,EAAE,IAAc;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,GAAG;YAC9C,OAAO,GAAG,CAAC,GAAuB,CAAC,CAAC;IACxC,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -12,5 +12,5 @@ export type ServiceOperationInfiniteQueryKey<S extends {
|
|
|
12
12
|
url: string;
|
|
13
13
|
method: string;
|
|
14
14
|
}, T> = ServiceOperationBaseQueryKey<S, true, T>;
|
|
15
|
-
export type ServiceOperationMutationKey<S extends Record<'url' | 'method', string>, T
|
|
15
|
+
export type ServiceOperationMutationKey<S extends Record<'url' | 'method', string>, T> = NonNullable<T> extends never ? [S] : [S, T];
|
|
16
16
|
//# sourceMappingURL=ServiceOperationKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOperationKey.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationKey.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,QAAQ,SAAS,OAAO,EACxB,CAAC,IACC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,CAAC,IACC,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,gCAAgC,CAC1C,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,CAAC,IACC,4BAA4B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,EAC1C,CAAC,
|
|
1
|
+
{"version":3,"file":"ServiceOperationKey.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationKey.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,QAAQ,SAAS,OAAO,EACxB,CAAC,IACC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,CAAC,IACC,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,gCAAgC,CAC1C,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,CAAC,IACC,4BAA4B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,EAC1C,CAAC,IACC,WAAW,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
+
interface QueryFnBaseUrlOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Base URL to use for the request
|
|
4
|
+
* @example 'https://api.example.com'
|
|
5
|
+
*/
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
}
|
|
8
|
+
interface ServiceOperationMutationFnOptionsBase<TBody, TParams> {
|
|
9
|
+
parameters: TParams;
|
|
10
|
+
body: TBody;
|
|
11
|
+
}
|
|
12
|
+
interface ServiceOperationMutationFnOptions<TBody, TParams> extends ServiceOperationMutationFnOptionsBase<TBody, TParams> {
|
|
13
|
+
baseUrl?: never;
|
|
14
|
+
}
|
|
15
|
+
interface ServiceOperationMutationFnOptionsWithBaseUrl<TBody, TParams> extends ServiceOperationMutationFnOptionsBase<TBody, TParams>, QueryFnBaseUrlOptions {
|
|
16
|
+
}
|
|
1
17
|
export interface ServiceOperationMutationFn<TSchema extends {
|
|
2
18
|
url: string;
|
|
3
19
|
method: string;
|
|
4
20
|
}, TBody, TData, TParams> {
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use `<service>.<operation>(...)` instead.
|
|
23
|
+
*/
|
|
5
24
|
mutationFn(client: (schema: TSchema, options: {
|
|
6
25
|
parameters: TParams;
|
|
7
26
|
body: TBody;
|
|
@@ -9,6 +28,9 @@ export interface ServiceOperationMutationFn<TSchema extends {
|
|
|
9
28
|
parameters: TParams;
|
|
10
29
|
body: TBody;
|
|
11
30
|
}): TData;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use `<service>.<operation>(...)` instead.
|
|
33
|
+
*/
|
|
12
34
|
mutationFn(client: (schema: TSchema, options: {
|
|
13
35
|
parameters: TParams;
|
|
14
36
|
body: TBody;
|
|
@@ -16,5 +38,10 @@ export interface ServiceOperationMutationFn<TSchema extends {
|
|
|
16
38
|
parameters: TParams;
|
|
17
39
|
body: TBody;
|
|
18
40
|
}): Promise<TData>;
|
|
41
|
+
<TOptions extends ServiceOperationMutationFnOptions<TBody, TParams>>(options: TOptions, client: (schema: TSchema, options: TOptions) => TData): TData;
|
|
42
|
+
<TOptions extends ServiceOperationMutationFnOptionsWithBaseUrl<TBody, TParams>>(options: TOptions, client: (schema: TSchema, options: TOptions) => TData): TData;
|
|
43
|
+
<TOptions extends ServiceOperationMutationFnOptions<TBody, TParams>>(options: TOptions, client: (schema: TSchema, options: TOptions) => Promise<TData>): Promise<TData>;
|
|
44
|
+
<TOptions extends ServiceOperationMutationFnOptionsWithBaseUrl<TBody, TParams>>(options: TOptions, client: (schema: TSchema, options: TOptions) => Promise<TData>): Promise<TData>;
|
|
19
45
|
}
|
|
46
|
+
export {};
|
|
20
47
|
//# sourceMappingURL=ServiceOperationMutationFn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOperationMutationFn.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationMutationFn.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B,CACzC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO;IAEP,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,KAAK,EACV,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,KAAK,CAAC;IAET,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,OAAO,CAAC,KAAK,CAAC,EACnB,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,OAAO,CAAC,KAAK,CAAC,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"ServiceOperationMutationFn.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationMutationFn.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qCAAqC,CAAC,KAAK,EAAE,OAAO;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;CACb;AAED,UAAU,iCAAiC,CAAC,KAAK,EAAE,OAAO,CACxD,SAAQ,qCAAqC,CAAC,KAAK,EAAE,OAAO,CAAC;IAC7D,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,4CAA4C,CAAC,KAAK,EAAE,OAAO,CACnE,SAAQ,qCAAqC,CAAC,KAAK,EAAE,OAAO,CAAC,EAC3D,qBAAqB;CAAG;AAE5B,MAAM,WAAW,0BAA0B,CACzC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO;IAEP;;OAEG;IACH,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,KAAK,EACV,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,KAAK,CAAC;IAET;;OAEG;IACH,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,OAAO,CAAC,KAAK,CAAC,EACnB,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,OAAO,CAAC,KAAK,CAAC,CAAC;IAElB,CAAC,QAAQ,SAAS,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,KAAK,GACpD,KAAK,CAAC;IAET,CACE,QAAQ,SAAS,4CAA4C,CAC3D,KAAK,EACL,OAAO,CACR,EAED,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,KAAK,GACpD,KAAK,CAAC;IAET,CAAC,QAAQ,SAAS,iCAAiC,CAAC,KAAK,EAAE,OAAO,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,KAAK,CAAC,GAC7D,OAAO,CAAC,KAAK,CAAC,CAAC;IAElB,CACE,QAAQ,SAAS,4CAA4C,CAC3D,KAAK,EACL,OAAO,CACR,EAED,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,KAAK,CAAC,GAC7D,OAAO,CAAC,KAAK,CAAC,CAAC;CACnB"}
|
|
@@ -6,27 +6,74 @@ interface QueryFnOptionsBase<TMeta extends Record<string, any>, TSignal extends
|
|
|
6
6
|
interface QueryFnOptionsByParameters<TParams, TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal> extends QueryFnOptionsBase<TMeta, TSignal> {
|
|
7
7
|
parameters: TParams;
|
|
8
8
|
queryKey?: never;
|
|
9
|
+
baseUrl?: never;
|
|
10
|
+
}
|
|
11
|
+
interface QueryFnOptionsByParametersWithBaseUrl<TParams, TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal> extends QueryFnOptionsBase<TMeta, TSignal>, QueryFnBaseUrlOptions {
|
|
12
|
+
parameters: TParams;
|
|
13
|
+
queryKey?: never;
|
|
9
14
|
}
|
|
10
15
|
interface QueryFnOptionsByQueryKey<TSchema extends {
|
|
11
16
|
url: string;
|
|
12
17
|
method: string;
|
|
13
18
|
}, TParams, TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal> extends QueryFnOptionsBase<TMeta, TSignal> {
|
|
14
19
|
queryKey: ServiceOperationQueryKey<TSchema, TParams>;
|
|
20
|
+
parameters?: never;
|
|
21
|
+
baseUrl?: never;
|
|
22
|
+
}
|
|
23
|
+
interface QueryFnOptionsByQueryKeyWithBaseUrl<TSchema extends {
|
|
24
|
+
url: string;
|
|
25
|
+
method: string;
|
|
26
|
+
}, TParams, TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal> extends QueryFnOptionsBase<TMeta, TSignal>, QueryFnBaseUrlOptions {
|
|
27
|
+
queryKey: ServiceOperationQueryKey<TSchema, TParams>;
|
|
28
|
+
parameters?: never;
|
|
29
|
+
}
|
|
30
|
+
interface QueryFnBaseUrlOptions {
|
|
31
|
+
/**
|
|
32
|
+
* Base URL to use for the request
|
|
33
|
+
* @example 'https://api.example.com'
|
|
34
|
+
*/
|
|
35
|
+
baseUrl: string;
|
|
15
36
|
}
|
|
16
37
|
export interface ServiceOperationQueryFn<TSchema extends {
|
|
17
38
|
url: string;
|
|
18
39
|
method: string;
|
|
19
40
|
}, TData, TParams> {
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use `<service>.<operation>(...)` instead.
|
|
43
|
+
*/
|
|
20
44
|
queryFn<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParameters<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKey<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
21
45
|
parameters: TParams;
|
|
22
46
|
signal?: TSignal;
|
|
23
47
|
meta?: TMeta;
|
|
24
48
|
}) => TData): TData;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Use `<service>.<operation>(...)` instead.
|
|
51
|
+
*/
|
|
25
52
|
queryFn<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParameters<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKey<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
26
53
|
parameters: TParams;
|
|
27
54
|
signal?: TSignal;
|
|
28
55
|
meta?: TMeta;
|
|
29
56
|
}) => Promise<TData>): Promise<TData>;
|
|
57
|
+
<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParameters<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKey<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
58
|
+
parameters: TParams;
|
|
59
|
+
signal?: TSignal;
|
|
60
|
+
meta?: TMeta;
|
|
61
|
+
}) => TData): TData;
|
|
62
|
+
<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParametersWithBaseUrl<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKeyWithBaseUrl<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
63
|
+
parameters: TParams;
|
|
64
|
+
signal?: TSignal;
|
|
65
|
+
meta?: TMeta;
|
|
66
|
+
} & QueryFnBaseUrlOptions) => TData): TData;
|
|
67
|
+
<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParameters<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKey<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
68
|
+
parameters: TParams;
|
|
69
|
+
signal?: TSignal;
|
|
70
|
+
meta?: TMeta;
|
|
71
|
+
}) => Promise<TData>): Promise<TData>;
|
|
72
|
+
<TMeta extends Record<string, any>, TSignal extends AbortSignal = AbortSignal>(options: QueryFnOptionsByParametersWithBaseUrl<TParams, TMeta, TSignal> | QueryFnOptionsByQueryKeyWithBaseUrl<TSchema, TParams, TMeta, TSignal>, client: (schema: TSchema, options: {
|
|
73
|
+
parameters: TParams;
|
|
74
|
+
signal?: TSignal;
|
|
75
|
+
meta?: TMeta;
|
|
76
|
+
} & QueryFnBaseUrlOptions) => Promise<TData>): Promise<TData>;
|
|
30
77
|
}
|
|
31
78
|
export {};
|
|
32
79
|
//# sourceMappingURL=ServiceOperationQueryFn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOperationQueryFn.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationQueryFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,UAAU,kBAAkB,CAC1B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,SAAS,WAAW,GAAG,WAAW;IAEzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,UAAU,0BAA0B,CAClC,OAAO,EACP,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,SAAS,WAAW,GAAG,WAAW,CACzC,SAAQ,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceOperationQueryFn.d.ts","sourceRoot":"","sources":["../../src/service-operation/ServiceOperationQueryFn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openapi-qraft/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "API client for React, providing type-safe requests and dynamic Tanstack Query React Hooks via a modular, Proxy-based architecture.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "rimraf dist/ && tsc --project tsconfig.build.json",
|
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
"test": "vitest run",
|
|
9
9
|
"test:coverage": "vitest run --coverage",
|
|
10
10
|
"typecheck": "tsc --noEmit",
|
|
11
|
-
"
|
|
12
|
-
"generate-
|
|
11
|
+
"lint": "eslint",
|
|
12
|
+
"generate-api": "openapi-qraft --plugin tanstack-query-react --plugin openapi-typescript ../test-fixtures/openapi.json -rm -o src/tests/fixtures/api --openapi-types-file-name openapi.ts --explicit-import-extensions --filter-services '/approval_policies/**,/entities/**,/files/**,!/internal/**' && yarn _prettify-api",
|
|
13
|
+
"_prettify-api": "prettier --write src/tests/fixtures/api/**/*.ts"
|
|
13
14
|
},
|
|
14
15
|
"type": "module",
|
|
15
16
|
"sideEffects": false,
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@openapi-qraft/cli": "~1.
|
|
18
|
-
"@openapi-qraft/
|
|
18
|
+
"@openapi-qraft/cli": "~1.9.0",
|
|
19
|
+
"@openapi-qraft/eslint-config": "~1.0.0",
|
|
20
|
+
"@openapi-qraft/openapi-typescript-plugin": "^1.0.1",
|
|
21
|
+
"@openapi-qraft/test-fixtures": "~1.0.0",
|
|
19
22
|
"@tanstack/react-query": "^5.17.3",
|
|
20
23
|
"@testing-library/jest-dom": "^5.17.0",
|
|
21
24
|
"@testing-library/react": "^13.4.0",
|
|
@@ -23,6 +26,8 @@
|
|
|
23
26
|
"@types/react": "^18.2.47",
|
|
24
27
|
"@vitejs/plugin-react": "latest",
|
|
25
28
|
"@vitest/coverage-v8": "^1.1.3",
|
|
29
|
+
"eslint": "^9.0.0",
|
|
30
|
+
"globals": "^15.0.0",
|
|
26
31
|
"jsdom": "latest",
|
|
27
32
|
"msw": "^2.0.12",
|
|
28
33
|
"prettier": "^3.1.1",
|
package/src/QraftContext.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { OperationSchema, RequestFnPayload } from './lib/requestFn.js';
|
|
|
8
8
|
|
|
9
9
|
interface QraftContextValueBase {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Base URL to use for the request
|
|
12
12
|
* @example 'https://api.example.com'
|
|
13
13
|
*/
|
|
14
14
|
baseUrl?: string;
|
package/src/ServiceOperation.ts
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { OperationSchema } from '../lib/requestFn.js';
|
|
2
|
+
import type { QraftClientOptions } from '../qraftAPIClient.js';
|
|
3
|
+
import { ServiceOperationMutationFn } from '../service-operation/ServiceOperationMutationFn.js';
|
|
4
|
+
import { ServiceOperationQueryFn } from '../service-operation/ServiceOperationQueryFn.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Called when <service>.<operation>(...) is invoked.
|
|
8
|
+
*/
|
|
9
|
+
export const operationInvokeFn: <
|
|
10
|
+
TSchema extends OperationSchema,
|
|
11
|
+
TBody,
|
|
12
|
+
TData,
|
|
13
|
+
TParams,
|
|
14
|
+
>(
|
|
15
|
+
qraftOptions: QraftClientOptions | undefined,
|
|
16
|
+
schema: TSchema,
|
|
17
|
+
args:
|
|
18
|
+
| Parameters<ServiceOperationQueryFn<TSchema, TData, TParams>>
|
|
19
|
+
| Parameters<ServiceOperationMutationFn<TSchema, TBody, TData, TParams>>
|
|
20
|
+
) => Promise<TData> = (_, schema, args) => {
|
|
21
|
+
const queryOperationMethods = ['get', 'head', 'options'] as const; // todo::make it shared
|
|
22
|
+
|
|
23
|
+
const isQueryOperationType = queryOperationMethods.includes(
|
|
24
|
+
schema.method as (typeof queryOperationMethods)[number]
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
const [options, client] = args;
|
|
28
|
+
|
|
29
|
+
const invokeSchema =
|
|
30
|
+
isQueryOperationType && 'queryKey' in options
|
|
31
|
+
? options.queryKey![0]
|
|
32
|
+
: schema;
|
|
33
|
+
|
|
34
|
+
const invokeParameters =
|
|
35
|
+
isQueryOperationType && 'queryKey' in options
|
|
36
|
+
? options.queryKey![1]
|
|
37
|
+
: 'parameters' in options
|
|
38
|
+
? options.parameters
|
|
39
|
+
: undefined;
|
|
40
|
+
|
|
41
|
+
return client(invokeSchema, {
|
|
42
|
+
...options,
|
|
43
|
+
parameters: invokeParameters,
|
|
44
|
+
} as never);
|
|
45
|
+
};
|
package/src/callbacks/queryFn.ts
CHANGED
|
@@ -12,10 +12,15 @@ export const queryFn: <
|
|
|
12
12
|
) => Promise<TData> = (_, schema, args) => {
|
|
13
13
|
const [options, client] = args;
|
|
14
14
|
|
|
15
|
-
return client(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
return client(
|
|
16
|
+
options && 'queryKey' in options ? options.queryKey![0] : schema,
|
|
17
|
+
{
|
|
18
|
+
parameters:
|
|
19
|
+
options && 'queryKey' in options
|
|
20
|
+
? options.queryKey![1]
|
|
21
|
+
: options.parameters,
|
|
22
|
+
meta: options.meta,
|
|
23
|
+
signal: options.signal,
|
|
24
|
+
}
|
|
25
|
+
) as Promise<never>;
|
|
21
26
|
};
|
|
@@ -23,7 +23,7 @@ export const useInfiniteQuery: <
|
|
|
23
23
|
>
|
|
24
24
|
) => UseInfiniteQueryResult<TData, TError> = (qraftOptions, schema, args) => {
|
|
25
25
|
return useInfiniteQueryBase(
|
|
26
|
-
// @ts-expect-error
|
|
26
|
+
// @ts-expect-error - Too complex to type...
|
|
27
27
|
...useComposeUseQueryOptions(qraftOptions, schema, args, true)
|
|
28
28
|
) as never;
|
|
29
29
|
};
|