@effect-app/vue 4.0.0-beta.28 → 4.0.0-beta.280

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 (125) hide show
  1. package/CHANGELOG.md +2065 -0
  2. package/dist/atomQuery.d.ts +105 -0
  3. package/dist/atomQuery.d.ts.map +1 -0
  4. package/dist/atomQuery.js +283 -0
  5. package/dist/commander.d.ts +634 -0
  6. package/dist/commander.d.ts.map +1 -0
  7. package/dist/commander.js +1070 -0
  8. package/dist/{experimental/confirm.d.ts → confirm.d.ts} +6 -4
  9. package/dist/confirm.d.ts.map +1 -0
  10. package/dist/confirm.js +26 -0
  11. package/dist/errorReporter.d.ts +6 -4
  12. package/dist/errorReporter.d.ts.map +1 -1
  13. package/dist/errorReporter.js +14 -19
  14. package/dist/form.d.ts +14 -5
  15. package/dist/form.d.ts.map +1 -1
  16. package/dist/form.js +46 -13
  17. package/dist/internal/tanstackQuery.d.ts +9 -0
  18. package/dist/internal/tanstackQuery.d.ts.map +1 -0
  19. package/dist/internal/tanstackQuery.js +163 -0
  20. package/dist/intl.d.ts +15 -0
  21. package/dist/intl.d.ts.map +1 -0
  22. package/dist/intl.js +9 -0
  23. package/dist/lib.d.ts +7 -9
  24. package/dist/lib.d.ts.map +1 -1
  25. package/dist/lib.js +35 -10
  26. package/dist/makeClient.d.ts +212 -336
  27. package/dist/makeClient.d.ts.map +1 -1
  28. package/dist/makeClient.js +399 -411
  29. package/dist/makeContext.d.ts.map +1 -1
  30. package/dist/makeIntl.d.ts.map +1 -1
  31. package/dist/{experimental/makeUseCommand.d.ts → makeUseCommand.d.ts} +4 -3
  32. package/dist/makeUseCommand.d.ts.map +1 -0
  33. package/dist/makeUseCommand.js +13 -0
  34. package/dist/mutate.d.ts +106 -40
  35. package/dist/mutate.d.ts.map +1 -1
  36. package/dist/mutate.js +187 -58
  37. package/dist/query.d.ts +139 -45
  38. package/dist/query.d.ts.map +1 -1
  39. package/dist/query.js +330 -122
  40. package/dist/routeParams.d.ts +4 -4
  41. package/dist/routeParams.d.ts.map +1 -1
  42. package/dist/routeParams.js +4 -3
  43. package/dist/runtime.d.ts +1 -14
  44. package/dist/runtime.d.ts.map +1 -1
  45. package/dist/runtime.js +2 -26
  46. package/dist/suspense.d.ts +5 -0
  47. package/dist/suspense.d.ts.map +1 -0
  48. package/dist/suspense.js +12 -0
  49. package/dist/toast.d.ts +2 -0
  50. package/dist/toast.d.ts.map +1 -0
  51. package/dist/toast.js +2 -0
  52. package/dist/withToast.d.ts +2 -0
  53. package/dist/withToast.d.ts.map +1 -0
  54. package/dist/withToast.js +2 -0
  55. package/docs/atom-query-api-redesign.md +207 -0
  56. package/examples/streamMutation.ts +72 -0
  57. package/package.json +30 -94
  58. package/src/atomQuery.ts +381 -0
  59. package/src/commander.ts +3413 -0
  60. package/src/{experimental/confirm.ts → confirm.ts} +13 -15
  61. package/src/errorReporter.ts +65 -75
  62. package/src/form.ts +61 -18
  63. package/src/index.ts +7 -7
  64. package/src/internal/tanstackQuery.ts +250 -0
  65. package/src/intl.ts +12 -0
  66. package/src/lib.ts +49 -21
  67. package/src/makeClient.ts +941 -1159
  68. package/src/makeIntl.ts +2 -2
  69. package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +9 -6
  70. package/src/mutate.ts +343 -151
  71. package/src/query.ts +688 -260
  72. package/src/routeParams.ts +7 -7
  73. package/src/runtime.ts +1 -31
  74. package/src/suspense.ts +17 -0
  75. package/src/toast.ts +1 -0
  76. package/src/withToast.ts +1 -0
  77. package/test/Mutation.test.ts +181 -24
  78. package/test/dist/form.test.d.ts.map +1 -1
  79. package/test/dist/lib.test.d.ts.map +1 -0
  80. package/test/dist/patchableQueryAtom.test.d.ts.map +1 -0
  81. package/test/dist/queryOptions.test.d.ts.map +1 -0
  82. package/test/dist/retrySchedule.test.d.ts.map +1 -0
  83. package/test/dist/streamFinal.test.d.ts.map +1 -0
  84. package/test/dist/streamFn.test.d.ts.map +1 -0
  85. package/test/dist/stubs.d.ts +3694 -122
  86. package/test/dist/stubs.d.ts.map +1 -1
  87. package/test/dist/stubs.js +192 -32
  88. package/test/dist/suspense-regression.test.d.ts.map +1 -0
  89. package/test/dist/suspense.test.d.ts.map +1 -0
  90. package/test/form-validation-errors.test.ts +25 -20
  91. package/test/form.test.ts +22 -3
  92. package/test/lib.test.ts +240 -0
  93. package/test/makeClient.test.ts +437 -38
  94. package/test/streamFinal.test.ts +64 -0
  95. package/test/streamFn.test.ts +457 -0
  96. package/test/stubs.ts +228 -43
  97. package/test/suspense-regression.test.ts +115 -0
  98. package/test/suspense.test.ts +160 -0
  99. package/tsconfig.examples.json +20 -0
  100. package/tsconfig.json +3 -1
  101. package/tsconfig.src.json +34 -34
  102. package/tsconfig.test.json +2 -2
  103. package/vitest.config.ts +5 -5
  104. package/dist/experimental/commander.d.ts +0 -359
  105. package/dist/experimental/commander.d.ts.map +0 -1
  106. package/dist/experimental/commander.js +0 -557
  107. package/dist/experimental/confirm.d.ts.map +0 -1
  108. package/dist/experimental/confirm.js +0 -28
  109. package/dist/experimental/intl.d.ts +0 -16
  110. package/dist/experimental/intl.d.ts.map +0 -1
  111. package/dist/experimental/intl.js +0 -5
  112. package/dist/experimental/makeUseCommand.d.ts.map +0 -1
  113. package/dist/experimental/makeUseCommand.js +0 -13
  114. package/dist/experimental/toast.d.ts +0 -47
  115. package/dist/experimental/toast.d.ts.map +0 -1
  116. package/dist/experimental/toast.js +0 -41
  117. package/dist/experimental/withToast.d.ts +0 -25
  118. package/dist/experimental/withToast.d.ts.map +0 -1
  119. package/dist/experimental/withToast.js +0 -45
  120. package/eslint.config.mjs +0 -24
  121. package/src/experimental/commander.ts +0 -1835
  122. package/src/experimental/intl.ts +0 -9
  123. package/src/experimental/toast.ts +0 -66
  124. package/src/experimental/withToast.ts +0 -99
  125. package/tsconfig.json.bak +0 -12
@@ -0,0 +1,163 @@
1
+ import { injectRegistry } from "@effect/atom-vue";
2
+ import { QueryClient, useQuery as useTanstackQuery } from "@tanstack/vue-query";
3
+ import { makeQueryKey } from "effect-app/client";
4
+ import { CauseException, ServiceUnavailableError } from "effect-app/client/errors";
5
+ import * as Effect from "effect-app/Effect";
6
+ import * as Option from "effect-app/Option";
7
+ import * as S from "effect-app/Schema";
8
+ import * as Cause from "effect/Cause";
9
+ import { isHttpClientError } from "effect/unstable/http/HttpClientError";
10
+ import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
11
+ import * as Atom from "effect/unstable/reactivity/Atom";
12
+ import { computed, shallowRef, toValue, watch } from "vue";
13
+ import { replaceEqualDeep } from "../atomQuery.js";
14
+ import { reportRuntimeError } from "../lib.js";
15
+ import { makeRunPromise } from "../runtime.js";
16
+ const swrToQuery = (r) => {
17
+ if (r.error !== undefined && r.error !== null) {
18
+ return AsyncResult.failureWithPrevious(r.error.originalCause, {
19
+ previous: r.data === undefined ? Option.none() : Option.some(AsyncResult.success(r.data)),
20
+ waiting: r.isValidating
21
+ });
22
+ }
23
+ if (r.data !== undefined) {
24
+ return AsyncResult.success(r.data, { waiting: r.isValidating });
25
+ }
26
+ return AsyncResult.initial(r.isValidating);
27
+ };
28
+ const recoverCauseException = (error) => error instanceof CauseException
29
+ ? Effect.failCause(error.originalCause)
30
+ : Effect.die(error);
31
+ const isRetryable = (error) => {
32
+ if (error instanceof CauseException) {
33
+ return isHttpClientError(error.cause) || S.is(ServiceUnavailableError)(error.cause);
34
+ }
35
+ return false;
36
+ };
37
+ const isInputOption = (value) => Option.isOption(value);
38
+ const resolveInput = (arg, mode) => {
39
+ if (mode === "optional") {
40
+ const option = toValue(arg);
41
+ return isInputOption(option) && Option.isSome(option) ? option.value : undefined;
42
+ }
43
+ const value = toValue(arg);
44
+ return isInputOption(value) ? undefined : value;
45
+ };
46
+ const resolveEnabled = (arg, options) => {
47
+ if (options?.mode === "optional") {
48
+ return computed(() => {
49
+ const option = toValue(arg);
50
+ return Option.isSome(option);
51
+ });
52
+ }
53
+ return computed(() => {
54
+ const enabled = options?.enabled;
55
+ if (enabled === undefined)
56
+ return true;
57
+ return !!toValue(enabled);
58
+ });
59
+ };
60
+ export const makeTanstackQueryClient = () => new QueryClient();
61
+ export const makeTanstackQueryInvalidator = (queryClient) => ({
62
+ invalidateAndAwait: (keys) => Effect.forEach(keys, (queryKey) => Effect.promise(() => queryClient.invalidateQueries({ queryKey })), { discard: true, concurrency: "inherit" })
63
+ });
64
+ const fullQueryKey = (q, queryKey, input) => q.queryKeyProjectionHash === undefined ? [...queryKey, input] : [...queryKey, q.queryKeyProjectionHash, input];
65
+ export const makeTanstackQueryCacheUpdater = (queryClient) => ({
66
+ update: (_registry, query, input, updater) => {
67
+ const queryKey = fullQueryKey(query, makeQueryKey(query), input);
68
+ if (queryClient.getQueryData(queryKey) === undefined) {
69
+ console.warn(`Query ${query.id} has not been used yet; nothing to update`);
70
+ return;
71
+ }
72
+ queryClient.setQueryData(queryKey, (data) => data === undefined ? data : updater(data));
73
+ }
74
+ });
75
+ export const makeTanstackQuery = (getRuntime, queryClient) => {
76
+ const useQuery = (q) => (arg, options) => {
77
+ const runPromise = makeRunPromise(getRuntime());
78
+ const queryKey = makeQueryKey(q);
79
+ const enabled = resolveEnabled(arg, options);
80
+ const structuralSharing = options?.structuralSharing === false ? false : replaceEqualDeep;
81
+ const tanstackOptions = {
82
+ ...(options?.staleTime !== undefined ? { staleTime: options.staleTime } : {}),
83
+ ...(typeof options?.gcTime === "number" ? { gcTime: options.gcTime } : {}),
84
+ ...(options?.refetchOnWindowFocus !== undefined ? { refetchOnWindowFocus: options.refetchOnWindowFocus } : {}),
85
+ structuralSharing,
86
+ ...(options?.refetchInterval !== undefined ? { refetchInterval: options.refetchInterval } : {}),
87
+ ...(options?.select !== undefined ? { select: options.select } : {})
88
+ };
89
+ const tanstack = useTanstackQuery({
90
+ ...tanstackOptions,
91
+ enabled,
92
+ throwOnError: false,
93
+ retry: (retryCount, error) => isRetryable(error) && retryCount < 5,
94
+ queryKey: computed(() => {
95
+ const input = resolveInput(arg, options?.mode);
96
+ return fullQueryKey(q, queryKey, input);
97
+ }),
98
+ queryFn: ({ signal }) => runPromise(q
99
+ .handler(resolveInput(arg, options?.mode))
100
+ .pipe(Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)), Effect.withSpan(`query ${q.id}`, {}, { captureStackTrace: false })), { signal })
101
+ }, queryClient);
102
+ const latestSuccess = shallowRef();
103
+ const result = computed(() => swrToQuery({
104
+ error: tanstack.error.value,
105
+ data: tanstack.data.value === undefined ? latestSuccess.value : tanstack.data.value,
106
+ isValidating: tanstack.isFetching.value
107
+ }));
108
+ watch(result, (value) => latestSuccess.value = Option.getOrUndefined(AsyncResult.value(value)), { immediate: true });
109
+ const seedLatestSuccess = (data) => {
110
+ if (latestSuccess.value === undefined) {
111
+ latestSuccess.value = data;
112
+ }
113
+ };
114
+ const registry = injectRegistry();
115
+ const latestSuccessRef = computed(() => latestSuccess.value);
116
+ const atom = computed(() => Atom.readable(() => result.value));
117
+ const awaitResult = () => Effect
118
+ .tryPromise({
119
+ try: async () => {
120
+ const queryResult = await tanstack.suspense();
121
+ const data = queryResult.data;
122
+ if (data === undefined) {
123
+ throw new Error("TanStack query resolved without data");
124
+ }
125
+ seedLatestSuccess(data);
126
+ return data;
127
+ },
128
+ catch: (error) => error
129
+ })
130
+ .pipe(Effect.catch((error) => recoverCauseException(error)));
131
+ const refetch = () => Effect
132
+ .tryPromise({
133
+ try: async () => {
134
+ const queryResult = await tanstack.refetch({ throwOnError: true });
135
+ const data = queryResult.data;
136
+ if (data === undefined) {
137
+ throw new Error("TanStack query refetched without data");
138
+ }
139
+ return data;
140
+ },
141
+ catch: (error) => error
142
+ })
143
+ .pipe(Effect.catch((error) => recoverCauseException(error)));
144
+ const handle = {
145
+ awaitResult,
146
+ refetch,
147
+ refresh: () => {
148
+ void tanstack.refetch();
149
+ },
150
+ registry,
151
+ atom
152
+ };
153
+ const fetch = (_options) => refetch().pipe(Effect.exit, Effect.map(AsyncResult.fromExit));
154
+ return [
155
+ result,
156
+ latestSuccessRef,
157
+ fetch,
158
+ handle
159
+ ];
160
+ };
161
+ return useQuery;
162
+ };
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuc3RhY2tRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC90YW5zdGFja1F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSxtQkFBbUIsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFbEYsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDeEUsT0FBTyxLQUFLLFdBQVcsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNyRSxPQUFPLEtBQUssSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQXlCLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFHOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLFVBQVUsR0FBRyxDQUFPLENBSXpCLEVBQWlDLEVBQUU7SUFDbEMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMs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
package/dist/intl.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import * as Context from "effect-app/Context";
2
+ declare const I18n_base: Context.OpaqueClass<I18n, "I18n", {
3
+ locale: import("vue").Ref<string, string>;
4
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
5
+ readonly formatMessage: (descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>, opts?: import("intl-messageformat").Options) => string;
6
+ readonly intl: import("./makeIntl.js").IntlShape<string>;
7
+ }>;
8
+ export declare class I18n extends I18n_base {
9
+ static readonly locale: import("effect/Effect").Effect<import("vue").Ref<string, string>, never, I18n>;
10
+ static readonly trans: (id: string, values?: Record<string, import("intl-messageformat").FormatXMLElementFn<string, string> | import("intl-messageformat").PrimitiveType> | undefined) => import("effect/Effect").Effect<string, never, I18n>;
11
+ static readonly formatMessage: (descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").FormatXMLElementFn<string, string> | import("intl-messageformat").PrimitiveType> | undefined, opts?: import("intl-messageformat").Options | undefined) => import("effect/Effect").Effect<string, never, I18n>;
12
+ static readonly intl: import("effect/Effect").Effect<import("./makeIntl.js").IntlShape<string>, never, I18n>;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=intl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intl.d.ts","sourceRoot":"","sources":["../src/intl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;;;;;;;AAM7C,qBAAa,IAAK,SAAQ,SAAyC;IACjE,MAAM,CAAC,QAAQ,CAAC,MAAM,iFAA2B;IACjD,MAAM,CAAC,QAAQ,CAAC,KAAK,yNAA0B;IAC/C,MAAM,CAAC,QAAQ,CAAC,aAAa,8TAAkC;IAC/D,MAAM,CAAC,QAAQ,CAAC,IAAI,yFAAyB;CAC9C"}
package/dist/intl.js ADDED
@@ -0,0 +1,9 @@
1
+ import * as Context from "effect-app/Context";
2
+ import { accessCn, accessFn } from "effect-app/Context";
3
+ export class I18n extends Context.Opaque()("I18n") {
4
+ static locale = accessCn(this, "locale");
5
+ static trans = accessFn(this, "trans");
6
+ static formatMessage = accessFn(this, "formatMessage");
7
+ static intl = accessCn(this, "intl");
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50bC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUE7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUt2RCxNQUFNLE9BQU8sSUFBSyxTQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ2pFLE1BQU0sQ0FBVSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNqRCxNQUFNLENBQVUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDL0MsTUFBTSxDQUFVLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sQ0FBVSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtDQUM5QyJ9
package/dist/lib.d.ts CHANGED
@@ -1,14 +1,12 @@
1
1
  import { type Pausable, type UseIntervalFnOptions } from "@vueuse/core";
2
- import { Cause, type Effect } from "effect-app";
3
- import { type Req } from "effect-app/client";
4
- import type { ClientForOptions, RequestHandler, RequestHandlerWithInput } from "effect-app/client/clientFor";
5
- import type { MaybeRefOrGetter } from "vue";
2
+ import type { Req } from "effect-app/client";
3
+ import type { RequestHandlerWithInput } from "effect-app/client/clientFor";
4
+ import type * as Effect from "effect-app/Effect";
5
+ import * as Cause from "effect/Cause";
6
+ import { type MaybeRefOrGetter } from "vue";
6
7
  export * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
7
8
  export declare const reportRuntimeError: (cause: Cause.Cause<unknown>, extras?: Record<string, unknown>) => Effect.Effect<unknown, never, never>;
8
- export declare const makeQueryKey: ({ id, options }: {
9
- id: string;
10
- options?: ClientForOptions;
11
- }) => [string, ...string[]];
9
+ export { makeQueryKey } from "effect-app/client";
12
10
  export declare function pauseWhileProcessing(iv: Pausable, pmf: () => Promise<unknown>): Promise<unknown>;
13
11
  export declare function useIntervalPauseWhileProcessing(pmf: () => Promise<unknown>, interval?: MaybeRefOrGetter<number>, options?: Omit<UseIntervalFnOptions, "immediateCallback">): {
14
12
  isActive: Readonly<import("vue").ShallowRef<boolean>>;
@@ -19,6 +17,6 @@ export declare function useIntervalPauseWhileProcessing(pmf: () => Promise<unkno
19
17
  */
20
18
  export declare const mapHandler: {
21
19
  <I, E, R, A, E2, A2, R2, Request extends Req, Name extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Name>, map: (handler: (i: I) => Effect.Effect<A, E, R>) => (i: I) => Effect.Effect<A2, E2, R2>): RequestHandlerWithInput<I, A2, E2, R2, Request, Name>;
22
- <E, A, R, E2, A2, R2, Request extends Req, Name extends string>(self: RequestHandler<A, E, R, Request, Name>, map: (handler: Effect.Effect<A, E, R>) => Effect.Effect<A2, E2, R2>): RequestHandler<A2, E2, R2, Request, Name>;
23
20
  };
21
+ export declare function deepToRaw<T>(sourceObj: T): T;
24
22
  //# sourceMappingURL=lib.d.ts.map
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,KAAK,EAAE,KAAK,MAAM,EAAQ,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAE5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAG3C,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AAsBrE,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,yCACrC,CAAA;AAI3D,eAAO,MAAM,YAAY,GAAI,iBAAiB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAE,0BAMzE,CAAA;AAEf,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,oBAM5B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;;EAU1D;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,EAC/D,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EACxD,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACtF,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,EAC5D,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAC5C,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAClE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;CAM5C,CAAA"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAA8B,KAAK,gBAAgB,EAAS,MAAM,KAAK,CAAA;AAG9E,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AAsBrE,eAAO,MAAM,kBAAkB,UAAW,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,yCACrC,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,oBAM5B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAQvD,QAAQ;EAEX;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,EAC/D,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EACxD,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACtF,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;CAIxD,CAAA;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAuC5C"}
package/dist/lib.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { useIntervalFn } from "@vueuse/core";
2
- import { Cause, pipe } from "effect-app";
2
+ import * as Cause from "effect/Cause";
3
3
  import { isHttpClientError } from "effect/unstable/http/HttpClientError";
4
+ import { isProxy, isReactive, isRef, toRaw } from "vue";
4
5
  import { reportError } from "./errorReporter.js";
5
6
  export * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
6
7
  const reportRuntimeError_ = reportError("Runtime");
@@ -21,11 +22,7 @@ const determineLevel = (cause) => {
21
22
  }
22
23
  };
23
24
  export const reportRuntimeError = (cause, extras) => reportRuntimeError_(cause, extras, determineLevel(cause));
24
- // $Project/$Configuration.Index
25
- // -> "$Project", "$Configuration", "Index"
26
- export const makeQueryKey = ({ id, options }) => pipe(id.split("/"), (split) => split.filter((_) => !options || !options?.skipQueryKey?.includes(_)).map((_) => "$" + _))
27
- .join(".")
28
- .split(".");
25
+ export { makeQueryKey } from "effect-app/client";
29
26
  export function pauseWhileProcessing(iv, pmf) {
30
27
  return Promise
31
28
  .resolve(iv.pause())
@@ -44,8 +41,36 @@ export function useIntervalPauseWhileProcessing(pmf, interval, options) {
44
41
  */
45
42
  export const mapHandler = (self, map) => ({
46
43
  ...self,
47
- handler: typeof self.handler === "function"
48
- ? (i) => map(self.handler)(i)
49
- : map(self.handler)
44
+ handler: (i) => map(self.handler)(i)
50
45
  });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGFBQWEsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFDdEYsT0FBTyxFQUFFLEtBQUssRUFBZSxJQUFJLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFFckUsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFbEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0FBRXhGLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFO0lBQ3JELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBQ2pELFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixLQUFLLGdCQUFnQjtZQUNuQixPQUFPLE1BQWUsQ0FBQTtRQUN4QixLQUFLLGFBQWE7WUFDaEIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBQ2pGO1lBQ0UsT0FBTyxTQUFTLENBQUE7SUFDcEIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBMkIsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDbEcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUUzRCxnQ0FBZ0M7QUFDaEMsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBOEMsRUFBRSxFQUFFLENBQzFGLElBQUksQ0FDRixFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUNiLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQ3BHO0tBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUNULEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUVmLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsRUFBWSxFQUNaLEdBQTJCO0lBRTNCLE9BQU8sT0FBTztTQUNYLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxHQUEyQixFQUMzQixRQUFtQyxFQUNuQyxPQUF5RDtJQUV6RCxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQ3RCLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDbkMsUUFBUSxFQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUM3RCxDQUFBO0lBQ0QsT0FBTztRQUNMLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUTtLQUN0QixDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FTbkIsQ0FBQyxJQUFTLEVBQUUsR0FBUSxFQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLEdBQUcsSUFBSTtJQUNQLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVTtRQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBbUQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Q0FDdEIsQ0FBQyxDQUFBIn0=
46
+ export function deepToRaw(sourceObj) {
47
+ const objectIterator = (input) => {
48
+ if (isRef(input)) {
49
+ return objectIterator(input.value);
50
+ }
51
+ const rawInput = isReactive(input) || isProxy(input)
52
+ ? toRaw(input)
53
+ : input;
54
+ if (Array.isArray(rawInput)) {
55
+ return rawInput.map((item) => objectIterator(item));
56
+ }
57
+ if (rawInput instanceof Map) {
58
+ return new Map(Array.from(rawInput.entries(), ([key, value]) => [objectIterator(key), objectIterator(value)]));
59
+ }
60
+ if (rawInput instanceof Set) {
61
+ return new Set(Array.from(rawInput.values(), (value) => objectIterator(value)));
62
+ }
63
+ if (rawInput instanceof Date) {
64
+ return new Date(rawInput);
65
+ }
66
+ if (rawInput && typeof rawInput === "object") {
67
+ return Object.keys(rawInput).reduce((acc, key) => {
68
+ acc[key] = objectIterator(rawInput[key]);
69
+ return acc;
70
+ }, {});
71
+ }
72
+ return rawInput;
73
+ };
74
+ return objectIterator(sourceObj);
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGFBQWEsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFJdEYsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF5QixLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRWhELE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFFckUsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFbEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0FBRXhGLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFO0lBQ3JELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBQ2pELFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixLQUFLLGdCQUFnQjtZQUNuQixPQUFPLE1BQWUsQ0FBQTtRQUN4QixLQUFLLGFBQWE7WUFDaEIsT0FBTyxPQUFPLENB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