Skip to content

Instantly share code, notes, and snippets.

@andresgutgon
Created December 23, 2015 12:12
Show Gist options
  • Save andresgutgon/23449081677b9017cefb to your computer and use it in GitHub Desktop.
Save andresgutgon/23449081677b9017cefb to your computer and use it in GitHub Desktop.
import _ from 'underscore';
import { createSelector } from 'reselect';
function selectMembersWithUser(members, users) {
const entities = _.map(members.byUserID, (member) => {
const userById = users.byID[member.user_id];
const user = _.omit(userById, ['created_at', 'updated_at', 'id']);
return {
...user,
...member,
};
});
return {
entities: entities,
byGroupID: _.groupBy(entities, 'group_id'),
};
}
const membersSelector = (state) => state.memberships;
const usersSelector = (state) => state.users;
export const membersWithUserSelector = createSelector(
[membersSelector, usersSelector],
(members, users) => {
return {
members: selectMembersWithUser(members, users),
};
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment