@effect-rx/rx-react 0.11.3 → 0.13.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.
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRxValue = exports.useRxSuspenseSuccess = exports.useRxSuspense = exports.useRxSubscribe = exports.useRxSetPromise = exports.useRxSet = exports.useRxRefresh = exports.useRxRefProp = exports.useRxRef = exports.useRxMount = exports.useRx = exports.RxRef = exports.Rx = exports.Result = exports.RegistryContext = exports.Registry = void 0;
7
+ var Registry = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-rx/rx/Registry"));
8
+ var _Registry = Registry;
9
+ exports.Registry = Registry;
10
+ var Result = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-rx/rx/Result"));
11
+ var _Result = Result;
12
+ exports.Result = Result;
13
+ var Rx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-rx/rx/Rx"));
14
+ var _Rx = Rx;
15
+ exports.Rx = Rx;
16
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
17
+ var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
18
+ var React = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
19
+ var _RxRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-rx/rx/RxRef"));
20
+ exports.RxRef = _RxRef;
21
+ function _getRequireWildcardCache(e) {
22
+ if ("function" != typeof WeakMap) return null;
23
+ var r = new WeakMap(),
24
+ t = new WeakMap();
25
+ return (_getRequireWildcardCache = function (e) {
26
+ return e ? t : r;
27
+ })(e);
28
+ }
29
+ function _interopRequireWildcard(e, r) {
30
+ if (!r && e && e.__esModule) return e;
31
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
32
+ default: e
33
+ };
34
+ var t = _getRequireWildcardCache(r);
35
+ if (t && t.has(e)) return t.get(e);
36
+ var n = {
37
+ __proto__: null
38
+ },
39
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
40
+ for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {
41
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
42
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
43
+ }
44
+ return n.default = e, t && t.set(e, n), n;
45
+ }
46
+ /**
47
+ * @since 1.0.0
48
+ */
49
+
50
+ /**
51
+ * @since 1.0.0
52
+ * @category modules
53
+ */
54
+
55
+ /**
56
+ * @since 1.0.0
57
+ * @category modules
58
+ */
59
+
60
+ /**
61
+ * @since 1.0.0
62
+ * @category modules
63
+ */
64
+
65
+ /**
66
+ * @since 1.0.0
67
+ * @category modules
68
+ */
69
+
70
+ /**
71
+ * @since 1.0.0
72
+ * @category context
73
+ */
74
+ const RegistryContext = exports.RegistryContext = /*#__PURE__*/React.createContext( /*#__PURE__*/Registry.make());
75
+ const storeRegistry = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-rx/rx-react/storeRegistry", () => new WeakMap());
76
+ function makeStore(registry, rx) {
77
+ const stores = storeRegistry.get(registry) ?? storeRegistry.set(registry, new WeakMap()).get(registry);
78
+ const store = stores.get(rx);
79
+ if (store) {
80
+ return store;
81
+ }
82
+ const newStore = {
83
+ subscribe(f) {
84
+ return registry.subscribe(rx, f);
85
+ },
86
+ snapshot() {
87
+ return registry.get(rx);
88
+ }
89
+ };
90
+ stores.set(rx, newStore);
91
+ return newStore;
92
+ }
93
+ function useStore(registry, rx) {
94
+ const store = makeStore(registry, rx);
95
+ return React.useSyncExternalStore(store.subscribe, store.snapshot);
96
+ }
97
+ /**
98
+ * @since 1.0.0
99
+ * @category hooks
100
+ */
101
+ const useRxValue = (rx, f) => {
102
+ const registry = React.useContext(RegistryContext);
103
+ if (f) {
104
+ const rxB = React.useMemo(() => Rx.map(rx, f), [rx, f]);
105
+ return useStore(registry, rxB);
106
+ }
107
+ return useStore(registry, rx);
108
+ };
109
+ exports.useRxValue = useRxValue;
110
+ function mountRx(registry, rx) {
111
+ React.useEffect(() => registry.mount(rx), [rx, registry]);
112
+ }
113
+ function setRx(registry, rx) {
114
+ return React.useCallback(value => {
115
+ if (typeof value === "function") {
116
+ registry.set(rx, value(registry.get(rx)));
117
+ return;
118
+ } else {
119
+ registry.set(rx, value);
120
+ }
121
+ }, [registry, rx]);
122
+ }
123
+ function setRxPromise(registry, rx) {
124
+ const cancelRef = React.useRef(undefined);
125
+ if (!cancelRef.current) {
126
+ cancelRef.current = new Set();
127
+ }
128
+ React.useEffect(() => () => {
129
+ cancelRef.current.forEach(cancel => cancel());
130
+ cancelRef.current.clear();
131
+ }, []);
132
+ return React.useCallback(value => {
133
+ registry.set(rx, value);
134
+ return new Promise(resolve => {
135
+ const value = registry.get(rx);
136
+ if (Result.isSuccess(value) || Result.isFailure(value)) {
137
+ resolve(Result.toExit(value));
138
+ } else {
139
+ const cancel = registry.subscribe(rx, value => {
140
+ if (Result.isSuccess(value) || Result.isFailure(value)) {
141
+ cancelRef.current.delete(cancel);
142
+ cancel();
143
+ resolve(Result.toExit(value));
144
+ }
145
+ });
146
+ cancelRef.current.add(cancel);
147
+ }
148
+ });
149
+ }, [registry, rx]);
150
+ }
151
+ /**
152
+ * @since 1.0.0
153
+ * @category hooks
154
+ */
155
+ const useRxMount = rx => {
156
+ const registry = React.useContext(RegistryContext);
157
+ mountRx(registry, rx);
158
+ };
159
+ /**
160
+ * @since 1.0.0
161
+ * @category hooks
162
+ */
163
+ exports.useRxMount = useRxMount;
164
+ const useRxSet = rx => {
165
+ const registry = React.useContext(RegistryContext);
166
+ mountRx(registry, rx);
167
+ return setRx(registry, rx);
168
+ };
169
+ /**
170
+ * @since 1.0.0
171
+ * @category hooks
172
+ */
173
+ exports.useRxSet = useRxSet;
174
+ const useRxSetPromise = rx => {
175
+ const registry = React.useContext(RegistryContext);
176
+ return setRxPromise(registry, rx);
177
+ };
178
+ /**
179
+ * @since 1.0.0
180
+ * @category hooks
181
+ */
182
+ exports.useRxSetPromise = useRxSetPromise;
183
+ const useRxRefresh = rx => {
184
+ const registry = React.useContext(RegistryContext);
185
+ mountRx(registry, rx);
186
+ return React.useCallback(() => {
187
+ registry.refresh(rx);
188
+ }, [registry, rx]);
189
+ };
190
+ /**
191
+ * @since 1.0.0
192
+ * @category hooks
193
+ */
194
+ exports.useRxRefresh = useRxRefresh;
195
+ const useRx = rx => {
196
+ const registry = React.useContext(RegistryContext);
197
+ return [useStore(registry, rx), setRx(registry, rx)];
198
+ };
199
+ exports.useRx = useRx;
200
+ const suspenseRx = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
201
+ const result = get(rx);
202
+ if (result._tag === "Initial") {
203
+ return {
204
+ _tag: "Suspended",
205
+ promise: new Promise(resolve => get.addFinalizer(resolve))
206
+ };
207
+ }
208
+ return {
209
+ _tag: "Value",
210
+ value: result
211
+ };
212
+ }));
213
+ const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
214
+ const result = get(rx);
215
+ if (result.waiting || result._tag === "Initial") {
216
+ return {
217
+ _tag: "Suspended",
218
+ promise: new Promise(resolve => get.addFinalizer(resolve))
219
+ };
220
+ }
221
+ return {
222
+ _tag: "Value",
223
+ value: result
224
+ };
225
+ }));
226
+ const suspenseMounts = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-rx/rx-react/suspenseMounts", () => new Set());
227
+ /**
228
+ * @since 1.0.0
229
+ * @category hooks
230
+ */
231
+ const useRxSuspense = (rx, options) => {
232
+ const registry = React.useContext(RegistryContext);
233
+ const resultRx = React.useMemo(() => options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx), [options?.suspendOnWaiting, rx]);
234
+ const result = useStore(registry, resultRx);
235
+ if (result._tag === "Suspended") {
236
+ if (!suspenseMounts.has(resultRx)) {
237
+ suspenseMounts.add(resultRx);
238
+ const unmount = registry.mount(resultRx);
239
+ result.promise.then(function () {
240
+ setTimeout(function () {
241
+ unmount();
242
+ suspenseMounts.delete(resultRx);
243
+ }, 1000);
244
+ });
245
+ }
246
+ throw result.promise;
247
+ }
248
+ return result.value;
249
+ };
250
+ /**
251
+ * @since 1.0.0
252
+ * @category hooks
253
+ */
254
+ exports.useRxSuspense = useRxSuspense;
255
+ const useRxSuspenseSuccess = (rx, options) => {
256
+ const result = useRxSuspense(rx, options);
257
+ if (result._tag === "Failure") {
258
+ throw Cause.squash(result.cause);
259
+ }
260
+ return result;
261
+ };
262
+ /**
263
+ * @since 1.0.0
264
+ * @category hooks
265
+ */
266
+ exports.useRxSuspenseSuccess = useRxSuspenseSuccess;
267
+ const useRxSubscribe = (rx, f, options) => {
268
+ const registry = React.useContext(RegistryContext);
269
+ React.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
270
+ };
271
+ /**
272
+ * @since 1.0.0
273
+ * @category hooks
274
+ */
275
+ exports.useRxSubscribe = useRxSubscribe;
276
+ const useRxRef = ref => {
277
+ const [value, setValue] = React.useState(ref.value);
278
+ React.useEffect(() => ref.subscribe(setValue), [ref]);
279
+ return value;
280
+ };
281
+ /**
282
+ * @since 1.0.0
283
+ * @category hooks
284
+ */
285
+ exports.useRxRef = useRxRef;
286
+ const useRxRefProp = (ref, prop) => {
287
+ return React.useMemo(() => ref.prop(prop), [ref, prop]);
288
+ };
289
+ exports.useRxRefProp = useRxRefProp;
290
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","_Registry","exports","Result","_Result","Rx","_Rx","Cause","_GlobalValue","React","_RxRef","RxRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RegistryContext","createContext","make","storeRegistry","globalValue","makeStore","registry","rx","stores","store","newStore","subscribe","f","snapshot","useStore","useSyncExternalStore","useRxValue","useContext","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","value","setRxPromise","cancelRef","useRef","undefined","current","Set","forEach","cancel","clear","Promise","resolve","isSuccess","isFailure","toExit","delete","add","useRxMount","useRxSet","useRxSetPromise","useRxRefresh","refresh","useRx","suspenseRx","family","readable","result","_tag","promise","addFinalizer","suspenseRxWaiting","waiting","suspenseMounts","useRxSuspense","options","resultRx","suspendOnWaiting","unmount","then","setTimeout","useRxSuspenseSuccess","squash","cause","useRxSubscribe","immediate","useRxRef","ref","setValue","useState","useRxRefProp","prop"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/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"}
@@ -1,24 +1,37 @@
1
- import * as Registry from '@effect-rx/rx/Registry';
2
- export { Registry };
3
- import * as Result from '@effect-rx/rx/Result';
4
- export { Result };
5
- import * as Rx from '@effect-rx/rx/Rx';
6
- export { Rx };
7
- import * as Cause from 'effect/Cause';
8
- import { globalValue } from 'effect/GlobalValue';
9
- import * as React from 'react';
10
- import * as RxRef from '@effect-rx/rx/RxRef';
11
- export { RxRef };
12
-
13
1
  /**
14
2
  * @since 1.0.0
15
3
  */
16
-
4
+ import * as Registry from "@effect-rx/rx/Registry";
5
+ import * as Result from "@effect-rx/rx/Result";
6
+ import * as Rx from "@effect-rx/rx/Rx";
7
+ import * as Cause from "effect/Cause";
8
+ import { globalValue } from "effect/GlobalValue";
9
+ import * as React from "react";
10
+ /**
11
+ * @since 1.0.0
12
+ * @category modules
13
+ */
14
+ export * as Registry from "@effect-rx/rx/Registry";
15
+ /**
16
+ * @since 1.0.0
17
+ * @category modules
18
+ */
19
+ export * as Result from "@effect-rx/rx/Result";
20
+ /**
21
+ * @since 1.0.0
22
+ * @category modules
23
+ */
24
+ export * as Rx from "@effect-rx/rx/Rx";
25
+ /**
26
+ * @since 1.0.0
27
+ * @category modules
28
+ */
29
+ export * as RxRef from "@effect-rx/rx/RxRef";
17
30
  /**
18
31
  * @since 1.0.0
19
32
  * @category context
20
33
  */
21
- const RegistryContext = /*#__PURE__*/React.createContext( /*#__PURE__*/Registry.make());
34
+ export const RegistryContext = /*#__PURE__*/React.createContext( /*#__PURE__*/Registry.make());
22
35
  const storeRegistry = /*#__PURE__*/globalValue("@effect-rx/rx-react/storeRegistry", () => new WeakMap());
23
36
  function makeStore(registry, rx) {
24
37
  const stores = storeRegistry.get(registry) ?? storeRegistry.set(registry, new WeakMap()).get(registry);
@@ -41,12 +54,11 @@ function useStore(registry, rx) {
41
54
  const store = makeStore(registry, rx);
42
55
  return React.useSyncExternalStore(store.subscribe, store.snapshot);
43
56
  }
44
-
45
57
  /**
46
58
  * @since 1.0.0
47
59
  * @category hooks
48
60
  */
49
- const useRxValue = (rx, f) => {
61
+ export const useRxValue = (rx, f) => {
50
62
  const registry = React.useContext(RegistryContext);
51
63
  if (f) {
52
64
  const rxB = React.useMemo(() => Rx.map(rx, f), [rx, f]);
@@ -95,74 +107,66 @@ function setRxPromise(registry, rx) {
95
107
  });
96
108
  }, [registry, rx]);
97
109
  }
98
-
99
110
  /**
100
111
  * @since 1.0.0
101
112
  * @category hooks
102
113
  */
103
- const useRxMount = rx => {
114
+ export const useRxMount = rx => {
104
115
  const registry = React.useContext(RegistryContext);
105
116
  mountRx(registry, rx);
106
117
  };
107
-
108
118
  /**
109
119
  * @since 1.0.0
110
120
  * @category hooks
111
121
  */
112
- const useRxSet = rx => {
122
+ export const useRxSet = rx => {
113
123
  const registry = React.useContext(RegistryContext);
114
124
  mountRx(registry, rx);
115
125
  return setRx(registry, rx);
116
126
  };
117
-
118
127
  /**
119
128
  * @since 1.0.0
120
129
  * @category hooks
121
130
  */
122
- const useRxSetPromise = rx => {
131
+ export const useRxSetPromise = rx => {
123
132
  const registry = React.useContext(RegistryContext);
124
133
  return setRxPromise(registry, rx);
125
134
  };
126
-
127
135
  /**
128
136
  * @since 1.0.0
129
137
  * @category hooks
130
138
  */
131
- const useRxRefresh = rx => {
139
+ export const useRxRefresh = rx => {
132
140
  const registry = React.useContext(RegistryContext);
133
141
  mountRx(registry, rx);
134
142
  return React.useCallback(() => {
135
143
  registry.refresh(rx);
136
144
  }, [registry, rx]);
137
145
  };
138
-
139
146
  /**
140
147
  * @since 1.0.0
141
148
  * @category hooks
142
149
  */
143
- const useRx = rx => {
150
+ export const useRx = rx => {
144
151
  const registry = React.useContext(RegistryContext);
145
152
  return [useStore(registry, rx), setRx(registry, rx)];
146
153
  };
147
154
  const suspenseRx = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
148
155
  const result = get(rx);
149
- const value = Result.noWaiting(result);
150
- if (value._tag === "Initial") {
156
+ if (result._tag === "Initial") {
151
157
  return {
152
158
  _tag: "Suspended",
153
159
  promise: new Promise(resolve => get.addFinalizer(resolve))
154
160
  };
155
161
  }
156
- const isWaiting = Result.isWaiting(result);
157
162
  return {
158
163
  _tag: "Value",
159
- isWaiting,
160
- value
164
+ value: result
161
165
  };
162
166
  }));
163
167
  const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
164
168
  const result = get(rx);
165
- if (result._tag === "Waiting" || result._tag === "Initial") {
169
+ if (result.waiting || result._tag === "Initial") {
166
170
  return {
167
171
  _tag: "Suspended",
168
172
  promise: new Promise(resolve => get.addFinalizer(resolve))
@@ -170,17 +174,15 @@ const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
170
174
  }
171
175
  return {
172
176
  _tag: "Value",
173
- isWaiting: false,
174
177
  value: result
175
178
  };
176
179
  }));
177
180
  const suspenseMounts = /*#__PURE__*/globalValue("@effect-rx/rx-react/suspenseMounts", () => new Set());
178
-
179
181
  /**
180
182
  * @since 1.0.0
181
183
  * @category hooks
182
184
  */
183
- const useRxSuspense = (rx, options) => {
185
+ export const useRxSuspense = (rx, options) => {
184
186
  const registry = React.useContext(RegistryContext);
185
187
  const resultRx = React.useMemo(() => options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx), [options?.suspendOnWaiting, rx]);
186
188
  const result = useStore(registry, resultRx);
@@ -197,49 +199,41 @@ const useRxSuspense = (rx, options) => {
197
199
  }
198
200
  throw result.promise;
199
201
  }
200
- return result;
202
+ return result.value;
201
203
  };
202
-
203
204
  /**
204
205
  * @since 1.0.0
205
206
  * @category hooks
206
207
  */
207
- const useRxSuspenseSuccess = (rx, options) => {
208
+ export const useRxSuspenseSuccess = (rx, options) => {
208
209
  const result = useRxSuspense(rx, options);
209
- if (result.value._tag === "Failure") {
210
- throw Cause.squash(result.value.cause);
210
+ if (result._tag === "Failure") {
211
+ throw Cause.squash(result.cause);
211
212
  }
212
- return {
213
- isWaiting: result.isWaiting,
214
- value: result.value.value
215
- };
213
+ return result;
216
214
  };
217
-
218
215
  /**
219
216
  * @since 1.0.0
220
217
  * @category hooks
221
218
  */
222
- const useRxSubscribe = (rx, f, options) => {
219
+ export const useRxSubscribe = (rx, f, options) => {
223
220
  const registry = React.useContext(RegistryContext);
224
221
  React.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
225
222
  };
226
-
227
223
  /**
228
224
  * @since 1.0.0
229
225
  * @category hooks
230
226
  */
231
- const useRxRef = ref => {
227
+ export const useRxRef = ref => {
232
228
  const [value, setValue] = React.useState(ref.value);
233
229
  React.useEffect(() => ref.subscribe(setValue), [ref]);
234
230
  return value;
235
231
  };
236
-
237
232
  /**
238
233
  * @since 1.0.0
239
234
  * @category hooks
240
235
  */
241
- const useRxRefProp = (ref, prop) => {
236
+ export const useRxRefProp = (ref, prop) => {
242
237
  return React.useMemo(() => ref.prop(prop), [ref, prop]);
243
238
  };
244
-
245
- export { RegistryContext, useRx, useRxMount, useRxRef, useRxRefProp, useRxRefresh, useRxSet, useRxSetPromise, useRxSubscribe, useRxSuspense, useRxSuspenseSuccess, useRxValue };
239
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Registry","Result","Rx","Cause","globalValue","React","RxRef","RegistryContext","createContext","make","storeRegistry","WeakMap","makeStore","registry","rx","stores","get","set","store","newStore","subscribe","f","snapshot","useStore","useSyncExternalStore","useRxValue","useContext","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","value","setRxPromise","cancelRef","useRef","undefined","current","Set","forEach","cancel","clear","Promise","resolve","isSuccess","isFailure","toExit","delete","add","useRxMount","useRxSet","useRxSetPromise","useRxRefresh","refresh","useRx","suspenseRx","family","readable","result","_tag","promise","addFinalizer","suspenseRxWaiting","waiting","suspenseMounts","useRxSuspense","options","resultRx","suspendOnWaiting","has","unmount","then","setTimeout","useRxSuspenseSuccess","squash","cause","useRxSubscribe","immediate","useRxRef","ref","setValue","useState","useRxRefProp","prop"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": false
4
+ }
package/package.json CHANGED
@@ -1,63 +1,30 @@
1
1
  {
2
2
  "name": "@effect-rx/rx-react",
3
- "version": "0.11.3",
3
+ "version": "0.13.0",
4
4
  "description": "Reactive toolkit for Effect",
5
- "main": "dist/effect-rx-rx-react.cjs.js",
6
- "module": "dist/effect-rx-rx-react.esm.js",
7
- "publishConfig": {
8
- "access": "public"
9
- },
5
+ "license": "MIT",
10
6
  "repository": {
11
7
  "type": "git",
12
8
  "url": "https://github.com/effect-ts/rx.git"
13
9
  },
14
- "homepage": "https://github.com/effect-ts/rx",
15
- "preconstruct": {
16
- "entrypoints": [
17
- "*.ts"
18
- ],
19
- "distFilenameStrategy": "full",
20
- "exports": {
21
- "importConditionDefaultExport": "default"
22
- }
23
- },
24
- "effect": {
25
- "includeInternal": false
26
- },
27
- "keywords": [],
10
+ "sideEffects": false,
28
11
  "author": "Effect contributors",
29
- "license": "MIT",
30
- "sideEffects": [],
31
- "devDependencies": {
32
- "@types/react": "^18.2.34",
33
- "effect": "2.0.0-next.54",
34
- "react": "^18.2.0"
12
+ "dependencies": {
13
+ "@effect-rx/rx": "^0.13.0"
35
14
  },
36
15
  "peerDependencies": {
37
- "effect": "2.0.0-next.54",
16
+ "effect": "2.0.0-next.55",
38
17
  "react": "^18"
39
18
  },
40
- "dependencies": {
41
- "@effect-rx/rx": "^0.11.3"
42
- },
43
- "files": [
44
- "src",
45
- "dist"
46
- ],
19
+ "main": "./dist/cjs/index.js",
20
+ "module": "./dist/esm/index.js",
21
+ "types": "./dist/dts/index.d.ts",
47
22
  "exports": {
23
+ "./package.json": "./package.json",
48
24
  ".": {
49
- "types": "./dist/declarations/src/index.d.ts",
50
- "module": "./dist/effect-rx-rx-react.esm.js",
51
- "import": "./dist/effect-rx-rx-react.cjs.mjs",
52
- "default": "./dist/effect-rx-rx-react.cjs.js"
53
- },
54
- "./package.json": "./package.json"
55
- },
56
- "scripts": {
57
- "docs": "docgen",
58
- "lint": "eslint src/**/*.ts test/**/*.ts",
59
- "tc": "tsc --noEmit",
60
- "test": "vitest",
61
- "coverage": "vitest run --coverage"
25
+ "types": "./dist/dts/index.d.ts",
26
+ "import": "./dist/esm/index.js",
27
+ "default": "./dist/cjs/index.js"
28
+ }
62
29
  }
63
30
  }