@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.
Files changed (53) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/_cjs/_global.cjs +1 -2
  3. package/_cjs/_global.cjs.map +1 -1
  4. package/_cjs/form.cjs +12 -14
  5. package/_cjs/form.cjs.map +1 -1
  6. package/_cjs/hooks.cjs +27 -190
  7. package/_cjs/hooks.cjs.map +1 -1
  8. package/_cjs/internal.cjs +6 -5
  9. package/_cjs/internal.cjs.map +1 -1
  10. package/_cjs/mutate.cjs +105 -0
  11. package/_cjs/mutate.cjs.map +1 -0
  12. package/_cjs/query.cjs +46 -23
  13. package/_cjs/query.cjs.map +1 -1
  14. package/_cjs/routeParams.cjs +9 -12
  15. package/_cjs/routeParams.cjs.map +1 -1
  16. package/_cjs/runtime.cjs +19 -22
  17. package/_cjs/runtime.cjs.map +1 -1
  18. package/_src/_global.ts +1 -10
  19. package/_src/form.ts +9 -12
  20. package/_src/hooks.ts +2 -323
  21. package/_src/internal.ts +9 -4
  22. package/_src/mutate.ts +163 -0
  23. package/_src/query.ts +97 -35
  24. package/_src/routeParams.ts +6 -3
  25. package/_src/runtime.ts +18 -13
  26. package/_src/swrv.bak +196 -0
  27. package/dist/_global.d.ts +1 -8
  28. package/dist/_global.d.ts.map +1 -1
  29. package/dist/_global.js +2 -10
  30. package/dist/form.d.ts +3 -4
  31. package/dist/form.d.ts.map +1 -1
  32. package/dist/form.js +15 -17
  33. package/dist/hooks.d.ts +2 -78
  34. package/dist/hooks.d.ts.map +1 -1
  35. package/dist/hooks.js +3 -195
  36. package/dist/internal.d.ts +5 -4
  37. package/dist/internal.d.ts.map +1 -1
  38. package/dist/internal.js +5 -3
  39. package/dist/mutate.d.ts +43 -0
  40. package/dist/mutate.d.ts.map +1 -0
  41. package/dist/mutate.js +101 -0
  42. package/dist/query.d.ts +27 -7
  43. package/dist/query.d.ts.map +1 -1
  44. package/dist/query.js +55 -29
  45. package/dist/routeParams.d.ts +4 -4
  46. package/dist/routeParams.d.ts.map +1 -1
  47. package/dist/routeParams.js +14 -15
  48. package/dist/runtime.d.ts +24 -23
  49. package/dist/runtime.d.ts.map +1 -1
  50. package/dist/runtime.js +27 -24
  51. package/package.json +18 -9
  52. package/tsconfig.json +1 -0
  53. 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 { HttpClient } from "effect-app/Request";
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 { type WatchSource } from "vue";
6
- export declare const useSafeQuery: <I, A, E>(q: {
7
- handler: (req: I) => Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Default>;
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
- }, arg?: I | WatchSource<I>, options?: QueryObserverOptions<any, any, any>) => readonly [import("vue").ComputedRef<QueryResult<any, any>>, import("vue").ComputedRef<any>, (options?: import("@tanstack/vue-query").RefetchOptions | undefined) => Promise<import("@tanstack/vue-query").QueryObserverResult<any, any>>];
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
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../_src/query.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAQrD,eAAO,MAAM,YAAY;mBAIZ,CAAC,KACH,OACH,cAAc,CAAC,CAAC,EAChB,CAAC,EACD,SAAS,GAAG,WAAW,OAAO,CAC/B;mBACc,CAAC,KAAK,MAAM;;aAGlB,OACP,cAAc,CAAC,CAAC,EAChB,CAAC,EACD,SAAS,GAAG,WAAW,OAAO,CAC/B;aACQ,MAAM;SAEb,CAAC,GAAG,YAAY,CAAC,CAAC,YACf,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,8OA+E7C,CAAA"}
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 useSafeQuery = (q, arg, options = {} // TODO
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: [computed(() => q.mapPath)],
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 tsplus_module_1.squash(cause);
63
+ throw Cause.squash(cause);
38
64
  })
39
65
  }
40
66
  : {
41
67
  ...options,
42
- queryKey: [computed(() => q.mapPath(req.value))],
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 tsplus_module_1.squash(cause);
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 tsplus_module_2.isSuccess(value)
74
- ? tsplus_module_3.isRight(value.current)
86
+ return isSuccess(value)
87
+ ? Either.isRight(value.current)
75
88
  ? value.current.right
76
- : tsplus_module_4.isSome(value.previous)
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRW5DLGdCQUFnQjtBQUNoQixzUkFBc1I7QUFDdFIsMlJBQTJSO0FBQzNSLHVSQUF1UjtBQUV2UixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsQ0FrQkcsRUFDSCxHQUF3QixFQUN4QixVQUErQyxFQUFFLENBQUMsT0FBTztFQUN6RCxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2YsTUFBTSxHQUFHLEdBQWlCLENBQUMsR0FBRztRQUM1QixDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVO1lBQzNCLENBQUMsQ0FBRTtnQkFDRCxJQUFJLEtBQUs7b0JBQ1AsT0FBUSxHQUFXLEVBQUUsQ0FBQTtnQkFDdkIsQ0FBQzthQUNNO1lBQ1QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNaLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztZQUNBLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNaLEdBQUc7aUJBQ0EsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7aUJBQ2hCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxDQUFDLElBQUksQ0FBQztpQkFDNUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO29CQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUE7Z0JBQzVDLE1BQU0sdUJBQWEsS0FBSyxDQUFDLENBQUE7WUFDM0IsQ0FBQyxDQUFDO1NBQ1A7UUFDRCxDQUFDLENBQUM7WUFDQSxHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsQ0FBQyxDQUFDLE9BQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQ1osR0FBRztpQkFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzNCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxDQUFDLElBQUksQ0FBQztpQkFDNUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO29CQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUE7Z0JBQzVDLE1BQU0sdUJBQWEsS0FBSyxDQUFDLENBQUE7WUFDM0IsQ0FBQyxDQUFDO1NBQ1AsQ0FDSixDQUFBO0lBRUQsU0FBUyxVQUFVLENBQU8sQ0FJekI7UUFDQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxDQUFDLFlBQVk7Z0JBQ25CLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixPQUFPLENBQUMsQ0FBQyxZQUFZO2dCQUNuQixDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDaEMsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMzQixVQUFVLENBQUM7UUFDVCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO1FBQ3BCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDbEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSztLQUNqQyxDQUFDLENBQ0gsQ0FBQTtJQUNELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUMxQixPQUFPLDBCQUFBLEtBQUssQ0FBWTtZQUN0QixDQUFDLENBQUMsd0JBQUEsS0FBSyxDQUFDLE9BQU8sQ0FBVTtnQkFDdkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSztnQkFDckIsQ0FBQyxDQUFDLHVCQUFBLEtBQUssQ0FBQyxRQUFRLENBQVM7b0JBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUs7b0JBQ3RCLENBQUMsQ0FBQyxTQUFTO1lBQ2IsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBVSxDQUFBO0FBQ3BELENBQUMsQ0FBQSJ9
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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
@@ -1,10 +1,10 @@
1
- import { Option } from "@effect-app/core/Option";
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) => import("effect/Option").Option<string>;
6
- export declare const parseOpt: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?: import("@effect/schema/AST").ParseOptions | undefined) => import("effect/Option").None<A> | import("effect/Option").Some<A>;
7
- export declare const parseOptUnknown: <E, A>(t: REST.ReqRes<A, E, never>) => (u: unknown, overrideOptions?: import("@effect/schema/AST").ParseOptions | undefined) => import("effect/Option").None<A> | import("effect/Option").Some<A>;
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":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACrD,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,gFAA2C,CAAA;AAEtE,eAAO,MAAM,QAAQ,YAAa,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,+JAMzD,CAAA;AAED,eAAO,MAAM,eAAe,YAAa,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,+JAMhE,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"}
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"}
@@ -1,7 +1,6 @@
1
- import * as tsplus_module_1 from "effect/Option";
2
- import * as tsplus_module_2 from "@effect-app/core/Function";
3
- import * as tsplus_module_3 from "effect-app";
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 = tsplus_module_2.flow(getQueryParam, tsplus_module_1.fromNullable);
11
+ export const getQueryParamO = flow(getQueryParam, Option.fromNullable);
13
12
  export const parseOpt = (t) => {
14
- const dec = tsplus_module_2.flow(tsplus_module_3.S.decodeUnknownEither(t), (x) => x._tag === "Right"
15
- ? tsplus_module_1.some(x.right)
16
- : tsplus_module_1.none());
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 = tsplus_module_2.flow(tsplus_module_3.S.decodeUnknownEither(t), (x) => x._tag === "Right"
21
- ? tsplus_module_1.some(x.right)
22
- : tsplus_module_1.none());
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 tsplus_module_4.RecordKeys(tsplus_module_4.object$(t)).reduce((prev, cur) => {
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 tsplus_module_4.RecordKeys(tsplus_module_4.object$(t)).reduce((prev, cur) => {
34
+ return typedKeysOf(t).reduce((prev, cur) => {
36
35
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
37
- prev[cur] = tsplus_module_3.S.decodeUnknownSync(t[cur])(query[cur]);
36
+ prev[cur] = S.decodeUnknownSync(t[cur])(query[cur]);
38
37
  return prev;
39
38
  }, {});
40
39
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVQYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3JvdXRlUGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQW1CLEVBQUUsS0FBYTtJQUM5RCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFBO0FBQ2xCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZ0JBQUEsSUFBSSxDQUFDLGFBQWEsK0JBQXNCLENBQUE7QUFFdEUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQU8sQ0FBMkIsRUFBRSxFQUFFO0lBQzVELE1BQU0sR0FBRyxHQUFHLGdCQUFBLElBQUksQ0FBQyxnQkFBQSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMvQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU87UUFDaEIsQ0FBQyxDQUFDLHFCQUFZLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLHNCQUFhLENBQUMsQ0FBQTtJQUNwQixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFPLENBQTJCLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxnQkFBQSxJQUFJLENBQUMsZ0JBQUEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDL0MsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQ2hCLENBQUMsQ0FBQyxxQkFBWSxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxzQkFBYSxDQUFDLENBQUE7SUFDcEIsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQTBCLEVBQzFCLENBQU0sQ0FBQyxvQkFBb0I7O0lBSTNCLE9BQU8sbURBQUEsQ0FBQyxHQUFTLE1BQU0sQ0FDckIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWixvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsR0FBYSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBQyxDQUFBO1FBRTNFLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUNELEVBRUMsQ0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsS0FBMEIsRUFDMUIsQ0FBTSxDQUFDLG9CQUFvQjs7SUFJM0IsT0FBTyxtREFBQSxDQUFDLEdBQVMsTUFBTSxDQUNyQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNaLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsZ0JBQUEsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFVLENBQUMsQ0FBQyxDQUFBO1FBRTNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUNELEVBRUMsQ0FDRixDQUFBO0FBQ0gsQ0FBQyJ9
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: import("effect/Config").Config<{
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): import("effect/Layer").Layer<HttpClient.Client.Default | ApiConfig, never, never>;
10
- export declare function makeAppRuntime<R, E, A>(layer: Layer<A, E, R>): import("effect/Effect").Effect<{
11
- runtime: import("effect/Runtime").Runtime<A> & {
12
- runPromise: <A_1, E_1>(effect: import("effect/Effect").Effect<A_1, E_1, A>) => Promise<A_1>;
13
- runPromiseExit: <A_2, E_2>(effect: import("effect/Effect").Effect<A_2, E_2, A>) => Promise<import("effect/Exit").Exit<A_2, E_2>>;
14
- runSync: <A_3, E_3>(effect: import("effect/Effect").Effect<A_3, E_3, A>) => A_3;
15
- runSyncExit: <A_4, E_4>(effect: import("effect/Effect").Effect<A_4, E_4, A>) => import("effect/Exit").Exit<A_4, E_4>;
16
- runFork: <A_5, E_5>(self: import("effect/Effect").Effect<A_5, E_5, A>, options?: import("effect/Runtime").RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
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: import("effect/Effect").Effect<void, never, never>;
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: import("effect/Runtime").Runtime<HttpClient.Client.Default | ApiConfig | A> & {
22
- runPromise: <A_1, E_1>(effect: import("effect/Effect").Effect<A_1, E_1, HttpClient.Client.Default | ApiConfig | A>) => Promise<A_1>;
23
- runPromiseExit: <A_2, E_2>(effect: import("effect/Effect").Effect<A_2, E_2, HttpClient.Client.Default | ApiConfig | A>) => Promise<import("effect/Exit").Exit<A_2, E_2>>;
24
- runSync: <A_3, E_3>(effect: import("effect/Effect").Effect<A_3, E_3, HttpClient.Client.Default | ApiConfig | A>) => A_3;
25
- runSyncExit: <A_4, E_4>(effect: import("effect/Effect").Effect<A_4, E_4, HttpClient.Client.Default | ApiConfig | A>) => import("effect/Exit").Exit<A_4, E_4>;
26
- runFork: <A_5, E_5>(self: import("effect/Effect").Effect<A_5, E_5, HttpClient.Client.Default | ApiConfig | A>, options?: import("effect/Runtime").RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
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: import("effect/Runtime").Runtime<HttpClient.Client.Default | ApiConfig | A> & {
32
- runPromise: <A_1, E_1>(effect: import("effect/Effect").Effect<A_1, E_1, HttpClient.Client.Default | ApiConfig | A>) => Promise<A_1>;
33
- runPromiseExit: <A_2, E_2>(effect: import("effect/Effect").Effect<A_2, E_2, HttpClient.Client.Default | ApiConfig | A>) => Promise<import("effect/Exit").Exit<A_2, E_2>>;
34
- runSync: <A_3, E_3>(effect: import("effect/Effect").Effect<A_3, E_3, HttpClient.Client.Default | ApiConfig | A>) => A_3;
35
- runSyncExit: <A_4, E_4>(effect: import("effect/Effect").Effect<A_4, E_4, HttpClient.Client.Default | ApiConfig | A>) => import("effect/Exit").Exit<A_4, E_4>;
36
- runFork: <A_5, E_5>(self: import("effect/Effect").Effect<A_5, E_5, HttpClient.Client.Default | ApiConfig | A>, options?: import("effect/Runtime").RunForkOptions | undefined) => import("effect/Fiber").RuntimeFiber<A_5, E_5>;
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
  }>;
@@ -1 +1 @@
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;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,gBAAgB;;;EAM3B,CAAA;AAEF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,qFAI9C;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"}
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 = tsplus_module_1.all({
12
- apiUrl: tsplus_module_1.withDefault(tsplus_module_1.string("apiUrl"), "/api"),
13
- headers: tsplus_module_1.option(tsplus_module_1.hashMap(tsplus_module_1.string(), "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 tsplus_module_2.merge(HttpClient
17
- .layer, ApiConfig.layer(config));
15
+ return HttpClient
16
+ .layer
17
+ .pipe(Layer
18
+ .merge(ApiConfig.layer(config)));
18
19
  }
19
20
  export function makeAppRuntime(layer) {
20
- return tsplus_module_3.gen(function* ($) {
21
+ return Effect.gen(function* ($) {
21
22
  const scope = yield* $(Scope.make());
22
- const env = yield* $(tsplus_module_2.buildWithScope(layer, scope));
23
- const runtime = yield* $(tsplus_module_3.provide(tsplus_module_3.scoped(tsplus_module_3.runtime()), env));
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: tsplus_module_4.runPromise(runtime),
27
- runPromiseExit: tsplus_module_4.runPromiseExit(runtime),
28
- runSync: tsplus_module_4.runSync(runtime),
29
- runSyncExit: tsplus_module_4.runSyncExit(runtime),
30
- runFork: tsplus_module_4.runFork(runtime)
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, tsplus_module_5.unit)
33
+ clean: Scope.close(scope, Exit.unit)
33
34
  };
34
35
  });
35
36
  }
36
37
  export function initializeSync(layer) {
37
- const { clean, runtime } = tsplus_module_3.runSync(makeAppRuntime(layer));
38
+ const { clean, runtime } = Effect.runSync(makeAppRuntime(layer));
38
39
  initRuntime(runtime);
39
40
  return {
40
41
  runtime,
41
- clean: () => tsplus_module_3.runSync(clean)
42
+ clean: () => Effect.runSync(clean)
42
43
  };
43
44
  }
44
45
  export function initializeAsync(layer) {
45
- return tsplus_module_3.runPromise(makeAppRuntime(layer)).then(({ clean, runtime }) => {
46
+ return Effect
47
+ .runPromise(makeAppRuntime(layer))
48
+ .then(({ clean, runtime }) => {
46
49
  initRuntime(runtime);
47
50
  return {
48
51
  runtime,
49
- clean: () => tsplus_module_3.runPromise(clean)
52
+ clean: () => Effect.runPromise(clean)
50
53
  };
51
54
  });
52
55
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvcnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUE7QUFFMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUzQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBVztJQUN6QyxNQUFNLEVBQUUsNEJBQUEsdUJBQWMsUUFBUSxDQUFDLEVBQWEsTUFBTSxDQUFDO0lBQ25ELE9BQU8seUJBQUUsd0JBQUEsd0JBQ0UsRUFDQSxTQUFTLENBQUMsQ0FDWjtDQUNWLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBaUI7SUFDN0MsT0FBTyxzQkFBQSxVQUFVO1NBQ2QsS0FBSyxFQUNDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBVSxLQUFxQjtJQUMzRCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBQSxLQUFLLEVBQWdCLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDakQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtDQUFBLHlCQUFtQixHQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRWpFLE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLFVBQVUsRUFBRSwyQkFBbUIsT0FBTyxDQUFDO2dCQUN2QyxjQUFjLEVBQUUsK0JBQXVCLE9BQU8sQ0FBQztnQkFDL0MsT0FBTyxFQUFFLHdCQUFnQixPQUFPLENBQUM7Z0JBQ2pDLFdBQVcsRUFBRSw0QkFBb0IsT0FBTyxDQUFDO2dCQUN6QyxPQUFPLEVBQUUsd0JBQWdCLE9BQU8sQ0FBQzthQUNsQyxDQUFDO1lBQ0YsS0FBSyxFQUFFLEFBbkNELEtBQUssT0FtQ0osS0FBSyx1QkFBaUI7U0FDOUIsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQU8sS0FBaUU7SUFDcEcsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsMkJBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFRLENBQUE7SUFDeEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BCLE9BQU87UUFDTCxPQUFPO1FBQ1AsS0FBSyxFQUFFLEdBQUcsRUFBRSx5QkFBQyxLQUFLLENBQVE7S0FDM0IsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFPLEtBQWlFO0lBQ3JHLE9BQU8sMkJBQUEsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUV6QixJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQzNCLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwQixPQUFPO1lBQ0wsT0FBTztZQUNQLEtBQUssRUFBRSxHQUFHLEVBQUUsNEJBQUMsS0FBSyxDQUFXO1NBQzlCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMifQ==
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.130.1",
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.44.7",
9
- "@effect/platform-browser": "^0.29.8",
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.136.0",
18
- "@effect-app/fluent-extensions": "0.130.3",
19
- "@effect-app/vue": "0.130.1",
20
- "@effect-app/schema": "0.189.0",
21
- "effect-app": "0.158.5"
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",