reshow-return
Version:
reshow-return (simple connect component with reshow-flux)
49 lines (45 loc) • 1.65 kB
JavaScript
;
var _interopRequireDefault = require("reshow-runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("reshow-runtime/helpers/objectWithoutPropertiesLoose"));
var _reshowHooks = require("reshow-hooks");
var _useReturn = _interopRequireDefault(require("./useReturn.js"));
var _hydrate = _interopRequireDefault(require("./hydrate.js"));
var _excluded = ["isHydrate"]; // @ts-check
/**
* @typedef {import('./useReturn').UseReturnPayLoad} UseReturnPayLoad
*/
/**
* @typedef {object&UseReturnPayLoad} UseClientReturnPayLoad
* @property {boolean} [isHydrate]
*/
/**
* @template StateType
* @template ActionType
*
* @callback UseClientReturnType
* @param {import('./connectOptions').InitStatesType?} initStates
* @param {import("reshow-flux-base").StoreObject<StateType, ActionType>} store
* @param {UseClientReturnPayLoad} [payload]
*
* @returns {StateType}
*
*/
/**
* @type {UseClientReturnType<any, any>}
*/
var useClientReturn = function useClientReturn(initStates, store, payload) {
var _ref = payload || {},
isHydrate = _ref.isHydrate,
restpayload = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
if ((0, _hydrate["default"])() || isHydrate) {
var state = (0, _useReturn["default"])(initStates, store, restpayload);
var isLoad = (0, _reshowHooks.useLoaded)();
return isLoad ? state : {};
} else {
return (0, _useReturn["default"])(initStates, store, restpayload);
}
};
var _default = exports["default"] = useClientReturn;
module.exports = exports.default;