Comments (3)
I'm used to "codec"s for thing in the stdlib (like tuples) already being included in a library like this out of the box - without having to "derive" them. E.g. circe generates codecs for Tuples 1-22 here: https://github.com/circe/circe/blob/series/0.14.x/project/Boilerplate.scala#L157
Saves time over doing that at compile time for library users, also.
Would you accept a PR for adding instances for tuples like that - perhaps using sbt-boilerplate?
from magnolify.
Ok I get it now. We handle tuple like other generic products instead of providing a default implicit.
If we add those, we should do the same in all magnolify
modules. So far most of other modules are not affected by this because there is no semiauto
/auto
separation. IMHO we should do this split AND provide tuple implicits for the semiauto
package.
I think it is worth a discussion and gathering other opinion before you get started :) cc: @spotify/flatmap
from magnolify.
Hi @LeifW, sorry for the late answer.
implicitly[Funnel[(String, String)]]
won't work with semiauto
. You should either use auto
to retrieve the funnel implicitly or create it explicitly with
FunnelDerivation[(String, String)]
Concerning the implicit conflict for List[(String, String)]
, we indeed have a problem with implicit priorities. Will create a patch
from magnolify.
Related Issues (20)
- Set cats and scalacheck dependencies as provided
- Neo4j Record support
- Support schema annotations for magnolify-parquet HOT 1
- Build with java 17
- magnolify.bigtable.ByteStringComparator is built with Java 11 since 0.4.7 release
- Publish docs as a GH site
- Enum implicit taken instead of typeclass derivation HOT 2
- Set avro.java.String property in magnolify-avro schema derivation? HOT 1
- Add support of Joda-time types to all magnolify modules
- Support ByteBuffer derivations? HOT 1
- Neo4J documentation
- Rework AvroCompat for ParquetType HOT 1
- Replace deprecated usage of `FileDescriptor.Syntax` in ProtobufType
- Remove package object inheritance
- ParquetType throws error writing Optional empty list HOT 1
- Enable dictionary encoding by default for enum ParquetFields
- Support Map schema types in Parquet HOT 1
- Handling non-Enums in EnumType[] type class in scala3
- Regression in bytes read safety in avro HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magnolify.