prop-types
prop-types copied to clipboard
Add a PropType for an exact shape plus "...rest" properties
Suppose I want something like this:
PropTypes.exact({
x: PropTypes.boolean,
y: PropTypes.string.isRequired,
"...rest": PropTypes.objectOf(PropTypes.string)
})
The above won't work because I don't want to apply that last validator to a property named ...rest, I want to apply it to the rest object that you would get when you destructure the remaining properties.
Is this possible to do with existing prop types, or would it require a new prop type, such as:
PropTypes.exactPlusRest({
x: PropTypes.boolean,
y: PropTypes.string.isRequired
}, PropTypes.string)
If not for x, you could combine y and objectOf and it’d work fine.
I suspect you can use the combinators in npmjs.com/airbnb-prop-types to do what you want, but it’d be a bit cumbersome. I’ll have to think on this one.