-
-
Notifications
You must be signed in to change notification settings - Fork 375
Open
Description
The current imports are:
import doobie.postgres.circe.json.implicits.* // for Json
import doobie.postgres.circe.jsonb.implicits.* // for JsonbIn fact, the only implicits they bring in are Get[Json] and Put[Json] instances.
However, those paths seem the only way to import instance constructors: pgEncoderPut* and pgDecoderGet* which are not implicit and have to be called explicitly in order to create instances for specific types.
Importing ..implicits.* in order to access non-implicit stuff is really misleading and can be confusing.
Perhaps it makes sense to deprecate .implicits and provide alternative import path .instances, i.e.:
import doobie.postgres.circe.json.instances.* // for Json
import doobie.postgres.circe.jsonb.instances.* // for JsonbBy convention, instances imply "typeclass instances" and are usually implicits as well, but providing non-implicit instance constructors along with instances themselves should be fine.
jatcwang
Metadata
Metadata
Assignees
Labels
No labels