refined icon indicating copy to clipboard operation
refined copied to clipboard

Move predicates into `predicates` package

Open fthomas opened this issue 6 years ago • 0 comments

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.

fthomas avatar May 15 '18 08:05 fthomas