@typed/fx 1.20.5 → 1.20.6

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.
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.asSink = void 0;
7
7
  exports.asyncDataRequest = asyncDataRequest;
8
- exports.succeed = exports.stopLoading = exports.startLoading = exports.runIfNoData = exports.runIfExpired = exports.runAsyncData = exports.matchAsyncDataArray = exports.matchAsyncData = exports.mapInputEffect = exports.mapInput = exports.getSuccess = exports.getFailure = exports.failCause = exports.fail = exports.done = exports.awaitLoadingOrRefreshing = exports.awaitLoading = void 0;
8
+ exports.succeed = exports.stopLoading = exports.startLoading = exports.runIfNoData = exports.runIfExpired = exports.runAsyncData = exports.optimistic = exports.matchAsyncDataArray = exports.matchAsyncData = exports.mapInputEffect = exports.mapInput = exports.getSuccess = exports.getFailure = exports.failCause = exports.fail = exports.done = exports.awaitLoadingOrRefreshing = exports.awaitLoading = void 0;
9
9
  var AsyncData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/async-data/AsyncData"));
10
10
  var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
11
11
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
12
12
  var Either = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Either"));
13
13
  var _Function = /*#__PURE__*/require("effect/Function");
14
- var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
15
14
  var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Fx.js"));
16
- var _keyed = /*#__PURE__*/require("./internal/keyed.js");
17
15
  var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./RefSubject.js"));
18
16
  var Sink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Sink.js"));
19
17
  var _TypeId = /*#__PURE__*/require("./TypeId.js");
@@ -37,43 +35,46 @@ const runAsyncData = exports.runAsyncData = /*#__PURE__*/(0, _Function.dual)(2,
37
35
  return ref.runUpdates(({
38
36
  get,
39
37
  set
40
- }) => Effect.uninterruptibleMask(restore => Effect.flatMap(Effect.flatMap(Effect.tap(get, current => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), exit => set(AsyncData.fromExit(exit)))));
38
+ }) => Effect.uninterruptibleMask(restore => Effect.flatMap(Effect.flatMap(Effect.flatMap(get, current => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), exit => set(AsyncData.fromExit(exit)))));
41
39
  });
42
40
  /**
43
41
  * @since 1.20.0
44
42
  */
45
43
  const matchAsyncData = exports.matchAsyncData = /*#__PURE__*/(0, _Function.dual)(2, function matchAsyncData(fx, matchers) {
46
- return Fx.matchTags(fx, {
47
- NoData: () => matchers.NoData,
48
- Loading: loading => matchers.Loading(RefSubject.filterMap(loading, l => l.progress)),
49
- Failure: failure => matchers.Failure(RefSubject.mapEffect(failure, f => Either.match(Cause.failureOrCause(f.cause), {
50
- onLeft: Effect.succeed,
51
- onRight: Effect.failCause
52
- })), {
53
- timestamp: RefSubject.map(failure, f => f.timestamp),
54
- progress: RefSubject.filterMap(failure, f => Option.flatMap(f.refreshing, l => l.progress))
55
- }),
56
- Success: success => matchers.Success(RefSubject.transform(success, s => s.value, value => AsyncData.success(value)), {
57
- timestamp: RefSubject.map(success, s => s.timestamp),
58
- progress: RefSubject.filterMap(success, f => Option.flatMap(f.refreshing, l => l.progress))
59
- })
44
+ return Fx.withKey(fx, {
45
+ getKey: a => a._tag === "Optimistic" ? "Success" : a._tag,
46
+ onValue: (ref, key) => {
47
+ switch (key) {
48
+ case "NoData":
49
+ return matchers.NoData;
50
+ case "Loading":
51
+ return matchers.Loading(RefSubject.filterMap(ref, l => l.progress));
52
+ case "Failure":
53
+ {
54
+ const failure = ref;
55
+ return matchers.Failure(RefSubject.mapEffect(failure, f => Either.match(Cause.failureOrCause(f.cause), {
56
+ onLeft: Effect.succeed,
57
+ onRight: Effect.failCause
58
+ })), failure);
59
+ }
60
+ case "Success":
61
+ {
62
+ const success = ref;
63
+ return matchers.Success(RefSubject.transformOrFail(success, s => Effect.succeed(s.value), value => Effect.map(success, d => AsyncData.map(d, () => value))), success);
64
+ }
65
+ }
66
+ }
60
67
  });
61
68
  });
62
69
  /**
63
70
  * @since 1.20.0
64
71
  */
65
- const matchAsyncDataArray = exports.matchAsyncDataArray = /*#__PURE__*/(0, _Function.dual)(3, function matchAsyncData(fx, getKey, matchers) {
66
- return Fx.matchTags(fx, {
67
- NoData: () => matchers.NoData,
68
- Loading: loading => matchers.Loading(RefSubject.filterMap(loading, l => l.progress)),
69
- Failure: failure => matchers.Failure(RefSubject.mapEffect(failure, f => Either.match(Cause.failureOrCause(f.cause), {
70
- onLeft: Effect.succeed,
71
- onRight: Effect.failCause
72
- })), {
73
- timestamp: RefSubject.map(failure, f => f.timestamp),
74
- progress: RefSubject.filterMap(failure, f => Option.flatMap(f.refreshing, l => l.progress))
75
- }),
76
- Success: success => (0, _keyed.keyed)(RefSubject.map(success, s => s.value), {
72
+ const matchAsyncDataArray = exports.matchAsyncDataArray = /*#__PURE__*/(0, _Function.dual)(3, function matchAsyncDataArray(fx, getKey, matchers) {
73
+ return matchAsyncData(fx, {
74
+ NoData: matchers.NoData,
75
+ Loading: matchers.Loading,
76
+ Failure: matchers.Failure,
77
+ Success: value => Fx.keyed(value, {
77
78
  getKey,
78
79
  onValue: matchers.Success
79
80
  })
@@ -157,6 +158,11 @@ const fail = exports.fail = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, e
157
158
  * @since 1.20.0
158
159
  */
159
160
  const succeed = exports.succeed = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, value, options) => RefSubject.set(ref, AsyncData.success(value, options)));
161
+ /**
162
+ * Update with an optimistic value
163
+ * @since 1.20.0
164
+ */
165
+ const optimistic = exports.optimistic = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, value, options) => RefSubject.update(ref, AsyncData.optimistic(value, options)));
160
166
  /**
161
167
  * Set Exit value of RefAsyncData
162
168
  * @since 1.20.0
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncData.js","names":["AsyncData","_interopRequireWildcard","require","Cause","Effect","Either","_Function","Option","Fx","_keyed","RefSubject","Sink","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncDataRequest","effect","make","sink","flatMap","zipRight","onSuccess","loading","exit","fromExit","runAsyncData","exports","dual","ref","runUpdates","uninterruptibleMask","restore","tap","current","startLoading","matchAsyncData","fx","matchers","matchTags","NoData","Loading","filterMap","l","progress","Failure","failure","mapEffect","f","match","failureOrCause","cause","onLeft","succeed","onRight","failCause","timestamp","map","refreshing","Success","success","transform","s","value","matchAsyncDataArray","getKey","keyed","onValue","runIfNoData","isNoData","runIfExpired","now","ttl","isExpired","awaitLoading","data","pipe","dropWhile","isLoading","take","toReadonlyArray","x","awaitLoadingOrRefreshing","isLoadingOrRefreshing","update","stopLoading","asSink","mapInputEffect","mapInput","isRefFirst","args","length","RefSubjectTypeId","options","fail","error","done","getFailure","getSuccess"],"sources":["../../src/AsyncData.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"AsyncData.js","names":["AsyncData","_interopRequireWildcard","require","Cause","Effect","Either","_Function","Fx","RefSubject","Sink","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncDataRequest","effect","make","sink","flatMap","zipRight","onSuccess","loading","exit","fromExit","runAsyncData","exports","dual","ref","runUpdates","uninterruptibleMask","restore","current","startLoading","matchAsyncData","fx","matchers","withKey","getKey","_tag","onValue","key","NoData","Loading","filterMap","l","progress","failure","Failure","mapEffect","f","match","failureOrCause","cause","onLeft","succeed","onRight","failCause","success","Success","transformOrFail","s","value","map","d","matchAsyncDataArray","keyed","runIfNoData","isNoData","runIfExpired","now","ttl","isExpired","awaitLoading","data","pipe","dropWhile","isLoading","take","toReadonlyArray","x","awaitLoadingOrRefreshing","isLoadingOrRefreshing","update","stopLoading","asSink","mapInputEffect","mapInput","isRefFirst","args","length","RefSubjectTypeId","options","fail","error","optimistic","done","getFailure","getSuccess"],"sources":["../../src/AsyncData.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -35,26 +35,14 @@ export declare const matchAsyncData: {
35
35
  <E1, A, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(matchers: {
36
36
  readonly NoData: Fx.Fx<R2, E2, B>;
37
37
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>;
38
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
39
- readonly timestamp: RefSubject.Computed<never, never, number>;
40
- readonly progress: RefSubject.Filtered<never, never, Progress>;
41
- }) => Fx.Fx<R4, E4, D>;
42
- readonly Success: (value: RefSubject.Computed<never, never, A>, options: {
43
- readonly timestamp: RefSubject.Computed<never, never, number>;
44
- readonly progress: RefSubject.Filtered<never, never, Progress>;
45
- }) => Fx.Fx<R5, E5, F>;
38
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>;
39
+ readonly Success: (value: RefSubject.RefSubject<never, never, A>) => Fx.Fx<R5, E5, F>;
46
40
  }): <R, E>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, A>>) => Fx.Fx<R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | F>;
47
41
  <R, E, E1, A, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, A>>, matchers: {
48
42
  readonly NoData: Fx.Fx<R2, E2, B>;
49
43
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>;
50
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
51
- readonly timestamp: RefSubject.Computed<never, never, number>;
52
- readonly progress: RefSubject.Filtered<never, never, Progress>;
53
- }) => Fx.Fx<R4, E4, D>;
54
- readonly Success: (value: RefSubject.Computed<never, never, A>, options: {
55
- readonly timestamp: RefSubject.Computed<never, never, number>;
56
- readonly progress: RefSubject.Filtered<never, never, Progress>;
57
- }) => Fx.Fx<R5, E5, F>;
44
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>;
45
+ readonly Success: (value: RefSubject.RefSubject<never, never, A>) => Fx.Fx<R5, E5, F>;
58
46
  }): Fx.Fx<R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | F>;
59
47
  };
60
48
  /**
@@ -64,19 +52,13 @@ export declare const matchAsyncDataArray: {
64
52
  <E1, A, K extends PropertyKey, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(getKey: (a: A) => K, matchers: {
65
53
  readonly NoData: Fx.Fx<R2, E2, B>;
66
54
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>;
67
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
68
- readonly timestamp: RefSubject.Computed<never, never, number>;
69
- readonly progress: RefSubject.Filtered<never, never, Progress>;
70
- }) => Fx.Fx<R4, E4, D>;
55
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>;
71
56
  readonly Success: (value: RefSubject.RefSubject<never, never, A>, key: K) => Fx.Fx<R5, E5, F>;
72
57
  }): <R, E>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, ReadonlyArray<A>>>) => Fx.Fx<Scope.Scope | R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | ReadonlyArray<F>>;
73
58
  <R, E, E1, A, K extends PropertyKey, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, ReadonlyArray<A>>>, getKey: (a: A) => K, matchers: {
74
59
  readonly NoData: Fx.Fx<R2, E2, B>;
75
60
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>;
76
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
77
- readonly timestamp: RefSubject.Computed<never, never, number>;
78
- readonly progress: RefSubject.Filtered<never, never, Progress>;
79
- }) => Fx.Fx<R4, E4, D>;
61
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>;
80
62
  readonly Success: (value: RefSubject.RefSubject<never, never, A>, key: K) => Fx.Fx<R5, E5, F>;
81
63
  }): Fx.Fx<Scope.Scope | R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | ReadonlyArray<F>>;
82
64
  };
@@ -105,13 +87,13 @@ export declare const runIfExpired: {
105
87
  * @since 1.20.0
106
88
  * @category updates
107
89
  */
108
- export declare const awaitLoading: <R, E, A>(data: RefAsyncData<R, E, A>) => Effect.Effect<Scope.Scope | R, never, AsyncData.AsyncData<E, A>>;
90
+ export declare const awaitLoading: <R, E, A>(data: RefAsyncData<R, E, A>) => Effect.Effect<Scope.Scope | R, never, AsyncData.NoData | AsyncData.Failure<E> | AsyncData.Success<A> | AsyncData.Optimistic<E, A>>;
109
91
  /**
110
92
  * Await for the AsyncData to stop loading or refreshing.
111
93
  * @since 1.20.0
112
94
  * @category updates
113
95
  */
114
- export declare const awaitLoadingOrRefreshing: <R, E, A>(data: RefAsyncData<R, E, A>) => Effect.Effect<Scope.Scope | R, never, AsyncData.AsyncData<E, A>>;
96
+ export declare const awaitLoadingOrRefreshing: <R, E, A>(data: RefAsyncData<R, E, A>) => Effect.Effect<Scope.Scope | R, never, AsyncData.NoData | AsyncData.Failure<E> | AsyncData.Success<A> | AsyncData.Optimistic<E, A>>;
115
97
  /**
116
98
  * Change the current value of a RefAsyncData to a loading or refreshing state.
117
99
  * @since 1.20.0
@@ -164,6 +146,14 @@ export declare const succeed: {
164
146
  <A>(value: A, options?: AsyncData.OptionalPartial<AsyncData.SuccessOptions>): <R, E>(ref: RefAsyncData<R, E, A>) => Effect.Effect<R, never, AsyncData.AsyncData<E, A>>;
165
147
  <R, E, A>(ref: RefAsyncData<R, E, A>, value: A, options?: AsyncData.OptionalPartial<AsyncData.SuccessOptions>): Effect.Effect<R, never, AsyncData.AsyncData<E, A>>;
166
148
  };
149
+ /**
150
+ * Update with an optimistic value
151
+ * @since 1.20.0
152
+ */
153
+ export declare const optimistic: {
154
+ <A>(value: A, options?: AsyncData.OptionalPartial<AsyncData.OptimisticOptions>): <R, E>(ref: RefAsyncData<R, E, A>) => Effect.Effect<R, never, AsyncData.AsyncData<E, A>>;
155
+ <R, E, A>(ref: RefAsyncData<R, E, A>, value: A, options?: AsyncData.OptionalPartial<AsyncData.OptimisticOptions>): Effect.Effect<R, never, AsyncData.AsyncData<E, A>>;
156
+ };
167
157
  /**
168
158
  * Set Exit value of RefAsyncData
169
159
  * @since 1.20.0
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncData.d.ts","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncData.d.ts","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,7 @@ import * as Cause from "effect/Cause";
7
7
  import * as Effect from "effect/Effect";
8
8
  import * as Either from "effect/Either";
9
9
  import { dual } from "effect/Function";
10
- import * as Option from "effect/Option";
11
10
  import * as Fx from "./Fx.js";
12
- import { keyed } from "./internal/keyed.js";
13
11
  import * as RefSubject from "./RefSubject.js";
14
12
  import * as Sink from "./Sink.js";
15
13
  import { RefSubjectTypeId } from "./TypeId.js";
@@ -23,46 +21,44 @@ export function asyncDataRequest(effect) {
23
21
  * @since 1.20.0
24
22
  */
25
23
  export const runAsyncData = dual(2, function runAsyncData(ref, effect) {
26
- return ref.runUpdates(({ get, set }) => Effect.uninterruptibleMask((restore) => Effect.flatMap(Effect.flatMap(Effect.tap(get, (current) => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), (exit) => set(AsyncData.fromExit(exit)))));
24
+ return ref.runUpdates(({ get, set }) => Effect.uninterruptibleMask((restore) => Effect.flatMap(Effect.flatMap(Effect.flatMap(get, (current) => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), (exit) => set(AsyncData.fromExit(exit)))));
27
25
  });
28
26
  /**
29
27
  * @since 1.20.0
30
28
  */
31
29
  export const matchAsyncData = dual(2, function matchAsyncData(fx, matchers) {
32
- return Fx.matchTags(fx, {
33
- NoData: () => matchers.NoData,
34
- Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
35
- Failure: (failure) => matchers.Failure(RefSubject.mapEffect(failure, (f) => Either.match(Cause.failureOrCause(f.cause), {
36
- onLeft: Effect.succeed,
37
- onRight: Effect.failCause
38
- })), {
39
- timestamp: RefSubject.map(failure, (f) => f.timestamp),
40
- progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
41
- }),
42
- Success: (success) => matchers.Success(RefSubject.transform(success, (s) => s.value, (value) => AsyncData.success(value)), {
43
- timestamp: RefSubject.map(success, (s) => s.timestamp),
44
- progress: RefSubject.filterMap(success, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
45
- })
30
+ return Fx.withKey(fx, {
31
+ getKey: (a) => a._tag === "Optimistic" ? "Success" : a._tag,
32
+ onValue: (ref, key) => {
33
+ switch (key) {
34
+ case "NoData":
35
+ return matchers.NoData;
36
+ case "Loading":
37
+ return matchers.Loading(RefSubject.filterMap(ref, (l) => l.progress));
38
+ case "Failure": {
39
+ const failure = ref;
40
+ return matchers.Failure(RefSubject.mapEffect(failure, (f) => Either.match(Cause.failureOrCause(f.cause), {
41
+ onLeft: Effect.succeed,
42
+ onRight: Effect.failCause
43
+ })), failure);
44
+ }
45
+ case "Success": {
46
+ const success = ref;
47
+ return matchers.Success(RefSubject.transformOrFail(success, (s) => Effect.succeed(s.value), (value) => Effect.map(success, (d) => AsyncData.map(d, () => value))), success);
48
+ }
49
+ }
50
+ }
46
51
  });
47
52
  });
48
53
  /**
49
54
  * @since 1.20.0
50
55
  */
51
- export const matchAsyncDataArray = dual(3, function matchAsyncData(fx, getKey, matchers) {
52
- return Fx.matchTags(fx, {
53
- NoData: () => matchers.NoData,
54
- Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
55
- Failure: (failure) => matchers.Failure(RefSubject.mapEffect(failure, (f) => Either.match(Cause.failureOrCause(f.cause), {
56
- onLeft: Effect.succeed,
57
- onRight: Effect.failCause
58
- })), {
59
- timestamp: RefSubject.map(failure, (f) => f.timestamp),
60
- progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
61
- }),
62
- Success: (success) => keyed(RefSubject.map(success, (s) => s.value), {
63
- getKey,
64
- onValue: matchers.Success
65
- })
56
+ export const matchAsyncDataArray = dual(3, function matchAsyncDataArray(fx, getKey, matchers) {
57
+ return matchAsyncData(fx, {
58
+ NoData: matchers.NoData,
59
+ Loading: matchers.Loading,
60
+ Failure: matchers.Failure,
61
+ Success: (value) => Fx.keyed(value, { getKey, onValue: matchers.Success })
66
62
  });
67
63
  });
68
64
  /**
@@ -133,6 +129,11 @@ export const fail = dual(isRefFirst, (ref, error, options) => RefSubject.set(ref
133
129
  * @since 1.20.0
134
130
  */
135
131
  export const succeed = dual(isRefFirst, (ref, value, options) => RefSubject.set(ref, AsyncData.success(value, options)));
132
+ /**
133
+ * Update with an optimistic value
134
+ * @since 1.20.0
135
+ */
136
+ export const optimistic = dual(isRefFirst, (ref, value, options) => RefSubject.update(ref, AsyncData.optimistic(value, options)));
136
137
  /**
137
138
  * Set Exit value of RefAsyncData
138
139
  * @since 1.20.0
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/fx",
3
- "version": "1.20.5",
3
+ "version": "1.20.6",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "@effect/typeclass": "0.22.8",
15
15
  "effect": "^2.1.2",
16
16
  "fast-deep-equal": "^3.1.3",
17
- "@typed/async-data": "0.3.3",
17
+ "@typed/async-data": "0.3.4",
18
18
  "@typed/context": "0.21.3"
19
19
  },
20
20
  "peerDependencies": {
package/src/AsyncData.ts CHANGED
@@ -11,10 +11,8 @@ import * as Effect from "effect/Effect"
11
11
  import * as Either from "effect/Either"
12
12
  import type * as Exit from "effect/Exit"
13
13
  import { dual } from "effect/Function"
14
- import * as Option from "effect/Option"
15
14
  import type * as Scope from "effect/Scope"
16
15
  import * as Fx from "./Fx.js"
17
- import { keyed } from "./internal/keyed.js"
18
16
  import * as RefSubject from "./RefSubject.js"
19
17
  import * as Sink from "./Sink.js"
20
18
  import { RefSubjectTypeId } from "./TypeId.js"
@@ -55,7 +53,7 @@ export const runAsyncData: {
55
53
  Effect.uninterruptibleMask((restore) =>
56
54
  Effect.flatMap(
57
55
  Effect.flatMap(
58
- Effect.tap(get, (current) => set(AsyncData.startLoading(current))),
56
+ Effect.flatMap(get, (current) => set(AsyncData.startLoading(current))),
59
57
  () => Effect.exit(restore(effect))
60
58
  ),
61
59
  (exit) => set(AsyncData.fromExit(exit))
@@ -72,20 +70,8 @@ export const matchAsyncData: {
72
70
  matchers: {
73
71
  readonly NoData: Fx.Fx<R2, E2, B>
74
72
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
75
- readonly Failure: (
76
- error: RefSubject.Computed<never, never, E1>,
77
- options: {
78
- readonly timestamp: RefSubject.Computed<never, never, number>
79
- readonly progress: RefSubject.Filtered<never, never, Progress>
80
- }
81
- ) => Fx.Fx<R4, E4, D>
82
- readonly Success: (
83
- value: RefSubject.Computed<never, never, A>,
84
- options: {
85
- readonly timestamp: RefSubject.Computed<never, never, number>
86
- readonly progress: RefSubject.Filtered<never, never, Progress>
87
- }
88
- ) => Fx.Fx<R5, E5, F>
73
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>
74
+ readonly Success: (value: RefSubject.RefSubject<never, never, A>) => Fx.Fx<R5, E5, F>
89
75
  }
90
76
  ): <R, E>(
91
77
  fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, A>>
@@ -94,14 +80,8 @@ export const matchAsyncData: {
94
80
  <R, E, E1, A, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, A>>, matchers: {
95
81
  readonly NoData: Fx.Fx<R2, E2, B>
96
82
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
97
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
98
- readonly timestamp: RefSubject.Computed<never, never, number>
99
- readonly progress: RefSubject.Filtered<never, never, Progress>
100
- }) => Fx.Fx<R4, E4, D>
101
- readonly Success: (value: RefSubject.Computed<never, never, A>, options: {
102
- readonly timestamp: RefSubject.Computed<never, never, number>
103
- readonly progress: RefSubject.Filtered<never, never, Progress>
104
- }) => Fx.Fx<R5, E5, F>
83
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>
84
+ readonly Success: (value: RefSubject.RefSubject<never, never, A>) => Fx.Fx<R5, E5, F>
105
85
  }): Fx.Fx<R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | F>
106
86
  } = dual(2, function matchAsyncData<R, E, E1, A, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(
107
87
  fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, A>>,
@@ -110,41 +90,64 @@ export const matchAsyncData: {
110
90
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
111
91
  readonly Failure: (
112
92
  error: RefSubject.Computed<never, never, E1>,
113
- options: {
114
- readonly timestamp: RefSubject.Computed<never, never, number>
115
- readonly progress: RefSubject.Filtered<never, never, Progress>
116
- }
93
+ failure: RefSubject.RefSubject<never, never, AsyncData.Failure<E1>>
117
94
  ) => Fx.Fx<R4, E4, D>
118
95
  readonly Success: (
119
96
  value: RefSubject.RefSubject<never, never, A>,
120
- options: {
121
- readonly timestamp: RefSubject.Computed<never, never, number>
122
- readonly progress: RefSubject.Filtered<never, never, Progress>
123
- }
97
+ data: RefSubject.RefSubject<never, never, AsyncData.Success<A> | AsyncData.Optimistic<E1, A>>
124
98
  ) => Fx.Fx<R5, E5, F>
125
99
  }
126
- ) {
127
- return Fx.matchTags(fx, {
128
- NoData: () => matchers.NoData,
129
- Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
130
- Failure: (failure) =>
131
- matchers.Failure(
132
- RefSubject.mapEffect(failure, (f) =>
133
- Either.match(Cause.failureOrCause(f.cause), {
134
- onLeft: Effect.succeed,
135
- onRight: Effect.failCause
136
- })),
137
- {
138
- timestamp: RefSubject.map(failure, (f) => f.timestamp),
139
- progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
100
+ ): Fx.Fx<R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | F> {
101
+ return Fx.withKey(
102
+ fx,
103
+ {
104
+ getKey: (a: AsyncData.AsyncData<E1, A>) => a._tag === "Optimistic" ? "Success" : a._tag,
105
+ onValue: (ref, key): Fx.Fx<R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | F> => {
106
+ switch (key) {
107
+ case "NoData":
108
+ return matchers.NoData
109
+ case "Loading":
110
+ return matchers.Loading(
111
+ RefSubject.filterMap(ref as RefSubject.RefSubject<never, never, AsyncData.Loading>, (l) => l.progress)
112
+ )
113
+ case "Failure": {
114
+ const failure = ref as RefSubject.RefSubject<never, never, AsyncData.Failure<E1>>
115
+ return matchers.Failure(
116
+ RefSubject.mapEffect(
117
+ failure,
118
+ (f) =>
119
+ Either.match(Cause.failureOrCause(f.cause), {
120
+ onLeft: Effect.succeed,
121
+ onRight: Effect.failCause
122
+ })
123
+ ),
124
+ failure
125
+ )
126
+ }
127
+ case "Success": {
128
+ const success = ref as RefSubject.RefSubject<
129
+ never,
130
+ never,
131
+ AsyncData.Success<A> | AsyncData.Optimistic<E1, A>
132
+ >
133
+
134
+ return matchers.Success(
135
+ RefSubject.transformOrFail(
136
+ success,
137
+ (s) => Effect.succeed(s.value),
138
+ (value) =>
139
+ Effect.map(
140
+ success,
141
+ (d) => AsyncData.map(d, () => value) as AsyncData.Success<A> | AsyncData.Optimistic<E1, A>
142
+ )
143
+ ),
144
+ success
145
+ )
146
+ }
140
147
  }
141
- ),
142
- Success: (success) =>
143
- matchers.Success(RefSubject.transform(success, (s) => s.value, (value) => AsyncData.success(value)), {
144
- timestamp: RefSubject.map(success, (s) => s.timestamp),
145
- progress: RefSubject.filterMap(success, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
146
- })
147
- })
148
+ }
149
+ }
150
+ )
148
151
  })
149
152
 
150
153
  /**
@@ -156,10 +159,7 @@ export const matchAsyncDataArray: {
156
159
  matchers: {
157
160
  readonly NoData: Fx.Fx<R2, E2, B>
158
161
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
159
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
160
- readonly timestamp: RefSubject.Computed<never, never, number>
161
- readonly progress: RefSubject.Filtered<never, never, Progress>
162
- }) => Fx.Fx<R4, E4, D>
162
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>
163
163
  readonly Success: (value: RefSubject.RefSubject<never, never, A>, key: K) => Fx.Fx<R5, E5, F>
164
164
  }
165
165
  ): <R, E>(
@@ -172,27 +172,20 @@ export const matchAsyncDataArray: {
172
172
  matchers: {
173
173
  readonly NoData: Fx.Fx<R2, E2, B>
174
174
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
175
- readonly Failure: (error: RefSubject.Computed<never, never, E1>, options: {
176
- readonly timestamp: RefSubject.Computed<never, never, number>
177
- readonly progress: RefSubject.Filtered<never, never, Progress>
178
- }) => Fx.Fx<R4, E4, D>
175
+ readonly Failure: (error: RefSubject.Computed<never, never, E1>) => Fx.Fx<R4, E4, D>
179
176
  readonly Success: (value: RefSubject.RefSubject<never, never, A>, key: K) => Fx.Fx<R5, E5, F>
180
177
  }
181
178
  ): Fx.Fx<Scope.Scope | R | R2 | R3 | R4 | R5, E | E2 | E3 | E4 | E5, B | C | D | ReadonlyArray<F>>
182
179
  } = dual(
183
180
  3,
184
- function matchAsyncData<R, E, E1, A, K extends PropertyKey, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(
181
+ function matchAsyncDataArray<R, E, E1, A, K extends PropertyKey, R2, E2, B, R3, E3, C, R4, E4, D, R5, E5, F>(
185
182
  fx: Fx.Fx<R, E, AsyncData.AsyncData<E1, ReadonlyArray<A>>>,
186
183
  getKey: (a: A) => K,
187
184
  matchers: {
188
185
  readonly NoData: Fx.Fx<R2, E2, B>
189
186
  readonly Loading: (progress: RefSubject.Filtered<never, never, Progress>) => Fx.Fx<R3, E3, C>
190
187
  readonly Failure: (
191
- error: RefSubject.Computed<never, never, E1>,
192
- options: {
193
- readonly timestamp: RefSubject.Computed<never, never, number>
194
- readonly progress: RefSubject.Filtered<never, never, Progress>
195
- }
188
+ error: RefSubject.Computed<never, never, E1>
196
189
  ) => Fx.Fx<R4, E4, D>
197
190
  readonly Success: (
198
191
  value: RefSubject.RefSubject<never, never, A>,
@@ -200,26 +193,11 @@ export const matchAsyncDataArray: {
200
193
  ) => Fx.Fx<R5, E5, F>
201
194
  }
202
195
  ) {
203
- return Fx.matchTags(fx, {
204
- NoData: () => matchers.NoData,
205
- Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
206
- Failure: (failure) =>
207
- matchers.Failure(
208
- RefSubject.mapEffect(failure, (f) =>
209
- Either.match(Cause.failureOrCause(f.cause), {
210
- onLeft: Effect.succeed,
211
- onRight: Effect.failCause
212
- })),
213
- {
214
- timestamp: RefSubject.map(failure, (f) => f.timestamp),
215
- progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
216
- }
217
- ),
218
- Success: (success) =>
219
- keyed(RefSubject.map(success, (s) => s.value), {
220
- getKey,
221
- onValue: matchers.Success
222
- })
196
+ return matchAsyncData(fx, {
197
+ NoData: matchers.NoData,
198
+ Loading: matchers.Loading,
199
+ Failure: matchers.Failure,
200
+ Success: (value) => Fx.keyed(value, { getKey, onValue: matchers.Success })
223
201
  })
224
202
  }
225
203
  )
@@ -277,7 +255,7 @@ export const runIfExpired: {
277
255
  */
278
256
  export const awaitLoading = <R, E, A>(
279
257
  data: RefAsyncData<R, E, A>
280
- ): Effect.Effect<R | Scope.Scope, never, AsyncData.AsyncData<E, A>> =>
258
+ ): Effect.Effect<R | Scope.Scope, never, Exclude<AsyncData.AsyncData<E, A>, AsyncData.Loading>> =>
281
259
  data.pipe(
282
260
  Fx.dropWhile(AsyncData.isLoading),
283
261
  Fx.take(1),
@@ -292,7 +270,7 @@ export const awaitLoading = <R, E, A>(
292
270
  */
293
271
  export const awaitLoadingOrRefreshing = <R, E, A>(
294
272
  data: RefAsyncData<R, E, A>
295
- ): Effect.Effect<R | Scope.Scope, never, AsyncData.AsyncData<E, A>> =>
273
+ ): Effect.Effect<R | Scope.Scope, never, Exclude<AsyncData.AsyncData<E, A>, AsyncData.Loading>> =>
296
274
  data.pipe(
297
275
  Fx.dropWhile(AsyncData.isLoadingOrRefreshing),
298
276
  Fx.take(1),
@@ -417,6 +395,30 @@ export const succeed: {
417
395
  ) => RefSubject.set(ref, AsyncData.success(value, options))
418
396
  )
419
397
 
398
+ /**
399
+ * Update with an optimistic value
400
+ * @since 1.20.0
401
+ */
402
+ export const optimistic: {
403
+ <A>(
404
+ value: A,
405
+ options?: AsyncData.OptionalPartial<AsyncData.OptimisticOptions>
406
+ ): <R, E>(ref: RefAsyncData<R, E, A>) => Effect.Effect<R, never, AsyncData.AsyncData<E, A>>
407
+
408
+ <R, E, A>(
409
+ ref: RefAsyncData<R, E, A>,
410
+ value: A,
411
+ options?: AsyncData.OptionalPartial<AsyncData.OptimisticOptions>
412
+ ): Effect.Effect<R, never, AsyncData.AsyncData<E, A>>
413
+ } = dual(
414
+ isRefFirst,
415
+ <R, E, A>(
416
+ ref: RefAsyncData<R, E, A>,
417
+ value: A,
418
+ options?: AsyncData.OptionalPartial<AsyncData.OptimisticOptions>
419
+ ) => RefSubject.update(ref, AsyncData.optimistic(value, options))
420
+ )
421
+
420
422
  /**
421
423
  * Set Exit value of RefAsyncData
422
424
  * @since 1.20.0