Nested-validate
This package lets you validate nested types at runtime, giving you error messages showing the path of the property that had the error. Build up the types using predicates like those found in check-types or prettycats. You can also create your own predicates.
const isObjectOf isArrayOf isOptional isRequired } = const isString = const isNumber = const isAddress = const isMyType = const isMyOtherType = // Will throw: 'myType addresses [0] houseNumber invalid'
Custom error handlers
You can give this package an object with custom error handlers for missing and invalid errors.
const isObjectOf isArrayOf isRequired } = const isString = const isAwesomeCar = // Will throw: 'whales [1] dang'