`ReselectTools.registerSelectors()` fails if the given object has a null value property
javierfernandes opened this issue · 2 comments
Hi !
I was starting to use the tool, and followed the setup code like this
in my storeCreator.js (setups the store)
import * as selectors from 'selectors/selectors'
ReselectTools.getStateWith(() => store.getState())
ReselectTools.registerSelectors(selectors)
And I was getting this exception
My selectors file seems a regular file
export { selectedObject, selectedObjects } from './objects'
export { vmLoading, vmLoaded, tasksComply } from './project'
I started to inspect the "selectors" object (from import * as selectors) and noticed that it has a couple of extra fields set by babel or whatever the underlying impl of the es modules creates.
And seems like one of those fields was null and made the library break.
I solved it by filtering some properties like this
const distilledSelectors = Object.keys(selectors).reduce((acc, k) => {
const v = selectors[k]
if (v) acc[k] = v
return acc
}, {})
ReselectTools.registerSelectors(distilledSelectors)
But maybe it would be great if the library already fixes this by checking for "selector" to be truthy.
Thanks !
You're right, I think I anticipated something like this, but that check needs to be fixed.
Moving all extension issues into the main repo, per #24