1 | import warning from '../utils/warning'
|
2 |
|
3 | function verify(selector, methodName, displayName) {
|
4 | if (!selector) {
|
5 | throw new Error(`Unexpected value for ${methodName} in ${displayName}.`)
|
6 | } else if (
|
7 | methodName === 'mapStateToProps' ||
|
8 | methodName === 'mapDispatchToProps'
|
9 | ) {
|
10 | if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) {
|
11 | warning(
|
12 | `The selector for ${methodName} of ${displayName} did not specify a value for dependsOnOwnProps.`
|
13 | )
|
14 | }
|
15 | }
|
16 | }
|
17 |
|
18 | export default function verifySubselectors(
|
19 | mapStateToProps,
|
20 | mapDispatchToProps,
|
21 | mergeProps,
|
22 | displayName
|
23 | ) {
|
24 | verify(mapStateToProps, 'mapStateToProps', displayName)
|
25 | verify(mapDispatchToProps, 'mapDispatchToProps', displayName)
|
26 | verify(mergeProps, 'mergeProps', displayName)
|
27 | }
|