@effect-app/vue 0.129.5 → 0.130.1

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 0.130.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 4019a89: add opts
8
+ - Updated dependencies [4019a89]
9
+ - @effect-app/vue@0.130.1
10
+
11
+ ## 0.130.0
12
+
13
+ ### Minor Changes
14
+
15
+ - 3428493: add tanstack-query
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [3428493]
20
+ - @effect-app/vue@0.130.0
21
+
3
22
  ## 0.129.5
4
23
 
5
24
  ### Patch Changes
package/_cjs/query.cjs ADDED
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSafeQuery = void 0;
7
+ var tsplus_module_1 = _interopRequireWildcard(require("effect/Cause"));
8
+ var tsplus_module_2 = _interopRequireWildcard(require("effect-app/client/QueryResult"));
9
+ var tsplus_module_3 = _interopRequireWildcard(require("effect/Either"));
10
+ var tsplus_module_4 = _interopRequireWildcard(require("effect/Option"));
11
+ var _vueQuery = require("@tanstack/vue-query");
12
+ var _effectApp = require("effect-app");
13
+ var _client = require("effect-app/client");
14
+ var _vue = require("vue");
15
+ var _internal = require("./internal.cjs");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ // TODO: options
19
+ // declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
20
+ // declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
21
+ // 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>;
22
+ const useSafeQuery = (q, arg, options = {} // TODO
23
+ ) => {
24
+ const arr = arg;
25
+ const req = !arg ? undefined : typeof arr === "function" ? {
26
+ get value() {
27
+ return arr();
28
+ }
29
+ } : (0, _vue.ref)(arg);
30
+ const r = (0, _vueQuery.useQuery)(_effectApp.Effect.isEffect(q.handler) ? {
31
+ ...options,
32
+ queryKey: [(0, _vue.computed)(() => q.mapPath)],
33
+ queryFn: () => _internal.run.value(q.handler).then(_ => _.body).catch(_ => {
34
+ if (!_effectApp.Runtime.isFiberFailure(_)) throw _;
35
+ const cause = _[_effectApp.Runtime.FiberFailureCauseId];
36
+ throw tsplus_module_1.squash(cause);
37
+ })
38
+ } : {
39
+ ...options,
40
+ queryKey: [(0, _vue.computed)(() => q.mapPath(req.value))],
41
+ queryFn: () => _internal.run.value(q.handler(req.value)).then(_ => _.body).catch(_ => {
42
+ if (!_effectApp.Runtime.isFiberFailure(_)) throw _;
43
+ const cause = _[_effectApp.Runtime.FiberFailureCauseId];
44
+ throw tsplus_module_1.squash(cause);
45
+ })
46
+ });
47
+ function swrToQuery(r) {
48
+ if (r.error) {
49
+ return r.isValidating ? _client.Refreshing.fail(r.error, r.data) : _client.Done.fail(r.error, r.data);
50
+ }
51
+ if (r.data !== undefined) {
52
+ return r.isValidating ? _client.Refreshing.succeed(r.data) : _client.Done.succeed(r.data);
53
+ }
54
+ return r.isValidating ? new _client.Loading() : new _client.Initial();
55
+ }
56
+ const result = (0, _vue.computed)(() => swrToQuery({
57
+ error: r.error.value,
58
+ data: r.data.value,
59
+ isValidating: r.isFetching.value
60
+ }));
61
+ const latestSuccess = (0, _vue.computed)(() => {
62
+ const value = result.value;
63
+ return tsplus_module_2.isSuccess(value) ? tsplus_module_3.isRight(value.current) ? value.current.right : tsplus_module_4.isSome(value.previous) ? value.previous.value : undefined : undefined;
64
+ });
65
+ return [result, latestSuccess, r.refetch];
66
+ };
67
+ exports.useSafeQuery = useSafeQuery;
68
+ //# sourceMappingURL=query.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.cjs","names":["_vueQuery","require","_effectApp","_client","_vue","_internal","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useSafeQuery","q","arg","options","arr","req","undefined","value","ref","useQuery","Effect","isEffect","handler","queryKey","computed","mapPath","queryFn","run","then","_","body","catch","Runtime","isFiberFailure","cause","FiberFailureCauseId","tsplus_module_1","squash","swrToQuery","error","isValidating","Refreshing","fail","data","Done","succeed","Loading","Initial","result","isFetching","latestSuccess","tsplus_module_2","isSuccess","tsplus_module_3","isRight","current","right","tsplus_module_4","isSome","previous","refetch","exports"],"sources":["../_src/query.ts"],"sourcesContent":[null],"mappings":"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"}
package/_src/query.ts ADDED
@@ -0,0 +1,118 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
4
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
+ import type { QueryObserverOptions } from "@tanstack/vue-query"
6
+ import { useQuery } from "@tanstack/vue-query"
7
+ import { Effect, Runtime } from "effect-app"
8
+ import { Done, Initial, Loading, Refreshing } from "effect-app/client"
9
+ import type { ApiConfig, FetchResponse, QueryResult } from "effect-app/client"
10
+ import { computed, ref, type WatchSource } from "vue"
11
+ import { run } from "./internal.js"
12
+
13
+ // TODO: options
14
+ // declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
15
+ // declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
16
+ // 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>;
17
+
18
+ export const useSafeQuery = <I, A, E>(
19
+ q:
20
+ | {
21
+ handler: (
22
+ req: I
23
+ ) => Effect<
24
+ FetchResponse<A>,
25
+ E,
26
+ ApiConfig | HttpClient.Default
27
+ >
28
+ mapPath: (req: I) => string
29
+ }
30
+ | {
31
+ handler: Effect<
32
+ FetchResponse<A>,
33
+ E,
34
+ ApiConfig | HttpClient.Default
35
+ >
36
+ mapPath: string
37
+ },
38
+ arg?: I | WatchSource<I>,
39
+ options: QueryObserverOptions<any, any, any> = {} // TODO
40
+ ) => {
41
+ const arr = arg
42
+ const req: { value: I } = !arg
43
+ ? undefined
44
+ : typeof arr === "function"
45
+ ? ({
46
+ get value() {
47
+ return (arr as any)()
48
+ }
49
+ } as any)
50
+ : ref(arg)
51
+ const r = useQuery(
52
+ Effect.isEffect(q.handler)
53
+ ? {
54
+ ...options,
55
+ queryKey: [computed(() => q.mapPath)],
56
+ queryFn: () =>
57
+ run
58
+ .value(q.handler)
59
+ .then((_) => (_ as any).body)
60
+ .catch((_) => {
61
+ if (!Runtime.isFiberFailure(_)) throw _
62
+ const cause = _[Runtime.FiberFailureCauseId]
63
+ throw Cause.squash(cause)
64
+ })
65
+ }
66
+ : {
67
+ ...options,
68
+ queryKey: [computed(() => (q.mapPath as any)(req.value))],
69
+ queryFn: () =>
70
+ run
71
+ .value(q.handler(req.value))
72
+ .then((_) => (_ as any).body)
73
+ .catch((_) => {
74
+ if (!Runtime.isFiberFailure(_)) throw _
75
+ const cause = _[Runtime.FiberFailureCauseId]
76
+ throw Cause.squash(cause)
77
+ })
78
+ }
79
+ )
80
+
81
+ function swrToQuery<E, A>(r: {
82
+ error: E | undefined
83
+ data: A | undefined
84
+ isValidating: boolean
85
+ }): QueryResult<E, A> {
86
+ if (r.error) {
87
+ return r.isValidating
88
+ ? Refreshing.fail<E, A>(r.error, r.data)
89
+ : Done.fail<E, A>(r.error, r.data)
90
+ }
91
+ if (r.data !== undefined) {
92
+ return r.isValidating
93
+ ? Refreshing.succeed<A, E>(r.data)
94
+ : Done.succeed<A, E>(r.data)
95
+ }
96
+
97
+ return r.isValidating ? new Loading() : new Initial()
98
+ }
99
+
100
+ const result = computed(() =>
101
+ swrToQuery({
102
+ error: r.error.value,
103
+ data: r.data.value,
104
+ isValidating: r.isFetching.value
105
+ })
106
+ )
107
+ const latestSuccess = computed(() => {
108
+ const value = result.value
109
+ return value.isSuccess()
110
+ ? value.current.isRight()
111
+ ? value.current.right
112
+ : value.previous.isSome()
113
+ ? value.previous.value
114
+ : undefined
115
+ : undefined
116
+ })
117
+ return [result, latestSuccess, r.refetch] as const
118
+ }
@@ -0,0 +1,13 @@
1
+ import { HttpClient } from "effect-app/Request";
2
+ import type { QueryObserverOptions } from "@tanstack/vue-query";
3
+ import { Effect } from "effect-app";
4
+ 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>;
8
+ mapPath: (req: I) => string;
9
+ } | {
10
+ handler: Effect<FetchResponse<A>, E, ApiConfig | HttpClient.Default>;
11
+ 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>>];
13
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +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"}
package/dist/query.js ADDED
@@ -0,0 +1,83 @@
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
+ import { useQuery } from "@tanstack/vue-query";
6
+ import { Effect, Runtime } from "effect-app";
7
+ import { Done, Initial, Loading, Refreshing } from "effect-app/client";
8
+ import { computed, ref } from "vue";
9
+ import { run } from "./internal.js";
10
+ // TODO: options
11
+ // 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
+ // 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
+ // 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
15
+ ) => {
16
+ const arr = arg;
17
+ const req = !arg
18
+ ? undefined
19
+ : typeof arr === "function"
20
+ ? {
21
+ get value() {
22
+ return arr();
23
+ }
24
+ }
25
+ : ref(arg);
26
+ const r = useQuery(Effect.isEffect(q.handler)
27
+ ? {
28
+ ...options,
29
+ queryKey: [computed(() => q.mapPath)],
30
+ queryFn: () => run
31
+ .value(q.handler)
32
+ .then((_) => _.body)
33
+ .catch((_) => {
34
+ if (!Runtime.isFiberFailure(_))
35
+ throw _;
36
+ const cause = _[Runtime.FiberFailureCauseId];
37
+ throw tsplus_module_1.squash(cause);
38
+ })
39
+ }
40
+ : {
41
+ ...options,
42
+ queryKey: [computed(() => q.mapPath(req.value))],
43
+ queryFn: () => run
44
+ .value(q.handler(req.value))
45
+ .then((_) => _.body)
46
+ .catch((_) => {
47
+ if (!Runtime.isFiberFailure(_))
48
+ throw _;
49
+ const cause = _[Runtime.FiberFailureCauseId];
50
+ throw tsplus_module_1.squash(cause);
51
+ })
52
+ });
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
+ const result = computed(() => swrToQuery({
67
+ error: r.error.value,
68
+ data: r.data.value,
69
+ isValidating: r.isFetching.value
70
+ }));
71
+ const latestSuccess = computed(() => {
72
+ const value = result.value;
73
+ return tsplus_module_2.isSuccess(value)
74
+ ? tsplus_module_3.isRight(value.current)
75
+ ? value.current.right
76
+ : tsplus_module_4.isSome(value.previous)
77
+ ? value.previous.value
78
+ : undefined
79
+ : undefined;
80
+ });
81
+ return [result, latestSuccess, r.refetch];
82
+ };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRW5DLGdCQUFnQjtBQUNoQixzUkFBc1I7QUFDdFIsMlJBQTJSO0FBQzNSLHVSQUF1UjtBQUV2UixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsQ0FrQkcsRUFDSCxHQUF3QixFQUN4QixVQUErQyxFQUFFLENBQUMsT0FBTztFQUN6RCxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2YsTUFBTSxHQUFHLEdBQWlCLENBQUMsR0FBRztRQUM1QixDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVO1lBQzNCLENBQUMsQ0FBRTtnQkFDRCxJQUFJLEtBQUs7b0JBQ1AsT0FBUSxHQUFXLEVBQUUsQ0FBQTtnQkFDdkIsQ0FBQzthQUNNO1lBQ1QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNaLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztZQUNBLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "0.129.5",
3
+ "version": "0.130.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
@@ -9,19 +9,20 @@
9
9
  "@effect/platform-browser": "^0.29.8",
10
10
  "@effect/schema": "^0.62.6",
11
11
  "@formatjs/intl": "^2.10.0",
12
+ "@tanstack/vue-query": "^5.20.5",
12
13
  "effect": "^2.3.5",
13
14
  "query-string": "^8.2.0",
14
15
  "swrv": "^1.0.4",
15
16
  "vue": "^3.4.19",
16
- "@effect-app/fluent-extensions": "0.130.3",
17
- "effect-app": "0.158.5",
18
17
  "@effect-app/core": "0.136.0",
19
- "@effect-app/vue": "0.129.5",
20
- "@effect-app/schema": "0.189.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"
21
22
  },
22
23
  "devDependencies": {
23
- "@rollup/pluginutils": "^5.1.0",
24
24
  "@babel/cli": "^7.23.9",
25
+ "@rollup/pluginutils": "^5.1.0",
25
26
  "@types/node": "~20.11.17",
26
27
  "json5": "^2.2.3",
27
28
  "ts-node": "^10.9.2",
@@ -88,6 +89,16 @@
88
89
  "default": "./_cjs/internal.cjs"
89
90
  }
90
91
  },
92
+ "./query": {
93
+ "import": {
94
+ "types": "./dist/query.d.ts",
95
+ "default": "./dist/query.js"
96
+ },
97
+ "require": {
98
+ "types": "./dist/query.d.ts",
99
+ "default": "./_cjs/query.cjs"
100
+ }
101
+ },
91
102
  "./routeParams": {
92
103
  "import": {
93
104
  "types": "./dist/routeParams.d.ts",