Skip to content

Commit

Permalink
Safety check in case the passed state is not an object
Browse files Browse the repository at this point in the history
Prevents "Requested keys of a value that is not an object" errors.
  • Loading branch information
Javier Cuevas committed Feb 7, 2019
1 parent 4337251 commit fc70bde
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions src/transformer.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,24 @@ const seamlessImmutableTransformCreator = ({ whitelistPerReducer = {}, blacklist
return createTransform(
// transform state coming from redux on its way to being serialized and stored
(state, key) => {
const reducedStateKeys = Object.keys(state);
if (whitelistPerReducer[key]) {
reducedStateKeys.forEach(item => {
if (!whitelistPerReducer[key].includes(item)) {
state = state.without(item);
}
});
if (typeof state === 'object') {
const reducedStateKeys = Object.keys(state);
if (whitelistPerReducer[key]) {
reducedStateKeys.forEach(item => {
if (!whitelistPerReducer[key].includes(item)) {
state = state.without(item);
}
});
}
if (blacklistPerReducer[key]) {
reducedStateKeys.forEach(item => {
if (blacklistPerReducer[key].includes(item)) {
state = state.without(item);
}
});
}
return fromImmutable(state);
}
if (blacklistPerReducer[key]) {
reducedStateKeys.forEach(item => {
if (blacklistPerReducer[key].includes(item)) {
state = state.without(item);
}
});
}
return fromImmutable(state);
},
// transform state coming from storage, on its way to be rehydrated into redux
state => toImmutable(state)
Expand Down

0 comments on commit fc70bde

Please sign in to comment.