fthomas / fthomas/refined

Move predicates into `predicates` package

Open
#508 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
1.7k
Forks
152
Avg merge
1h 20m
Merged PRs (30d)
6

Description

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.