You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
801 B
27 lines
801 B
import warning from '../utils/warning'
|
|
|
|
function verify(selector: unknown, methodName: string): void {
|
|
if (!selector) {
|
|
throw new Error(`Unexpected value for ${methodName} in connect.`)
|
|
} else if (
|
|
methodName === 'mapStateToProps' ||
|
|
methodName === 'mapDispatchToProps'
|
|
) {
|
|
if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) {
|
|
warning(
|
|
`The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
export default function verifySubselectors(
|
|
mapStateToProps: unknown,
|
|
mapDispatchToProps: unknown,
|
|
mergeProps: unknown
|
|
): void {
|
|
verify(mapStateToProps, 'mapStateToProps')
|
|
verify(mapDispatchToProps, 'mapDispatchToProps')
|
|
verify(mergeProps, 'mergeProps')
|
|
}
|