rename model suspender hoc

This commit is contained in:
nklhrstv 2022-07-07 23:11:16 +03:00
parent e20d2a1b53
commit 362081bfe6
2 changed files with 10 additions and 10 deletions

View file

@ -36,7 +36,7 @@ const useDeepEqualMemo = require('./useDeepEqualMemo');
const useDeepEqualState = require('./useDeepEqualState');
const useFullscreen = require('./useFullscreen');
const useLiveRef = require('./useLiveRef');
const { withGetInitState, useModelState } = require('./useModelState');
const { withModelSuspender, useModelState } = require('./useModelState');
const useOnScrollToBottom = require('./useOnScrollToBottom');
const useProfile = require('./useProfile');
const useStreamingServer = require('./useStreamingServer');
@ -80,7 +80,7 @@ module.exports = {
useDeepEqualState,
useFullscreen,
useLiveRef,
withGetInitState,
withModelSuspender,
useModelState,
useOnScrollToBottom,
useProfile,

View file

@ -6,9 +6,9 @@ const isEqual = require('lodash.isequal');
const { useRouteFocused } = require('stremio-router');
const { useServices } = require('stremio/services');
const GetInitStateContext = React.createContext();
const ModelSuspenderContext = React.createContext();
GetInitStateContext.displayName = 'GetInitStateContext';
ModelSuspenderContext.displayName = 'ModelSuspenderContext';
function wrapPromise(promise) {
let status = 'pending';
@ -36,8 +36,8 @@ function wrapPromise(promise) {
};
}
const withGetInitState = (Component, Fallback = () => { }) => {
return function WithGetInitState(props) {
const withModelSuspender = (Component, Fallback = () => { }) => {
return function WithModelSuspender(props) {
const { core } = useServices();
const initStateRef = React.useRef({});
const getInitState = React.useCallback((model) => {
@ -49,9 +49,9 @@ const withGetInitState = (Component, Fallback = () => { }) => {
}, []);
return (
<React.Suspense fallback={<Fallback {...props} />}>
<GetInitStateContext.Provider value={getInitState}>
<ModelSuspenderContext.Provider value={getInitState}>
<Component {...props} />
</GetInitStateContext.Provider>
</ModelSuspenderContext.Provider>
</React.Suspense>
);
};
@ -64,7 +64,7 @@ const useModelState = ({ action, ...args }) => {
const [model, timeout, map] = React.useMemo(() => {
return [args.model, args.timeout, args.map];
}, []);
const getInitState = React.useContext(GetInitStateContext);
const getInitState = React.useContext(ModelSuspenderContext);
const [state, setState] = React.useReducer(
(prevState, nextState) => {
return Object.keys(prevState).reduce((result, key) => {
@ -123,6 +123,6 @@ const useModelState = ({ action, ...args }) => {
};
module.exports = {
withGetInitState,
withModelSuspender,
useModelState
};