@effect-rx/rx-react 0.31.0 → 0.31.2

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/dist/cjs/index.js CHANGED
@@ -14,7 +14,6 @@ var Rx = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect-rx/r
14
14
  var _Rx = Rx;
15
15
  exports.Rx = Rx;
16
16
  var Cause = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Cause"));
17
- var _Function = /*#__PURE__*/require("effect/Function");
18
17
  var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
19
18
  var React = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("react"));
20
19
  var Scheduler = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("scheduler"));
@@ -214,76 +213,35 @@ const useRx = rx => {
214
213
  return [useStore(registry, rx), setRx(registry, rx)];
215
214
  };
216
215
  exports.useRx = useRx;
217
- function makeSuspended(rx) {
218
- let resolve;
219
- const promise = new Promise(_resolve => {
220
- resolve = _resolve;
221
- });
222
- promise.rx = rx;
223
- return {
224
- _tag: "Suspended",
225
- promise,
226
- resolve: resolve
227
- };
228
- }
229
- const suspenseRxMap = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-rx/rx-react/suspenseMounts", () => new WeakMap());
230
- function suspenseRx(registry, rx, suspendOnWaiting) {
231
- if (suspenseRxMap.has(rx)) {
232
- return suspenseRxMap.get(rx);
233
- }
234
- let unmount;
235
- let timeout;
236
- function performMount() {
237
- if (timeout !== undefined) {
238
- clearTimeout(timeout);
239
- }
240
- unmount = registry.subscribe(resultRx, _Function.constVoid);
241
- }
242
- function performUnmount() {
243
- timeout = undefined;
244
- if (unmount !== undefined) {
245
- unmount();
246
- unmount = undefined;
247
- }
216
+ const rxPromiseMap = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-rx/rx-react/rxPromiseMap", () => ({
217
+ suspendOnWaiting: new Map(),
218
+ default: new Map()
219
+ }));
220
+ function rxToPromise(registry, rx, suspendOnWaiting) {
221
+ const map = suspendOnWaiting ? rxPromiseMap.suspendOnWaiting : rxPromiseMap.default;
222
+ let promise = map.get(rx);
223
+ if (promise !== undefined) {
224
+ return promise;
248
225
  }
249
- const resultRx = Rx.readable(function (get) {
250
- let state = makeSuspended(rx);
251
- get.subscribe(rx, function (result) {
226
+ promise = new Promise(resolve => {
227
+ const dispose = registry.subscribe(rx, result => {
252
228
  if (result._tag === "Initial" || suspendOnWaiting && result.waiting) {
253
- if (state._tag === "Resolved") {
254
- state = makeSuspended(rx);
255
- get.setSelfSync(state);
256
- }
257
- if (unmount === undefined) {
258
- performMount();
259
- }
260
- } else {
261
- if (unmount !== undefined && timeout === undefined) {
262
- timeout = setTimeout(performUnmount, 1000);
263
- }
264
- if (state._tag === "Resolved") {
265
- state = {
266
- _tag: "Resolved",
267
- result
268
- };
269
- get.setSelfSync(state);
270
- } else {
271
- const resolve = state.resolve;
272
- state = {
273
- _tag: "Resolved",
274
- result
275
- };
276
- get.setSelfSync(state);
277
- resolve();
278
- }
229
+ return;
279
230
  }
280
- }, {
281
- immediate: true
231
+ setTimeout(dispose, 1000);
232
+ resolve();
233
+ map.delete(rx);
282
234
  });
283
- return state;
284
235
  });
285
- suspenseRxMap.set(rx, resultRx);
286
- return resultRx;
236
+ map.set(rx, promise);
237
+ return promise;
238
+ }
239
+ function rxResultOrSuspend(registry, rx, suspendOnWaiting) {
240
+ const value = useStore(registry, rx);
241
+ if (value._tag === "Initial" || suspendOnWaiting && value.waiting) {
242
+ throw rxToPromise(registry, rx, suspendOnWaiting);
243
+ }
244
+ return value;
287
245
  }
288
246
  /**
289
247
  * @since 1.0.0
@@ -291,12 +249,7 @@ function suspenseRx(registry, rx, suspendOnWaiting) {
291
249
  */
292
250
  const useRxSuspense = (rx, options) => {
293
251
  const registry = React.useContext(RegistryContext);
294
- const promiseRx = React.useMemo(() => suspenseRx(registry, rx, options?.suspendOnWaiting ?? false), [registry, rx, options?.suspendOnWaiting]);
295
- const result = useStore(registry, promiseRx);
296
- if (result._tag === "Suspended") {
297
- throw result.promise;
298
- }
299
- return result.result;
252
+ return rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false);
300
253
  };
301
254
  /**
302
255
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","_Registry","exports","Result","_Result","Rx","_Rx","Cause","_Function","_GlobalValue","React","Scheduler","_RxRef","RxRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","scheduleTask","f","unstable_scheduleCallback","unstable_LowPriority","RegistryContext","createContext","make","defaultIdleTTL","storeRegistry","globalValue","makeStore","registry","rx","stores","undefined","store","newStore","subscribe","snapshot","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","resolves","Set","result","waiting","_tag","fns","Array","from","clear","exit","toExit","forEach","resolve","immediate","Promise","useRxRefresh","refresh","useRx","makeSuspended","promise","_resolve","suspenseRxMap","suspenseRx","suspendOnWaiting","unmount","timeout","performMount","clearTimeout","resultRx","constVoid","performUnmount","readable","state","setSelfSync","setTimeout","useRxSuspense","options","promiseRx","useRxSuspenseSuccess","squash","cause","useRxSubscribe","useRxRef","ref","useState","useRxRefProp","prop","useRxRefPropValue"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","_Registry","exports","Result","_Result","Rx","_Rx","Cause","_GlobalValue","React","Scheduler","_RxRef","RxRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","scheduleTask","f","unstable_scheduleCallback","unstable_LowPriority","RegistryContext","createContext","make","defaultIdleTTL","storeRegistry","globalValue","makeStore","registry","rx","stores","undefined","store","newStore","subscribe","snapshot","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","resolves","Set","result","waiting","_tag","fns","Array","from","clear","exit","toExit","forEach","resolve","immediate","Promise","useRxRefresh","refresh","useRx","rxPromiseMap","suspendOnWaiting","Map","rxToPromise","promise","dispose","setTimeout","delete","rxResultOrSuspend","useRxSuspense","options","useRxSuspenseSuccess","squash","cause","useRxSubscribe","useRxRef","ref","useState","useRxRefProp","prop","useRxRefPropValue"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -5,7 +5,6 @@ import * as Registry from "@effect-rx/rx/Registry";
5
5
  import * as Result from "@effect-rx/rx/Result";
6
6
  import * as Rx from "@effect-rx/rx/Rx";
7
7
  import * as Cause from "effect/Cause";
8
- import { constVoid } from "effect/Function";
9
8
  import { globalValue } from "effect/GlobalValue";
10
9
  import * as React from "react";
11
10
  import * as Scheduler from "scheduler";
@@ -167,76 +166,35 @@ export const useRx = rx => {
167
166
  const registry = React.useContext(RegistryContext);
168
167
  return [useStore(registry, rx), setRx(registry, rx)];
169
168
  };
170
- function makeSuspended(rx) {
171
- let resolve;
172
- const promise = new Promise(_resolve => {
173
- resolve = _resolve;
174
- });
175
- promise.rx = rx;
176
- return {
177
- _tag: "Suspended",
178
- promise,
179
- resolve: resolve
180
- };
181
- }
182
- const suspenseRxMap = /*#__PURE__*/globalValue("@effect-rx/rx-react/suspenseMounts", () => new WeakMap());
183
- function suspenseRx(registry, rx, suspendOnWaiting) {
184
- if (suspenseRxMap.has(rx)) {
185
- return suspenseRxMap.get(rx);
186
- }
187
- let unmount;
188
- let timeout;
189
- function performMount() {
190
- if (timeout !== undefined) {
191
- clearTimeout(timeout);
192
- }
193
- unmount = registry.subscribe(resultRx, constVoid);
194
- }
195
- function performUnmount() {
196
- timeout = undefined;
197
- if (unmount !== undefined) {
198
- unmount();
199
- unmount = undefined;
200
- }
169
+ const rxPromiseMap = /*#__PURE__*/globalValue("@effect-rx/rx-react/rxPromiseMap", () => ({
170
+ suspendOnWaiting: new Map(),
171
+ default: new Map()
172
+ }));
173
+ function rxToPromise(registry, rx, suspendOnWaiting) {
174
+ const map = suspendOnWaiting ? rxPromiseMap.suspendOnWaiting : rxPromiseMap.default;
175
+ let promise = map.get(rx);
176
+ if (promise !== undefined) {
177
+ return promise;
201
178
  }
202
- const resultRx = Rx.readable(function (get) {
203
- let state = makeSuspended(rx);
204
- get.subscribe(rx, function (result) {
179
+ promise = new Promise(resolve => {
180
+ const dispose = registry.subscribe(rx, result => {
205
181
  if (result._tag === "Initial" || suspendOnWaiting && result.waiting) {
206
- if (state._tag === "Resolved") {
207
- state = makeSuspended(rx);
208
- get.setSelfSync(state);
209
- }
210
- if (unmount === undefined) {
211
- performMount();
212
- }
213
- } else {
214
- if (unmount !== undefined && timeout === undefined) {
215
- timeout = setTimeout(performUnmount, 1000);
216
- }
217
- if (state._tag === "Resolved") {
218
- state = {
219
- _tag: "Resolved",
220
- result
221
- };
222
- get.setSelfSync(state);
223
- } else {
224
- const resolve = state.resolve;
225
- state = {
226
- _tag: "Resolved",
227
- result
228
- };
229
- get.setSelfSync(state);
230
- resolve();
231
- }
182
+ return;
232
183
  }
233
- }, {
234
- immediate: true
184
+ setTimeout(dispose, 1000);
185
+ resolve();
186
+ map.delete(rx);
235
187
  });
236
- return state;
237
188
  });
238
- suspenseRxMap.set(rx, resultRx);
239
- return resultRx;
189
+ map.set(rx, promise);
190
+ return promise;
191
+ }
192
+ function rxResultOrSuspend(registry, rx, suspendOnWaiting) {
193
+ const value = useStore(registry, rx);
194
+ if (value._tag === "Initial" || suspendOnWaiting && value.waiting) {
195
+ throw rxToPromise(registry, rx, suspendOnWaiting);
196
+ }
197
+ return value;
240
198
  }
241
199
  /**
242
200
  * @since 1.0.0
@@ -244,12 +202,7 @@ function suspenseRx(registry, rx, suspendOnWaiting) {
244
202
  */
245
203
  export const useRxSuspense = (rx, options) => {
246
204
  const registry = React.useContext(RegistryContext);
247
- const promiseRx = React.useMemo(() => suspenseRx(registry, rx, options?.suspendOnWaiting ?? false), [registry, rx, options?.suspendOnWaiting]);
248
- const result = useStore(registry, promiseRx);
249
- if (result._tag === "Suspended") {
250
- throw result.promise;
251
- }
252
- return result.result;
205
+ return rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false);
253
206
  };
254
207
  /**
255
208
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Registry","Result","Rx","Cause","constVoid","globalValue","React","Scheduler","RxRef","scheduleTask","f","unstable_scheduleCallback","unstable_LowPriority","RegistryContext","createContext","make","defaultIdleTTL","storeRegistry","WeakMap","makeStore","registry","rx","stores","get","undefined","set","store","newStore","subscribe","snapshot","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","has","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","resolves","Set","result","waiting","_tag","fns","Array","from","clear","exit","toExit","forEach","resolve","immediate","Promise","useRxRefresh","refresh","useRx","makeSuspended","promise","_resolve","suspenseRxMap","suspenseRx","suspendOnWaiting","unmount","timeout","performMount","clearTimeout","resultRx","performUnmount","readable","state","setSelfSync","setTimeout","useRxSuspense","options","promiseRx","useRxSuspenseSuccess","squash","cause","useRxSubscribe","useRxRef","ref","useState","useRxRefProp","prop","useRxRefPropValue"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Registry","Result","Rx","Cause","globalValue","React","Scheduler","RxRef","scheduleTask","f","unstable_scheduleCallback","unstable_LowPriority","RegistryContext","createContext","make","defaultIdleTTL","storeRegistry","WeakMap","makeStore","registry","rx","stores","get","undefined","set","store","newStore","subscribe","snapshot","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","has","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","resolves","Set","result","waiting","_tag","fns","Array","from","clear","exit","toExit","forEach","resolve","immediate","Promise","useRxRefresh","refresh","useRx","rxPromiseMap","suspendOnWaiting","Map","default","rxToPromise","promise","dispose","setTimeout","delete","rxResultOrSuspend","useRxSuspense","options","useRxSuspenseSuccess","squash","cause","useRxSubscribe","useRxRef","ref","useState","useRxRefProp","prop","useRxRefPropValue"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-rx/rx-react",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "description": "Reactive toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,7 @@
11
11
  "author": "Effect contributors",
12
12
  "homepage": "https://github.com/effect-ts/rx",
13
13
  "dependencies": {
14
- "@effect-rx/rx": "^0.34.0"
14
+ "@effect-rx/rx": "^0.34.2"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "effect": "^3.8.0",
package/src/index.ts CHANGED
@@ -7,7 +7,6 @@ import * as Rx from "@effect-rx/rx/Rx"
7
7
  import type * as RxRef from "@effect-rx/rx/RxRef"
8
8
  import * as Cause from "effect/Cause"
9
9
  import type * as Exit from "effect/Exit"
10
- import { constVoid } from "effect/Function"
11
10
  import { globalValue } from "effect/GlobalValue"
12
11
  import * as React from "react"
13
12
  import * as Scheduler from "scheduler"
@@ -207,88 +206,48 @@ export const useRx = <R, W>(
207
206
  ] as const
208
207
  }
209
208
 
210
- type SuspenseResult<A, E> = {
211
- readonly _tag: "Suspended"
212
- readonly promise: Promise<void>
213
- readonly resolve: () => void
214
- } | {
215
- readonly _tag: "Resolved"
216
- readonly result: Result.Success<A, E> | Result.Failure<A, E>
217
- }
218
- function makeSuspended(rx: Rx.Rx<any>): {
219
- readonly _tag: "Suspended"
220
- readonly promise: Promise<void>
221
- readonly resolve: () => void
222
- } {
223
- let resolve: () => void
224
- const promise = new Promise<void>((_resolve) => {
225
- resolve = _resolve
209
+ const rxPromiseMap = globalValue(
210
+ "@effect-rx/rx-react/rxPromiseMap",
211
+ () => ({
212
+ suspendOnWaiting: new Map<Rx.Rx<any>, Promise<void>>(),
213
+ default: new Map<Rx.Rx<any>, Promise<void>>()
226
214
  })
227
- ;(promise as any).rx = rx
228
- return {
229
- _tag: "Suspended",
230
- promise,
231
- resolve: resolve!
232
- }
233
- }
234
- const suspenseRxMap = globalValue(
235
- "@effect-rx/rx-react/suspenseMounts",
236
- () => new WeakMap<Rx.Rx<any>, Rx.Rx<SuspenseResult<any, any>>>()
237
215
  )
238
216
 
239
- function suspenseRx<A, E>(
217
+ function rxToPromise<A, E>(
240
218
  registry: Registry.Registry,
241
219
  rx: Rx.Rx<Result.Result<A, E>>,
242
220
  suspendOnWaiting: boolean
243
- ): Rx.Rx<SuspenseResult<A, E>> {
244
- if (suspenseRxMap.has(rx)) {
245
- return suspenseRxMap.get(rx)!
246
- }
247
- let unmount: (() => void) | undefined
248
- let timeout: number | undefined
249
- function performMount() {
250
- if (timeout !== undefined) {
251
- clearTimeout(timeout)
252
- }
253
- unmount = registry.subscribe(resultRx, constVoid)
254
- }
255
- function performUnmount() {
256
- timeout = undefined
257
- if (unmount !== undefined) {
258
- unmount()
259
- unmount = undefined
260
- }
221
+ ) {
222
+ const map = suspendOnWaiting ? rxPromiseMap.suspendOnWaiting : rxPromiseMap.default
223
+ let promise = map.get(rx)
224
+ if (promise !== undefined) {
225
+ return promise
261
226
  }
262
- const resultRx = Rx.readable<SuspenseResult<A, E>>(function(get) {
263
- let state: SuspenseResult<A, E> = makeSuspended(rx)
264
- get.subscribe(rx, function(result) {
227
+ promise = new Promise<void>((resolve) => {
228
+ const dispose = registry.subscribe(rx, (result) => {
265
229
  if (result._tag === "Initial" || (suspendOnWaiting && result.waiting)) {
266
- if (state._tag === "Resolved") {
267
- state = makeSuspended(rx)
268
- get.setSelfSync(state)
269
- }
270
- if (unmount === undefined) {
271
- performMount()
272
- }
273
- } else {
274
- if (unmount !== undefined && timeout === undefined) {
275
- timeout = setTimeout(performUnmount, 1000)
276
- }
277
- if (state._tag === "Resolved") {
278
- state = { _tag: "Resolved", result }
279
- get.setSelfSync(state)
280
- } else {
281
- const resolve = state.resolve
282
- state = { _tag: "Resolved", result }
283
- get.setSelfSync(state)
284
- resolve()
285
- }
230
+ return
286
231
  }
287
- }, { immediate: true })
288
- return state
232
+ setTimeout(dispose, 1000)
233
+ resolve()
234
+ map.delete(rx)
235
+ })
289
236
  })
290
- suspenseRxMap.set(rx, resultRx)
291
- return resultRx
237
+ map.set(rx, promise)
238
+ return promise
239
+ }
240
+
241
+ function rxResultOrSuspend<A, E>(
242
+ registry: Registry.Registry,
243
+ rx: Rx.Rx<Result.Result<A, E>>,
244
+ suspendOnWaiting: boolean
245
+ ) {
246
+ const value = useStore(registry, rx)
247
+ if (value._tag === "Initial" || (suspendOnWaiting && value.waiting)) {
248
+ throw rxToPromise(registry, rx, suspendOnWaiting)
249
+ }
250
+ return value
292
251
  }
293
252
 
294
253
  /**
@@ -300,16 +259,7 @@ export const useRxSuspense = <A, E>(
300
259
  options?: { readonly suspendOnWaiting?: boolean }
301
260
  ): Result.Success<A, E> | Result.Failure<A, E> => {
302
261
  const registry = React.useContext(RegistryContext)
303
- const promiseRx = React.useMemo(() => suspenseRx(registry, rx, options?.suspendOnWaiting ?? false), [
304
- registry,
305
- rx,
306
- options?.suspendOnWaiting
307
- ])
308
- const result = useStore(registry, promiseRx)
309
- if (result._tag === "Suspended") {
310
- throw result.promise
311
- }
312
- return result.result
262
+ return rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false)
313
263
  }
314
264
 
315
265
  /**