@effect-app/vue 2.15.1 → 2.15.2
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 +6 -0
- package/_cjs/index.cjs +22 -0
- package/_cjs/index.cjs.map +1 -1
- package/_cjs/query.cjs +25 -0
- package/_cjs/query.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/query.d.ts +5 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +30 -2
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/query.ts +47 -1
package/CHANGELOG.md
CHANGED
package/_cjs/index.cjs
CHANGED
|
@@ -47,6 +47,28 @@ Object.keys(_makeIntl).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
var _mutate = require("./mutate.cjs");
|
|
51
|
+
Object.keys(_mutate).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _mutate[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _mutate[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _query = require("./query.cjs");
|
|
62
|
+
Object.keys(_query).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _query[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _query[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
50
72
|
var _runtime = require("./runtime.cjs");
|
|
51
73
|
Object.keys(_runtime).forEach(function (key) {
|
|
52
74
|
if (key === "default" || key === "__esModule") return;
|
package/_cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["_lib","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_makeClient","_makeContext","_makeIntl","_runtime"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,IAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,IAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,IAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAK,WAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,WAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,WAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,WAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,SAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,SAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,SAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["_lib","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_makeClient","_makeContext","_makeIntl","_mutate","_query","_runtime"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/query.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.composeQueries = composeQueries;
|
|
6
7
|
exports.makeQuery = void 0;
|
|
7
8
|
var Result = _interopRequireWildcard(require("@effect-rx/rx/Result"));
|
|
8
9
|
var _vueQuery = require("@tanstack/vue-query");
|
|
@@ -102,4 +103,28 @@ const makeQuery = runtime => {
|
|
|
102
103
|
return useSafeQuery;
|
|
103
104
|
};
|
|
104
105
|
exports.makeQuery = makeQuery;
|
|
106
|
+
function orPrevious(result) {
|
|
107
|
+
return Result.isFailure(result) && _effectApp.Option.isSome(result.previousValue) ? Result.success(result.previousValue.value, result.waiting) : result;
|
|
108
|
+
}
|
|
109
|
+
function composeQueries(results, renderPreviousOnFailure) {
|
|
110
|
+
const values = renderPreviousOnFailure ? Object.values(results).map(orPrevious) : Object.values(results);
|
|
111
|
+
const error = values.find(Result.isFailure);
|
|
112
|
+
if (error) {
|
|
113
|
+
return error;
|
|
114
|
+
}
|
|
115
|
+
const initial = _effectApp.Array.findFirst(values, x => x._tag === "Initial" ? _effectApp.Option.some(x) : _effectApp.Option.none());
|
|
116
|
+
if (initial.value !== undefined) {
|
|
117
|
+
return initial.value;
|
|
118
|
+
}
|
|
119
|
+
const loading = _effectApp.Array.findFirst(values, x => Result.isInitial(x) && x.waiting ? _effectApp.Option.some(x) : _effectApp.Option.none());
|
|
120
|
+
if (loading.value !== undefined) {
|
|
121
|
+
return loading.value;
|
|
122
|
+
}
|
|
123
|
+
const isRefreshing = values.some(x => x.waiting);
|
|
124
|
+
const r = Object.entries(results).reduce((prev, [key, value]) => {
|
|
125
|
+
prev[key] = Result.value(value).value;
|
|
126
|
+
return prev;
|
|
127
|
+
}, {});
|
|
128
|
+
return Result.success(r, isRefreshing);
|
|
129
|
+
}
|
|
105
130
|
//# sourceMappingURL=query.cjs.map
|
package/_cjs/query.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.cjs","names":["Result","_interopRequireWildcard","require","_vueQuery","_effectApp","_client","_httpClient","_vue","_lib","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","makeQuery","runtime","useSafeQuery_","q","arg","options","runPromise","Runtime","getRuntime","arr","req","undefined","value","ref","queryKey","makeQueryKey","handler","useQuery","Effect","isEffect","retry","retryCount","error","isFiberFailure","cause","FiberFailureCauseId","sq","Cause","squash","isHttpRequestError","isHttpResponseError","S","is","ServiceUnavailableError","queryFn","signal","pipe","tapDefect","reportRuntimeError","withSpan","name","captureStackTrace","result","computed","swrToQuery","data","isValidating","isFetching","latestSuccess","Option","getOrUndefined","promise","refetch","failureWithPrevious","none","some","success","initial","useSafeQuery","self","argOrOptions","exports"],"sources":["../src/query.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.cjs","names":["Result","_interopRequireWildcard","require","_vueQuery","_effectApp","_client","_httpClient","_vue","_lib","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","makeQuery","runtime","useSafeQuery_","q","arg","options","runPromise","Runtime","getRuntime","arr","req","undefined","value","ref","queryKey","makeQueryKey","handler","useQuery","Effect","isEffect","retry","retryCount","error","isFiberFailure","cause","FiberFailureCauseId","sq","Cause","squash","isHttpRequestError","isHttpResponseError","S","is","ServiceUnavailableError","queryFn","signal","pipe","tapDefect","reportRuntimeError","withSpan","name","captureStackTrace","result","computed","swrToQuery","data","isValidating","isFetching","latestSuccess","Option","getOrUndefined","promise","refetch","failureWithPrevious","none","some","success","initial","useSafeQuery","self","argOrOptions","exports","orPrevious","isFailure","isSome","previousValue","waiting","composeQueries","results","renderPreviousOnFailure","values","map","find","Array","findFirst","x","_tag","loading","isInitial","isRefreshing","entries","reduce","prev","key"],"sources":["../src/query.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AAExB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AAExB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,5 +2,7 @@ export * from "./lib.js";
|
|
|
2
2
|
export * from "./makeClient.js";
|
|
3
3
|
export * from "./makeContext.js";
|
|
4
4
|
export * from "./makeIntl.js";
|
|
5
|
+
export * from "./mutate.js";
|
|
6
|
+
export * from "./query.js";
|
|
5
7
|
export * from "./runtime.js";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFFeEIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsY0FBYyxDQUFBIn0=
|
package/dist/query.d.ts
CHANGED
|
@@ -20,4 +20,9 @@ export declare const makeQuery: <R>(runtime: ShallowRef<Runtime.Runtime<R> | und
|
|
|
20
20
|
};
|
|
21
21
|
export interface MakeQuery2<R> extends ReturnType<typeof makeQuery<R>> {
|
|
22
22
|
}
|
|
23
|
+
export declare function composeQueries<R extends Record<string, Result.Result<any, any>>>(results: R, renderPreviousOnFailure?: boolean): Result.Result<{
|
|
24
|
+
[Property in keyof R]: R[Property] extends Result.Result<infer A, any> ? A : never;
|
|
25
|
+
}, {
|
|
26
|
+
[Property in keyof R]: R[Property] extends Result.Result<any, infer E> ? E : never;
|
|
27
|
+
}[keyof R]>;
|
|
23
28
|
//# sourceMappingURL=query.d.ts.map
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/query.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
5
|
import * as Result from "@effect-rx/rx/Result";
|
|
6
6
|
import { useQuery } from "@tanstack/vue-query";
|
|
7
|
-
import { Cause, Effect, Option, Runtime, S } from "effect-app";
|
|
7
|
+
import { Array, Cause, Effect, Option, Runtime, S } from "effect-app";
|
|
8
8
|
import { ServiceUnavailableError } from "effect-app/client";
|
|
9
9
|
import { isHttpRequestError, isHttpResponseError } from "effect-app/http/http-client";
|
|
10
10
|
import { computed, ref } from "vue";
|
|
@@ -94,4 +94,32 @@ export const makeQuery = (runtime) => {
|
|
|
94
94
|
}
|
|
95
95
|
return useSafeQuery;
|
|
96
96
|
};
|
|
97
|
-
|
|
97
|
+
function orPrevious(result) {
|
|
98
|
+
return Result.isFailure(result) && Option.isSome(result.previousValue)
|
|
99
|
+
? Result.success(result.previousValue.value, result.waiting)
|
|
100
|
+
: result;
|
|
101
|
+
}
|
|
102
|
+
export function composeQueries(results, renderPreviousOnFailure) {
|
|
103
|
+
const values = renderPreviousOnFailure
|
|
104
|
+
? Object.values(results).map(orPrevious)
|
|
105
|
+
: Object.values(results);
|
|
106
|
+
const error = values.find(Result.isFailure);
|
|
107
|
+
if (error) {
|
|
108
|
+
return error;
|
|
109
|
+
}
|
|
110
|
+
const initial = Array.findFirst(values, (x) => x._tag === "Initial" ? Option.some(x) : Option.none());
|
|
111
|
+
if (initial.value !== undefined) {
|
|
112
|
+
return initial.value;
|
|
113
|
+
}
|
|
114
|
+
const loading = Array.findFirst(values, (x) => Result.isInitial(x) && x.waiting ? Option.some(x) : Option.none());
|
|
115
|
+
if (loading.value !== undefined) {
|
|
116
|
+
return loading.value;
|
|
117
|
+
}
|
|
118
|
+
const isRefreshing = values.some((x) => x.waiting);
|
|
119
|
+
const r = Object.entries(results).reduce((prev, [key, value]) => {
|
|
120
|
+
prev[key] = Result.value(value).value;
|
|
121
|
+
return prev;
|
|
122
|
+
}, {});
|
|
123
|
+
return Result.success(r, isRefreshing);
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELE9BQU8sS0FBSyxNQUFNLE1BQU0sc0JBQXNCLENBQUE7QUFTOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUVuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWtCdkUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUksT0FBbUQsRUFBRSxFQUFFO0lBQ2xGLGdCQUFnQjtJQUNoQixzUkFBc1I7SUFDdFIsMlJBQTJSO0lBQzNSLHVSQUF1UjtJQUN2UixNQUFNLGFBQWEsR0FBRyxDQUNwQixDQUVvQyxFQUNwQyxHQUF3QixFQUN4QixVQUF3RSxFQUFFLENBQUMsT0FBTztNQUNsRixFQUFFO1FBQ0YsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDZixNQUFNLEdBQUcsR0FBaUIsQ0FBQyxHQUFHO1lBQzVCLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLE9BQU8s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
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/query.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
UseQueryReturnType
|
|
13
13
|
} from "@tanstack/vue-query"
|
|
14
14
|
import { useQuery } from "@tanstack/vue-query"
|
|
15
|
-
import { Cause, Effect, Option, Runtime, S } from "effect-app"
|
|
15
|
+
import { Array, Cause, Effect, Option, Runtime, S } from "effect-app"
|
|
16
16
|
import { ServiceUnavailableError } from "effect-app/client"
|
|
17
17
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
|
|
18
18
|
import { isHttpRequestError, isHttpResponseError } from "effect-app/http/http-client"
|
|
@@ -203,3 +203,49 @@ export const makeQuery = <R>(runtime: ShallowRef<Runtime.Runtime<R> | undefined>
|
|
|
203
203
|
|
|
204
204
|
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
205
205
|
export interface MakeQuery2<R> extends ReturnType<typeof makeQuery<R>> {}
|
|
206
|
+
|
|
207
|
+
function orPrevious<E, A>(result: Result.Result<A, E>) {
|
|
208
|
+
return Result.isFailure(result) && Option.isSome(result.previousValue)
|
|
209
|
+
? Result.success(result.previousValue.value, result.waiting)
|
|
210
|
+
: result
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export function composeQueries<
|
|
214
|
+
R extends Record<string, Result.Result<any, any>>
|
|
215
|
+
>(
|
|
216
|
+
results: R,
|
|
217
|
+
renderPreviousOnFailure?: boolean
|
|
218
|
+
): Result.Result<
|
|
219
|
+
{
|
|
220
|
+
[Property in keyof R]: R[Property] extends Result.Result<infer A, any> ? A
|
|
221
|
+
: never
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
[Property in keyof R]: R[Property] extends Result.Result<any, infer E> ? E
|
|
225
|
+
: never
|
|
226
|
+
}[keyof R]
|
|
227
|
+
> {
|
|
228
|
+
const values = renderPreviousOnFailure
|
|
229
|
+
? Object.values(results).map(orPrevious)
|
|
230
|
+
: Object.values(results)
|
|
231
|
+
const error = values.find(Result.isFailure)
|
|
232
|
+
if (error) {
|
|
233
|
+
return error
|
|
234
|
+
}
|
|
235
|
+
const initial = Array.findFirst(values, (x) => x._tag === "Initial" ? Option.some(x) : Option.none())
|
|
236
|
+
if (initial.value !== undefined) {
|
|
237
|
+
return initial.value
|
|
238
|
+
}
|
|
239
|
+
const loading = Array.findFirst(values, (x) => Result.isInitial(x) && x.waiting ? Option.some(x) : Option.none())
|
|
240
|
+
if (loading.value !== undefined) {
|
|
241
|
+
return loading.value
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const isRefreshing = values.some((x) => x.waiting)
|
|
245
|
+
|
|
246
|
+
const r = Object.entries(results).reduce((prev, [key, value]) => {
|
|
247
|
+
prev[key] = Result.value(value).value
|
|
248
|
+
return prev
|
|
249
|
+
}, {} as any)
|
|
250
|
+
return Result.success(r, isRefreshing)
|
|
251
|
+
}
|