refined
refined copied to clipboard
Move predicates into `predicates` package
The predicates in refined are currently organized in objects (like numeric
, string
, etc.) in the eu.timepit.refined
package. With the addition of predefined refined types in eu.timepit.refined.types
the predicates became a little bit less important (since now if you want to use NonEmptyString
for example, the only thing you need to import is eu.timepit.refined.types.string.NonEmptyString
). It is also unfortunate that we have eu.timepit.refined.string
and eu.timepit.refined.types.string
while it is not obvious from the package name that the former only contains predicates.
So to clean up the package structure, I'd like to move all predicates to eu.timepit.refined.predicates
so that predicates are on the same level as refined types. The .refined.predicates
package is already there but currently only contains forwarders to the actual predicates in refined
and an all
object which allows to import all predicates (to support #184).
Care should be taken when doing this to minimize breakage of binary and source compatibility.