@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
45 lines (42 loc) • 1.93 kB
JavaScript
import { createSelector } from '../../node_modules/.pnpm/reselect@4.1.7/node_modules/reselect/es/index.js';
import '../../types/models.js';
import '../../types/events.js';
import 'redux';
import '../rootReducer.js';
import './actions.js';
import 'tslib';
import '../../node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/invariant.js';
import 'i18next';
import '../conversations/actions.js';
import '../../node_modules/.pnpm/lodash.flatten@4.4.0/node_modules/lodash.flatten/index.js';
import '../../node_modules/.pnpm/lodash.some@4.6.0/node_modules/lodash.some/index.js';
import '../messages/actions.js';
import '../contacts/actions.js';
var getAccountListStateSlice = function (state) { return state.accounts; };
// 获取所有账号
var getAccounts = createSelector([getAccountListStateSlice], function (state) {
return state.accounts;
});
// 是否正在查询账号列表
createSelector([getAccountListStateSlice], function (state) {
return !!state.fetchingRequest;
});
// 是否查询更多账号
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 createSelector([getAccountListStateSlice], function (state) {
var _a;
return (_a = state.accounts.find(function (it) { return it.id === id; })) !== null && _a !== void 0 ? _a : null;
}); };
// 获取开通的服务商
createSelector([getAccountListStateSlice], function (state) {
return new Set(state.accounts.map(function (it) { return it.provider; }));
});
export { getAccountById, getAccounts };
//# sourceMappingURL=selectors.js.map