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 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
- var EffectQueryError = class extends Error {
73
- constructor(message, cause) {
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, "cause", void 0);
76
- this.cause = cause;
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 runtime = effect.ManagedRuntime.make(layer);
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
- const [spanName] = options.queryKey;
112
- const queryFn = async (context) => {
113
- const result = await options.queryFn(context).pipe(runner(spanName, { signal: context.signal }));
114
- return effect.Exit.match(result, {
115
- onSuccess: (value) => value,
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 { UseMutationOptions, UseQueryOptions, skipToken } from "@tanstack/react-query";
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 class EffectQueryError<TCause extends Cause.Cause<any>> extends Error {
7
- readonly cause: TCause;
8
- constructor(message: string, cause: TCause);
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: <TData, E, R extends Input | Scope.Scope, TQueryKey extends QueryKey = QueryKey>(options: Omit<UseQueryOptions<TData, E, TData, TQueryKey>, "queryKey" | "queryFn"> & {
14
- queryKey: TQueryKey;
15
- queryFn: typeof skipToken | ((context: {
16
- client: _tanstack_react_query0.QueryClient;
17
- queryKey: TQueryKey;
18
- signal: AbortSignal;
19
- meta: _tanstack_react_query0.QueryMeta | undefined;
20
- pageParam?: unknown;
21
- direction?: unknown;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;cAEa,gCAAgC,KAAA,CAAM,oBAAoB,KAAA;kBAC5C;sCACW;;;;iBCgBtB,gCACP,KAAA,CAAM,MAAM;qCA0Ed,QAAA,KAAA,CAAA,yBACiB,WAAQ,mBAAA,KAAA,gBAAA,OAAA,GAAA,OAAA;ID9FnB,QAAA,WAAgB;IAAsB,OAAA,EAAA,gBAAA,GAAA,CAAA,CAAA,OAAA,EAAA;MACxB,MAAA,oCAAA;MACW,QAAA,WAAA;MAFiC,MAAA,aAAA;MAAK,IAAA,qCAAA,SAAA;;;;ECkB5D,CAAA,EAAA,GAsGJ,eAtGqB,CAuGzB,KAvGyB,EAwGzB,CAxGyB,SAAA,KAAA,GAAA,KAAA,GAwGC,gBAxGD,CAwGkB,KAAA,CAAM,KAxGxB,CAwG8B,CAxG9B,CAAA,CAAA,EAyGzB,KAzGyB,EA0GzB,SA1GyB,CAAA;EACZ,eAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,UAAA,EAAA,UA4GwB,KA5GxB,GA4GwB,KAAA,CAAA,KA5GxB,CAAA,CAAA,OAAA,EA4GwB,IA5GxB,CA4GwB,kBA5GxB,CA4GwB,KA5GxB,EA4GwB,KA5GxB,EA4GwB,UA5GxB,EAAA,OAAA,CAAA,EAAA,aAAA,GAAA,YAAA,CAAA,GAAA;IAAN,WAAA,EAAA,MAAA;IA0ER,UAAA,EAAA,gBAAA,GAAA,CAAA,CAAA,SAAA,YAAA,EAAA,gBAAA,MAAA,GAAA,GAAA,CAAA,CAAA;EAAA,CAAA,EAAA,GA6DK,kBA7DL,CA8DC,KA9DD,EA+DC,CA/DD,SAAA,KAAA,GAAA,KAAA,GA+D2B,gBA/D3B,CA+D4C,KAAA,CAAM,KA/DlD,CA+DwD,CA/DxD,CAAA,CAAA,EAgEC,UAhED,CAAA;CACiB;KAqEnB,QAAA,GArE2B,SAAA,CAAA,MAAA,EAAA,MAAA,EAqEU,MArEV,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA"}
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 { UseMutationOptions, UseQueryOptions, skipToken } from "@tanstack/react-query";
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 class EffectQueryError<TCause extends Cause.Cause<any>> extends Error {
7
- readonly cause: TCause;
8
- constructor(message: string, cause: TCause);
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: <TData, E, R extends Input | Scope.Scope, TQueryKey extends QueryKey = QueryKey>(options: Omit<UseQueryOptions<TData, E, TData, TQueryKey>, "queryKey" | "queryFn"> & {
14
- queryKey: TQueryKey;
15
- queryFn: typeof skipToken | ((context: {
16
- client: _tanstack_react_query0.QueryClient;
17
- queryKey: TQueryKey;
18
- signal: AbortSignal;
19
- meta: _tanstack_react_query0.QueryMeta | undefined;
20
- pageParam?: unknown;
21
- direction?: unknown;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;cAEa,gCAAgC,KAAA,CAAM,oBAAoB,KAAA;kBAC5C;sCACW;;;;iBCgBtB,gCACP,KAAA,CAAM,MAAM;qCA0Ed,QAAA,KAAA,CAAA,yBACiB,WAAQ,mBAAA,KAAA,gBAAA,OAAA,GAAA,OAAA;ID9FnB,QAAA,WAAgB;IAAsB,OAAA,EAAA,gBAAA,GAAA,CAAA,CAAA,OAAA,EAAA;MACxB,MAAA,oCAAA;MACW,QAAA,WAAA;MAFiC,MAAA,aAAA;MAAK,IAAA,qCAAA,SAAA;;;;ECkB5D,CAAA,EAAA,GAsGJ,eAtGqB,CAuGzB,KAvGyB,EAwGzB,CAxGyB,SAAA,KAAA,GAAA,KAAA,GAwGC,gBAxGD,CAwGkB,KAAA,CAAM,KAxGxB,CAwG8B,CAxG9B,CAAA,CAAA,EAyGzB,KAzGyB,EA0GzB,SA1GyB,CAAA;EACZ,eAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,UAAA,EAAA,UA4GwB,KA5GxB,GA4GwB,KAAA,CAAA,KA5GxB,CAAA,CAAA,OAAA,EA4GwB,IA5GxB,CA4GwB,kBA5GxB,CA4GwB,KA5GxB,EA4GwB,KA5GxB,EA4GwB,UA5GxB,EAAA,OAAA,CAAA,EAAA,aAAA,GAAA,YAAA,CAAA,GAAA;IAAN,WAAA,EAAA,MAAA;IA0ER,UAAA,EAAA,gBAAA,GAAA,CAAA,CAAA,SAAA,YAAA,EAAA,gBAAA,MAAA,GAAA,GAAA,CAAA,CAAA;EAAA,CAAA,EAAA,GA6DK,kBA7DL,CA8DC,KA9DD,EA+DC,CA/DD,SAAA,KAAA,GAAA,KAAA,GA+D2B,gBA/D3B,CA+D4C,KAAA,CAAM,KA/DlD,CA+DwD,CA/DxD,CAAA,CAAA,EAgEC,UAhED,CAAA;CACiB;KAqEnB,QAAA,GArE2B,SAAA,CAAA,MAAA,EAAA,MAAA,EAqEU,MArEV,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA"}
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
- var EffectQueryError = class extends Error {
48
- constructor(message, cause) {
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, "cause", void 0);
51
- this.cause = cause;
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 runtime = ManagedRuntime.make(layer);
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
- const [spanName] = options.queryKey;
87
- const queryFn = async (context) => {
88
- const result = await options.queryFn(context).pipe(runner(spanName, { signal: context.signal }));
89
- return Exit.match(result, {
90
- onSuccess: (value) => value,
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