effect-query 0.0.1-alpha.1 → 0.0.1-alpha.3
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/dist/index.cjs +130 -34
- package/dist/index.d.cts +68 -21
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +68 -21
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +129 -33
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/errors.ts +71 -6
- package/src/index.ts +72 -152
- package/src/infiniteQueryOptions.ts +142 -0
- package/src/mutationOptions.ts +95 -0
- package/src/queryOptions.ts +134 -0
- package/src/runner.ts +32 -0
- package/src/types.ts +5 -0
package/dist/index.cjs
CHANGED
|
@@ -21,10 +21,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
}) : target, mod));
|
|
22
22
|
|
|
23
23
|
//#endregion
|
|
24
|
-
let __tanstack_react_query = require("@tanstack/react-query");
|
|
25
|
-
__tanstack_react_query = __toESM(__tanstack_react_query);
|
|
26
24
|
let effect = require("effect");
|
|
27
25
|
effect = __toESM(effect);
|
|
26
|
+
let __tanstack_react_query = require("@tanstack/react-query");
|
|
27
|
+
__tanstack_react_query = __toESM(__tanstack_react_query);
|
|
28
28
|
|
|
29
29
|
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
30
30
|
function _typeof(o) {
|
|
@@ -69,11 +69,36 @@ function _defineProperty(e, r, t) {
|
|
|
69
69
|
|
|
70
70
|
//#endregion
|
|
71
71
|
//#region src/errors.ts
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const EffectQueryFailureTag = "EffectQueryFailure";
|
|
73
|
+
const EffectQueryDefectTag = "EffectQueryDefect";
|
|
74
|
+
var EffectQueryFailure = class extends Error {
|
|
75
|
+
constructor(message, failure, cause) {
|
|
76
|
+
super(message);
|
|
77
|
+
_defineProperty(this, "_tag", void 0);
|
|
78
|
+
_defineProperty(this, "failure", void 0);
|
|
79
|
+
_defineProperty(this, "failureCause", void 0);
|
|
80
|
+
this._tag = EffectQueryFailureTag;
|
|
81
|
+
this.failure = failure;
|
|
82
|
+
this.failureCause = cause;
|
|
83
|
+
}
|
|
84
|
+
match(matcher) {
|
|
85
|
+
if (this.failure && typeof this.failure === "object" && "_tag" in this.failure) {
|
|
86
|
+
const handler = matcher[this.failure._tag];
|
|
87
|
+
if (typeof handler === "function") return handler(this.failure);
|
|
88
|
+
}
|
|
89
|
+
return matcher.OrElse(this.failureCause);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var EffectQueryDefect = class extends Error {
|
|
93
|
+
constructor(message, defect) {
|
|
74
94
|
super(message);
|
|
75
|
-
_defineProperty(this, "
|
|
76
|
-
this
|
|
95
|
+
_defineProperty(this, "_tag", void 0);
|
|
96
|
+
_defineProperty(this, "defectCause", void 0);
|
|
97
|
+
this._tag = EffectQueryDefectTag;
|
|
98
|
+
this.defectCause = effect.Cause.die(defect);
|
|
99
|
+
}
|
|
100
|
+
match(matcher) {
|
|
101
|
+
return matcher.OrElse(this.defectCause);
|
|
77
102
|
}
|
|
78
103
|
};
|
|
79
104
|
|
|
@@ -101,38 +126,109 @@ function _objectSpread2(e) {
|
|
|
101
126
|
return e;
|
|
102
127
|
}
|
|
103
128
|
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/infiniteQueryOptions.ts
|
|
131
|
+
/**
|
|
132
|
+
* @internal
|
|
133
|
+
*/
|
|
134
|
+
function effectInfiniteQueryOptions(inputOptions, context) {
|
|
135
|
+
const [spanName] = inputOptions.queryKey;
|
|
136
|
+
const queryFn = async (queryFnContext) => {
|
|
137
|
+
const effect$1 = inputOptions.queryFn(queryFnContext);
|
|
138
|
+
const result = await context.runner.run(effect$1, spanName, { signal: context.signal });
|
|
139
|
+
return effect.Exit.match(result, {
|
|
140
|
+
onSuccess: (value) => value,
|
|
141
|
+
onFailure: (cause) => {
|
|
142
|
+
if (cause._tag === "Fail") {
|
|
143
|
+
const failure = cause.error;
|
|
144
|
+
throw new EffectQueryFailure(effect.Cause.pretty(cause), failure, cause);
|
|
145
|
+
}
|
|
146
|
+
throw new EffectQueryDefect(effect.Cause.pretty(cause), cause);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
return (0, __tanstack_react_query.infiniteQueryOptions)(_objectSpread2(_objectSpread2({}, inputOptions), {}, {
|
|
151
|
+
queryKey: inputOptions.queryKey,
|
|
152
|
+
queryFn
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region src/mutationOptions.ts
|
|
158
|
+
/**
|
|
159
|
+
* @internal
|
|
160
|
+
*/
|
|
161
|
+
function effectQueryMutationOptions(inputOptions, context) {
|
|
162
|
+
const spanName = inputOptions.mutationKey;
|
|
163
|
+
const mutationFn = async (variables) => {
|
|
164
|
+
const effect$1 = inputOptions.mutationFn(variables);
|
|
165
|
+
const result = await context.runner.run(effect$1, spanName);
|
|
166
|
+
return effect.Exit.match(result, {
|
|
167
|
+
onSuccess: (value) => value,
|
|
168
|
+
onFailure: (cause) => {
|
|
169
|
+
if (cause._tag === "Fail") {
|
|
170
|
+
const failure = cause.error;
|
|
171
|
+
throw new EffectQueryFailure(effect.Cause.pretty(cause), failure, cause);
|
|
172
|
+
}
|
|
173
|
+
throw new EffectQueryDefect(effect.Cause.pretty(cause), cause);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
return (0, __tanstack_react_query.mutationOptions)(_objectSpread2(_objectSpread2({}, inputOptions), {}, { mutationFn }));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region src/queryOptions.ts
|
|
182
|
+
/**
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
function effectQueryQueryOptions(inputOptions, context) {
|
|
186
|
+
const [spanName] = inputOptions.queryKey;
|
|
187
|
+
const queryFn = async (queryFnContext) => {
|
|
188
|
+
const effect$1 = inputOptions.queryFn(queryFnContext);
|
|
189
|
+
const result = await context.runner.run(effect$1, spanName, { signal: context.signal });
|
|
190
|
+
return effect.Exit.match(result, {
|
|
191
|
+
onSuccess: (value) => value,
|
|
192
|
+
onFailure: (cause) => {
|
|
193
|
+
if (cause._tag === "Fail") {
|
|
194
|
+
const failure = cause.error;
|
|
195
|
+
throw new EffectQueryFailure(effect.Cause.pretty(cause), failure, cause);
|
|
196
|
+
}
|
|
197
|
+
throw new EffectQueryDefect(effect.Cause.pretty(cause), cause);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
return (0, __tanstack_react_query.queryOptions)(_objectSpread2(_objectSpread2({}, inputOptions), {}, {
|
|
202
|
+
queryKey: inputOptions.queryKey,
|
|
203
|
+
queryFn
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/runner.ts
|
|
209
|
+
var EffectQueryRunner = class {
|
|
210
|
+
constructor(runtime) {
|
|
211
|
+
_defineProperty(this, "runtime", void 0);
|
|
212
|
+
this.runtime = runtime;
|
|
213
|
+
}
|
|
214
|
+
async run(effect$1, span, options = {}) {
|
|
215
|
+
var _this = this;
|
|
216
|
+
const effectToRun = effect$1;
|
|
217
|
+
return await _this.runtime.runPromiseExit(effectToRun.pipe(effect.Effect.withSpan(span), effect.Effect.scoped, effect.Effect.tapErrorCause(effect.Effect.logError)), { signal: options.signal });
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
104
221
|
//#endregion
|
|
105
222
|
//#region src/index.ts
|
|
106
223
|
function createEffectQuery(layer) {
|
|
107
|
-
const
|
|
108
|
-
const runner = (span, options = {}) => (effect$1) => runtime.runPromiseExit(effect$1.pipe(effect.Effect.withSpan(span), effect.Effect.scoped, effect.Effect.tapErrorCause(effect.Effect.logError)), { signal: options.signal });
|
|
224
|
+
const runner = new EffectQueryRunner(effect.ManagedRuntime.make(layer));
|
|
109
225
|
return {
|
|
110
|
-
queryOptions: (options) => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
onFailure: (cause) => {
|
|
117
|
-
throw new EffectQueryError(effect.Cause.pretty(cause), cause);
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
return (0, __tanstack_react_query.queryOptions)(_objectSpread2(_objectSpread2({}, options), {}, { queryFn }));
|
|
122
|
-
},
|
|
123
|
-
mutationOptions: (options) => {
|
|
124
|
-
const spanName = options.mutationKey;
|
|
125
|
-
const mutationFn = async (variables) => {
|
|
126
|
-
const result = await options.mutationFn(variables).pipe(runner(spanName));
|
|
127
|
-
return effect.Exit.match(result, {
|
|
128
|
-
onSuccess: (value) => value,
|
|
129
|
-
onFailure: (cause) => {
|
|
130
|
-
throw new EffectQueryError(effect.Cause.pretty(cause), cause);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
};
|
|
134
|
-
return (0, __tanstack_react_query.mutationOptions)(_objectSpread2(_objectSpread2({}, options), {}, { mutationFn }));
|
|
135
|
-
}
|
|
226
|
+
queryOptions: (options) => effectQueryQueryOptions({
|
|
227
|
+
queryKey: options.queryKey,
|
|
228
|
+
queryFn: options.queryFn
|
|
229
|
+
}, { runner }),
|
|
230
|
+
infiniteQueryOptions: (options) => effectInfiniteQueryOptions(options, { runner }),
|
|
231
|
+
mutationOptions: (options) => effectQueryMutationOptions(options, { runner })
|
|
136
232
|
};
|
|
137
233
|
}
|
|
138
234
|
|
package/dist/index.d.cts
CHANGED
|
@@ -1,32 +1,79 @@
|
|
|
1
|
+
import { Cause, Effect, Layer } from "effect";
|
|
1
2
|
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
2
|
-
import {
|
|
3
|
-
import { Cause, Effect, Layer, Scope } from "effect";
|
|
3
|
+
import { DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, InfiniteData, QueryFunctionContext, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UnusedSkipTokenInfiniteOptions, UnusedSkipTokenOptions, UseMutationOptions, skipToken } from "@tanstack/react-query";
|
|
4
4
|
|
|
5
5
|
//#region src/errors.d.ts
|
|
6
|
-
declare
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
declare const EffectQueryFailureTag: "EffectQueryFailure";
|
|
7
|
+
declare const EffectQueryDefectTag: "EffectQueryDefect";
|
|
8
|
+
type EffectQueryErrorMatcher<TFailure extends {
|
|
9
|
+
_tag: string;
|
|
10
|
+
} | never = never, TReturn$1 = unknown> = {
|
|
11
|
+
OrElse: (cause: Cause.Cause<unknown>) => TReturn$1;
|
|
12
|
+
} & ([TFailure] extends [never] ? Record<never, never> : TFailure extends {
|
|
13
|
+
_tag: string;
|
|
14
|
+
} ? { [K in TFailure["_tag"]]?: (failure: Extract<TFailure, {
|
|
15
|
+
_tag: K;
|
|
16
|
+
}>) => TReturn$1 } : Record<never, never>);
|
|
17
|
+
declare class EffectQueryFailure<TFailure extends {
|
|
18
|
+
_tag: string;
|
|
19
|
+
} | never = never> extends Error {
|
|
20
|
+
readonly _tag: typeof EffectQueryFailureTag;
|
|
21
|
+
readonly failure: TFailure;
|
|
22
|
+
readonly failureCause: Cause.Cause<TFailure>;
|
|
23
|
+
constructor(message: string, failure: TFailure, cause: Cause.Cause<TFailure>);
|
|
24
|
+
match<TReturn>(matcher: EffectQueryErrorMatcher<TFailure extends {
|
|
25
|
+
_tag: string;
|
|
26
|
+
} ? TFailure : never, TReturn>): TReturn;
|
|
9
27
|
}
|
|
28
|
+
declare class EffectQueryDefect<TDefect> extends Error {
|
|
29
|
+
readonly _tag: typeof EffectQueryDefectTag;
|
|
30
|
+
readonly defectCause: Cause.Cause<TDefect>;
|
|
31
|
+
constructor(message: string, defect: TDefect);
|
|
32
|
+
match<TReturn>(matcher: EffectQueryErrorMatcher<never, TReturn> & Record<string, unknown>): TReturn;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/types.d.ts
|
|
36
|
+
type EffectQueryQueryKey = readonly [string, string, Record<string, unknown>?];
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/infiniteQueryOptions.d.ts
|
|
39
|
+
type EffectInfiniteQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
40
|
+
type EffectInfiniteQueryUndefinedInitialDataOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
41
|
+
type EffectInfiniteQueryUnusedSkipTokenOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UnusedSkipTokenInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
42
|
+
type EffectInfiniteQueryDefinedInitialDataOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
43
|
+
type EffectInfiniteQueryOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = Omit<EffectInfiniteQueryUndefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectInfiniteQueryDefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectInfiniteQueryUnusedSkipTokenOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey>, "queryFn" | "queryKey"> & {
|
|
44
|
+
queryKey: EffectQueryQueryKey;
|
|
45
|
+
queryFn: EffectInfiniteQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, EffectQueryQueryKey>;
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/mutationOptions.d.ts
|
|
49
|
+
type EffectfulMutationFunction<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> = (variables: TVariables$1) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
50
|
+
type EffectQueryMutationOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> = Omit<UseMutationOptions<TFnResult$1, TFnErrorResult$1, TVariables$1>, "mutationKey" | "mutationFn"> & {
|
|
51
|
+
mutationKey: string;
|
|
52
|
+
mutationFn: EffectfulMutationFunction<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> | typeof skipToken;
|
|
53
|
+
};
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/queryOptions.d.ts
|
|
56
|
+
type EffectQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
57
|
+
type EffectQueryUndefinedInitialDataOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
58
|
+
type EffectQueryUnusedSkipTokenOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
59
|
+
type EffectQueryDefinedInitialDataOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
60
|
+
type EffectQueryOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = Omit<EffectQueryUndefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectQueryDefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectQueryUnusedSkipTokenOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey>, "queryFn" | "queryKey"> & {
|
|
61
|
+
queryKey: EffectQueryQueryKey;
|
|
62
|
+
queryFn: EffectQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, EffectQueryQueryKey>;
|
|
63
|
+
};
|
|
10
64
|
//#endregion
|
|
11
65
|
//#region src/index.d.ts
|
|
12
66
|
declare function createEffectQuery<Input>(layer: Layer.Layer<Input, never, never>): {
|
|
13
|
-
queryOptions: <
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}) => Effect.Effect<TData, E, R>);
|
|
23
|
-
}) => UseQueryOptions<TData, E extends never ? never : EffectQueryError<Cause.Cause<E>>, TData, TQueryKey>;
|
|
24
|
-
mutationOptions: <TData, E, TVariables, R extends Input | Scope.Scope>(options: Omit<UseMutationOptions<TData, Error, TVariables, unknown>, "mutationKey" | "mutationFn"> & {
|
|
25
|
-
mutationKey: string;
|
|
26
|
-
mutationFn: typeof skipToken | ((variables: TVariables) => Effect.Effect<TData, E, R>);
|
|
27
|
-
}) => UseMutationOptions<TData, E extends never ? never : EffectQueryError<Cause.Cause<E>>, TVariables>;
|
|
67
|
+
queryOptions: <TFnResult, TFnErrorResult extends {
|
|
68
|
+
_tag: string;
|
|
69
|
+
}, TFnRequirements>(options: EffectQueryOptionsInput<TFnResult, TFnErrorResult, TFnRequirements>) => _tanstack_react_query0.UseQueryOptions<TFnResult, [TFnErrorResult] extends [never] ? EffectQueryDefect<unknown> : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TFnResult, EffectQueryQueryKey>;
|
|
70
|
+
infiniteQueryOptions: <TFnResult, TFnErrorResult extends {
|
|
71
|
+
_tag: string;
|
|
72
|
+
}, TFnRequirements>(options: EffectInfiniteQueryOptionsInput<TFnResult, TFnErrorResult, TFnRequirements>) => _tanstack_react_query0.UseInfiniteQueryOptions<TFnResult, [TFnErrorResult] extends [never] ? EffectQueryDefect<unknown> : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TFnResult, EffectQueryQueryKey, unknown>;
|
|
73
|
+
mutationOptions: <TFnResult, TFnErrorResult extends {
|
|
74
|
+
_tag: string;
|
|
75
|
+
}, TFnRequirements, TVariables>(options: EffectQueryMutationOptionsInput<TFnResult, TFnErrorResult, TFnRequirements, TVariables>) => _tanstack_react_query0.UseMutationOptions<TFnResult, [TFnErrorResult] extends [never] ? never : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TVariables, unknown>;
|
|
28
76
|
};
|
|
29
|
-
type QueryKey = readonly [string, string, Record<string, unknown>?];
|
|
30
77
|
//#endregion
|
|
31
78
|
export { createEffectQuery };
|
|
32
79
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/infiniteQueryOptions.ts","../src/mutationOptions.ts","../src/queryOptions.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;cAEM;cACA;KAED;;AAL0B,CAAA,GAEzB,KAAA,GAAA,KAAA,EAAA,YAAqD,OAAA,CAAA,GAAA;EACrD,MAAA,EAAA,CAAA,KAAA,EAMY,KAAA,CAAM,KANiC,CAAA,OAAA,CAAA,EAAA,GAMd,SANc;AAAA,CAAA,GAEpD,CAAA,CAKC,QALD,CAAA,SAAA,CAAA,KAAuB,CAAA,GAMxB,MANwB,CAAA,KAAA,EAAA,KAAA,CAAA,GAOxB,QAPwB,SAAA;EAIV,IAAM,EAAA,MAAA;CAAmB,GAAA,QAK7B,QAJR,CAAA,MAAA,CAAA,IAAA,CAAA,OAAA,EAKa,OALb,CAKqB,QALrB,EAAA;EACF,IAAA,EAIyC,CAJzC;AACA,CAAA,CAAA,EAAA,GAIS,SAJT,EAEU,GAIR,MAJQ,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACa,cAKd,kBALc,CAAA,iBAAA;EAAkB,IAAA,EAAA,MAAA;CAA1B,GAAA,KAAA,GAAA,KAAA,CAAA,SAOT,KAAA,CAPS;EACN,SAAA,IAAA,EAAA,OAOW,qBAPX;EAEP,SAAA,OAAA,EAMc,QANd;EAAM,SAAA,YAAA,EAOa,KAAA,CAAM,KAPnB,CAOyB,QAPzB,CAAA;EAEC,WAAA,CAAA,OAAA,EAAkB,MAAA,EAAA,OAAA,EAQlB,QARkB,EAAA,KAAA,EASpB,KAAA,CAAM,KATc,CASR,QATQ,CAAA;EAGP,KAAA,CAAA,OAAA,CAAA,CAAA,OAAA,EAeX,uBAfW,CAgBlB,QAhBkB,SAAA;IACJ,IAAA,EAAA,MAAA;EACiB,CAAA,GAcK,QAdL,GAAA,KAAA,EAe/B,OAf+B,CAAA,CAAA,EAiBhC,OAjBgC;;AAGxB,cA+BA,iBA/BA,CAAA,OAAA,CAAA,SA+BmC,KAAA,CA/BnC;EACU,SAAA,IAAA,EAAA,OA+BC,oBA/BD;EAAZ,SAAM,WAAA,EAgCO,KAAA,CAAM,KAhCb,CAgCmB,OAhCnB,CAAA;EAUX,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAuBiC,OAvBjC;EAAoC,KAAA,CAAA,OAAA,CAAA,CAAA,OAAA,EA8B7B,uBA9B6B,CAAA,KAAA,EA8BE,OA9BF,CAAA,GA8Ba,MA9Bb,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EA+BrC,OA/BqC;;;;KCvC9B,mBAAA,6BAGV;;;ADH6B,KEe1B,0BFbsD,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBEiBvC,mBFjBuC,GEiBjB,mBFjBiB,EAAA,aAAA,KAAA,CAAA,GAAA,CAAA,OAAA,EEoBhD,oBFpBgD,CEoB3B,SFpB2B,EEoBhB,UFpBgB,CAAA,EAAA,GEqBtD,MAAA,CAAO,MFrB+C,CEqBxC,WFrBwC,EEqB7B,gBFrB6B,EEqBb,iBFrBa,CAAA;AAAA,KEuBtD,8CFtBoD,CAAA,YAAA,EAAA,MAAA,EAAA,QEyB/C,YFzB+C,CEyBlC,YFzBkC,EAAA,OAAA,CAAA,EAAA,kBE0BrC,mBF1BqC,GE0Bf,mBF1Be,CAAA,GE2BrD,mCF3BqD,CE2BjB,YF3BiB,EE2BH,MF3BG,EE2BK,KF3BL,EE2BY,SF3BZ,CAAA;AAAA,KE6BpD,yCF3BuB,CAAA,YAAA,EAAA,MAAA,EAAA,QE8BlB,YF9BkB,CE8BL,YF9BK,EAAA,OAAA,CAAA,EAAA,kBE+BR,mBF/BQ,GE+Bc,mBF/Bd,CAAA,GEgCxB,8BFhCwB,CEgCO,YFhCP,EEgCqB,MFhCrB,EEgC6B,KFhC7B,EEgCoC,SFhCpC,CAAA;KEkCvB,4CF9BmB,CAAA,YAAA,EAAA,MAAA,EAAA,QEiCd,YFjCc,CEiCD,YFjCC,EAAA,OAAA,CAAA,EAAA,kBEkCJ,mBFlCI,GEkCkB,mBFlClB,CAAA,GEmCpB,iCFnCoB,CEmCc,YFnCd,EEmC4B,MFnC5B,EEmCoC,KFnCpC,EEmC2C,SFnC3C,CAAA;AAAmB,KEqC/B,+BFrC+B,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBEyCvB,mBFzCuB,GEyCD,mBFzCC,CAAA,GE0CvC,IF1CuC,CE2CvC,8CF3CuC,CE4CrC,WF5CqC,EE6CrC,gBF7CqC,EE8CrC,WF9CqC,EE+CrC,SF/CqC,CAAA,GEiDvC,4CFjDuC,CEkDrC,WFlDqC,EEmDrC,gBFnDqC,EEoDrC,WFpDqC,EEqDrC,SFrDqC,CAAA,GEuDvC,yCFvDuC,CEwDrC,WFxDqC,EEyDrC,gBFzDqC,EE0DrC,WF1DqC,EE2DrC,SF3DqC,CAAA,EAAA,SAAA,GAAA,UAAA,CAAA,GAAA;EACrC,QAAA,EE8DM,mBF9DN;EACF,OAAA,EE8DO,0BF9DP,CE+DA,WF/DA,EEgEA,gBFhEA,EEiEA,iBFjEA,EEkEA,mBFlEA,CAAA;CACA;;;KGFC,wGAMQ,iBACR,MAAA,CAAO,OAAO,aAAW,kBAAgB;AHfxC,KGiBM,+BHjB+C,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,YAAA,CAAA,GGsBvD,IHtBuD,CGuBzD,kBHvByD,CGuBtC,WHvBsC,EGuB3B,gBHvB2B,EGuBX,YHvBW,CAAA,EAAA,aAAA,GAAA,YAAA,CAAA,GAAA;EACrD,WAAA,EAAA,MAAA;EAED,UAAA,EGyBC,yBHzBsB,CG0BpB,WH1BoB,EG2BpB,gBH3BoB,EG4BpB,iBH5BoB,EG6BpB,YH7BoB,CAAA,GAAA,OG+Bf,SH/Be;CAIV;;;AATa,KIc1B,kBJZC,CAAA,WAAqD,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBIgBvC,mBJhBuC,GIgBjB,mBJhBiB,EAAA,aAAA,KAAA,CAAA,GAAA,CAAA,OAAA,EImBhD,oBJnBgD,CImB3B,SJnB2B,EImBhB,UJnBgB,CAAA,EAAA,GIoBtD,MAAA,CAAO,MJpB+C,CIoBxC,WJpBwC,EIoB7B,gBJpB6B,EIoBb,iBJpBa,CAAA;AAAA,KIsBtD,sCJrBoD,CAAA,YAAA,EAAA,MAAA,EAAA,QIwB/C,YJxB+C,EAAA,kBIyBrC,mBJzBqC,GIyBf,mBJzBe,CAAA,GI0BrD,2BJ1BqD,CI0BzB,YJ1ByB,EI0BX,MJ1BW,EI0BH,KJ1BG,EI0BI,SJ1BJ,CAAA;AAAA,KI4BpD,iCJ1BuB,CAAA,YAAA,EAAA,MAAA,EAAA,QI6BlB,YJ7BkB,EAAA,kBI8BR,mBJ9BQ,GI8Bc,mBJ9Bd,CAAA,GI+BxB,sBJ/BwB,CI+BD,YJ/BC,EI+Ba,MJ/Bb,EI+BqB,KJ/BrB,EI+B4B,SJ/B5B,CAAA;KIiCvB,oCJ7BmB,CAAA,YAAA,EAAA,MAAA,EAAA,QIgCd,YJhCc,EAAA,kBIiCJ,mBJjCI,GIiCkB,mBJjClB,CAAA,GIkCpB,yBJlCoB,CIkCM,YJlCN,EIkCoB,MJlCpB,EIkC4B,KJlC5B,EIkCmC,SJlCnC,CAAA;AAAmB,KIoC/B,uBJpC+B,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBIwCvB,mBJxCuB,GIwCD,mBJxCC,CAAA,GIyCvC,IJzCuC,CI0CvC,sCJ1CuC,CI2CrC,WJ3CqC,EI4CrC,gBJ5CqC,EI6CrC,WJ7CqC,EI8CrC,SJ9CqC,CAAA,GIgDvC,oCJhDuC,CIiDrC,WJjDqC,EIkDrC,gBJlDqC,EImDrC,WJnDqC,EIoDrC,SJpDqC,CAAA,GIsDvC,iCJtDuC,CIuDrC,WJvDqC,EIwDrC,gBJxDqC,EIyDrC,WJzDqC,EI0DrC,SJ1DqC,CAAA,EAAA,SAAA,GAAA,UAAA,CAAA,GAAA;EACrC,QAAA,EI6DM,mBJ7DN;EACF,OAAA,EI6DO,kBJ7DP,CI8DA,WJ9DA,EI+DA,gBJ/DA,EIgEA,iBJhEA,EIiEA,mBJjEA,CAAA;CACA;;;iBKGY,gCACP,KAAA,CAAM,MAAM;ELdf,YAAA,EAAA,CAAA,SAAqD,EAAA,uBAAA;IACrD,IAAA,EAAA,MAAA;EAED,CAAA,EAAA,eAAA,CAAA,CAAA,OAAuB,EKsBb,uBLtBa,CKuBpB,SLvBoB,EKwBpB,cLxBoB,EKyBpB,eLzBoB,CAAA,EAAA,GK0BrB,sBAAA,CAAA,eL1BqB,CK0BrB,SL1BqB,EAAA,CK0BrB,cL1BqB,CAAA,SAAA,CAAA,KAAA,CAAA,GK0BrB,iBL1BqB,CAAA,OAAA,CAAA,GK0BrB,iBL1BqB,CAAA,OAAA,CAAA,GK0BrB,kBL1BqB,CK0BrB,cL1BqB,CAAA,EK0BrB,SL1BqB,EK0BrB,mBAAA,CL1BqB;EAIV,oBAAM,EAAA,CAAA,SAAA,EAAA,uBAAA;IAAmB,IAAA,EAAA,MAAA;EACrC,CAAA,EAAA,eAAA,CAAA,CAAA,OAAA,EK0CS,+BL1CT,CK2CE,SL3CF,EK4CE,cL5CF,EK6CE,eL7CF,CAAA,EAAA,GK8CC,sBAAA,CAAA,uBL9CD,CK8CC,SL9CD,EAAA,CK8CC,cL9CD,CAAA,SAAA,CAAA,KAAA,CAAA,GK8CC,iBL9CD,CAAA,OAAA,CAAA,GK8CC,iBL9CD,CAAA,OAAA,CAAA,GK8CC,kBL9CD,CK8CC,cL9CD,CAAA,EK8CC,SL9CD,EK8CC,mBAAA,EL9CD,OAAA,CAAA;EACF,eAAA,EAAA,CAAA,SAAA,EAAA,uBAAA;IACA,IAAA,EAAA,MAAA;EAEU,CAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA,OAAA,EKwDC,+BLxDD,CKyDN,SLzDM,EK0DN,cL1DM,EK2DN,eL3DM,EK4DN,UL5DM,CAAA,EAAA,GK6DP,sBAAA,CAAA,kBL7DO,CK6DP,SL7DO,EAAA,CK6DP,cL7DO,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAA,GK6DP,iBL7DO,CAAA,OAAA,CAAA,GK6DP,kBL7DO,CK6DP,cL7DO,CAAA,EK6DP,UL7DO,EAAA,OAAA,CAAA;CACa"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,32 +1,79 @@
|
|
|
1
|
+
import { Cause, Effect, Layer } from "effect";
|
|
1
2
|
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
2
|
-
import {
|
|
3
|
-
import { Cause, Effect, Layer, Scope } from "effect";
|
|
3
|
+
import { DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, InfiniteData, QueryFunctionContext, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UnusedSkipTokenInfiniteOptions, UnusedSkipTokenOptions, UseMutationOptions, skipToken } from "@tanstack/react-query";
|
|
4
4
|
|
|
5
5
|
//#region src/errors.d.ts
|
|
6
|
-
declare
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
declare const EffectQueryFailureTag: "EffectQueryFailure";
|
|
7
|
+
declare const EffectQueryDefectTag: "EffectQueryDefect";
|
|
8
|
+
type EffectQueryErrorMatcher<TFailure extends {
|
|
9
|
+
_tag: string;
|
|
10
|
+
} | never = never, TReturn$1 = unknown> = {
|
|
11
|
+
OrElse: (cause: Cause.Cause<unknown>) => TReturn$1;
|
|
12
|
+
} & ([TFailure] extends [never] ? Record<never, never> : TFailure extends {
|
|
13
|
+
_tag: string;
|
|
14
|
+
} ? { [K in TFailure["_tag"]]?: (failure: Extract<TFailure, {
|
|
15
|
+
_tag: K;
|
|
16
|
+
}>) => TReturn$1 } : Record<never, never>);
|
|
17
|
+
declare class EffectQueryFailure<TFailure extends {
|
|
18
|
+
_tag: string;
|
|
19
|
+
} | never = never> extends Error {
|
|
20
|
+
readonly _tag: typeof EffectQueryFailureTag;
|
|
21
|
+
readonly failure: TFailure;
|
|
22
|
+
readonly failureCause: Cause.Cause<TFailure>;
|
|
23
|
+
constructor(message: string, failure: TFailure, cause: Cause.Cause<TFailure>);
|
|
24
|
+
match<TReturn>(matcher: EffectQueryErrorMatcher<TFailure extends {
|
|
25
|
+
_tag: string;
|
|
26
|
+
} ? TFailure : never, TReturn>): TReturn;
|
|
9
27
|
}
|
|
28
|
+
declare class EffectQueryDefect<TDefect> extends Error {
|
|
29
|
+
readonly _tag: typeof EffectQueryDefectTag;
|
|
30
|
+
readonly defectCause: Cause.Cause<TDefect>;
|
|
31
|
+
constructor(message: string, defect: TDefect);
|
|
32
|
+
match<TReturn>(matcher: EffectQueryErrorMatcher<never, TReturn> & Record<string, unknown>): TReturn;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/types.d.ts
|
|
36
|
+
type EffectQueryQueryKey = readonly [string, string, Record<string, unknown>?];
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/infiniteQueryOptions.d.ts
|
|
39
|
+
type EffectInfiniteQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
40
|
+
type EffectInfiniteQueryUndefinedInitialDataOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
41
|
+
type EffectInfiniteQueryUnusedSkipTokenOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UnusedSkipTokenInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
42
|
+
type EffectInfiniteQueryDefinedInitialDataOptions<TQueryFnData, TError, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
43
|
+
type EffectInfiniteQueryOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = Omit<EffectInfiniteQueryUndefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectInfiniteQueryDefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectInfiniteQueryUnusedSkipTokenOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey>, "queryFn" | "queryKey"> & {
|
|
44
|
+
queryKey: EffectQueryQueryKey;
|
|
45
|
+
queryFn: EffectInfiniteQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, EffectQueryQueryKey>;
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/mutationOptions.d.ts
|
|
49
|
+
type EffectfulMutationFunction<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> = (variables: TVariables$1) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
50
|
+
type EffectQueryMutationOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> = Omit<UseMutationOptions<TFnResult$1, TFnErrorResult$1, TVariables$1>, "mutationKey" | "mutationFn"> & {
|
|
51
|
+
mutationKey: string;
|
|
52
|
+
mutationFn: EffectfulMutationFunction<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TVariables$1> | typeof skipToken;
|
|
53
|
+
};
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/queryOptions.d.ts
|
|
56
|
+
type EffectQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Effect.Effect<TFnResult$1, TFnErrorResult$1, TFnRequirements$1>;
|
|
57
|
+
type EffectQueryUndefinedInitialDataOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
58
|
+
type EffectQueryUnusedSkipTokenOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
59
|
+
type EffectQueryDefinedInitialDataOptions<TQueryFnData, TError, TData = TQueryFnData, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
60
|
+
type EffectQueryOptionsInput<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, TQueryKey extends EffectQueryQueryKey = EffectQueryQueryKey> = Omit<EffectQueryUndefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectQueryDefinedInitialDataOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey> | EffectQueryUnusedSkipTokenOptions<TFnResult$1, TFnErrorResult$1, TFnResult$1, TQueryKey>, "queryFn" | "queryKey"> & {
|
|
61
|
+
queryKey: EffectQueryQueryKey;
|
|
62
|
+
queryFn: EffectQueryQueryFn<TFnResult$1, TFnErrorResult$1, TFnRequirements$1, EffectQueryQueryKey>;
|
|
63
|
+
};
|
|
10
64
|
//#endregion
|
|
11
65
|
//#region src/index.d.ts
|
|
12
66
|
declare function createEffectQuery<Input>(layer: Layer.Layer<Input, never, never>): {
|
|
13
|
-
queryOptions: <
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}) => Effect.Effect<TData, E, R>);
|
|
23
|
-
}) => UseQueryOptions<TData, E extends never ? never : EffectQueryError<Cause.Cause<E>>, TData, TQueryKey>;
|
|
24
|
-
mutationOptions: <TData, E, TVariables, R extends Input | Scope.Scope>(options: Omit<UseMutationOptions<TData, Error, TVariables, unknown>, "mutationKey" | "mutationFn"> & {
|
|
25
|
-
mutationKey: string;
|
|
26
|
-
mutationFn: typeof skipToken | ((variables: TVariables) => Effect.Effect<TData, E, R>);
|
|
27
|
-
}) => UseMutationOptions<TData, E extends never ? never : EffectQueryError<Cause.Cause<E>>, TVariables>;
|
|
67
|
+
queryOptions: <TFnResult, TFnErrorResult extends {
|
|
68
|
+
_tag: string;
|
|
69
|
+
}, TFnRequirements>(options: EffectQueryOptionsInput<TFnResult, TFnErrorResult, TFnRequirements>) => _tanstack_react_query0.UseQueryOptions<TFnResult, [TFnErrorResult] extends [never] ? EffectQueryDefect<unknown> : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TFnResult, EffectQueryQueryKey>;
|
|
70
|
+
infiniteQueryOptions: <TFnResult, TFnErrorResult extends {
|
|
71
|
+
_tag: string;
|
|
72
|
+
}, TFnRequirements>(options: EffectInfiniteQueryOptionsInput<TFnResult, TFnErrorResult, TFnRequirements>) => _tanstack_react_query0.UseInfiniteQueryOptions<TFnResult, [TFnErrorResult] extends [never] ? EffectQueryDefect<unknown> : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TFnResult, EffectQueryQueryKey, unknown>;
|
|
73
|
+
mutationOptions: <TFnResult, TFnErrorResult extends {
|
|
74
|
+
_tag: string;
|
|
75
|
+
}, TFnRequirements, TVariables>(options: EffectQueryMutationOptionsInput<TFnResult, TFnErrorResult, TFnRequirements, TVariables>) => _tanstack_react_query0.UseMutationOptions<TFnResult, [TFnErrorResult] extends [never] ? never : EffectQueryDefect<unknown> | EffectQueryFailure<TFnErrorResult>, TVariables, unknown>;
|
|
28
76
|
};
|
|
29
|
-
type QueryKey = readonly [string, string, Record<string, unknown>?];
|
|
30
77
|
//#endregion
|
|
31
78
|
export { createEffectQuery };
|
|
32
79
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/infiniteQueryOptions.ts","../src/mutationOptions.ts","../src/queryOptions.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;cAEM;cACA;KAED;;AAL0B,CAAA,GAEzB,KAAA,GAAA,KAAA,EAAA,YAAqD,OAAA,CAAA,GAAA;EACrD,MAAA,EAAA,CAAA,KAAA,EAMY,KAAA,CAAM,KANiC,CAAA,OAAA,CAAA,EAAA,GAMd,SANc;AAAA,CAAA,GAEpD,CAAA,CAKC,QALD,CAAA,SAAA,CAAA,KAAuB,CAAA,GAMxB,MANwB,CAAA,KAAA,EAAA,KAAA,CAAA,GAOxB,QAPwB,SAAA;EAIV,IAAM,EAAA,MAAA;CAAmB,GAAA,QAK7B,QAJR,CAAA,MAAA,CAAA,IAAA,CAAA,OAAA,EAKa,OALb,CAKqB,QALrB,EAAA;EACF,IAAA,EAIyC,CAJzC;AACA,CAAA,CAAA,EAAA,GAIS,SAJT,EAEU,GAIR,MAJQ,CAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACa,cAKd,kBALc,CAAA,iBAAA;EAAkB,IAAA,EAAA,MAAA;CAA1B,GAAA,KAAA,GAAA,KAAA,CAAA,SAOT,KAAA,CAPS;EACN,SAAA,IAAA,EAAA,OAOW,qBAPX;EAEP,SAAA,OAAA,EAMc,QANd;EAAM,SAAA,YAAA,EAOa,KAAA,CAAM,KAPnB,CAOyB,QAPzB,CAAA;EAEC,WAAA,CAAA,OAAA,EAAkB,MAAA,EAAA,OAAA,EAQlB,QARkB,EAAA,KAAA,EASpB,KAAA,CAAM,KATc,CASR,QATQ,CAAA;EAGP,KAAA,CAAA,OAAA,CAAA,CAAA,OAAA,EAeX,uBAfW,CAgBlB,QAhBkB,SAAA;IACJ,IAAA,EAAA,MAAA;EACiB,CAAA,GAcK,QAdL,GAAA,KAAA,EAe/B,OAf+B,CAAA,CAAA,EAiBhC,OAjBgC;;AAGxB,cA+BA,iBA/BA,CAAA,OAAA,CAAA,SA+BmC,KAAA,CA/BnC;EACU,SAAA,IAAA,EAAA,OA+BC,oBA/BD;EAAZ,SAAM,WAAA,EAgCO,KAAA,CAAM,KAhCb,CAgCmB,OAhCnB,CAAA;EAUX,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAuBiC,OAvBjC;EAAoC,KAAA,CAAA,OAAA,CAAA,CAAA,OAAA,EA8B7B,uBA9B6B,CAAA,KAAA,EA8BE,OA9BF,CAAA,GA8Ba,MA9Bb,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EA+BrC,OA/BqC;;;;KCvC9B,mBAAA,6BAGV;;;ADH6B,KEe1B,0BFbsD,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBEiBvC,mBFjBuC,GEiBjB,mBFjBiB,EAAA,aAAA,KAAA,CAAA,GAAA,CAAA,OAAA,EEoBhD,oBFpBgD,CEoB3B,SFpB2B,EEoBhB,UFpBgB,CAAA,EAAA,GEqBtD,MAAA,CAAO,MFrB+C,CEqBxC,WFrBwC,EEqB7B,gBFrB6B,EEqBb,iBFrBa,CAAA;AAAA,KEuBtD,8CFtBoD,CAAA,YAAA,EAAA,MAAA,EAAA,QEyB/C,YFzB+C,CEyBlC,YFzBkC,EAAA,OAAA,CAAA,EAAA,kBE0BrC,mBF1BqC,GE0Bf,mBF1Be,CAAA,GE2BrD,mCF3BqD,CE2BjB,YF3BiB,EE2BH,MF3BG,EE2BK,KF3BL,EE2BY,SF3BZ,CAAA;AAAA,KE6BpD,yCF3BuB,CAAA,YAAA,EAAA,MAAA,EAAA,QE8BlB,YF9BkB,CE8BL,YF9BK,EAAA,OAAA,CAAA,EAAA,kBE+BR,mBF/BQ,GE+Bc,mBF/Bd,CAAA,GEgCxB,8BFhCwB,CEgCO,YFhCP,EEgCqB,MFhCrB,EEgC6B,KFhC7B,EEgCoC,SFhCpC,CAAA;KEkCvB,4CF9BmB,CAAA,YAAA,EAAA,MAAA,EAAA,QEiCd,YFjCc,CEiCD,YFjCC,EAAA,OAAA,CAAA,EAAA,kBEkCJ,mBFlCI,GEkCkB,mBFlClB,CAAA,GEmCpB,iCFnCoB,CEmCc,YFnCd,EEmC4B,MFnC5B,EEmCoC,KFnCpC,EEmC2C,SFnC3C,CAAA;AAAmB,KEqC/B,+BFrC+B,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBEyCvB,mBFzCuB,GEyCD,mBFzCC,CAAA,GE0CvC,IF1CuC,CE2CvC,8CF3CuC,CE4CrC,WF5CqC,EE6CrC,gBF7CqC,EE8CrC,WF9CqC,EE+CrC,SF/CqC,CAAA,GEiDvC,4CFjDuC,CEkDrC,WFlDqC,EEmDrC,gBFnDqC,EEoDrC,WFpDqC,EEqDrC,SFrDqC,CAAA,GEuDvC,yCFvDuC,CEwDrC,WFxDqC,EEyDrC,gBFzDqC,EE0DrC,WF1DqC,EE2DrC,SF3DqC,CAAA,EAAA,SAAA,GAAA,UAAA,CAAA,GAAA;EACrC,QAAA,EE8DM,mBF9DN;EACF,OAAA,EE8DO,0BF9DP,CE+DA,WF/DA,EEgEA,gBFhEA,EEiEA,iBFjEA,EEkEA,mBFlEA,CAAA;CACA;;;KGFC,wGAMQ,iBACR,MAAA,CAAO,OAAO,aAAW,kBAAgB;AHfxC,KGiBM,+BHjB+C,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,YAAA,CAAA,GGsBvD,IHtBuD,CGuBzD,kBHvByD,CGuBtC,WHvBsC,EGuB3B,gBHvB2B,EGuBX,YHvBW,CAAA,EAAA,aAAA,GAAA,YAAA,CAAA,GAAA;EACrD,WAAA,EAAA,MAAA;EAED,UAAA,EGyBC,yBHzBsB,CG0BpB,WH1BoB,EG2BpB,gBH3BoB,EG4BpB,iBH5BoB,EG6BpB,YH7BoB,CAAA,GAAA,OG+Bf,SH/Be;CAIV;;;AATa,KIc1B,kBJZC,CAAA,WAAqD,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBIgBvC,mBJhBuC,GIgBjB,mBJhBiB,EAAA,aAAA,KAAA,CAAA,GAAA,CAAA,OAAA,EImBhD,oBJnBgD,CImB3B,SJnB2B,EImBhB,UJnBgB,CAAA,EAAA,GIoBtD,MAAA,CAAO,MJpB+C,CIoBxC,WJpBwC,EIoB7B,gBJpB6B,EIoBb,iBJpBa,CAAA;AAAA,KIsBtD,sCJrBoD,CAAA,YAAA,EAAA,MAAA,EAAA,QIwB/C,YJxB+C,EAAA,kBIyBrC,mBJzBqC,GIyBf,mBJzBe,CAAA,GI0BrD,2BJ1BqD,CI0BzB,YJ1ByB,EI0BX,MJ1BW,EI0BH,KJ1BG,EI0BI,SJ1BJ,CAAA;AAAA,KI4BpD,iCJ1BuB,CAAA,YAAA,EAAA,MAAA,EAAA,QI6BlB,YJ7BkB,EAAA,kBI8BR,mBJ9BQ,GI8Bc,mBJ9Bd,CAAA,GI+BxB,sBJ/BwB,CI+BD,YJ/BC,EI+Ba,MJ/Bb,EI+BqB,KJ/BrB,EI+B4B,SJ/B5B,CAAA;KIiCvB,oCJ7BmB,CAAA,YAAA,EAAA,MAAA,EAAA,QIgCd,YJhCc,EAAA,kBIiCJ,mBJjCI,GIiCkB,mBJjClB,CAAA,GIkCpB,yBJlCoB,CIkCM,YJlCN,EIkCoB,MJlCpB,EIkC4B,KJlC5B,EIkCmC,SJlCnC,CAAA;AAAmB,KIoC/B,uBJpC+B,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBIwCvB,mBJxCuB,GIwCD,mBJxCC,CAAA,GIyCvC,IJzCuC,CI0CvC,sCJ1CuC,CI2CrC,WJ3CqC,EI4CrC,gBJ5CqC,EI6CrC,WJ7CqC,EI8CrC,SJ9CqC,CAAA,GIgDvC,oCJhDuC,CIiDrC,WJjDqC,EIkDrC,gBJlDqC,EImDrC,WJnDqC,EIoDrC,SJpDqC,CAAA,GIsDvC,iCJtDuC,CIuDrC,WJvDqC,EIwDrC,gBJxDqC,EIyDrC,WJzDqC,EI0DrC,SJ1DqC,CAAA,EAAA,SAAA,GAAA,UAAA,CAAA,GAAA;EACrC,QAAA,EI6DM,mBJ7DN;EACF,OAAA,EI6DO,kBJ7DP,CI8DA,WJ9DA,EI+DA,gBJ/DA,EIgEA,iBJhEA,EIiEA,mBJjEA,CAAA;CACA;;;iBKGY,gCACP,KAAA,CAAM,MAAM;ELdf,YAAA,EAAA,CAAA,SAAqD,EAAA,uBAAA;IACrD,IAAA,EAAA,MAAA;EAED,CAAA,EAAA,eAAA,CAAA,CAAA,OAAuB,EKsBb,uBLtBa,CKuBpB,SLvBoB,EKwBpB,cLxBoB,EKyBpB,eLzBoB,CAAA,EAAA,GK0BrB,sBAAA,CAAA,eL1BqB,CK0BrB,SL1BqB,EAAA,CK0BrB,cL1BqB,CAAA,SAAA,CAAA,KAAA,CAAA,GK0BrB,iBL1BqB,CAAA,OAAA,CAAA,GK0BrB,iBL1BqB,CAAA,OAAA,CAAA,GK0BrB,kBL1BqB,CK0BrB,cL1BqB,CAAA,EK0BrB,SL1BqB,EK0BrB,mBAAA,CL1BqB;EAIV,oBAAM,EAAA,CAAA,SAAA,EAAA,uBAAA;IAAmB,IAAA,EAAA,MAAA;EACrC,CAAA,EAAA,eAAA,CAAA,CAAA,OAAA,EK0CS,+BL1CT,CK2CE,SL3CF,EK4CE,cL5CF,EK6CE,eL7CF,CAAA,EAAA,GK8CC,sBAAA,CAAA,uBL9CD,CK8CC,SL9CD,EAAA,CK8CC,cL9CD,CAAA,SAAA,CAAA,KAAA,CAAA,GK8CC,iBL9CD,CAAA,OAAA,CAAA,GK8CC,iBL9CD,CAAA,OAAA,CAAA,GK8CC,kBL9CD,CK8CC,cL9CD,CAAA,EK8CC,SL9CD,EK8CC,mBAAA,EL9CD,OAAA,CAAA;EACF,eAAA,EAAA,CAAA,SAAA,EAAA,uBAAA;IACA,IAAA,EAAA,MAAA;EAEU,CAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA,OAAA,EKwDC,+BLxDD,CKyDN,SLzDM,EK0DN,cL1DM,EK2DN,eL3DM,EK4DN,UL5DM,CAAA,EAAA,GK6DP,sBAAA,CAAA,kBL7DO,CK6DP,SL7DO,EAAA,CK6DP,cL7DO,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAA,GK6DP,iBL7DO,CAAA,OAAA,CAAA,GK6DP,kBL7DO,CK6DP,cL7DO,CAAA,EK6DP,UL7DO,EAAA,OAAA,CAAA;CACa"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
2
1
|
import { Cause, Effect, Exit, ManagedRuntime } from "effect";
|
|
2
|
+
import { infiniteQueryOptions, mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
3
3
|
|
|
4
4
|
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
5
5
|
function _typeof(o) {
|
|
@@ -44,11 +44,36 @@ function _defineProperty(e, r, t) {
|
|
|
44
44
|
|
|
45
45
|
//#endregion
|
|
46
46
|
//#region src/errors.ts
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
const EffectQueryFailureTag = "EffectQueryFailure";
|
|
48
|
+
const EffectQueryDefectTag = "EffectQueryDefect";
|
|
49
|
+
var EffectQueryFailure = class extends Error {
|
|
50
|
+
constructor(message, failure, cause) {
|
|
49
51
|
super(message);
|
|
50
|
-
_defineProperty(this, "
|
|
51
|
-
this
|
|
52
|
+
_defineProperty(this, "_tag", void 0);
|
|
53
|
+
_defineProperty(this, "failure", void 0);
|
|
54
|
+
_defineProperty(this, "failureCause", void 0);
|
|
55
|
+
this._tag = EffectQueryFailureTag;
|
|
56
|
+
this.failure = failure;
|
|
57
|
+
this.failureCause = cause;
|
|
58
|
+
}
|
|
59
|
+
match(matcher) {
|
|
60
|
+
if (this.failure && typeof this.failure === "object" && "_tag" in this.failure) {
|
|
61
|
+
const handler = matcher[this.failure._tag];
|
|
62
|
+
if (typeof handler === "function") return handler(this.failure);
|
|
63
|
+
}
|
|
64
|
+
return matcher.OrElse(this.failureCause);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var EffectQueryDefect = class extends Error {
|
|
68
|
+
constructor(message, defect) {
|
|
69
|
+
super(message);
|
|
70
|
+
_defineProperty(this, "_tag", void 0);
|
|
71
|
+
_defineProperty(this, "defectCause", void 0);
|
|
72
|
+
this._tag = EffectQueryDefectTag;
|
|
73
|
+
this.defectCause = Cause.die(defect);
|
|
74
|
+
}
|
|
75
|
+
match(matcher) {
|
|
76
|
+
return matcher.OrElse(this.defectCause);
|
|
52
77
|
}
|
|
53
78
|
};
|
|
54
79
|
|
|
@@ -76,38 +101,109 @@ function _objectSpread2(e) {
|
|
|
76
101
|
return e;
|
|
77
102
|
}
|
|
78
103
|
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/infiniteQueryOptions.ts
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
function effectInfiniteQueryOptions(inputOptions, context) {
|
|
110
|
+
const [spanName] = inputOptions.queryKey;
|
|
111
|
+
const queryFn = async (queryFnContext) => {
|
|
112
|
+
const effect = inputOptions.queryFn(queryFnContext);
|
|
113
|
+
const result = await context.runner.run(effect, spanName, { signal: context.signal });
|
|
114
|
+
return Exit.match(result, {
|
|
115
|
+
onSuccess: (value) => value,
|
|
116
|
+
onFailure: (cause) => {
|
|
117
|
+
if (cause._tag === "Fail") {
|
|
118
|
+
const failure = cause.error;
|
|
119
|
+
throw new EffectQueryFailure(Cause.pretty(cause), failure, cause);
|
|
120
|
+
}
|
|
121
|
+
throw new EffectQueryDefect(Cause.pretty(cause), cause);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
return infiniteQueryOptions(_objectSpread2(_objectSpread2({}, inputOptions), {}, {
|
|
126
|
+
queryKey: inputOptions.queryKey,
|
|
127
|
+
queryFn
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/mutationOptions.ts
|
|
133
|
+
/**
|
|
134
|
+
* @internal
|
|
135
|
+
*/
|
|
136
|
+
function effectQueryMutationOptions(inputOptions, context) {
|
|
137
|
+
const spanName = inputOptions.mutationKey;
|
|
138
|
+
const mutationFn = async (variables) => {
|
|
139
|
+
const effect = inputOptions.mutationFn(variables);
|
|
140
|
+
const result = await context.runner.run(effect, spanName);
|
|
141
|
+
return Exit.match(result, {
|
|
142
|
+
onSuccess: (value) => value,
|
|
143
|
+
onFailure: (cause) => {
|
|
144
|
+
if (cause._tag === "Fail") {
|
|
145
|
+
const failure = cause.error;
|
|
146
|
+
throw new EffectQueryFailure(Cause.pretty(cause), failure, cause);
|
|
147
|
+
}
|
|
148
|
+
throw new EffectQueryDefect(Cause.pretty(cause), cause);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
return mutationOptions(_objectSpread2(_objectSpread2({}, inputOptions), {}, { mutationFn }));
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/queryOptions.ts
|
|
157
|
+
/**
|
|
158
|
+
* @internal
|
|
159
|
+
*/
|
|
160
|
+
function effectQueryQueryOptions(inputOptions, context) {
|
|
161
|
+
const [spanName] = inputOptions.queryKey;
|
|
162
|
+
const queryFn = async (queryFnContext) => {
|
|
163
|
+
const effect = inputOptions.queryFn(queryFnContext);
|
|
164
|
+
const result = await context.runner.run(effect, spanName, { signal: context.signal });
|
|
165
|
+
return Exit.match(result, {
|
|
166
|
+
onSuccess: (value) => value,
|
|
167
|
+
onFailure: (cause) => {
|
|
168
|
+
if (cause._tag === "Fail") {
|
|
169
|
+
const failure = cause.error;
|
|
170
|
+
throw new EffectQueryFailure(Cause.pretty(cause), failure, cause);
|
|
171
|
+
}
|
|
172
|
+
throw new EffectQueryDefect(Cause.pretty(cause), cause);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
return queryOptions(_objectSpread2(_objectSpread2({}, inputOptions), {}, {
|
|
177
|
+
queryKey: inputOptions.queryKey,
|
|
178
|
+
queryFn
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region src/runner.ts
|
|
184
|
+
var EffectQueryRunner = class {
|
|
185
|
+
constructor(runtime) {
|
|
186
|
+
_defineProperty(this, "runtime", void 0);
|
|
187
|
+
this.runtime = runtime;
|
|
188
|
+
}
|
|
189
|
+
async run(effect, span, options = {}) {
|
|
190
|
+
var _this = this;
|
|
191
|
+
const effectToRun = effect;
|
|
192
|
+
return await _this.runtime.runPromiseExit(effectToRun.pipe(Effect.withSpan(span), Effect.scoped, Effect.tapErrorCause(Effect.logError)), { signal: options.signal });
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
79
196
|
//#endregion
|
|
80
197
|
//#region src/index.ts
|
|
81
198
|
function createEffectQuery(layer) {
|
|
82
|
-
const
|
|
83
|
-
const runner = (span, options = {}) => (effect) => runtime.runPromiseExit(effect.pipe(Effect.withSpan(span), Effect.scoped, Effect.tapErrorCause(Effect.logError)), { signal: options.signal });
|
|
199
|
+
const runner = new EffectQueryRunner(ManagedRuntime.make(layer));
|
|
84
200
|
return {
|
|
85
|
-
queryOptions: (options) => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
onFailure: (cause) => {
|
|
92
|
-
throw new EffectQueryError(Cause.pretty(cause), cause);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
return queryOptions(_objectSpread2(_objectSpread2({}, options), {}, { queryFn }));
|
|
97
|
-
},
|
|
98
|
-
mutationOptions: (options) => {
|
|
99
|
-
const spanName = options.mutationKey;
|
|
100
|
-
const mutationFn = async (variables) => {
|
|
101
|
-
const result = await options.mutationFn(variables).pipe(runner(spanName));
|
|
102
|
-
return Exit.match(result, {
|
|
103
|
-
onSuccess: (value) => value,
|
|
104
|
-
onFailure: (cause) => {
|
|
105
|
-
throw new EffectQueryError(Cause.pretty(cause), cause);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
return mutationOptions(_objectSpread2(_objectSpread2({}, options), {}, { mutationFn }));
|
|
110
|
-
}
|
|
201
|
+
queryOptions: (options) => effectQueryQueryOptions({
|
|
202
|
+
queryKey: options.queryKey,
|
|
203
|
+
queryFn: options.queryFn
|
|
204
|
+
}, { runner }),
|
|
205
|
+
infiniteQueryOptions: (options) => effectInfiniteQueryOptions(options, { runner }),
|
|
206
|
+
mutationOptions: (options) => effectQueryMutationOptions(options, { runner })
|
|
111
207
|
};
|
|
112
208
|
}
|
|
113
209
|
|