reshow-return
Version:
reshow-return (simple connect component with reshow-flux)
62 lines (57 loc) • 1.84 kB
JavaScript
;
var _interopRequireDefault = require("reshow-runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _reshowFlux = require("reshow-flux");
var _connectOptions = _interopRequireDefault(require("./connectOptions.js"));
// @ts-check
/**
* @template StateType
* @template ActionType
*
* @typedef {import("./connectOptions").calculateOptions<StateType, ActionType>} calculateOptions
*/
/**
* @typedef {object} UseReturnPayLoad
* @property {{[key: string]: string[]}} [pathStates]
* @property {boolean} [immutable]
* @property {boolean} [renewProps]
* @property {function({prev:any, nextProps:any, nextState:any}):boolean} [shouldComponentUpdate]
*/
/**
* @template StateType
* @template ActionType
*
* @callback UseReturnType
* @param {import('./connectOptions').InitStatesType?} initStates
* @param {import("reshow-flux-base").StoreObject<StateType, ActionType>} store
* @param {UseReturnPayLoad} [payload]
*
* @returns {StateType}
*/
/**
* @type UseReturnType<any, any>
*/
var useReturn = function useReturn(initStates, store, _temp) {
var _ref = _temp === void 0 ? {} : _temp,
pathStates = _ref.pathStates,
renewProps = _ref.renewProps,
shouldComponentUpdate = _ref.shouldComponentUpdate,
_ref$immutable = _ref.immutable,
immutable = _ref$immutable === void 0 ? true : _ref$immutable;
/**
* @type {calculateOptions<any, any>&UseReturnPayLoad}
*/
var options = {
initStates: initStates,
store: store,
pathStates: pathStates,
immutable: immutable,
renewProps: renewProps,
shouldComponentUpdate: shouldComponentUpdate
};
var state = (0, _reshowFlux.useConnect)(_connectOptions["default"])(options);
return state;
};
var _default = exports["default"] = useReturn;
module.exports = exports.default;