@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 +25 -72
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/index.js +25 -72
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +33 -83
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
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
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
|
-
|
250
|
-
|
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
|
-
|
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
|
-
|
231
|
+
setTimeout(dispose, 1000);
|
232
|
+
resolve();
|
233
|
+
map.delete(rx);
|
282
234
|
});
|
283
|
-
return state;
|
284
235
|
});
|
285
|
-
|
286
|
-
return
|
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
|
-
|
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
|
package/dist/cjs/index.js.map
CHANGED
@@ -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":";;;;;;AAGA,IAAAA,QAAA,gBAAAC,uBAAA,cAAAC,OAAA;AAAkD,IAAAC,SAAA,GAAAH,QAAA;AAAAI,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAClD,IAAAK,MAAA,gBAAAJ,uBAAA,cAAAC,OAAA;AAA8C,IAAAI,OAAA,GAAAD,MAAA;AAAAD,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAC9C,IAAAE,EAAA,gBAAAN,uBAAA,cAAAC,OAAA;AAAsC,IAAAM,GAAA,GAAAD,EAAA;AAAAH,OAAA,CAAAG,EAAA,GAAAA,EAAA;AAEtC,IAAAE,KAAA,gBAAAR,uBAAA,cAAAC,OAAA;AAEA,IAAAQ,SAAA,gBAAAR,OAAA;AACA,IAAAS,YAAA,gBAAAT,OAAA;AACA,IAAAU,KAAA,gBAAAX,uBAAA,cAAAC,OAAA;AACA,IAAAW,SAAA,gBAAAZ,uBAAA,cAAAC,OAAA;AAAsC,IAAAY,MAAA,gBAAAb,uBAAA,cAAAC,OAAA;AAAAE,OAAA,CAAAW,KAAA,GAAAD,MAAA;AAAA,SAAAE,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAZtC;;;;AAcA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAMA,SAASW,YAAYA,CAACC,CAAa;EACjCxB,SAAS,CAACyB,yBAAyB,CAACzB,SAAS,CAAC0B,oBAAoB,EAAEF,CAAC,CAAC;AACxE;AAEA;;;;AAIO,MAAMG,eAAe,GAAApC,OAAA,CAAAoC,eAAA,gBAAG5B,KAAK,CAAC6B,aAAa,cAAoBzC,QAAQ,CAAC0C,IAAI,CAAC;EAClFN,YAAY;EACZO,cAAc,EAAE;CACjB,CAAC,CAAC;AAOH,MAAMC,aAAa,gBAAG,IAAAjC,YAAA,CAAAkC,WAAW,EAC/B,mCAAmC,EACnC,MAAM,IAAI3B,OAAO,EAAwD,CAC1E;AAED,SAAS4B,SAASA,CAAIC,QAA2B,EAAEC,EAAY;EAC7D,IAAIC,MAAM,GAAGL,aAAa,CAACpB,GAAG,CAACuB,QAAQ,CAAC;EACxC,IAAIE,MAAM,KAAKC,SAAS,EAAE;IACxBD,MAAM,GAAG,IAAI/B,OAAO,EAAE;IACtB0B,aAAa,CAACT,GAAG,CAACY,QAAQ,EAAEE,MAAM,CAAC;EACrC;EACA,MAAME,KAAK,GAAGF,MAAM,CAACzB,GAAG,CAACwB,EAAE,CAAC;EAC5B,IAAIG,KAAK,KAAKD,SAAS,EAAE;IACvB,OAAOC,KAAK;EACd;EACA,MAAMC,QAAQ,GAAe;IAC3BC,SAASA,CAAChB,CAAC;MACT,OAAOU,QAAQ,CAACM,SAAS,CAACL,EAAE,EAAEX,CAAC,CAAC;IAClC,CAAC;IACDiB,QAAQA,CAAA;MACN,OAAOP,QAAQ,CAACvB,GAAG,CAACwB,EAAE,CAAC;IACzB;GACD;EACDC,MAAM,CAACd,GAAG,CAACa,EAAE,EAAEI,QAAQ,CAAC;EACxB,OAAOA,QAAQ;AACjB;AAEA,SAASG,QAAQA,CAAIR,QAA2B,EAAEC,EAAY;EAC5D,MAAMG,KAAK,GAAGL,SAAS,CAACC,QAAQ,EAAEC,EAAE,CAAC;EACrC,OAAOpC,KAAK,CAAC4C,oBAAoB,CAACL,KAAK,CAACE,SAAS,EAAEF,KAAK,CAACG,QAAQ,EAAEH,KAAK,CAACG,QAAQ,CAAC;AACpF;AAEA,MAAMG,gBAAgB,gBAAG,IAAA9C,YAAA,CAAAkC,WAAW,EAClC,sCAAsC,EACtC,MAAM,IAAI3B,OAAO,EAA0C,CAC5D;AAED;;;;AAIO,MAAMwC,kBAAkB,GAAIC,aAAmD,IAAU;EAC9F,MAAMZ,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD,IAAIL,GAAG,GAAGsB,gBAAgB,CAACjC,GAAG,CAACuB,QAAQ,CAAC;EACxC,IAAIZ,GAAG,KAAKe,SAAS,EAAE;IACrBf,GAAG,GAAG,IAAI0B,OAAO,EAAE;IACnBJ,gBAAgB,CAACtB,GAAG,CAACY,QAAQ,EAAEZ,GAAG,CAAC;EACrC;EACA,KAAK,MAAM,CAACa,EAAE,EAAEc,KAAK,CAAC,IAAIH,aAAa,EAAE;IACvC,IAAI,CAACxB,GAAG,CAACZ,GAAG,CAACyB,EAAE,CAAC,EAAE;MAChBb,GAAG,CAAC4B,GAAG,CAACf,EAAE,CAAC;MACTD,QAAgB,CAACiB,UAAU,CAAChB,EAAE,CAAC,CAACiB,QAAQ,CAACH,KAAK,CAAC;IACnD;EACF;AACF,CAAC;AAED;;;;AAAA1D,OAAA,CAAAsD,kBAAA,GAAAA,kBAAA;AAIO,MAAMQ,UAAU,GAGnBA,CAAIlB,EAAY,EAAEX,CAAe,KAAO;EAC1C,MAAMU,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD,IAAIH,CAAC,EAAE;IACL,MAAM8B,GAAG,GAAGvD,KAAK,CAACwD,OAAO,CAAC,MAAM7D,EAAE,CAAC8D,GAAG,CAACrB,EAAE,EAAEX,CAAC,CAAC,EAAE,CAACW,EAAE,EAAEX,CAAC,CAAC,CAAC;IACvD,OAAOkB,QAAQ,CAACR,QAAQ,EAAEoB,GAAG,CAAC;EAChC;EACA,OAAOZ,QAAQ,CAACR,QAAQ,EAAEC,EAAE,CAAC;AAC/B,CAAC;AAAA5C,OAAA,CAAA8D,UAAA,GAAAA,UAAA;AAED,SAASI,OAAOA,CAAIvB,QAA2B,EAAEC,EAAY;EAC3DpC,KAAK,CAAC2D,SAAS,CAAC,MAAMxB,QAAQ,CAACyB,KAAK,CAACxB,EAAE,CAAC,EAAE,CAACA,EAAE,EAAED,QAAQ,CAAC,CAAC;AAC3D;AAEA,SAAS0B,KAAKA,CAAO1B,QAA2B,EAAEC,EAAqB;EACrE,OAAOpC,KAAK,CAAC8D,WAAW,CAAEZ,KAAK,IAAI;IACjC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MAC/Bf,QAAQ,CAACZ,GAAG,CAACa,EAAE,EAAGc,KAAa,CAACf,QAAQ,CAACvB,GAAG,CAACwB,EAAE,CAAC,CAAC,CAAC;MAClD;IACF,CAAC,MAAM;MACLD,QAAQ,CAACZ,GAAG,CAACa,EAAE,EAAEc,KAAK,CAAC;IACzB;EACF,CAAC,EAAE,CAACf,QAAQ,EAAEC,EAAE,CAAC,CAAC;AACpB;AAEA;;;;AAIO,MAAM2B,UAAU,GAAO3B,EAAY,IAAU;EAClD,MAAMD,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD8B,OAAO,CAACvB,QAAQ,EAAEC,EAAE,CAAC;AACvB,CAAC;AAED;;;;AAAA5C,OAAA,CAAAuE,UAAA,GAAAA,UAAA;AAIO,MAAMC,QAAQ,GAAU5B,EAAqB,IAAoC;EACtF,MAAMD,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD8B,OAAO,CAACvB,QAAQ,EAAEC,EAAE,CAAC;EACrB,OAAOyB,KAAK,CAAC1B,QAAQ,EAAEC,EAAE,CAAC;AAC5B,CAAC;AAED;;;;AAAA5C,OAAA,CAAAwE,QAAA,GAAAA,QAAA;AAIO,MAAMC,eAAe,GAC1B7B,EAAuC,IACD;EACtC,MAAMD,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD,MAAMsC,QAAQ,GAAGlE,KAAK,CAACwD,OAAO,CAAC,MAAM,IAAIW,GAAG,EAAqC,EAAE,EAAE,CAAC;EACtFnE,KAAK,CAAC2D,SAAS,CAAC,MACdxB,QAAQ,CAACM,SAAS,CAACL,EAAE,EAAGgC,MAAM,IAAI;IAChC,IAAIA,MAAM,CAACC,OAAO,IAAID,MAAM,CAACE,IAAI,KAAK,SAAS,EAAE;IACjD,MAAMC,GAAG,GAAGC,KAAK,CAACC,IAAI,CAACP,QAAQ,CAAC;IAChCA,QAAQ,CAACQ,KAAK,EAAE;IAChB,MAAMC,IAAI,GAAGlF,MAAM,CAACmF,MAAM,CAACR,MAAM,CAAC;IAClCG,GAAG,CAACM,OAAO,CAAEC,OAAO,IAAKA,OAAO,CAACH,IAAW,CAAC,CAAC;EAChD,CAAC,EAAE;IAAEI,SAAS,EAAE;EAAI,CAAE,CAAC,EAAE,CAAC5C,QAAQ,EAAEC,EAAE,EAAE8B,QAAQ,CAAC,CAAC;EACpD,OAAOlE,KAAK,CAAC8D,WAAW,CAAEZ,KAAK,IAC7B,IAAI8B,OAAO,CAAEF,OAAO,IAAI;IACtBZ,QAAQ,CAACf,GAAG,CAAC2B,OAAO,CAAC;IACrB3C,QAAQ,CAACZ,GAAG,CAACa,EAAE,EAAEc,KAAK,CAAC;EACzB,CAAC,CAAC,EAAE,CAACf,QAAQ,EAAEC,EAAE,EAAE8B,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;;AAAA1E,OAAA,CAAAyE,eAAA,GAAAA,eAAA;AAIO,MAAMgB,YAAY,GAAO7C,EAA6B,IAAgB;EAC3E,MAAMD,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD8B,OAAO,CAACvB,QAAQ,EAAEC,EAAE,CAAC;EACrB,OAAOpC,KAAK,CAAC8D,WAAW,CAAC,MAAK;IAC5B3B,QAAQ,CAAC+C,OAAO,CAAC9C,EAAE,CAAC;EACtB,CAAC,EAAE,CAACD,QAAQ,EAAEC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED;;;;AAAA5C,OAAA,CAAAyF,YAAA,GAAAA,YAAA;AAIO,MAAME,KAAK,GAChB/C,EAAqB,IAC+C;EACpE,MAAMD,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD,OAAO,CACLe,QAAQ,CAACR,QAAQ,EAAEC,EAAE,CAAC,EACtByB,KAAK,CAAC1B,QAAQ,EAAEC,EAAE,CAAC,CACX;AACZ,CAAC;AAAA5C,OAAA,CAAA2F,KAAA,GAAAA,KAAA;AAUD,SAASC,aAAaA,CAAChD,EAAc;EAKnC,IAAI0C,OAAmB;EACvB,MAAMO,OAAO,GAAG,IAAIL,OAAO,CAAQM,QAAQ,IAAI;IAC7CR,OAAO,GAAGQ,QAAQ;EACpB,CAAC,CAAC;EACAD,OAAe,CAACjD,EAAE,GAAGA,EAAE;EACzB,OAAO;IACLkC,IAAI,EAAE,WAAW;IACjBe,OAAO;IACPP,OAAO,EAAEA;GACV;AACH;AACA,MAAMS,aAAa,gBAAG,IAAAxF,YAAA,CAAAkC,WAAW,EAC/B,oCAAoC,EACpC,MAAM,IAAI3B,OAAO,EAA+C,CACjE;AAED,SAASkF,UAAUA,CACjBrD,QAA2B,EAC3BC,EAA8B,EAC9BqD,gBAAyB;EAEzB,IAAIF,aAAa,CAAC5E,GAAG,CAACyB,EAAE,CAAC,EAAE;IACzB,OAAOmD,aAAa,CAAC3E,GAAG,CAACwB,EAAE,CAAE;EAC/B;EACA,IAAIsD,OAAiC;EACrC,IAAIC,OAA2B;EAC/B,SAASC,YAAYA,CAAA;IACnB,IAAID,OAAO,KAAKrD,SAAS,EAAE;MACzBuD,YAAY,CAACF,OAAO,CAAC;IACvB;IACAD,OAAO,GAAGvD,QAAQ,CAACM,SAAS,CAACqD,QAAQ,EAAEhG,SAAA,CAAAiG,SAAS,CAAC;EACnD;EACA,SAASC,cAAcA,CAAA;IACrBL,OAAO,GAAGrD,SAAS;IACnB,IAAIoD,OAAO,KAAKpD,SAAS,EAAE;MACzBoD,OAAO,EAAE;MACTA,OAAO,GAAGpD,SAAS;IACrB;EACF;EACA,MAAMwD,QAAQ,GAAGnG,EAAE,CAACsG,QAAQ,CAAuB,UAASrF,GAAG;IAC7D,IAAIsF,KAAK,GAAyBd,aAAa,CAAChD,EAAE,CAAC;IACnDxB,GAAG,CAAC6B,SAAS,CAACL,EAAE,EAAE,UAASgC,MAAM;MAC/B,IAAIA,MAAM,CAACE,IAAI,KAAK,SAAS,IAAKmB,gBAAgB,IAAIrB,MAAM,CAACC,OAAQ,EAAE;QACrE,IAAI6B,KAAK,CAAC5B,IAAI,KAAK,UAAU,EAAE;UAC7B4B,KAAK,GAAGd,aAAa,CAAChD,EAAE,CAAC;UACzBxB,GAAG,CAACuF,WAAW,CAACD,KAAK,CAAC;QACxB;QACA,IAAIR,OAAO,KAAKpD,SAAS,EAAE;UACzBsD,YAAY,EAAE;QAChB;MACF,CAAC,MAAM;QACL,IAAIF,OAAO,KAAKpD,SAAS,IAAIqD,OAAO,KAAKrD,SAAS,EAAE;UAClDqD,OAAO,GAAGS,UAAU,CAACJ,cAAc,EAAE,IAAI,CAAC;QAC5C;QACA,IAAIE,KAAK,CAAC5B,IAAI,KAAK,UAAU,EAAE;UAC7B4B,KAAK,GAAG;YAAE5B,IAAI,EAAE,UAAU;YAAEF;UAAM,CAAE;UACpCxD,GAAG,CAACuF,WAAW,CAACD,KAAK,CAAC;QACxB,CAAC,MAAM;UACL,MAAMpB,OAAO,GAAGoB,KAAK,CAACpB,OAAO;UAC7BoB,KAAK,GAAG;YAAE5B,IAAI,EAAE,UAAU;YAAEF;UAAM,CAAE;UACpCxD,GAAG,CAACuF,WAAW,CAACD,KAAK,CAAC;UACtBpB,OAAO,EAAE;QACX;MACF;IACF,CAAC,EAAE;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACvB,OAAOmB,KAAK;EACd,CAAC,CAAC;EACFX,aAAa,CAAChE,GAAG,CAACa,EAAE,EAAE0D,QAAQ,CAAC;EAC/B,OAAOA,QAAQ;AACjB;AAEA;;;;AAIO,MAAMO,aAAa,GAAGA,CAC3BjE,EAA8B,EAC9BkE,OAAiD,KACF;EAC/C,MAAMnE,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD,MAAM2E,SAAS,GAAGvG,KAAK,CAACwD,OAAO,CAAC,MAAMgC,UAAU,CAACrD,QAAQ,EAAEC,EAAE,EAAEkE,OAAO,EAAEb,gBAAgB,IAAI,KAAK,CAAC,EAAE,CAClGtD,QAAQ,EACRC,EAAE,EACFkE,OAAO,EAAEb,gBAAgB,CAC1B,CAAC;EACF,MAAMrB,MAAM,GAAGzB,QAAQ,CAACR,QAAQ,EAAEoE,SAAS,CAAC;EAC5C,IAAInC,MAAM,CAACE,IAAI,KAAK,WAAW,EAAE;IAC/B,MAAMF,MAAM,CAACiB,OAAO;EACtB;EACA,OAAOjB,MAAM,CAACA,MAAM;AACtB,CAAC;AAED;;;;AAAA5E,OAAA,CAAA6G,aAAA,GAAAA,aAAA;AAIO,MAAMG,oBAAoB,GAAGA,CAClCpE,EAA8B,EAC9BkE,OAAiD,KACzB;EACxB,MAAMlC,MAAM,GAAGiC,aAAa,CAACjE,EAAE,EAAEkE,OAAO,CAAC;EACzC,IAAIlC,MAAM,CAACE,IAAI,KAAK,SAAS,EAAE;IAC7B,MAAMzE,KAAK,CAAC4G,MAAM,CAACrC,MAAM,CAACsC,KAAK,CAAC;EAClC;EACA,OAAOtC,MAAM;AACf,CAAC;AAED;;;;AAAA5E,OAAA,CAAAgH,oBAAA,GAAAA,oBAAA;AAIO,MAAMG,cAAc,GAAGA,CAC5BvE,EAAY,EACZX,CAAiB,EACjB6E,OAA0C,KAClC;EACR,MAAMnE,QAAQ,GAAGnC,KAAK,CAACgD,UAAU,CAACpB,eAAe,CAAC;EAClD5B,KAAK,CAAC2D,SAAS,CACb,MAAMxB,QAAQ,CAACM,SAAS,CAACL,EAAE,EAAEX,CAAC,EAAE6E,OAAO,CAAC,EACxC,CAACnE,QAAQ,EAAEC,EAAE,EAAEX,CAAC,EAAE6E,OAAO,EAAEvB,SAAS,CAAC,CACtC;AACH,CAAC;AAED;;;;AAAAvF,OAAA,CAAAmH,cAAA,GAAAA,cAAA;AAIO,MAAMC,QAAQ,GAAOC,GAAyB,IAAO;EAC1D,MAAM,GAAGxD,QAAQ,CAAC,GAAGrD,KAAK,CAAC8G,QAAQ,CAACD,GAAG,CAAC3D,KAAK,CAAC;EAC9ClD,KAAK,CAAC2D,SAAS,CAAC,MAAMkD,GAAG,CAACpE,SAAS,CAACY,QAAQ,CAAC,EAAE,CAACwD,GAAG,CAAC,CAAC;EACrD,OAAOA,GAAG,CAAC3D,KAAK;AAClB,CAAC;AAED;;;;AAAA1D,OAAA,CAAAoH,QAAA,GAAAA,QAAA;AAIO,MAAMG,YAAY,GAAGA,CAAuBF,GAAmB,EAAEG,IAAO,KAC7EhH,KAAK,CAACwD,OAAO,CAAC,MAAMqD,GAAG,CAACG,IAAI,CAACA,IAAI,CAAC,EAAE,CAACH,GAAG,EAAEG,IAAI,CAAC,CAAC;AAElD;;;;AAAAxH,OAAA,CAAAuH,YAAA,GAAAA,YAAA;AAIO,MAAME,iBAAiB,GAAGA,CAAuBJ,GAAmB,EAAEG,IAAO,KAClFJ,QAAQ,CAACG,YAAY,CAACF,GAAG,EAAEG,IAAI,CAAC,CAAC;AAAAxH,OAAA,CAAAyH,iBAAA,GAAAA,iBAAA","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":[]}
|
package/dist/dts/index.d.ts.map
CHANGED
@@ -1 +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;
|
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
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
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
|
-
|
203
|
-
|
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
|
-
|
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
|
-
|
184
|
+
setTimeout(dispose, 1000);
|
185
|
+
resolve();
|
186
|
+
map.delete(rx);
|
235
187
|
});
|
236
|
-
return state;
|
237
188
|
});
|
238
|
-
|
239
|
-
return
|
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
|
-
|
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
|
package/dist/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":["Registry","Result","Rx","Cause","
|
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.
|
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.
|
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
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
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
|
217
|
+
function rxToPromise<A, E>(
|
240
218
|
registry: Registry.Registry,
|
241
219
|
rx: Rx.Rx<Result.Result<A, E>>,
|
242
220
|
suspendOnWaiting: boolean
|
243
|
-
)
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
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
|
-
|
263
|
-
|
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
|
-
|
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
|
-
|
288
|
-
|
232
|
+
setTimeout(dispose, 1000)
|
233
|
+
resolve()
|
234
|
+
map.delete(rx)
|
235
|
+
})
|
289
236
|
})
|
290
|
-
|
291
|
-
return
|
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
|
-
|
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
|
/**
|