UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

50 lines (45 loc) 2.09 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var index = require('../../node_modules/.pnpm/reselect@4.1.7/node_modules/reselect/es/index.js'); require('../../types/models.js'); require('../../types/events.js'); require('redux'); require('../rootReducer.js'); require('./actions.js'); require('tslib'); require('../../node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/invariant.js'); require('i18next'); require('../conversations/actions.js'); require('../../node_modules/.pnpm/lodash.flatten@4.4.0/node_modules/lodash.flatten/index.js'); require('../../node_modules/.pnpm/lodash.some@4.6.0/node_modules/lodash.some/index.js'); require('../messages/actions.js'); require('../contacts/actions.js'); var getAccountListStateSlice = function (state) { return state.accounts; }; // 获取所有账号 var getAccounts = index.createSelector([getAccountListStateSlice], function (state) { return state.accounts; }); // 是否正在查询账号列表 index.createSelector([getAccountListStateSlice], function (state) { return !!state.fetchingRequest; }); // 是否查询更多账号 index.createSelector([getAccountListStateSlice], function (state) { return !!state.fetchingRequest && !!state.fetchingRequest.offset; }); // useSelector 依赖状态,需要为每个 compoenent 创建自己的实例 // 参考: // https://react-redux.js.org/api/hooks#using-memoizing-selectors // https://github.com/reduxjs/reselect#q-can-i-share-a-selector-across-multiple-component-instances // 获取账号详情 var getAccountById = function (id) { return index.createSelector([getAccountListStateSlice], function (state) { var _a; return (_a = state.accounts.find(function (it) { return it.id === id; })) !== null && _a !== void 0 ? _a : null; }); }; // 获取开通的服务商 index.createSelector([getAccountListStateSlice], function (state) { return new Set(state.accounts.map(function (it) { return it.provider; })); }); exports.getAccountById = getAccountById; exports.getAccounts = getAccounts; //# sourceMappingURL=selectors.js.map