@effect-app/vue 0.130.1 → 0.133.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/_cjs/_global.cjs +1 -2
- package/_cjs/_global.cjs.map +1 -1
- package/_cjs/form.cjs +12 -14
- package/_cjs/form.cjs.map +1 -1
- package/_cjs/hooks.cjs +27 -190
- package/_cjs/hooks.cjs.map +1 -1
- package/_cjs/internal.cjs +6 -5
- package/_cjs/internal.cjs.map +1 -1
- package/_cjs/mutate.cjs +105 -0
- package/_cjs/mutate.cjs.map +1 -0
- package/_cjs/query.cjs +46 -23
- package/_cjs/query.cjs.map +1 -1
- package/_cjs/routeParams.cjs +9 -12
- package/_cjs/routeParams.cjs.map +1 -1
- package/_cjs/runtime.cjs +19 -22
- package/_cjs/runtime.cjs.map +1 -1
- package/_src/_global.ts +1 -10
- package/_src/form.ts +9 -12
- package/_src/hooks.ts +2 -323
- package/_src/internal.ts +9 -4
- package/_src/mutate.ts +163 -0
- package/_src/query.ts +97 -35
- package/_src/routeParams.ts +6 -3
- package/_src/runtime.ts +18 -13
- package/_src/swrv.bak +196 -0
- package/dist/_global.d.ts +1 -8
- package/dist/_global.d.ts.map +1 -1
- package/dist/_global.js +2 -10
- package/dist/form.d.ts +3 -4
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +15 -17
- package/dist/hooks.d.ts +2 -78
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +3 -195
- package/dist/internal.d.ts +5 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -3
- package/dist/mutate.d.ts +43 -0
- package/dist/mutate.d.ts.map +1 -0
- package/dist/mutate.js +101 -0
- package/dist/query.d.ts +27 -7
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +55 -29
- package/dist/routeParams.d.ts +4 -4
- package/dist/routeParams.d.ts.map +1 -1
- package/dist/routeParams.js +14 -15
- package/dist/runtime.d.ts +24 -23
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +27 -24
- package/package.json +18 -9
- package/tsconfig.json +1 -0
- package/tsconfig.json.bak +1 -0
package/dist/mutate.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { tuple } from "@effect-app/core/Function";
|
|
3
|
+
import { useQueryClient } from "@tanstack/vue-query";
|
|
4
|
+
import { Cause, Effect, Exit, Fiber, Option } from "effect-app";
|
|
5
|
+
import { hasValue, Initial, isInitializing, Loading, queryResult, Refreshing } from "effect-app/client";
|
|
6
|
+
import { InterruptedException } from "effect/Cause";
|
|
7
|
+
import * as Either from "effect/Either";
|
|
8
|
+
import { computed, ref, shallowRef } from "vue";
|
|
9
|
+
import { makeQueryKey, run } from "./internal.js";
|
|
10
|
+
export function make(self) {
|
|
11
|
+
const result = shallowRef(new Initial());
|
|
12
|
+
const execute = Effect
|
|
13
|
+
.sync(() => {
|
|
14
|
+
result.value = isInitializing(result.value)
|
|
15
|
+
? new Loading()
|
|
16
|
+
: new Refreshing(result.value);
|
|
17
|
+
})
|
|
18
|
+
.andThen(queryResult(self.map((_) => _.body)))
|
|
19
|
+
.flatMap((r) => Effect.sync(() => result.value = r));
|
|
20
|
+
const latestSuccess = computed(() => {
|
|
21
|
+
const value = result.value;
|
|
22
|
+
return hasValue(value)
|
|
23
|
+
? Either.isRight(value.current)
|
|
24
|
+
? value.current.right
|
|
25
|
+
: Option.isSome(value.previous)
|
|
26
|
+
? value.previous.value
|
|
27
|
+
: undefined
|
|
28
|
+
: undefined;
|
|
29
|
+
});
|
|
30
|
+
return tuple(result, latestSuccess, execute);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Pass a function that returns an Effect, e.g from a client action, or an Effect
|
|
34
|
+
* Returns a tuple with state ref and execution function which reports errors as Toast.
|
|
35
|
+
*/
|
|
36
|
+
export const useSafeMutation = (self) => {
|
|
37
|
+
const queryClient = useQueryClient();
|
|
38
|
+
const state = ref({ _tag: "Initial" });
|
|
39
|
+
function handleExit(exit) {
|
|
40
|
+
return Effect.sync(() => {
|
|
41
|
+
if (Exit.isSuccess(exit)) {
|
|
42
|
+
state.value = { _tag: "Success", data: exit.value };
|
|
43
|
+
return Either.right(exit.value);
|
|
44
|
+
}
|
|
45
|
+
const err = Cause.failureOption(exit.cause);
|
|
46
|
+
if (Option.isSome(err)) {
|
|
47
|
+
state.value = { _tag: "Error", error: err.value };
|
|
48
|
+
return Either.left(err.value);
|
|
49
|
+
}
|
|
50
|
+
const died = Cause.dieOption(exit.cause);
|
|
51
|
+
if (Option.isSome(died)) {
|
|
52
|
+
throw died.value;
|
|
53
|
+
}
|
|
54
|
+
const interrupted = Cause.interruptOption(exit.cause);
|
|
55
|
+
if (Option.isSome(interrupted)) {
|
|
56
|
+
throw new InterruptedException();
|
|
57
|
+
}
|
|
58
|
+
throw new Error("Invalid state");
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const exec = (fst, snd) => {
|
|
62
|
+
let effect;
|
|
63
|
+
let abortSignal;
|
|
64
|
+
if (Effect.isEffect(self.handler)) {
|
|
65
|
+
effect = self.handler;
|
|
66
|
+
abortSignal = fst;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
effect = self.handler(fst);
|
|
70
|
+
abortSignal = snd;
|
|
71
|
+
}
|
|
72
|
+
return run.value(Effect
|
|
73
|
+
.sync(() => {
|
|
74
|
+
state.value = { _tag: "Loading" };
|
|
75
|
+
})
|
|
76
|
+
.andThen(effect)
|
|
77
|
+
.tap(() => Effect.suspend(() => {
|
|
78
|
+
const key = makeQueryKey(self.name);
|
|
79
|
+
const ns = key.filter((_) => _.startsWith("$"));
|
|
80
|
+
const nses = [];
|
|
81
|
+
for (let i = 0; i < ns.length; i++) {
|
|
82
|
+
nses.push(ns.slice(0, i + 1).join("/"));
|
|
83
|
+
}
|
|
84
|
+
return Effect.promise(() => queryClient.invalidateQueries({ queryKey: [ns[0]] }));
|
|
85
|
+
// TODO: more efficient invalidation, including args etc
|
|
86
|
+
// return Effect.promise(() => queryClient.invalidateQueries({
|
|
87
|
+
// predicate: (_) => nses.includes(_.queryKey.filter((_) => _.startsWith("$")).join("/"))
|
|
88
|
+
// }))
|
|
89
|
+
}))
|
|
90
|
+
.pipe(Effect.exit)
|
|
91
|
+
.flatMap(handleExit)
|
|
92
|
+
.pipe(Effect.fork)
|
|
93
|
+
.flatMap((f) => {
|
|
94
|
+
const cancel = () => run.value(Fiber.interrupt(f));
|
|
95
|
+
abortSignal?.addEventListener("abort", () => void cancel().catch(console.error));
|
|
96
|
+
return Fiber.join(f);
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
return tuple(state, exec);
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9tdXRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUlqRCxNQUFNLFVBQVUsSUFBSSxDQUFVLElBQW9DO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLE9BQU8sRUFBdUIsQ0FBQyxDQUFBO0lBRTdELE1BQU0sT0FBTyxHQUFHLE1BQU07U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNULE1BQU0sQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDekMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFO1lBQ2YsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxH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
|
package/dist/query.d.ts
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { QueryObserverOptions } from "@tanstack/vue-query";
|
|
1
|
+
import type { QueryObserverOptions, QueryObserverResult, RefetchOptions } from "@tanstack/vue-query";
|
|
3
2
|
import { Effect } from "effect-app";
|
|
4
3
|
import type { ApiConfig, FetchResponse, QueryResult } from "effect-app/client";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import type { HttpClient } from "effect-app/http";
|
|
5
|
+
import type { ComputedRef, WatchSource } from "vue";
|
|
6
|
+
export declare function useSafeQuery<E, A>(self: {
|
|
7
|
+
handler: Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Client.Default>;
|
|
8
|
+
mapPath: string;
|
|
9
|
+
name: string;
|
|
10
|
+
}, options?: QueryObserverOptions<any, any, any> | undefined): readonly [
|
|
11
|
+
ComputedRef<QueryResult<E, A>>,
|
|
12
|
+
ComputedRef<A | undefined>,
|
|
13
|
+
(options?: RefetchOptions | undefined) => Promise<QueryObserverResult<any, any>>
|
|
14
|
+
];
|
|
15
|
+
export declare function useSafeQuery<Arg, E, A>(self: {
|
|
16
|
+
handler: (arg: Arg) => Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Client.Default>;
|
|
17
|
+
mapPath: (arg: Arg) => string;
|
|
18
|
+
name: string;
|
|
19
|
+
}, arg: Arg | WatchSource<Arg>, options?: QueryObserverOptions<any, any, any> | undefined): readonly [
|
|
20
|
+
ComputedRef<QueryResult<E, A>>,
|
|
21
|
+
ComputedRef<A | undefined>,
|
|
22
|
+
(options?: RefetchOptions | undefined) => Promise<QueryObserverResult<any, any>>
|
|
23
|
+
];
|
|
24
|
+
export declare const useSafeQuery_: <I, A, E>(q: {
|
|
25
|
+
handler: (req: I) => Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Client.Default>;
|
|
8
26
|
mapPath: (req: I) => string;
|
|
27
|
+
name: string;
|
|
9
28
|
} | {
|
|
10
|
-
handler: Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Default>;
|
|
29
|
+
handler: Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Client.Default>;
|
|
11
30
|
mapPath: string;
|
|
12
|
-
|
|
31
|
+
name: string;
|
|
32
|
+
}, arg?: I | WatchSource<I>, options?: QueryObserverOptions<any, any, any>) => readonly [ComputedRef<QueryResult<any, any>>, ComputedRef<any>, (options?: RefetchOptions | undefined) => Promise<QueryObserverResult<any, any>>];
|
|
13
33
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../_src/query.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpG,OAAO,EAAS,MAAM,EAA2B,MAAM,YAAY,CAAA;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAGnD,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,EACD,OAAO,CAAC,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxD,SAAS;IACV,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1B,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACjF,CAAA;AACD,wBAAgB,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EACpC,IAAI,EAAE;IACJ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzF,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,EACD,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxD,SAAS;IACV,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1B,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACjF,CAAA;AAsCD,eAAO,MAAM,aAAa;mBAIb,CAAC,KACH,OACH,cAAc,CAAC,CAAC,EAChB,CAAC,EACD,SAAS,GAAG,WAAW,MAAM,CAAC,OAAO,CACtC;mBACc,CAAC,KAAK,MAAM;UACrB,MAAM;;aAGH,OACP,cAAc,CAAC,CAAC,EAChB,CAAC,EACD,SAAS,GAAG,WAAW,MAAM,CAAC,OAAO,CACtC;aACQ,MAAM;UACT,MAAM;SAEV,CAAC,GAAG,YAAY,CAAC,CAAC,YACf,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,sJA6D7C,CAAA"}
|
package/dist/query.js
CHANGED
|
@@ -1,17 +1,42 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Cause";
|
|
2
|
-
import * as tsplus_module_2 from "effect-app/client/QueryResult";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Either";
|
|
4
|
-
import * as tsplus_module_4 from "effect/Option";
|
|
5
1
|
import { useQuery } from "@tanstack/vue-query";
|
|
6
|
-
import { Effect, Runtime } from "effect-app";
|
|
7
|
-
import { Done, Initial, Loading, Refreshing } from "effect-app/client";
|
|
2
|
+
import { Cause, Effect, Either, Option, Runtime } from "effect-app";
|
|
3
|
+
import { Done, Initial, isSuccess, Loading, Refreshing } from "effect-app/client";
|
|
8
4
|
import { computed, ref } from "vue";
|
|
9
|
-
import { run } from "./internal.js";
|
|
5
|
+
import { makeQueryKey, run } from "./internal.js";
|
|
6
|
+
export function useSafeQuery(self,
|
|
7
|
+
/*
|
|
8
|
+
q:
|
|
9
|
+
| {
|
|
10
|
+
handler: (
|
|
11
|
+
req: I
|
|
12
|
+
) => Effect<
|
|
13
|
+
FetchResponse<A>,
|
|
14
|
+
E,
|
|
15
|
+
ApiConfig | HttpClient.Client.Default
|
|
16
|
+
>
|
|
17
|
+
mapPath: (req: I) => string
|
|
18
|
+
name: string
|
|
19
|
+
}
|
|
20
|
+
| {
|
|
21
|
+
handler: Effect<
|
|
22
|
+
FetchResponse<A>,
|
|
23
|
+
E,
|
|
24
|
+
ApiConfig | HttpClient.Client.Default
|
|
25
|
+
>
|
|
26
|
+
mapPath: string
|
|
27
|
+
name: string
|
|
28
|
+
},
|
|
29
|
+
*/
|
|
30
|
+
argOrOptions, options) {
|
|
31
|
+
return Effect.isEffect(self.handler)
|
|
32
|
+
? useSafeQuery_(self, undefined, argOrOptions)
|
|
33
|
+
: useSafeQuery_(self, argOrOptions, options);
|
|
34
|
+
}
|
|
10
35
|
// TODO: options
|
|
11
36
|
// declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
|
|
12
37
|
// declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
|
|
13
38
|
// declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
|
|
14
|
-
export const
|
|
39
|
+
export const useSafeQuery_ = (q, arg, options = {} // TODO
|
|
15
40
|
) => {
|
|
16
41
|
const arr = arg;
|
|
17
42
|
const req = !arg
|
|
@@ -23,10 +48,11 @@ export const useSafeQuery = (q, arg, options = {} // TODO
|
|
|
23
48
|
}
|
|
24
49
|
}
|
|
25
50
|
: ref(arg);
|
|
51
|
+
const queryKey = makeQueryKey(q.name);
|
|
26
52
|
const r = useQuery(Effect.isEffect(q.handler)
|
|
27
53
|
? {
|
|
28
54
|
...options,
|
|
29
|
-
queryKey
|
|
55
|
+
queryKey,
|
|
30
56
|
queryFn: () => run
|
|
31
57
|
.value(q.handler)
|
|
32
58
|
.then((_) => _.body)
|
|
@@ -34,12 +60,12 @@ export const useSafeQuery = (q, arg, options = {} // TODO
|
|
|
34
60
|
if (!Runtime.isFiberFailure(_))
|
|
35
61
|
throw _;
|
|
36
62
|
const cause = _[Runtime.FiberFailureCauseId];
|
|
37
|
-
throw
|
|
63
|
+
throw Cause.squash(cause);
|
|
38
64
|
})
|
|
39
65
|
}
|
|
40
66
|
: {
|
|
41
67
|
...options,
|
|
42
|
-
queryKey: [
|
|
68
|
+
queryKey: [...queryKey, req],
|
|
43
69
|
queryFn: () => run
|
|
44
70
|
.value(q.handler(req.value))
|
|
45
71
|
.then((_) => _.body)
|
|
@@ -47,22 +73,9 @@ export const useSafeQuery = (q, arg, options = {} // TODO
|
|
|
47
73
|
if (!Runtime.isFiberFailure(_))
|
|
48
74
|
throw _;
|
|
49
75
|
const cause = _[Runtime.FiberFailureCauseId];
|
|
50
|
-
throw
|
|
76
|
+
throw Cause.squash(cause);
|
|
51
77
|
})
|
|
52
78
|
});
|
|
53
|
-
function swrToQuery(r) {
|
|
54
|
-
if (r.error) {
|
|
55
|
-
return r.isValidating
|
|
56
|
-
? Refreshing.fail(r.error, r.data)
|
|
57
|
-
: Done.fail(r.error, r.data);
|
|
58
|
-
}
|
|
59
|
-
if (r.data !== undefined) {
|
|
60
|
-
return r.isValidating
|
|
61
|
-
? Refreshing.succeed(r.data)
|
|
62
|
-
: Done.succeed(r.data);
|
|
63
|
-
}
|
|
64
|
-
return r.isValidating ? new Loading() : new Initial();
|
|
65
|
-
}
|
|
66
79
|
const result = computed(() => swrToQuery({
|
|
67
80
|
error: r.error.value,
|
|
68
81
|
data: r.data.value,
|
|
@@ -70,14 +83,27 @@ export const useSafeQuery = (q, arg, options = {} // TODO
|
|
|
70
83
|
}));
|
|
71
84
|
const latestSuccess = computed(() => {
|
|
72
85
|
const value = result.value;
|
|
73
|
-
return
|
|
74
|
-
?
|
|
86
|
+
return isSuccess(value)
|
|
87
|
+
? Either.isRight(value.current)
|
|
75
88
|
? value.current.right
|
|
76
|
-
:
|
|
89
|
+
: Option.isSome(value.previous)
|
|
77
90
|
? value.previous.value
|
|
78
91
|
: undefined
|
|
79
92
|
: undefined;
|
|
80
93
|
});
|
|
81
94
|
return [result, latestSuccess, r.refetch];
|
|
82
95
|
};
|
|
83
|
-
|
|
96
|
+
function swrToQuery(r) {
|
|
97
|
+
if (r.error) {
|
|
98
|
+
return r.isValidating
|
|
99
|
+
? Refreshing.fail(r.error, r.data)
|
|
100
|
+
: Done.fail(r.error, r.data);
|
|
101
|
+
}
|
|
102
|
+
if (r.data !== undefined) {
|
|
103
|
+
return r.isValidating
|
|
104
|
+
? Refreshing.succeed(r.data)
|
|
105
|
+
: Done.succeed(r.data);
|
|
106
|
+
}
|
|
107
|
+
return r.isValidating ? new Loading() : new Initial();
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBRW5DLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMkJqRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFTO0FBQ1Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQkU7QUFDRixZQUFrQixFQUNsQixPQUFhO0lBRWIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztRQUM5QyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQUVELGdCQUFnQjtBQUNoQixzUkFBc1I7QUFDdFIsMlJBQTJSO0FBQzNSLHVSQUF1UjtBQUN2UixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsQ0FvQkcsRUFDSCxHQUF3QixFQUN4QixVQUErQyxFQUFFLENBQUMsT0FBTztFQUN6RCxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2YsTUFBTSxHQUFHLEdBQWlCLENBQUMsR0FBRztRQUM1QixDQUFDLENBQUMsU0FBUztR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
|
package/dist/routeParams.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Option } from "
|
|
1
|
+
import { Option, S } from "effect-app";
|
|
2
2
|
import type { REST, Schema } from "effect-app/schema";
|
|
3
3
|
import type { ParsedQuery } from "query-string";
|
|
4
4
|
export declare function getQueryParam(search: ParsedQuery, param: string): string | null | undefined;
|
|
5
|
-
export declare const getQueryParamO: (search: ParsedQuery, param: string) =>
|
|
6
|
-
export declare const parseOpt: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?:
|
|
7
|
-
export declare const parseOptUnknown: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?:
|
|
5
|
+
export declare const getQueryParamO: (search: ParsedQuery, param: string) => Option.Option<string>;
|
|
6
|
+
export declare const parseOpt: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?: S.AST.ParseOptions | undefined) => Option.None<A> | Option.Some<A>;
|
|
7
|
+
export declare const parseOptUnknown: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?: S.AST.ParseOptions | undefined) => Option.None<A> | Option.Some<A>;
|
|
8
8
|
export declare function parseRouteParamsOption<NER extends Record<string, Schema<any, any, never>>>(query: Record<string, any>, t: NER): {
|
|
9
9
|
[K in keyof NER]: Option<Schema.To<NER[K]>>;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeParams.d.ts","sourceRoot":"","sources":["../_src/routeParams.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"routeParams.d.ts","sourceRoot":"","sources":["../_src/routeParams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,6BAM/D;AAED,eAAO,MAAM,cAAc,+DAA2C,CAAA;AAEtE,eAAO,MAAM,QAAQ,YAAa,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,sGAMzD,CAAA;AAED,eAAO,MAAM,eAAe,YAAa,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,sGAMhE,CAAA;AAED,wBAAgB,sBAAsB,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EACxF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,CAAC,EAAE,GAAG,GACL;KACA,CAAC,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAYA;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAClF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,CAAC,EAAE,GAAG,GACL;KACA,CAAC,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpC,CAYA"}
|
package/dist/routeParams.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/core/utils";
|
|
1
|
+
import { flow } from "effect";
|
|
2
|
+
import { Option, S } from "effect-app";
|
|
3
|
+
import { typedKeysOf } from "effect-app/utils";
|
|
5
4
|
export function getQueryParam(search, param) {
|
|
6
5
|
const v = search[param];
|
|
7
6
|
if (Array.isArray(v)) {
|
|
@@ -9,22 +8,22 @@ export function getQueryParam(search, param) {
|
|
|
9
8
|
}
|
|
10
9
|
return v ?? null;
|
|
11
10
|
}
|
|
12
|
-
export const getQueryParamO =
|
|
11
|
+
export const getQueryParamO = flow(getQueryParam, Option.fromNullable);
|
|
13
12
|
export const parseOpt = (t) => {
|
|
14
|
-
const dec =
|
|
15
|
-
?
|
|
16
|
-
:
|
|
13
|
+
const dec = flow(S.decodeUnknownEither(t), (x) => x._tag === "Right"
|
|
14
|
+
? Option.some(x.right)
|
|
15
|
+
: Option.none());
|
|
17
16
|
return dec;
|
|
18
17
|
};
|
|
19
18
|
export const parseOptUnknown = (t) => {
|
|
20
|
-
const dec =
|
|
21
|
-
?
|
|
22
|
-
:
|
|
19
|
+
const dec = flow(S.decodeUnknownEither(t), (x) => x._tag === "Right"
|
|
20
|
+
? Option.some(x.right)
|
|
21
|
+
: Option.none());
|
|
23
22
|
return dec;
|
|
24
23
|
};
|
|
25
24
|
export function parseRouteParamsOption(query, t // enforce non empty
|
|
26
25
|
) {
|
|
27
|
-
return
|
|
26
|
+
return typedKeysOf(t).reduce((prev, cur) => {
|
|
28
27
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
29
28
|
prev[cur] = getQueryParamO(query, cur).flatMap(parseOpt(t[cur]));
|
|
30
29
|
return prev;
|
|
@@ -32,10 +31,10 @@ export function parseRouteParamsOption(query, t // enforce non empty
|
|
|
32
31
|
}
|
|
33
32
|
export function parseRouteParams(query, t // enforce non empty
|
|
34
33
|
) {
|
|
35
|
-
return
|
|
34
|
+
return typedKeysOf(t).reduce((prev, cur) => {
|
|
36
35
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
37
|
-
prev[cur] =
|
|
36
|
+
prev[cur] = S.decodeUnknownSync(t[cur])(query[cur]);
|
|
38
37
|
return prev;
|
|
39
38
|
}, {});
|
|
40
39
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVQYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3JvdXRlUGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRzlDLE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBbUIsRUFBRSxLQUFhO0lBQzlELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNiLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUE7QUFDbEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUV0RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBTyxDQUEyQixFQUFFLEVBQUU7SUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQy9DLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTztRQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNwQixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFPLENBQTJCLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDL0MsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3BCLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxLQUEwQixFQUMxQixDQUFNLENBQUMsb0JBQW9COztJQUkzQixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzFCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ1osb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUMsQ0FBQTtRQUUzRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsRUFDRCxFQUVDLENBQ0YsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQTBCLEVBQzFCLENBQU0sQ0FBQyxvQkFBb0I7O0lBSTNCLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWixvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBRSxLQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUU3RCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsRUFDRCxFQUVDLENBQ0YsQ0FBQTtBQUNILENBQUMifQ==
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import { Layer } from "effect/Layer";
|
|
2
1
|
import { ApiConfig } from "effect-app/client";
|
|
3
2
|
import * as HttpClient from "@effect/platform/Http/Client";
|
|
3
|
+
import { Config, Exit, Runtime } from "effect";
|
|
4
|
+
import { Effect, Layer } from "effect-app";
|
|
4
5
|
export { initRuntime } from "./internal.js";
|
|
5
|
-
export declare const DefaultApiConfig:
|
|
6
|
+
export declare const DefaultApiConfig: Config.Config<{
|
|
6
7
|
apiUrl: string;
|
|
7
8
|
headers: import("effect/Option").Option<import("effect/HashMap").HashMap<string, string>>;
|
|
8
9
|
}>;
|
|
9
|
-
export declare function makeApiLayers(config: ApiConfig):
|
|
10
|
-
export declare function makeAppRuntime<R, E, A>(layer: Layer<A, E, R>):
|
|
11
|
-
runtime:
|
|
12
|
-
runPromise: <A_1, E_1>(effect:
|
|
13
|
-
runPromiseExit: <A_2, E_2>(effect:
|
|
14
|
-
runSync: <A_3, E_3>(effect:
|
|
15
|
-
runSyncExit: <A_4, E_4>(effect:
|
|
16
|
-
runFork: <A_5, E_5>(self:
|
|
10
|
+
export declare function makeApiLayers(config: ApiConfig): Layer.Layer<ApiConfig | HttpClient.Client.Default, never, never>;
|
|
11
|
+
export declare function makeAppRuntime<R, E, A>(layer: Layer<A, E, R>): Effect.Effect<{
|
|
12
|
+
runtime: Runtime.Runtime<A> & {
|
|
13
|
+
runPromise: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, A>) => Promise<A_1>;
|
|
14
|
+
runPromiseExit: <A_2, E_2>(effect: Effect.Effect<A_2, E_2, A>) => Promise<Exit.Exit<A_2, E_2>>;
|
|
15
|
+
runSync: <A_3, E_3>(effect: Effect.Effect<A_3, E_3, A>) => A_3;
|
|
16
|
+
runSyncExit: <A_4, E_4>(effect: Effect.Effect<A_4, E_4, A>) => Exit.Exit<A_4, E_4>;
|
|
17
|
+
runFork: <A_5, E_5>(self: Effect.Effect<A_5, E_5, A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
|
|
17
18
|
};
|
|
18
|
-
clean:
|
|
19
|
+
clean: Effect.Effect<void, never, never>;
|
|
19
20
|
}, E, R>;
|
|
20
21
|
export declare function initializeSync<E, A>(layer: Layer<A | ApiConfig | HttpClient.Client.Default, E, never>): {
|
|
21
|
-
runtime:
|
|
22
|
-
runPromise: <A_1, E_1>(effect:
|
|
23
|
-
runPromiseExit: <A_2, E_2>(effect:
|
|
24
|
-
runSync: <A_3, E_3>(effect:
|
|
25
|
-
runSyncExit: <A_4, E_4>(effect:
|
|
26
|
-
runFork: <A_5, E_5>(self:
|
|
22
|
+
runtime: Runtime.Runtime<ApiConfig | HttpClient.Client.Default | A> & {
|
|
23
|
+
runPromise: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, ApiConfig | HttpClient.Client.Default | A>) => Promise<A_1>;
|
|
24
|
+
runPromiseExit: <A_2, E_2>(effect: Effect.Effect<A_2, E_2, ApiConfig | HttpClient.Client.Default | A>) => Promise<Exit.Exit<A_2, E_2>>;
|
|
25
|
+
runSync: <A_3, E_3>(effect: Effect.Effect<A_3, E_3, ApiConfig | HttpClient.Client.Default | A>) => A_3;
|
|
26
|
+
runSyncExit: <A_4, E_4>(effect: Effect.Effect<A_4, E_4, ApiConfig | HttpClient.Client.Default | A>) => Exit.Exit<A_4, E_4>;
|
|
27
|
+
runFork: <A_5, E_5>(self: Effect.Effect<A_5, E_5, ApiConfig | HttpClient.Client.Default | A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
|
|
27
28
|
};
|
|
28
29
|
clean: () => void;
|
|
29
30
|
};
|
|
30
31
|
export declare function initializeAsync<E, A>(layer: Layer<A | ApiConfig | HttpClient.Client.Default, E, never>): Promise<{
|
|
31
|
-
runtime:
|
|
32
|
-
runPromise: <A_1, E_1>(effect:
|
|
33
|
-
runPromiseExit: <A_2, E_2>(effect:
|
|
34
|
-
runSync: <A_3, E_3>(effect:
|
|
35
|
-
runSyncExit: <A_4, E_4>(effect:
|
|
36
|
-
runFork: <A_5, E_5>(self:
|
|
32
|
+
runtime: Runtime.Runtime<ApiConfig | HttpClient.Client.Default | A> & {
|
|
33
|
+
runPromise: <A_1, E_1>(effect: Effect.Effect<A_1, E_1, ApiConfig | HttpClient.Client.Default | A>) => Promise<A_1>;
|
|
34
|
+
runPromiseExit: <A_2, E_2>(effect: Effect.Effect<A_2, E_2, ApiConfig | HttpClient.Client.Default | A>) => Promise<Exit.Exit<A_2, E_2>>;
|
|
35
|
+
runSync: <A_3, E_3>(effect: Effect.Effect<A_3, E_3, ApiConfig | HttpClient.Client.Default | A>) => A_3;
|
|
36
|
+
runSyncExit: <A_4, E_4>(effect: Effect.Effect<A_4, E_4, ApiConfig | HttpClient.Client.Default | A>) => Exit.Exit<A_4, E_4>;
|
|
37
|
+
runFork: <A_5, E_5>(self: Effect.Effect<A_5, E_5, ApiConfig | HttpClient.Client.Default | A>, options?: Runtime.RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
|
|
37
38
|
};
|
|
38
39
|
clean: () => Promise<void>;
|
|
39
40
|
}>;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../_src/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../_src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAI7C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,gBAAgB;;;EAQ3B,CAAA;AAEF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,oEAK9C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;SAiB5D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC;;;;;;;;;EAOrG;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC;;;;;;;;;GAUtG"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,53 +1,56 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Config";
|
|
2
|
-
import * as tsplus_module_2 from "effect/Layer";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Effect";
|
|
4
|
-
import * as tsplus_module_4 from "effect/Runtime";
|
|
5
|
-
import * as tsplus_module_5 from "effect/Exit";
|
|
6
1
|
import { ApiConfig } from "effect-app/client";
|
|
7
2
|
import * as Scope from "effect/Scope";
|
|
8
3
|
import { initRuntime } from "./internal.js";
|
|
9
4
|
import * as HttpClient from "@effect/platform/Http/Client";
|
|
5
|
+
import { Config, Exit, Runtime } from "effect";
|
|
6
|
+
import { Effect, Layer } from "effect-app";
|
|
10
7
|
export { initRuntime } from "./internal.js";
|
|
11
|
-
export const DefaultApiConfig =
|
|
12
|
-
apiUrl:
|
|
13
|
-
headers:
|
|
8
|
+
export const DefaultApiConfig = Config.all({
|
|
9
|
+
apiUrl: Config.string("apiUrl").pipe(Config.withDefault("/api")),
|
|
10
|
+
headers: Config
|
|
11
|
+
.hashMap(Config.string(), "headers")
|
|
12
|
+
.pipe(Config.option)
|
|
14
13
|
});
|
|
15
14
|
export function makeApiLayers(config) {
|
|
16
|
-
return
|
|
17
|
-
.layer
|
|
15
|
+
return HttpClient
|
|
16
|
+
.layer
|
|
17
|
+
.pipe(Layer
|
|
18
|
+
.merge(ApiConfig.layer(config)));
|
|
18
19
|
}
|
|
19
20
|
export function makeAppRuntime(layer) {
|
|
20
|
-
return
|
|
21
|
+
return Effect.gen(function* ($) {
|
|
21
22
|
const scope = yield* $(Scope.make());
|
|
22
|
-
const env = yield* $(
|
|
23
|
-
const runtime = yield* $(
|
|
23
|
+
const env = yield* $(layer.pipe(Layer.buildWithScope(scope)));
|
|
24
|
+
const runtime = yield* $(Effect.runtime().pipe(Effect.scoped, Effect.provide(env)));
|
|
24
25
|
return {
|
|
25
26
|
runtime: Object.assign(runtime, {
|
|
26
|
-
runPromise:
|
|
27
|
-
runPromiseExit:
|
|
28
|
-
runSync:
|
|
29
|
-
runSyncExit:
|
|
30
|
-
runFork:
|
|
27
|
+
runPromise: Runtime.runPromise(runtime),
|
|
28
|
+
runPromiseExit: Runtime.runPromiseExit(runtime),
|
|
29
|
+
runSync: Runtime.runSync(runtime),
|
|
30
|
+
runSyncExit: Runtime.runSyncExit(runtime),
|
|
31
|
+
runFork: Runtime.runFork(runtime)
|
|
31
32
|
}),
|
|
32
|
-
clean: Scope.close(scope,
|
|
33
|
+
clean: Scope.close(scope, Exit.unit)
|
|
33
34
|
};
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
export function initializeSync(layer) {
|
|
37
|
-
const { clean, runtime } =
|
|
38
|
+
const { clean, runtime } = Effect.runSync(makeAppRuntime(layer));
|
|
38
39
|
initRuntime(runtime);
|
|
39
40
|
return {
|
|
40
41
|
runtime,
|
|
41
|
-
clean: () =>
|
|
42
|
+
clean: () => Effect.runSync(clean)
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
export function initializeAsync(layer) {
|
|
45
|
-
return
|
|
46
|
+
return Effect
|
|
47
|
+
.runPromise(makeAppRuntime(layer))
|
|
48
|
+
.then(({ clean, runtime }) => {
|
|
46
49
|
initRuntime(runtime);
|
|
47
50
|
return {
|
|
48
51
|
runtime,
|
|
49
|
-
clean: () =>
|
|
52
|
+
clean: () => Effect.runPromise(clean)
|
|
50
53
|
};
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvcnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDN0MsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUzQyxPQUFPLEtBQUssVUFBVSxNQUFNLDhCQUE4QixDQUFBO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEUsT0FBTyxFQUFFLE1BQU07U0FDWixPQUFPLENBQ04sTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUNmLFNBQVMsQ0FDVjtTQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0NBQ3ZCLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBaUI7SUFDN0MsT0FBTyxVQUFVO1NBQ2QsS0FBSztTQUNMLElBQUksQ0FBQyxLQUFLO1NBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFVLEtBQXFCO0lBQzNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM3RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXRGLE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDdkMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztnQkFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ2xDLENBQUM7WUFDRixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNyQyxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBTyxLQUFpRTtJQUNwRyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDaEUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BCLE9BQU87UUFDTCxPQUFPO1FBQ1AsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ25DLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBTyxLQUFpRTtJQUNyRyxPQUFPLE1BQU07U0FDVixVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7UUFDM0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLE9BQU87WUFDTCxPQUFPO1lBQ1AsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ3RDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.133.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@effect/platform": "^0.
|
|
9
|
-
"@effect/platform-browser": "^0.
|
|
8
|
+
"@effect/platform": "^0.45.1",
|
|
9
|
+
"@effect/platform-browser": "^0.30.1",
|
|
10
10
|
"@effect/schema": "^0.62.6",
|
|
11
11
|
"@formatjs/intl": "^2.10.0",
|
|
12
12
|
"@tanstack/vue-query": "^5.20.5",
|
|
13
13
|
"effect": "^2.3.5",
|
|
14
14
|
"query-string": "^8.2.0",
|
|
15
|
-
"swrv": "^1.0.4",
|
|
16
15
|
"vue": "^3.4.19",
|
|
17
|
-
"@effect-app/core": "0.
|
|
18
|
-
"@effect-app/fluent-extensions": "0.
|
|
19
|
-
"@effect-app/vue": "0.
|
|
20
|
-
"@effect-app/schema": "0.189.
|
|
21
|
-
"effect-app": "0.
|
|
16
|
+
"@effect-app/core": "0.137.0",
|
|
17
|
+
"@effect-app/fluent-extensions": "0.131.0",
|
|
18
|
+
"@effect-app/vue": "0.133.0",
|
|
19
|
+
"@effect-app/schema": "0.189.1",
|
|
20
|
+
"effect-app": "0.161.0"
|
|
22
21
|
},
|
|
23
22
|
"devDependencies": {
|
|
24
23
|
"@babel/cli": "^7.23.9",
|
|
@@ -89,6 +88,16 @@
|
|
|
89
88
|
"default": "./_cjs/internal.cjs"
|
|
90
89
|
}
|
|
91
90
|
},
|
|
91
|
+
"./mutate": {
|
|
92
|
+
"import": {
|
|
93
|
+
"types": "./dist/mutate.d.ts",
|
|
94
|
+
"default": "./dist/mutate.js"
|
|
95
|
+
},
|
|
96
|
+
"require": {
|
|
97
|
+
"types": "./dist/mutate.d.ts",
|
|
98
|
+
"default": "./_cjs/mutate.cjs"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
92
101
|
"./query": {
|
|
93
102
|
"import": {
|
|
94
103
|
"types": "./dist/query.d.ts",
|