@effect-rx/rx-react 0.11.3 → 0.12.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.
@@ -71,20 +71,14 @@ export declare const useRx: <R, W>(rx: Rx.Writable<R, W>) => readonly [value: R,
71
71
  */
72
72
  export declare const useRxSuspense: <E, A>(rx: Rx.Rx<Result.Result<E, A>>, options?: {
73
73
  readonly suspendOnWaiting?: boolean;
74
- }) => {
75
- readonly isWaiting: boolean;
76
- readonly value: Result.Success<E, A> | Result.Failure<E, A>;
77
- };
74
+ }) => Result.Success<E, A> | Result.Failure<E, A>;
78
75
  /**
79
76
  * @since 1.0.0
80
77
  * @category hooks
81
78
  */
82
79
  export declare const useRxSuspenseSuccess: <E, A>(rx: Rx.Rx<Result.Result<E, A>>, options?: {
83
80
  readonly suspendOnWaiting?: boolean;
84
- }) => {
85
- readonly isWaiting: boolean;
86
- readonly value: A;
87
- };
81
+ }) => Result.Success<E, A>;
88
82
  /**
89
83
  * @since 1.0.0
90
84
  * @category hooks
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAmCtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAmDD;;;GAGG;AACH,eAAO,MAAM,UAAU,uBAAsB,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,0FAK3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAMrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAE4C,IAAI,CAMjE,CAAA;AA2CD;;;GAGG;AACH,eAAO,MAAM,aAAa,mDAEd;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAwB5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAErB;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAW5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,iCAEZ,IAAI,YACP;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KACzC,IAMF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,qCAIpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,2EAExB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAmCtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAmDD;;;GAGG;AACH,eAAO,MAAM,UAAU,uBAAsB,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,0FAK3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAMrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAE4C,IAAI,CAMjE,CAAA;AAwCD;;;GAGG;AACH,eAAO,MAAM,aAAa,mDAEd;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,gDAuBlD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAErB;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,yBAOlD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,iCAEZ,IAAI,YACP;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KACzC,IAMF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,qCAIpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,2EAExB,CAAA"}
@@ -171,23 +171,20 @@ const useRx = rx => {
171
171
  };
172
172
  const suspenseRx = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
173
173
  const result = get(rx);
174
- const value = Result__namespace.noWaiting(result);
175
- if (value._tag === "Initial") {
174
+ if (result._tag === "Initial") {
176
175
  return {
177
176
  _tag: "Suspended",
178
177
  promise: new Promise(resolve => get.addFinalizer(resolve))
179
178
  };
180
179
  }
181
- const isWaiting = Result__namespace.isWaiting(result);
182
180
  return {
183
181
  _tag: "Value",
184
- isWaiting,
185
- value
182
+ value: result
186
183
  };
187
184
  }));
188
185
  const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
189
186
  const result = get(rx);
190
- if (result._tag === "Waiting" || result._tag === "Initial") {
187
+ if (result.waiting || result._tag === "Initial") {
191
188
  return {
192
189
  _tag: "Suspended",
193
190
  promise: new Promise(resolve => get.addFinalizer(resolve))
@@ -195,7 +192,6 @@ const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.
195
192
  }
196
193
  return {
197
194
  _tag: "Value",
198
- isWaiting: false,
199
195
  value: result
200
196
  };
201
197
  }));
@@ -222,7 +218,7 @@ const useRxSuspense = (rx, options) => {
222
218
  }
223
219
  throw result.promise;
224
220
  }
225
- return result;
221
+ return result.value;
226
222
  };
227
223
 
228
224
  /**
@@ -231,13 +227,10 @@ const useRxSuspense = (rx, options) => {
231
227
  */
232
228
  const useRxSuspenseSuccess = (rx, options) => {
233
229
  const result = useRxSuspense(rx, options);
234
- if (result.value._tag === "Failure") {
235
- throw Cause__namespace.squash(result.value.cause);
230
+ if (result._tag === "Failure") {
231
+ throw Cause__namespace.squash(result.cause);
236
232
  }
237
- return {
238
- isWaiting: result.isWaiting,
239
- value: result.value.value
240
- };
233
+ return result;
241
234
  };
242
235
 
243
236
  /**
@@ -171,23 +171,20 @@ const useRx = rx => {
171
171
  };
172
172
  const suspenseRx = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
173
173
  const result = get(rx);
174
- const value = Result__namespace.noWaiting(result);
175
- if (value._tag === "Initial") {
174
+ if (result._tag === "Initial") {
176
175
  return {
177
176
  _tag: "Suspended",
178
177
  promise: new Promise(resolve => get.addFinalizer(resolve))
179
178
  };
180
179
  }
181
- const isWaiting = Result__namespace.isWaiting(result);
182
180
  return {
183
181
  _tag: "Value",
184
- isWaiting,
185
- value
182
+ value: result
186
183
  };
187
184
  }));
188
185
  const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
189
186
  const result = get(rx);
190
- if (result._tag === "Waiting" || result._tag === "Initial") {
187
+ if (result.waiting || result._tag === "Initial") {
191
188
  return {
192
189
  _tag: "Suspended",
193
190
  promise: new Promise(resolve => get.addFinalizer(resolve))
@@ -195,7 +192,6 @@ const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.
195
192
  }
196
193
  return {
197
194
  _tag: "Value",
198
- isWaiting: false,
199
195
  value: result
200
196
  };
201
197
  }));
@@ -222,7 +218,7 @@ const useRxSuspense = (rx, options) => {
222
218
  }
223
219
  throw result.promise;
224
220
  }
225
- return result;
221
+ return result.value;
226
222
  };
227
223
 
228
224
  /**
@@ -231,13 +227,10 @@ const useRxSuspense = (rx, options) => {
231
227
  */
232
228
  const useRxSuspenseSuccess = (rx, options) => {
233
229
  const result = useRxSuspense(rx, options);
234
- if (result.value._tag === "Failure") {
235
- throw Cause__namespace.squash(result.value.cause);
230
+ if (result._tag === "Failure") {
231
+ throw Cause__namespace.squash(result.cause);
236
232
  }
237
- return {
238
- isWaiting: result.isWaiting,
239
- value: result.value.value
240
- };
233
+ return result;
241
234
  };
242
235
 
243
236
  /**
@@ -146,23 +146,20 @@ const useRx = rx => {
146
146
  };
147
147
  const suspenseRx = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
148
148
  const result = get(rx);
149
- const value = Result.noWaiting(result);
150
- if (value._tag === "Initial") {
149
+ if (result._tag === "Initial") {
151
150
  return {
152
151
  _tag: "Suspended",
153
152
  promise: new Promise(resolve => get.addFinalizer(resolve))
154
153
  };
155
154
  }
156
- const isWaiting = Result.isWaiting(result);
157
155
  return {
158
156
  _tag: "Value",
159
- isWaiting,
160
- value
157
+ value: result
161
158
  };
162
159
  }));
163
160
  const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
164
161
  const result = get(rx);
165
- if (result._tag === "Waiting" || result._tag === "Initial") {
162
+ if (result.waiting || result._tag === "Initial") {
166
163
  return {
167
164
  _tag: "Suspended",
168
165
  promise: new Promise(resolve => get.addFinalizer(resolve))
@@ -170,7 +167,6 @@ const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
170
167
  }
171
168
  return {
172
169
  _tag: "Value",
173
- isWaiting: false,
174
170
  value: result
175
171
  };
176
172
  }));
@@ -197,7 +193,7 @@ const useRxSuspense = (rx, options) => {
197
193
  }
198
194
  throw result.promise;
199
195
  }
200
- return result;
196
+ return result.value;
201
197
  };
202
198
 
203
199
  /**
@@ -206,13 +202,10 @@ const useRxSuspense = (rx, options) => {
206
202
  */
207
203
  const useRxSuspenseSuccess = (rx, options) => {
208
204
  const result = useRxSuspense(rx, options);
209
- if (result.value._tag === "Failure") {
210
- throw Cause.squash(result.value.cause);
205
+ if (result._tag === "Failure") {
206
+ throw Cause.squash(result.cause);
211
207
  }
212
- return {
213
- isWaiting: result.isWaiting,
214
- value: result.value.value
215
- };
208
+ return result;
216
209
  };
217
210
 
218
211
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-rx/rx-react",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "Reactive toolkit for Effect",
5
5
  "main": "dist/effect-rx-rx-react.cjs.js",
6
6
  "module": "dist/effect-rx-rx-react.esm.js",
@@ -38,7 +38,7 @@
38
38
  "react": "^18"
39
39
  },
40
40
  "dependencies": {
41
- "@effect-rx/rx": "^0.11.3"
41
+ "@effect-rx/rx": "^0.12.0"
42
42
  },
43
43
  "files": [
44
44
  "src",
package/src/index.ts CHANGED
@@ -198,35 +198,32 @@ type SuspenseResult<E, A> =
198
198
  }
199
199
  | {
200
200
  readonly _tag: "Value"
201
- readonly isWaiting: boolean
202
201
  readonly value: Result.Success<E, A> | Result.Failure<E, A>
203
202
  }
204
203
 
205
204
  const suspenseRx = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) =>
206
205
  Rx.readable((get): SuspenseResult<any, any> => {
207
206
  const result = get(rx)
208
- const value = Result.noWaiting(result)
209
- if (value._tag === "Initial") {
207
+ if (result._tag === "Initial") {
210
208
  return {
211
209
  _tag: "Suspended",
212
210
  promise: new Promise<void>((resolve) => get.addFinalizer(resolve))
213
211
  } as const
214
212
  }
215
- const isWaiting = Result.isWaiting(result)
216
- return { _tag: "Value", isWaiting, value } as const
213
+ return { _tag: "Value", value: result } as const
217
214
  })
218
215
  )
219
216
 
220
217
  const suspenseRxWaiting = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) =>
221
218
  Rx.readable((get): SuspenseResult<any, any> => {
222
219
  const result = get(rx)
223
- if (result._tag === "Waiting" || result._tag === "Initial") {
220
+ if (result.waiting || result._tag === "Initial") {
224
221
  return {
225
222
  _tag: "Suspended",
226
223
  promise: new Promise<void>((resolve) => get.addFinalizer(resolve))
227
224
  } as const
228
225
  }
229
- return { _tag: "Value", isWaiting: false, value: result } as const
226
+ return { _tag: "Value", value: result } as const
230
227
  })
231
228
  )
232
229
 
@@ -239,10 +236,7 @@ const suspenseMounts = globalValue("@effect-rx/rx-react/suspenseMounts", () => n
239
236
  export const useRxSuspense = <E, A>(
240
237
  rx: Rx.Rx<Result.Result<E, A>>,
241
238
  options?: { readonly suspendOnWaiting?: boolean }
242
- ): {
243
- readonly isWaiting: boolean
244
- readonly value: Result.Success<E, A> | Result.Failure<E, A>
245
- } => {
239
+ ): Result.Success<E, A> | Result.Failure<E, A> => {
246
240
  const registry = React.useContext(RegistryContext)
247
241
  const resultRx = React.useMemo(
248
242
  () => (options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx)),
@@ -263,7 +257,7 @@ export const useRxSuspense = <E, A>(
263
257
  throw result.promise
264
258
  }
265
259
 
266
- return result
260
+ return result.value
267
261
  }
268
262
 
269
263
  /**
@@ -273,18 +267,12 @@ export const useRxSuspense = <E, A>(
273
267
  export const useRxSuspenseSuccess = <E, A>(
274
268
  rx: Rx.Rx<Result.Result<E, A>>,
275
269
  options?: { readonly suspendOnWaiting?: boolean }
276
- ): {
277
- readonly isWaiting: boolean
278
- readonly value: A
279
- } => {
270
+ ): Result.Success<E, A> => {
280
271
  const result = useRxSuspense(rx, options)
281
- if (result.value._tag === "Failure") {
282
- throw Cause.squash(result.value.cause)
283
- }
284
- return {
285
- isWaiting: result.isWaiting,
286
- value: result.value.value
272
+ if (result._tag === "Failure") {
273
+ throw Cause.squash(result.cause)
287
274
  }
275
+ return result
288
276
  }
289
277
 
290
278
  /**