Files
freeCodeCamp/common/app/redux/selectors.js
2016-08-04 15:01:37 -07:00

39 lines
847 B
JavaScript

import { createSelector } from 'reselect';
export const userSelector = createSelector(
state => state.app.user,
state => state.entities.user,
(username, userMap) => ({
user: userMap[username] || {}
})
);
export const firstChallengeSelector = createSelector(
state => state.entities.challenge,
state => state.entities.block,
state => state.entities.superBlock,
state => state.challengesApp.superBlocks,
(challengeMap, blockMap, superBlockMap, superBlocks) => {
if (
!challengeMap ||
!blockMap ||
!superBlockMap ||
!superBlocks
) {
return {};
}
try {
return challengeMap[
blockMap[
superBlockMap[
superBlocks[0]
].blocks[0]
].challenges[0]
];
} catch (err) {
console.error(err);
return {};
}
}
);