@effect-rx/rx-react 0.1.17 → 0.1.18
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/index.d.ts.map +1 -1
- package/index.js +50 -44
- package/index.js.map +1 -1
- package/mjs/index.mjs +50 -44
- package/mjs/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +12 -8
package/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;AAGtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAwBtF;;;GAGG;AACH,eAAO,MAAM,UAAU,wBAOtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAUhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAKrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAA6F,IAAI,CAIvG,CAAA;
|
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;AAGtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAwBtF;;;GAGG;AACH,eAAO,MAAM,UAAU,wBAOtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAUhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAKrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAA6F,IAAI,CAIvG,CAAA;AA+DZ;;;GAGG;AACH,eAAO,MAAM,aAAa,mDAEd;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAgB5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAErB;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAqB5B,CAAA"}
|
package/index.js
CHANGED
@@ -94,54 +94,60 @@ exports.useRefreshRx = useRefreshRx;
|
|
94
94
|
const useRx = rx => [useRxValue(rx), useSetRx(rx)];
|
95
95
|
exports.useRx = useRx;
|
96
96
|
const suspenseCache = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-rx/rx-react/suspenseCache", () => new Map());
|
97
|
-
const suspenseRx = /*#__PURE__*/Rx.family(rx =>
|
98
|
-
const
|
99
|
-
|
100
|
-
|
97
|
+
const suspenseRx = /*#__PURE__*/Rx.family(rx => {
|
98
|
+
const selfRx = Rx.readable((get, ctx) => {
|
99
|
+
const result = get(rx);
|
100
|
+
const value = Result.noWaiting(result);
|
101
|
+
if (value._tag === "Initial") {
|
102
|
+
return {
|
103
|
+
_tag: "Suspended",
|
104
|
+
promise: new Promise(resolve => {
|
105
|
+
ctx.addFinalizer(() => {
|
106
|
+
resolve();
|
107
|
+
const unmount = suspenseCache.get(selfRx);
|
108
|
+
if (unmount) {
|
109
|
+
unmount();
|
110
|
+
suspenseCache.delete(selfRx);
|
111
|
+
}
|
112
|
+
});
|
113
|
+
})
|
114
|
+
};
|
115
|
+
}
|
116
|
+
const isWaiting = Result.isWaiting(result);
|
101
117
|
return {
|
102
|
-
_tag: "
|
103
|
-
|
104
|
-
|
105
|
-
resolve();
|
106
|
-
const unmount = suspenseCache.get(rx);
|
107
|
-
if (unmount) {
|
108
|
-
unmount();
|
109
|
-
suspenseCache.delete(rx);
|
110
|
-
}
|
111
|
-
});
|
112
|
-
})
|
118
|
+
_tag: "Value",
|
119
|
+
isWaiting,
|
120
|
+
value
|
113
121
|
};
|
114
|
-
}
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
122
|
+
});
|
123
|
+
return selfRx;
|
124
|
+
});
|
125
|
+
const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => {
|
126
|
+
const selfRx = Rx.readable((get, ctx) => {
|
127
|
+
const result = get(rx);
|
128
|
+
if (result._tag === "Waiting" || result._tag === "Initial") {
|
129
|
+
return {
|
130
|
+
_tag: "Suspended",
|
131
|
+
promise: new Promise(resolve => {
|
132
|
+
ctx.addFinalizer(() => {
|
133
|
+
resolve();
|
134
|
+
const unmount = suspenseCache.get(rx);
|
135
|
+
if (unmount) {
|
136
|
+
unmount();
|
137
|
+
suspenseCache.delete(rx);
|
138
|
+
}
|
139
|
+
});
|
140
|
+
})
|
141
|
+
};
|
142
|
+
}
|
125
143
|
return {
|
126
|
-
_tag: "
|
127
|
-
|
128
|
-
|
129
|
-
resolve();
|
130
|
-
const unmount = suspenseCache.get(rx);
|
131
|
-
if (unmount) {
|
132
|
-
unmount();
|
133
|
-
suspenseCache.delete(rx);
|
134
|
-
}
|
135
|
-
});
|
136
|
-
})
|
144
|
+
_tag: "Value",
|
145
|
+
isWaiting: false,
|
146
|
+
value: result
|
137
147
|
};
|
138
|
-
}
|
139
|
-
return
|
140
|
-
|
141
|
-
isWaiting: false,
|
142
|
-
value: result
|
143
|
-
};
|
144
|
-
}));
|
148
|
+
});
|
149
|
+
return selfRx;
|
150
|
+
});
|
145
151
|
/**
|
146
152
|
* @since 1.0.0
|
147
153
|
* @category hooks
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","Registry_1","exports","Result","Result_1","Rx","Rx_1","_GlobalValue","Cause","React","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RegistryContext","createContext","make","makeStore","registry","rx","getter","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","useRefreshRx","refresh","useRx","suspenseCache","globalValue","Map","suspenseRx","family","readable","ctx","result","noWaiting","_tag","promise","Promise","resolve","addFinalizer","delete","isWaiting","suspenseRxWaiting","useRxSuspense","options","resultRx","useMemo","suspendOnWaiting","mount","useRxSuspenseSuccess","squash","cause"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":"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
|
1
|
+
{"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","Registry_1","exports","Result","Result_1","Rx","Rx_1","_GlobalValue","Cause","React","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RegistryContext","createContext","make","makeStore","registry","rx","getter","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","useRefreshRx","refresh","useRx","suspenseCache","globalValue","Map","suspenseRx","family","selfRx","readable","ctx","result","noWaiting","_tag","promise","Promise","resolve","addFinalizer","delete","isWaiting","suspenseRxWaiting","useRxSuspense","options","resultRx","useMemo","suspendOnWaiting","mount","useRxSuspenseSuccess","squash","cause"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAkD,IAAAC,UAAA,GAAAH,QAAA;AAAAI,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAClD,IAAAK,MAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA8C,IAAAI,QAAA,GAAAD,MAAA;AAAAD,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAC9C,IAAAE,EAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAsC,IAAAM,IAAA,GAAAD,EAAA;AAAAH,OAAA,CAAAG,EAAA,GAAAA,EAAA;AACtC,IAAAE,YAAA,gBAAAP,OAAA;AACA,IAAAQ,KAAA,gBAAAT,uBAAA,eAAAC,OAAA;AACA,IAAAS,KAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA8B,SAAAU,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAgB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAR9B;;;;AAcA;;;;AAIO,MAAMW,eAAe,gBAAGvB,KAAK,CAACwB,aAAa,eAAoBnC,QAAQ,CAACoC,IAAI,EAAE,CAAC;AAAAhC,OAAA,CAAA8B,eAAA,GAAAA,eAAA;AAStF,SAASG,SAASA,CAAIC,QAA2B,EAAEC,EAAY;EAC7D,IAAIC,MAAM,GAAG,SAAAA,CAAA;IACX,OAAOF,QAAQ,CAAChB,GAAG,CAACiB,EAAE,CAAC;EACzB,CAAC;EACD,SAASE,SAASA,CAACC,CAAa;IAC9B,MAAM,CAACpB,GAAG,EAAEqB,OAAO,CAAC,GAAGL,QAAQ,CAACM,eAAe,CAACL,EAAE,EAAEG,CAAC,CAAC;IACtDF,MAAM,GAAGlB,GAAG;IACZ,OAAOqB,OAAO;EAChB;EACA,SAASE,QAAQA,CAAA;IACf,OAAOL,MAAM,EAAE;EACjB;EACA,OAAO;IAAED,EAAE;IAAED,QAAQ;IAAEG,SAAS;IAAEI;EAAQ,CAAE;AAC9C;AAEA;;;;AAIO,MAAMC,UAAU,GAAOP,EAAY,IAAO;EAC/C,MAAMD,QAAQ,GAAG3B,KAAK,CAACoC,UAAU,CAACb,eAAe,CAAC;EAClD,MAAMc,KAAK,GAAGrC,KAAK,CAACsC,MAAM,CAAaC,SAAgB,CAAC;EACxD,IAAIF,KAAK,CAACG,OAAO,EAAEZ,EAAE,KAAKA,EAAE,IAAIS,KAAK,CAACG,OAAO,EAAEb,QAAQ,KAAKA,QAAQ,EAAE;IACpEU,KAAK,CAACG,OAAO,GAAGd,SAAS,CAACC,QAAQ,EAAEC,EAAE,CAAC;;EAEzC,OAAO5B,KAAK,CAACyC,oBAAoB,CAACJ,KAAK,CAACG,OAAO,CAACV,SAAS,EAAEO,KAAK,CAACG,OAAO,CAACN,QAAQ,CAAC;AACpF,CAAC;AAED;;;;AAAAzC,OAAA,CAAA0C,UAAA,GAAAA,UAAA;AAIO,MAAMO,QAAQ,GAAUd,EAAqB,IAAoC;EACtF,MAAMD,QAAQ,GAAG3B,KAAK,CAACoC,UAAU,CAACb,eAAe,CAAC;EAClD,OAAOvB,KAAK,CAAC2C,WAAW,CAAEC,KAAK,IAAI;IACjC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MAC/BjB,QAAQ,CAACL,GAAG,CAACM,EAAE,EAAGgB,KAAa,CAACjB,QAAQ,CAAChB,GAAG,CAACiB,EAAE,CAAC,CAAC,CAAC;MAClD;KACD,MAAM;MACLD,QAAQ,CAACL,GAAG,CAACM,EAAE,EAAEgB,KAAK,CAAC;;EAE3B,CAAC,EAAE,CAACjB,QAAQ,EAAEC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED;;;;AAAAnC,OAAA,CAAAiD,QAAA,GAAAA,QAAA;AAIO,MAAMG,YAAY,GAAOjB,EAA6B,IAAgB;EAC3E,MAAMD,QAAQ,GAAG3B,KAAK,CAACoC,UAAU,CAACb,eAAe,CAAC;EAClD,OAAOvB,KAAK,CAAC2C,WAAW,CAAC,MAAK;IAC5BhB,QAAQ,CAACmB,OAAO,CAAClB,EAAE,CAAC;EACtB,CAAC,EAAE,CAACD,QAAQ,EAAEC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED;;;;AAAAnC,OAAA,CAAAoD,YAAA,GAAAA,YAAA;AAIO,MAAME,KAAK,GAAUnB,EAAqB,IAC/C,CACEO,UAAU,CAACP,EAAE,CAAC,EACdc,QAAQ,CAACd,EAAE,CAAC,CACJ;AAAAnC,OAAA,CAAAsD,KAAA,GAAAA,KAAA;AAaZ,MAAMC,aAAa,gBAAG,IAAAC,wBAAW,EAAC,mCAAmC,EAAE,MAAM,IAAIC,GAAG,EAA0B,CAAC;AAE/G,MAAMC,UAAU,gBAAGvD,EAAE,CAACwD,MAAM,CAAExB,EAAkC,IAAI;EAClE,MAAMyB,MAAM,GAAGzD,EAAE,CAAC0D,QAAQ,CAAC,CAAC3C,GAAG,EAAE4C,GAAG,KAA8B;IAChE,MAAMC,MAAM,GAAG7C,GAAG,CAACiB,EAAE,CAAC;IACtB,MAAMgB,KAAK,GAAGlD,MAAM,CAAC+D,SAAS,CAACD,MAAM,CAAC;IACtC,IAAIZ,KAAK,CAACc,IAAI,KAAK,SAAS,EAAE;MAC5B,OAAO;QACLA,IAAI,EAAE,WAAW;QACjBC,OAAO,EAAE,IAAIC,OAAO,CAAQC,OAAO,IAAI;UACrCN,GAAG,CAACO,YAAY,CAAC,MAAK;YACpBD,OAAO,EAAE;YACT,MAAM7B,OAAO,GAAGgB,aAAa,CAACrC,GAAG,CAAC0C,MAAM,CAAC;YACzC,IAAIrB,OAAO,EAAE;cACXA,OAAO,EAAE;cACTgB,aAAa,CAACe,MAAM,CAACV,MAAM,CAAC;;UAEhC,CAAC,CAAC;QACJ,CAAC;OACO;;IAEZ,MAAMW,SAAS,GAAGtE,MAAM,CAACsE,SAAS,CAACR,MAAM,CAAC;IAC1C,OAAO;MAAEE,IAAI,EAAE,OAAO;MAAEM,SAAS;MAAEpB;IAAK,CAAW;EACrD,CAAC,CAAC;EACF,OAAOS,MAAM;AACf,CAAC,CAAC;AAEF,MAAMY,iBAAiB,gBAAGrE,EAAE,CAACwD,MAAM,CAAExB,EAAkC,IAAI;EACzE,MAAMyB,MAAM,GAAGzD,EAAE,CAAC0D,QAAQ,CAAC,CAAC3C,GAAG,EAAE4C,GAAG,KAA8B;IAChE,MAAMC,MAAM,GAAG7C,GAAG,CAACiB,EAAE,CAAC;IACtB,IAAI4B,MAAM,CAACE,IAAI,KAAK,SAAS,IAAIF,MAAM,CAACE,IAAI,KAAK,SAAS,EAAE;MAC1D,OAAO;QACLA,IAAI,EAAE,WAAW;QACjBC,OAAO,EAAE,IAAIC,OAAO,CAAQC,OAAO,IAAI;UACrCN,GAAG,CAACO,YAAY,CAAC,MAAK;YACpBD,OAAO,EAAE;YACT,MAAM7B,OAAO,GAAGgB,aAAa,CAACrC,GAAG,CAACiB,EAAE,CAAC;YACrC,IAAII,OAAO,EAAE;cACXA,OAAO,EAAE;cACTgB,aAAa,CAACe,MAAM,CAACnC,EAAE,CAAC;;UAE5B,CAAC,CAAC;QACJ,CAAC;OACO;;IAEZ,OAAO;MAAE8B,IAAI,EAAE,OAAO;MAAEM,SAAS,EAAE,KAAK;MAAEpB,KAAK,EAAEY;IAAM,CAAW;EACpE,CAAC,CAAC;EACF,OAAOH,MAAM;AACf,CAAC,CAAC;AAEF;;;;AAIO,MAAMa,aAAa,GAAGA,CAC3BtC,EAA8B,EAC9BuC,OAAiD,KAI/C;EACF,MAAMxC,QAAQ,GAAG3B,KAAK,CAACoC,UAAU,CAACb,eAAe,CAAC;EAClD,MAAM6C,QAAQ,GAAGpE,KAAK,CAACqE,OAAO,CAC5B,MAAOF,OAAO,EAAEG,gBAAgB,GAAGL,iBAAiB,CAACrC,EAAE,CAAC,GAAGuB,UAAU,CAACvB,EAAE,CAAE,EAC1E,CAACuC,OAAO,EAAEG,gBAAgB,EAAE1C,EAAE,CAAC,CAChC;EACD,MAAM4B,MAAM,GAAGrB,UAAU,CAACiC,QAAQ,CAAC;EACnC,IAAIZ,MAAM,CAACE,IAAI,KAAK,WAAW,EAAE;IAC/B,IAAI,CAACV,aAAa,CAACtC,GAAG,CAAC0D,QAAQ,CAAC,EAAE;MAChCpB,aAAa,CAAC1B,GAAG,CAAC8C,QAAQ,EAAEzC,QAAQ,CAAC4C,KAAK,CAACH,QAAQ,CAAC,CAAC;;IAEvD,MAAMZ,MAAM,CAACG,OAAO;;EAEtB,OAAOH,MAAM;AACf,CAAC;AAED;;;;AAAA/D,OAAA,CAAAyE,aAAA,GAAAA,aAAA;AAIO,MAAMM,oBAAoB,GAAGA,CAClC5C,EAA8B,EAC9BuC,OAAiD,KAI/C;EACF,MAAMxC,QAAQ,GAAG3B,KAAK,CAACoC,UAAU,CAACb,eAAe,CAAC;EAClD,MAAM6C,QAAQ,GAAGpE,KAAK,CAACqE,OAAO,CAC5B,MAAOF,OAAO,EAAEG,gBAAgB,GAAGL,iBAAiB,CAACrC,EAAE,CAAC,GAAGuB,UAAU,CAACvB,EAAE,CAAE,EAC1E,CAACuC,OAAO,EAAEG,gBAAgB,EAAE1C,EAAE,CAAC,CAChC;EACD,MAAM4B,MAAM,GAAGrB,UAAU,CAACiC,QAAQ,CAAC;EACnC,IAAIZ,MAAM,CAACE,IAAI,KAAK,WAAW,EAAE;IAC/B,IAAI,CAACV,aAAa,CAACtC,GAAG,CAAC0D,QAAQ,CAAC,EAAE;MAChCpB,aAAa,CAAC1B,GAAG,CAAC8C,QAAQ,EAAEzC,QAAQ,CAAC4C,KAAK,CAACH,QAAQ,CAAC,CAAC;;IAEvD,MAAMZ,MAAM,CAACG,OAAO;GACrB,MAAM,IAAIH,MAAM,CAACZ,KAAK,CAACc,IAAI,KAAK,SAAS,EAAE;IAC1C,MAAM3D,KAAK,CAAC0E,MAAM,CAACjB,MAAM,CAACZ,KAAK,CAAC8B,KAAK,CAAC;;EAExC,OAAO;IACLV,SAAS,EAAER,MAAM,CAACQ,SAAS;IAC3BpB,KAAK,EAAEY,MAAM,CAACZ,KAAK,CAACA;GACrB;AACH,CAAC;AAAAnD,OAAA,CAAA+E,oBAAA,GAAAA,oBAAA"}
|
package/mjs/index.mjs
CHANGED
@@ -80,54 +80,60 @@ export const useRefreshRx = rx => {
|
|
80
80
|
*/
|
81
81
|
export const useRx = rx => [useRxValue(rx), useSetRx(rx)];
|
82
82
|
const suspenseCache = /*#__PURE__*/globalValue("@effect-rx/rx-react/suspenseCache", () => new Map());
|
83
|
-
const suspenseRx = /*#__PURE__*/Rx.family(rx =>
|
84
|
-
const
|
85
|
-
|
86
|
-
|
83
|
+
const suspenseRx = /*#__PURE__*/Rx.family(rx => {
|
84
|
+
const selfRx = Rx.readable((get, ctx) => {
|
85
|
+
const result = get(rx);
|
86
|
+
const value = Result.noWaiting(result);
|
87
|
+
if (value._tag === "Initial") {
|
88
|
+
return {
|
89
|
+
_tag: "Suspended",
|
90
|
+
promise: new Promise(resolve => {
|
91
|
+
ctx.addFinalizer(() => {
|
92
|
+
resolve();
|
93
|
+
const unmount = suspenseCache.get(selfRx);
|
94
|
+
if (unmount) {
|
95
|
+
unmount();
|
96
|
+
suspenseCache.delete(selfRx);
|
97
|
+
}
|
98
|
+
});
|
99
|
+
})
|
100
|
+
};
|
101
|
+
}
|
102
|
+
const isWaiting = Result.isWaiting(result);
|
87
103
|
return {
|
88
|
-
_tag: "
|
89
|
-
|
90
|
-
|
91
|
-
resolve();
|
92
|
-
const unmount = suspenseCache.get(rx);
|
93
|
-
if (unmount) {
|
94
|
-
unmount();
|
95
|
-
suspenseCache.delete(rx);
|
96
|
-
}
|
97
|
-
});
|
98
|
-
})
|
104
|
+
_tag: "Value",
|
105
|
+
isWaiting,
|
106
|
+
value
|
99
107
|
};
|
100
|
-
}
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
108
|
+
});
|
109
|
+
return selfRx;
|
110
|
+
});
|
111
|
+
const suspenseRxWaiting = /*#__PURE__*/Rx.family(rx => {
|
112
|
+
const selfRx = Rx.readable((get, ctx) => {
|
113
|
+
const result = get(rx);
|
114
|
+
if (result._tag === "Waiting" || result._tag === "Initial") {
|
115
|
+
return {
|
116
|
+
_tag: "Suspended",
|
117
|
+
promise: new Promise(resolve => {
|
118
|
+
ctx.addFinalizer(() => {
|
119
|
+
resolve();
|
120
|
+
const unmount = suspenseCache.get(rx);
|
121
|
+
if (unmount) {
|
122
|
+
unmount();
|
123
|
+
suspenseCache.delete(rx);
|
124
|
+
}
|
125
|
+
});
|
126
|
+
})
|
127
|
+
};
|
128
|
+
}
|
111
129
|
return {
|
112
|
-
_tag: "
|
113
|
-
|
114
|
-
|
115
|
-
resolve();
|
116
|
-
const unmount = suspenseCache.get(rx);
|
117
|
-
if (unmount) {
|
118
|
-
unmount();
|
119
|
-
suspenseCache.delete(rx);
|
120
|
-
}
|
121
|
-
});
|
122
|
-
})
|
130
|
+
_tag: "Value",
|
131
|
+
isWaiting: false,
|
132
|
+
value: result
|
123
133
|
};
|
124
|
-
}
|
125
|
-
return
|
126
|
-
|
127
|
-
isWaiting: false,
|
128
|
-
value: result
|
129
|
-
};
|
130
|
-
}));
|
134
|
+
});
|
135
|
+
return selfRx;
|
136
|
+
});
|
131
137
|
/**
|
132
138
|
* @since 1.0.0
|
133
139
|
* @category hooks
|
package/mjs/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["Registry","Result","Rx","globalValue","Cause","React","RegistryContext","createContext","make","makeStore","registry","rx","getter","get","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","set","useRefreshRx","refresh","useRx","suspenseCache","Map","suspenseRx","family","readable","ctx","result","noWaiting","_tag","promise","Promise","resolve","addFinalizer","delete","isWaiting","suspenseRxWaiting","useRxSuspense","options","resultRx","useMemo","suspendOnWaiting","has","mount","useRxSuspenseSuccess","squash","cause"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"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
|
1
|
+
{"version":3,"file":"index.mjs","names":["Registry","Result","Rx","globalValue","Cause","React","RegistryContext","createContext","make","makeStore","registry","rx","getter","get","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","set","useRefreshRx","refresh","useRx","suspenseCache","Map","suspenseRx","family","selfRx","readable","ctx","result","noWaiting","_tag","promise","Promise","resolve","addFinalizer","delete","isWaiting","suspenseRxWaiting","useRxSuspense","options","resultRx","useMemo","suspendOnWaiting","has","mount","useRxSuspenseSuccess","squash","cause"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -102,8 +102,9 @@ type SuspenseResult<E, A> =
|
|
102
102
|
}
|
103
103
|
|
104
104
|
const suspenseCache = globalValue("@effect-rx/rx-react/suspenseCache", () => new Map<Rx.Rx<any>, () => void>())
|
105
|
-
|
106
|
-
|
105
|
+
|
106
|
+
const suspenseRx = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) => {
|
107
|
+
const selfRx = Rx.readable((get, ctx): SuspenseResult<any, any> => {
|
107
108
|
const result = get(rx)
|
108
109
|
const value = Result.noWaiting(result)
|
109
110
|
if (value._tag === "Initial") {
|
@@ -112,10 +113,10 @@ const suspenseRx = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) =>
|
|
112
113
|
promise: new Promise<void>((resolve) => {
|
113
114
|
ctx.addFinalizer(() => {
|
114
115
|
resolve()
|
115
|
-
const unmount = suspenseCache.get(
|
116
|
+
const unmount = suspenseCache.get(selfRx)
|
116
117
|
if (unmount) {
|
117
118
|
unmount()
|
118
|
-
suspenseCache.delete(
|
119
|
+
suspenseCache.delete(selfRx)
|
119
120
|
}
|
120
121
|
})
|
121
122
|
})
|
@@ -124,9 +125,11 @@ const suspenseRx = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) =>
|
|
124
125
|
const isWaiting = Result.isWaiting(result)
|
125
126
|
return { _tag: "Value", isWaiting, value } as const
|
126
127
|
})
|
127
|
-
|
128
|
-
|
129
|
-
|
128
|
+
return selfRx
|
129
|
+
})
|
130
|
+
|
131
|
+
const suspenseRxWaiting = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) => {
|
132
|
+
const selfRx = Rx.readable((get, ctx): SuspenseResult<any, any> => {
|
130
133
|
const result = get(rx)
|
131
134
|
if (result._tag === "Waiting" || result._tag === "Initial") {
|
132
135
|
return {
|
@@ -145,7 +148,8 @@ const suspenseRxWaiting = Rx.family((rx: Rx.Rx<Result.Result<any, any>>) =>
|
|
145
148
|
}
|
146
149
|
return { _tag: "Value", isWaiting: false, value: result } as const
|
147
150
|
})
|
148
|
-
|
151
|
+
return selfRx
|
152
|
+
})
|
149
153
|
|
150
154
|
/**
|
151
155
|
* @since 1.0.0
|