@effect-rx/rx-react 0.12.0 → 0.14.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.
- package/dist/cjs/index.js +290 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/{effect-rx-rx-react.esm.js → esm/index.js} +39 -38
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +14 -47
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/effect-rx-rx-react.cjs.d.mts +0 -2
- package/dist/effect-rx-rx-react.cjs.d.mts.map +0 -1
- package/dist/effect-rx-rx-react.cjs.d.ts +0 -2
- package/dist/effect-rx-rx-react.cjs.d.ts.map +0 -1
- package/dist/effect-rx-rx-react.cjs.dev.js +0 -278
- package/dist/effect-rx-rx-react.cjs.js +0 -7
- package/dist/effect-rx-rx-react.cjs.mjs +0 -18
- package/dist/effect-rx-rx-react.cjs.prod.js +0 -278
- package/src/tsconfig.json +0 -48
- /package/dist/{declarations/src → dts}/index.d.ts +0 -0
@@ -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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"}
|
@@ -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,52 +107,47 @@ 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
|
};
|
@@ -171,12 +178,11 @@ const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => Rx.readable(get => {
|
|
171
178
|
};
|
172
179
|
}));
|
173
180
|
const suspenseMounts = /*#__PURE__*/globalValue("@effect-rx/rx-react/suspenseMounts", () => new Set());
|
174
|
-
|
175
181
|
/**
|
176
182
|
* @since 1.0.0
|
177
183
|
* @category hooks
|
178
184
|
*/
|
179
|
-
const useRxSuspense = (rx, options) => {
|
185
|
+
export const useRxSuspense = (rx, options) => {
|
180
186
|
const registry = React.useContext(RegistryContext);
|
181
187
|
const resultRx = React.useMemo(() => options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx), [options?.suspendOnWaiting, rx]);
|
182
188
|
const result = useStore(registry, resultRx);
|
@@ -195,44 +201,39 @@ const useRxSuspense = (rx, options) => {
|
|
195
201
|
}
|
196
202
|
return result.value;
|
197
203
|
};
|
198
|
-
|
199
204
|
/**
|
200
205
|
* @since 1.0.0
|
201
206
|
* @category hooks
|
202
207
|
*/
|
203
|
-
const useRxSuspenseSuccess = (rx, options) => {
|
208
|
+
export const useRxSuspenseSuccess = (rx, options) => {
|
204
209
|
const result = useRxSuspense(rx, options);
|
205
210
|
if (result._tag === "Failure") {
|
206
211
|
throw Cause.squash(result.cause);
|
207
212
|
}
|
208
213
|
return result;
|
209
214
|
};
|
210
|
-
|
211
215
|
/**
|
212
216
|
* @since 1.0.0
|
213
217
|
* @category hooks
|
214
218
|
*/
|
215
|
-
const useRxSubscribe = (rx, f, options) => {
|
219
|
+
export const useRxSubscribe = (rx, f, options) => {
|
216
220
|
const registry = React.useContext(RegistryContext);
|
217
221
|
React.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
|
218
222
|
};
|
219
|
-
|
220
223
|
/**
|
221
224
|
* @since 1.0.0
|
222
225
|
* @category hooks
|
223
226
|
*/
|
224
|
-
const useRxRef = ref => {
|
227
|
+
export const useRxRef = ref => {
|
225
228
|
const [value, setValue] = React.useState(ref.value);
|
226
229
|
React.useEffect(() => ref.subscribe(setValue), [ref]);
|
227
230
|
return value;
|
228
231
|
};
|
229
|
-
|
230
232
|
/**
|
231
233
|
* @since 1.0.0
|
232
234
|
* @category hooks
|
233
235
|
*/
|
234
|
-
const useRxRefProp = (ref, prop) => {
|
236
|
+
export const useRxRefProp = (ref, prop) => {
|
235
237
|
return React.useMemo(() => ref.prop(prop), [ref, prop]);
|
236
238
|
};
|
237
|
-
|
238
|
-
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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"}
|
package/package.json
CHANGED
@@ -1,63 +1,30 @@
|
|
1
1
|
{
|
2
2
|
"name": "@effect-rx/rx-react",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.14.0",
|
4
4
|
"description": "Reactive toolkit for Effect",
|
5
|
-
"
|
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": [],
|
28
|
-
"author": "Effect contributors",
|
29
|
-
"license": "MIT",
|
30
10
|
"sideEffects": [],
|
31
|
-
"
|
32
|
-
|
33
|
-
"effect": "
|
34
|
-
"react": "^18.2.0"
|
11
|
+
"author": "Effect contributors",
|
12
|
+
"dependencies": {
|
13
|
+
"@effect-rx/rx": "^0.14.0"
|
35
14
|
},
|
36
15
|
"peerDependencies": {
|
37
|
-
"effect": "2.0.0-next.
|
16
|
+
"effect": "2.0.0-next.56",
|
38
17
|
"react": "^18"
|
39
18
|
},
|
40
|
-
"
|
41
|
-
|
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/
|
50
|
-
"
|
51
|
-
"
|
52
|
-
|
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
|
}
|
@@ -1 +0,0 @@
|
|
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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"effect-rx-rx-react.cjs.d.mts","sourceRoot":"","sources":["./declarations/src/index.d.ts"],"names":[],"mappings":"AAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"effect-rx-rx-react.cjs.d.ts","sourceRoot":"","sources":["./declarations/src/index.d.ts"],"names":[],"mappings":"AAAA"}
|
@@ -1,278 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var Registry = require('@effect-rx/rx/Registry');
|
6
|
-
var Result = require('@effect-rx/rx/Result');
|
7
|
-
var Rx = require('@effect-rx/rx/Rx');
|
8
|
-
var Cause = require('effect/Cause');
|
9
|
-
var GlobalValue = require('effect/GlobalValue');
|
10
|
-
var React = require('react');
|
11
|
-
var RxRef = require('@effect-rx/rx/RxRef');
|
12
|
-
|
13
|
-
function _interopNamespace(e) {
|
14
|
-
if (e && e.__esModule) return e;
|
15
|
-
var n = Object.create(null);
|
16
|
-
if (e) {
|
17
|
-
Object.keys(e).forEach(function (k) {
|
18
|
-
if (k !== 'default') {
|
19
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
20
|
-
Object.defineProperty(n, k, d.get ? d : {
|
21
|
-
enumerable: true,
|
22
|
-
get: function () { return e[k]; }
|
23
|
-
});
|
24
|
-
}
|
25
|
-
});
|
26
|
-
}
|
27
|
-
n["default"] = e;
|
28
|
-
return Object.freeze(n);
|
29
|
-
}
|
30
|
-
|
31
|
-
var Registry__namespace = /*#__PURE__*/_interopNamespace(Registry);
|
32
|
-
var Result__namespace = /*#__PURE__*/_interopNamespace(Result);
|
33
|
-
var Rx__namespace = /*#__PURE__*/_interopNamespace(Rx);
|
34
|
-
var Cause__namespace = /*#__PURE__*/_interopNamespace(Cause);
|
35
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
36
|
-
var RxRef__namespace = /*#__PURE__*/_interopNamespace(RxRef);
|
37
|
-
|
38
|
-
/**
|
39
|
-
* @since 1.0.0
|
40
|
-
*/
|
41
|
-
|
42
|
-
/**
|
43
|
-
* @since 1.0.0
|
44
|
-
* @category context
|
45
|
-
*/
|
46
|
-
const RegistryContext = /*#__PURE__*/React__namespace.createContext( /*#__PURE__*/Registry__namespace.make());
|
47
|
-
const storeRegistry = /*#__PURE__*/GlobalValue.globalValue("@effect-rx/rx-react/storeRegistry", () => new WeakMap());
|
48
|
-
function makeStore(registry, rx) {
|
49
|
-
const stores = storeRegistry.get(registry) ?? storeRegistry.set(registry, new WeakMap()).get(registry);
|
50
|
-
const store = stores.get(rx);
|
51
|
-
if (store) {
|
52
|
-
return store;
|
53
|
-
}
|
54
|
-
const newStore = {
|
55
|
-
subscribe(f) {
|
56
|
-
return registry.subscribe(rx, f);
|
57
|
-
},
|
58
|
-
snapshot() {
|
59
|
-
return registry.get(rx);
|
60
|
-
}
|
61
|
-
};
|
62
|
-
stores.set(rx, newStore);
|
63
|
-
return newStore;
|
64
|
-
}
|
65
|
-
function useStore(registry, rx) {
|
66
|
-
const store = makeStore(registry, rx);
|
67
|
-
return React__namespace.useSyncExternalStore(store.subscribe, store.snapshot);
|
68
|
-
}
|
69
|
-
|
70
|
-
/**
|
71
|
-
* @since 1.0.0
|
72
|
-
* @category hooks
|
73
|
-
*/
|
74
|
-
const useRxValue = (rx, f) => {
|
75
|
-
const registry = React__namespace.useContext(RegistryContext);
|
76
|
-
if (f) {
|
77
|
-
const rxB = React__namespace.useMemo(() => Rx__namespace.map(rx, f), [rx, f]);
|
78
|
-
return useStore(registry, rxB);
|
79
|
-
}
|
80
|
-
return useStore(registry, rx);
|
81
|
-
};
|
82
|
-
function mountRx(registry, rx) {
|
83
|
-
React__namespace.useEffect(() => registry.mount(rx), [rx, registry]);
|
84
|
-
}
|
85
|
-
function setRx(registry, rx) {
|
86
|
-
return React__namespace.useCallback(value => {
|
87
|
-
if (typeof value === "function") {
|
88
|
-
registry.set(rx, value(registry.get(rx)));
|
89
|
-
return;
|
90
|
-
} else {
|
91
|
-
registry.set(rx, value);
|
92
|
-
}
|
93
|
-
}, [registry, rx]);
|
94
|
-
}
|
95
|
-
function setRxPromise(registry, rx) {
|
96
|
-
const cancelRef = React__namespace.useRef(undefined);
|
97
|
-
if (!cancelRef.current) {
|
98
|
-
cancelRef.current = new Set();
|
99
|
-
}
|
100
|
-
React__namespace.useEffect(() => () => {
|
101
|
-
cancelRef.current.forEach(cancel => cancel());
|
102
|
-
cancelRef.current.clear();
|
103
|
-
}, []);
|
104
|
-
return React__namespace.useCallback(value => {
|
105
|
-
registry.set(rx, value);
|
106
|
-
return new Promise(resolve => {
|
107
|
-
const value = registry.get(rx);
|
108
|
-
if (Result__namespace.isSuccess(value) || Result__namespace.isFailure(value)) {
|
109
|
-
resolve(Result__namespace.toExit(value));
|
110
|
-
} else {
|
111
|
-
const cancel = registry.subscribe(rx, value => {
|
112
|
-
if (Result__namespace.isSuccess(value) || Result__namespace.isFailure(value)) {
|
113
|
-
cancelRef.current.delete(cancel);
|
114
|
-
cancel();
|
115
|
-
resolve(Result__namespace.toExit(value));
|
116
|
-
}
|
117
|
-
});
|
118
|
-
cancelRef.current.add(cancel);
|
119
|
-
}
|
120
|
-
});
|
121
|
-
}, [registry, rx]);
|
122
|
-
}
|
123
|
-
|
124
|
-
/**
|
125
|
-
* @since 1.0.0
|
126
|
-
* @category hooks
|
127
|
-
*/
|
128
|
-
const useRxMount = rx => {
|
129
|
-
const registry = React__namespace.useContext(RegistryContext);
|
130
|
-
mountRx(registry, rx);
|
131
|
-
};
|
132
|
-
|
133
|
-
/**
|
134
|
-
* @since 1.0.0
|
135
|
-
* @category hooks
|
136
|
-
*/
|
137
|
-
const useRxSet = rx => {
|
138
|
-
const registry = React__namespace.useContext(RegistryContext);
|
139
|
-
mountRx(registry, rx);
|
140
|
-
return setRx(registry, rx);
|
141
|
-
};
|
142
|
-
|
143
|
-
/**
|
144
|
-
* @since 1.0.0
|
145
|
-
* @category hooks
|
146
|
-
*/
|
147
|
-
const useRxSetPromise = rx => {
|
148
|
-
const registry = React__namespace.useContext(RegistryContext);
|
149
|
-
return setRxPromise(registry, rx);
|
150
|
-
};
|
151
|
-
|
152
|
-
/**
|
153
|
-
* @since 1.0.0
|
154
|
-
* @category hooks
|
155
|
-
*/
|
156
|
-
const useRxRefresh = rx => {
|
157
|
-
const registry = React__namespace.useContext(RegistryContext);
|
158
|
-
mountRx(registry, rx);
|
159
|
-
return React__namespace.useCallback(() => {
|
160
|
-
registry.refresh(rx);
|
161
|
-
}, [registry, rx]);
|
162
|
-
};
|
163
|
-
|
164
|
-
/**
|
165
|
-
* @since 1.0.0
|
166
|
-
* @category hooks
|
167
|
-
*/
|
168
|
-
const useRx = rx => {
|
169
|
-
const registry = React__namespace.useContext(RegistryContext);
|
170
|
-
return [useStore(registry, rx), setRx(registry, rx)];
|
171
|
-
};
|
172
|
-
const suspenseRx = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
|
173
|
-
const result = get(rx);
|
174
|
-
if (result._tag === "Initial") {
|
175
|
-
return {
|
176
|
-
_tag: "Suspended",
|
177
|
-
promise: new Promise(resolve => get.addFinalizer(resolve))
|
178
|
-
};
|
179
|
-
}
|
180
|
-
return {
|
181
|
-
_tag: "Value",
|
182
|
-
value: result
|
183
|
-
};
|
184
|
-
}));
|
185
|
-
const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
|
186
|
-
const result = get(rx);
|
187
|
-
if (result.waiting || result._tag === "Initial") {
|
188
|
-
return {
|
189
|
-
_tag: "Suspended",
|
190
|
-
promise: new Promise(resolve => get.addFinalizer(resolve))
|
191
|
-
};
|
192
|
-
}
|
193
|
-
return {
|
194
|
-
_tag: "Value",
|
195
|
-
value: result
|
196
|
-
};
|
197
|
-
}));
|
198
|
-
const suspenseMounts = /*#__PURE__*/GlobalValue.globalValue("@effect-rx/rx-react/suspenseMounts", () => new Set());
|
199
|
-
|
200
|
-
/**
|
201
|
-
* @since 1.0.0
|
202
|
-
* @category hooks
|
203
|
-
*/
|
204
|
-
const useRxSuspense = (rx, options) => {
|
205
|
-
const registry = React__namespace.useContext(RegistryContext);
|
206
|
-
const resultRx = React__namespace.useMemo(() => options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx), [options?.suspendOnWaiting, rx]);
|
207
|
-
const result = useStore(registry, resultRx);
|
208
|
-
if (result._tag === "Suspended") {
|
209
|
-
if (!suspenseMounts.has(resultRx)) {
|
210
|
-
suspenseMounts.add(resultRx);
|
211
|
-
const unmount = registry.mount(resultRx);
|
212
|
-
result.promise.then(function () {
|
213
|
-
setTimeout(function () {
|
214
|
-
unmount();
|
215
|
-
suspenseMounts.delete(resultRx);
|
216
|
-
}, 1000);
|
217
|
-
});
|
218
|
-
}
|
219
|
-
throw result.promise;
|
220
|
-
}
|
221
|
-
return result.value;
|
222
|
-
};
|
223
|
-
|
224
|
-
/**
|
225
|
-
* @since 1.0.0
|
226
|
-
* @category hooks
|
227
|
-
*/
|
228
|
-
const useRxSuspenseSuccess = (rx, options) => {
|
229
|
-
const result = useRxSuspense(rx, options);
|
230
|
-
if (result._tag === "Failure") {
|
231
|
-
throw Cause__namespace.squash(result.cause);
|
232
|
-
}
|
233
|
-
return result;
|
234
|
-
};
|
235
|
-
|
236
|
-
/**
|
237
|
-
* @since 1.0.0
|
238
|
-
* @category hooks
|
239
|
-
*/
|
240
|
-
const useRxSubscribe = (rx, f, options) => {
|
241
|
-
const registry = React__namespace.useContext(RegistryContext);
|
242
|
-
React__namespace.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
|
243
|
-
};
|
244
|
-
|
245
|
-
/**
|
246
|
-
* @since 1.0.0
|
247
|
-
* @category hooks
|
248
|
-
*/
|
249
|
-
const useRxRef = ref => {
|
250
|
-
const [value, setValue] = React__namespace.useState(ref.value);
|
251
|
-
React__namespace.useEffect(() => ref.subscribe(setValue), [ref]);
|
252
|
-
return value;
|
253
|
-
};
|
254
|
-
|
255
|
-
/**
|
256
|
-
* @since 1.0.0
|
257
|
-
* @category hooks
|
258
|
-
*/
|
259
|
-
const useRxRefProp = (ref, prop) => {
|
260
|
-
return React__namespace.useMemo(() => ref.prop(prop), [ref, prop]);
|
261
|
-
};
|
262
|
-
|
263
|
-
exports.Registry = Registry__namespace;
|
264
|
-
exports.Result = Result__namespace;
|
265
|
-
exports.Rx = Rx__namespace;
|
266
|
-
exports.RxRef = RxRef__namespace;
|
267
|
-
exports.RegistryContext = RegistryContext;
|
268
|
-
exports.useRx = useRx;
|
269
|
-
exports.useRxMount = useRxMount;
|
270
|
-
exports.useRxRef = useRxRef;
|
271
|
-
exports.useRxRefProp = useRxRefProp;
|
272
|
-
exports.useRxRefresh = useRxRefresh;
|
273
|
-
exports.useRxSet = useRxSet;
|
274
|
-
exports.useRxSetPromise = useRxSetPromise;
|
275
|
-
exports.useRxSubscribe = useRxSubscribe;
|
276
|
-
exports.useRxSuspense = useRxSuspense;
|
277
|
-
exports.useRxSuspenseSuccess = useRxSuspenseSuccess;
|
278
|
-
exports.useRxValue = useRxValue;
|
@@ -1,18 +0,0 @@
|
|
1
|
-
export {
|
2
|
-
Registry,
|
3
|
-
RegistryContext,
|
4
|
-
Result,
|
5
|
-
Rx,
|
6
|
-
RxRef,
|
7
|
-
useRx,
|
8
|
-
useRxMount,
|
9
|
-
useRxRef,
|
10
|
-
useRxRefProp,
|
11
|
-
useRxRefresh,
|
12
|
-
useRxSet,
|
13
|
-
useRxSetPromise,
|
14
|
-
useRxSubscribe,
|
15
|
-
useRxSuspense,
|
16
|
-
useRxSuspenseSuccess,
|
17
|
-
useRxValue
|
18
|
-
} from "./effect-rx-rx-react.cjs.js";
|
@@ -1,278 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
var Registry = require('@effect-rx/rx/Registry');
|
6
|
-
var Result = require('@effect-rx/rx/Result');
|
7
|
-
var Rx = require('@effect-rx/rx/Rx');
|
8
|
-
var Cause = require('effect/Cause');
|
9
|
-
var GlobalValue = require('effect/GlobalValue');
|
10
|
-
var React = require('react');
|
11
|
-
var RxRef = require('@effect-rx/rx/RxRef');
|
12
|
-
|
13
|
-
function _interopNamespace(e) {
|
14
|
-
if (e && e.__esModule) return e;
|
15
|
-
var n = Object.create(null);
|
16
|
-
if (e) {
|
17
|
-
Object.keys(e).forEach(function (k) {
|
18
|
-
if (k !== 'default') {
|
19
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
20
|
-
Object.defineProperty(n, k, d.get ? d : {
|
21
|
-
enumerable: true,
|
22
|
-
get: function () { return e[k]; }
|
23
|
-
});
|
24
|
-
}
|
25
|
-
});
|
26
|
-
}
|
27
|
-
n["default"] = e;
|
28
|
-
return Object.freeze(n);
|
29
|
-
}
|
30
|
-
|
31
|
-
var Registry__namespace = /*#__PURE__*/_interopNamespace(Registry);
|
32
|
-
var Result__namespace = /*#__PURE__*/_interopNamespace(Result);
|
33
|
-
var Rx__namespace = /*#__PURE__*/_interopNamespace(Rx);
|
34
|
-
var Cause__namespace = /*#__PURE__*/_interopNamespace(Cause);
|
35
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
36
|
-
var RxRef__namespace = /*#__PURE__*/_interopNamespace(RxRef);
|
37
|
-
|
38
|
-
/**
|
39
|
-
* @since 1.0.0
|
40
|
-
*/
|
41
|
-
|
42
|
-
/**
|
43
|
-
* @since 1.0.0
|
44
|
-
* @category context
|
45
|
-
*/
|
46
|
-
const RegistryContext = /*#__PURE__*/React__namespace.createContext( /*#__PURE__*/Registry__namespace.make());
|
47
|
-
const storeRegistry = /*#__PURE__*/GlobalValue.globalValue("@effect-rx/rx-react/storeRegistry", () => new WeakMap());
|
48
|
-
function makeStore(registry, rx) {
|
49
|
-
const stores = storeRegistry.get(registry) ?? storeRegistry.set(registry, new WeakMap()).get(registry);
|
50
|
-
const store = stores.get(rx);
|
51
|
-
if (store) {
|
52
|
-
return store;
|
53
|
-
}
|
54
|
-
const newStore = {
|
55
|
-
subscribe(f) {
|
56
|
-
return registry.subscribe(rx, f);
|
57
|
-
},
|
58
|
-
snapshot() {
|
59
|
-
return registry.get(rx);
|
60
|
-
}
|
61
|
-
};
|
62
|
-
stores.set(rx, newStore);
|
63
|
-
return newStore;
|
64
|
-
}
|
65
|
-
function useStore(registry, rx) {
|
66
|
-
const store = makeStore(registry, rx);
|
67
|
-
return React__namespace.useSyncExternalStore(store.subscribe, store.snapshot);
|
68
|
-
}
|
69
|
-
|
70
|
-
/**
|
71
|
-
* @since 1.0.0
|
72
|
-
* @category hooks
|
73
|
-
*/
|
74
|
-
const useRxValue = (rx, f) => {
|
75
|
-
const registry = React__namespace.useContext(RegistryContext);
|
76
|
-
if (f) {
|
77
|
-
const rxB = React__namespace.useMemo(() => Rx__namespace.map(rx, f), [rx, f]);
|
78
|
-
return useStore(registry, rxB);
|
79
|
-
}
|
80
|
-
return useStore(registry, rx);
|
81
|
-
};
|
82
|
-
function mountRx(registry, rx) {
|
83
|
-
React__namespace.useEffect(() => registry.mount(rx), [rx, registry]);
|
84
|
-
}
|
85
|
-
function setRx(registry, rx) {
|
86
|
-
return React__namespace.useCallback(value => {
|
87
|
-
if (typeof value === "function") {
|
88
|
-
registry.set(rx, value(registry.get(rx)));
|
89
|
-
return;
|
90
|
-
} else {
|
91
|
-
registry.set(rx, value);
|
92
|
-
}
|
93
|
-
}, [registry, rx]);
|
94
|
-
}
|
95
|
-
function setRxPromise(registry, rx) {
|
96
|
-
const cancelRef = React__namespace.useRef(undefined);
|
97
|
-
if (!cancelRef.current) {
|
98
|
-
cancelRef.current = new Set();
|
99
|
-
}
|
100
|
-
React__namespace.useEffect(() => () => {
|
101
|
-
cancelRef.current.forEach(cancel => cancel());
|
102
|
-
cancelRef.current.clear();
|
103
|
-
}, []);
|
104
|
-
return React__namespace.useCallback(value => {
|
105
|
-
registry.set(rx, value);
|
106
|
-
return new Promise(resolve => {
|
107
|
-
const value = registry.get(rx);
|
108
|
-
if (Result__namespace.isSuccess(value) || Result__namespace.isFailure(value)) {
|
109
|
-
resolve(Result__namespace.toExit(value));
|
110
|
-
} else {
|
111
|
-
const cancel = registry.subscribe(rx, value => {
|
112
|
-
if (Result__namespace.isSuccess(value) || Result__namespace.isFailure(value)) {
|
113
|
-
cancelRef.current.delete(cancel);
|
114
|
-
cancel();
|
115
|
-
resolve(Result__namespace.toExit(value));
|
116
|
-
}
|
117
|
-
});
|
118
|
-
cancelRef.current.add(cancel);
|
119
|
-
}
|
120
|
-
});
|
121
|
-
}, [registry, rx]);
|
122
|
-
}
|
123
|
-
|
124
|
-
/**
|
125
|
-
* @since 1.0.0
|
126
|
-
* @category hooks
|
127
|
-
*/
|
128
|
-
const useRxMount = rx => {
|
129
|
-
const registry = React__namespace.useContext(RegistryContext);
|
130
|
-
mountRx(registry, rx);
|
131
|
-
};
|
132
|
-
|
133
|
-
/**
|
134
|
-
* @since 1.0.0
|
135
|
-
* @category hooks
|
136
|
-
*/
|
137
|
-
const useRxSet = rx => {
|
138
|
-
const registry = React__namespace.useContext(RegistryContext);
|
139
|
-
mountRx(registry, rx);
|
140
|
-
return setRx(registry, rx);
|
141
|
-
};
|
142
|
-
|
143
|
-
/**
|
144
|
-
* @since 1.0.0
|
145
|
-
* @category hooks
|
146
|
-
*/
|
147
|
-
const useRxSetPromise = rx => {
|
148
|
-
const registry = React__namespace.useContext(RegistryContext);
|
149
|
-
return setRxPromise(registry, rx);
|
150
|
-
};
|
151
|
-
|
152
|
-
/**
|
153
|
-
* @since 1.0.0
|
154
|
-
* @category hooks
|
155
|
-
*/
|
156
|
-
const useRxRefresh = rx => {
|
157
|
-
const registry = React__namespace.useContext(RegistryContext);
|
158
|
-
mountRx(registry, rx);
|
159
|
-
return React__namespace.useCallback(() => {
|
160
|
-
registry.refresh(rx);
|
161
|
-
}, [registry, rx]);
|
162
|
-
};
|
163
|
-
|
164
|
-
/**
|
165
|
-
* @since 1.0.0
|
166
|
-
* @category hooks
|
167
|
-
*/
|
168
|
-
const useRx = rx => {
|
169
|
-
const registry = React__namespace.useContext(RegistryContext);
|
170
|
-
return [useStore(registry, rx), setRx(registry, rx)];
|
171
|
-
};
|
172
|
-
const suspenseRx = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
|
173
|
-
const result = get(rx);
|
174
|
-
if (result._tag === "Initial") {
|
175
|
-
return {
|
176
|
-
_tag: "Suspended",
|
177
|
-
promise: new Promise(resolve => get.addFinalizer(resolve))
|
178
|
-
};
|
179
|
-
}
|
180
|
-
return {
|
181
|
-
_tag: "Value",
|
182
|
-
value: result
|
183
|
-
};
|
184
|
-
}));
|
185
|
-
const suspenseRxWaiting = /*#__PURE__*/Rx__namespace.family(rx => Rx__namespace.readable(get => {
|
186
|
-
const result = get(rx);
|
187
|
-
if (result.waiting || result._tag === "Initial") {
|
188
|
-
return {
|
189
|
-
_tag: "Suspended",
|
190
|
-
promise: new Promise(resolve => get.addFinalizer(resolve))
|
191
|
-
};
|
192
|
-
}
|
193
|
-
return {
|
194
|
-
_tag: "Value",
|
195
|
-
value: result
|
196
|
-
};
|
197
|
-
}));
|
198
|
-
const suspenseMounts = /*#__PURE__*/GlobalValue.globalValue("@effect-rx/rx-react/suspenseMounts", () => new Set());
|
199
|
-
|
200
|
-
/**
|
201
|
-
* @since 1.0.0
|
202
|
-
* @category hooks
|
203
|
-
*/
|
204
|
-
const useRxSuspense = (rx, options) => {
|
205
|
-
const registry = React__namespace.useContext(RegistryContext);
|
206
|
-
const resultRx = React__namespace.useMemo(() => options?.suspendOnWaiting ? suspenseRxWaiting(rx) : suspenseRx(rx), [options?.suspendOnWaiting, rx]);
|
207
|
-
const result = useStore(registry, resultRx);
|
208
|
-
if (result._tag === "Suspended") {
|
209
|
-
if (!suspenseMounts.has(resultRx)) {
|
210
|
-
suspenseMounts.add(resultRx);
|
211
|
-
const unmount = registry.mount(resultRx);
|
212
|
-
result.promise.then(function () {
|
213
|
-
setTimeout(function () {
|
214
|
-
unmount();
|
215
|
-
suspenseMounts.delete(resultRx);
|
216
|
-
}, 1000);
|
217
|
-
});
|
218
|
-
}
|
219
|
-
throw result.promise;
|
220
|
-
}
|
221
|
-
return result.value;
|
222
|
-
};
|
223
|
-
|
224
|
-
/**
|
225
|
-
* @since 1.0.0
|
226
|
-
* @category hooks
|
227
|
-
*/
|
228
|
-
const useRxSuspenseSuccess = (rx, options) => {
|
229
|
-
const result = useRxSuspense(rx, options);
|
230
|
-
if (result._tag === "Failure") {
|
231
|
-
throw Cause__namespace.squash(result.cause);
|
232
|
-
}
|
233
|
-
return result;
|
234
|
-
};
|
235
|
-
|
236
|
-
/**
|
237
|
-
* @since 1.0.0
|
238
|
-
* @category hooks
|
239
|
-
*/
|
240
|
-
const useRxSubscribe = (rx, f, options) => {
|
241
|
-
const registry = React__namespace.useContext(RegistryContext);
|
242
|
-
React__namespace.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
|
243
|
-
};
|
244
|
-
|
245
|
-
/**
|
246
|
-
* @since 1.0.0
|
247
|
-
* @category hooks
|
248
|
-
*/
|
249
|
-
const useRxRef = ref => {
|
250
|
-
const [value, setValue] = React__namespace.useState(ref.value);
|
251
|
-
React__namespace.useEffect(() => ref.subscribe(setValue), [ref]);
|
252
|
-
return value;
|
253
|
-
};
|
254
|
-
|
255
|
-
/**
|
256
|
-
* @since 1.0.0
|
257
|
-
* @category hooks
|
258
|
-
*/
|
259
|
-
const useRxRefProp = (ref, prop) => {
|
260
|
-
return React__namespace.useMemo(() => ref.prop(prop), [ref, prop]);
|
261
|
-
};
|
262
|
-
|
263
|
-
exports.Registry = Registry__namespace;
|
264
|
-
exports.Result = Result__namespace;
|
265
|
-
exports.Rx = Rx__namespace;
|
266
|
-
exports.RxRef = RxRef__namespace;
|
267
|
-
exports.RegistryContext = RegistryContext;
|
268
|
-
exports.useRx = useRx;
|
269
|
-
exports.useRxMount = useRxMount;
|
270
|
-
exports.useRxRef = useRxRef;
|
271
|
-
exports.useRxRefProp = useRxRefProp;
|
272
|
-
exports.useRxRefresh = useRxRefresh;
|
273
|
-
exports.useRxSet = useRxSet;
|
274
|
-
exports.useRxSetPromise = useRxSetPromise;
|
275
|
-
exports.useRxSubscribe = useRxSubscribe;
|
276
|
-
exports.useRxSuspense = useRxSuspense;
|
277
|
-
exports.useRxSuspenseSuccess = useRxSuspenseSuccess;
|
278
|
-
exports.useRxValue = useRxValue;
|
package/src/tsconfig.json
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"moduleDetection": "force",
|
4
|
-
"downlevelIteration": true,
|
5
|
-
"resolveJsonModule": true,
|
6
|
-
"esModuleInterop": true,
|
7
|
-
"skipLibCheck": true,
|
8
|
-
"emitDecoratorMetadata": true,
|
9
|
-
"experimentalDecorators": true,
|
10
|
-
"preserveSymlinks": true,
|
11
|
-
"moduleResolution": "NodeNext",
|
12
|
-
"lib": [
|
13
|
-
"ES2021",
|
14
|
-
"DOM",
|
15
|
-
"DOM.Iterable"
|
16
|
-
],
|
17
|
-
"sourceMap": true,
|
18
|
-
"strict": true,
|
19
|
-
"noImplicitReturns": false,
|
20
|
-
"noUnusedLocals": true,
|
21
|
-
"noUnusedParameters": false,
|
22
|
-
"noFallthroughCasesInSwitch": true,
|
23
|
-
"noEmitOnError": false,
|
24
|
-
"allowJs": false,
|
25
|
-
"checkJs": false,
|
26
|
-
"forceConsistentCasingInFileNames": true,
|
27
|
-
"stripInternal": true,
|
28
|
-
"noImplicitAny": true,
|
29
|
-
"noImplicitThis": true,
|
30
|
-
"noUncheckedIndexedAccess": false,
|
31
|
-
"strictNullChecks": true,
|
32
|
-
"target": "ES2021",
|
33
|
-
"module": "NodeNext",
|
34
|
-
"incremental": true,
|
35
|
-
"removeComments": false,
|
36
|
-
"paths": {
|
37
|
-
"@effect-rx/rx-react": [
|
38
|
-
"./index.ts"
|
39
|
-
],
|
40
|
-
"@effect-rx/rx-react/*": [
|
41
|
-
"./*.ts"
|
42
|
-
]
|
43
|
-
}
|
44
|
-
},
|
45
|
-
"include": [
|
46
|
-
"**/*"
|
47
|
-
]
|
48
|
-
}
|
File without changes
|