mobx-tanstack-query-api 0.0.70 → 0.0.72
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/package.json +1 -1
- package/runtime/endpoint-query.d.ts +1 -0
- package/runtime/endpoint-query.d.ts.map +1 -1
- package/runtime/endpoint-query.js +7 -4
- package/runtime/endpoint-query.types.d.ts +2 -2
- package/runtime/endpoint.d.ts +16 -3
- package/runtime/endpoint.d.ts.map +1 -1
- package/runtime/endpoint.js +8 -0
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import { AnyEndpoint } from './endpoint.types.js';
|
|
|
7
7
|
export declare class EndpointQuery<TEndpoint extends AnyEndpoint, TQueryFnData = TEndpoint['__response']['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> extends Query<TQueryFnData, TError, TData, TQueryData> {
|
|
8
8
|
private endpoint;
|
|
9
9
|
response: TEndpoint['__response'] | null;
|
|
10
|
+
params: TEndpoint['__params'] | null;
|
|
10
11
|
private uniqKey?;
|
|
11
12
|
constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, params: getParams, uniqKey, ...queryOptions }: EndpointQueryOptions<TEndpoint, TQueryFnData, TError, TData, TQueryData>);
|
|
12
13
|
start(input: MaybeFalsy<TEndpoint['__params']>): Promise<QueryObserverResult<TData, TError>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-query.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa,CACxB,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAC9C,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,CACzB,SAAQ,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint-query.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa,CACxB,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAC9C,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,CACzB,SAAQ,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAOpD,OAAO,CAAC,QAAQ;IANlB,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAQ;IAChD,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAQ;IAE5C,OAAO,CAAC,OAAO,CAAC,CAAuB;gBAG7B,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAkFvE,KAAK,CACT,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GACvC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAK/C"}
|
|
@@ -3,6 +3,7 @@ import { Query } from 'mobx-tanstack-query';
|
|
|
3
3
|
export class EndpointQuery extends Query {
|
|
4
4
|
endpoint;
|
|
5
5
|
response = null;
|
|
6
|
+
params = null;
|
|
6
7
|
uniqKey;
|
|
7
8
|
constructor(endpoint, queryClient, { transform: transformResponse, params: getParams, uniqKey, ...queryOptions }) {
|
|
8
9
|
super({
|
|
@@ -43,11 +44,12 @@ export class EndpointQuery extends Query {
|
|
|
43
44
|
};
|
|
44
45
|
},
|
|
45
46
|
queryFn: async (ctx) => {
|
|
47
|
+
const params = getParamsFromContext(ctx);
|
|
46
48
|
runInAction(() => {
|
|
47
49
|
this.response = null;
|
|
50
|
+
this.params = params;
|
|
48
51
|
});
|
|
49
|
-
|
|
50
|
-
let requestParams = input.request;
|
|
52
|
+
let requestParams = params.request;
|
|
51
53
|
if (requestParams) {
|
|
52
54
|
if (!requestParams.signal) {
|
|
53
55
|
requestParams.signal = ctx.signal;
|
|
@@ -57,7 +59,7 @@ export class EndpointQuery extends Query {
|
|
|
57
59
|
requestParams = { signal: ctx.signal };
|
|
58
60
|
}
|
|
59
61
|
const fixedInput = {
|
|
60
|
-
...
|
|
62
|
+
...params,
|
|
61
63
|
request: requestParams,
|
|
62
64
|
};
|
|
63
65
|
const response = await endpoint.request(fixedInput);
|
|
@@ -70,13 +72,14 @@ export class EndpointQuery extends Query {
|
|
|
70
72
|
this.endpoint = endpoint;
|
|
71
73
|
this.uniqKey = uniqKey;
|
|
72
74
|
observable.ref(this, 'response');
|
|
75
|
+
observable.ref(this, 'params');
|
|
73
76
|
makeObservable(this);
|
|
74
77
|
}
|
|
75
78
|
async start(input) {
|
|
76
79
|
return await super.start(buildOptionsFromParams(this.endpoint, input, this.uniqKey));
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
const
|
|
82
|
+
const getParamsFromContext = (ctx) => {
|
|
80
83
|
return (ctx.queryKey.at(-2) || {});
|
|
81
84
|
};
|
|
82
85
|
const buildOptionsFromParams = (endpoint, params, uniqKey) => {
|
|
@@ -13,7 +13,7 @@ export interface EndpointQueryMeta {
|
|
|
13
13
|
group?: string;
|
|
14
14
|
namespace?: string;
|
|
15
15
|
}
|
|
16
|
-
export type
|
|
16
|
+
export type EndpointQueryUniqKey = Maybe<FnValue<string | number | AnyObject | boolean>>;
|
|
17
17
|
export type EndpointQueryOptions<TEndpoint extends AnyEndpoint, TQueryFnData = TEndpoint['__response']['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> = {
|
|
18
18
|
params?: () => MaybeFalsy<TEndpoint['__params']>;
|
|
19
19
|
/**
|
|
@@ -21,7 +21,7 @@ export type EndpointQueryOptions<TEndpoint extends AnyEndpoint, TQueryFnData = T
|
|
|
21
21
|
*/
|
|
22
22
|
transform?: (response: TEndpoint['__response']) => TQueryFnData | Promise<TQueryFnData>;
|
|
23
23
|
} & Omit<QueryConfig<NoInfer<TQueryFnData>, TError, TData, TQueryData>, 'options' | 'queryFn' | 'queryClient' | 'queryKey' | '_defaulted' | '_optimisticResults' | 'experimental_prefetchInRender' | 'enabled' | 'queryHash' | 'queryKeyHashFn'> & {
|
|
24
|
-
uniqKey?:
|
|
24
|
+
uniqKey?: EndpointQueryUniqKey;
|
|
25
25
|
enabled?: boolean;
|
|
26
26
|
};
|
|
27
27
|
//# sourceMappingURL=endpoint-query.types.d.ts.map
|
package/runtime/endpoint.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { DefaultError } from '@tanstack/query-core';
|
|
1
|
+
import { DefaultError, InvalidateOptions, InvalidateQueryFilters } from '@tanstack/query-core';
|
|
2
2
|
import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
|
|
3
3
|
import { EndpointMutation } from './endpoint-mutation.js';
|
|
4
4
|
import { EndpointMutationOptions } from './endpoint-mutation.types.js';
|
|
5
5
|
import { EndpointQueryClient } from './endpoint-query-client.js';
|
|
6
6
|
import { EndpointQuery } from './endpoint-query.js';
|
|
7
|
-
import { EndpointQueryOptions,
|
|
7
|
+
import { EndpointQueryOptions, EndpointQueryUniqKey } from './endpoint-query.types.js';
|
|
8
8
|
import { EndpointConfiguration, EndpointMutationPresets } from './endpoint.types.js';
|
|
9
9
|
import type { HttpClient, HttpResponse } from './http-client.js';
|
|
10
10
|
export interface Endpoint<TResponse extends HttpResponse<any, any>, TParams extends AnyObject, TMetaData extends AnyObject = AnyObject> {
|
|
@@ -30,7 +30,20 @@ export declare class Endpoint<TResponse extends HttpResponse<any, any>, TParams
|
|
|
30
30
|
get group(): string | undefined;
|
|
31
31
|
get namespace(): string | undefined;
|
|
32
32
|
request(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams] : [input: TParams]): Promise<TResponse>;
|
|
33
|
-
getQueryKey(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams, uniqKey?:
|
|
33
|
+
getQueryKey(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams, uniqKey?: EndpointQueryUniqKey] : [input: TParams, uniqKey?: EndpointQueryUniqKey]): any[];
|
|
34
|
+
invalidateQuery(...args: AllPropertiesOptional<TParams> extends true ? [
|
|
35
|
+
input?: TParams,
|
|
36
|
+
filters?: InvalidateQueryFilters & {
|
|
37
|
+
uniqKey?: EndpointQueryUniqKey;
|
|
38
|
+
},
|
|
39
|
+
options?: InvalidateOptions
|
|
40
|
+
] : [
|
|
41
|
+
input: TParams,
|
|
42
|
+
filters?: InvalidateQueryFilters & {
|
|
43
|
+
uniqKey?: EndpointQueryUniqKey;
|
|
44
|
+
},
|
|
45
|
+
options?: InvalidateOptions
|
|
46
|
+
]): void;
|
|
34
47
|
toMutation<TData = TResponse['data'], TMutationMeta extends AnyObject | void = void, TContext = unknown>(options: EndpointMutationOptions<this, TData, TParams, TMutationMeta, TContext>): EndpointMutation<this, TData, TParams, TMutationMeta, TContext>;
|
|
35
48
|
toQuery<TQueryFnData = TResponse['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData>(options: EndpointQueryOptions<this, TQueryFnData, TError, TData, TQueryData>): EndpointQuery<this, TQueryFnData, TError, TData, TQueryData>;
|
|
36
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.ts"],"names":[],"mappings":"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"}
|
package/runtime/endpoint.js
CHANGED
|
@@ -74,6 +74,14 @@ export class Endpoint {
|
|
|
74
74
|
resolveFnValue(args[1]),
|
|
75
75
|
];
|
|
76
76
|
}
|
|
77
|
+
invalidateQuery(...args) {
|
|
78
|
+
this.queryClient.invalidateQueries({
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
queryKey: this.getQueryKey(args[0], args[1]?.uniqKey),
|
|
81
|
+
exact: true,
|
|
82
|
+
...args[1],
|
|
83
|
+
}, args[2]);
|
|
84
|
+
}
|
|
77
85
|
toMutation(options) {
|
|
78
86
|
return new EndpointMutation(this, this.queryClient, {
|
|
79
87
|
...options,
|