kitlangton / neotype

A friendly newtype library for Scala 3
Apache License 2.0
158 stars 16 forks source link

New module structure #62

Closed kitlangton closed 3 months ago

kitlangton commented 3 months ago

I've relocated each integration (quill, jsoniter, zio-json, etc.) from being directly under the neotype package—such as neotype.quill—to a new intermediate package named interop. Now, each integration will be found at neotype.interop.quill, and so on.

The reason is simple: If you write import neotype.*, as will often be the case, then you'd have clobbered the namespace of say doobie. As the bare doobie will now reference neotype.doobie and not _root_.doobie. That would've forced you to refer to doobie proper as _root_.doobie, which is no fun at all.

I'm sorry for the breaking change, but it should be a simple matter of find and replace on some import statements ❤️ . I think resolving this awkwardness is worth it.