Possible documentation improvements #570
Labels
enhancement
help wanted
low hanging fruit
Task that should be easy to implement - perfect for people that want to start contributing.
This ticket is intended to be a pinned list of things that we can improve in the documentation. They might become full issues, they might be done as a part of another PR, they might be a good candidates for a contribution!
Latest stable documentation can be found at https://chimney.readthedocs.io/en/stable/ , latest master build can be found at https://chimney.readthedocs.io/en/latest/. Rendering it locally is described in
CONTRIBUTION.md
.Things to improve
some mini tutorial
simple user case with success- done in Improve the docs a bit #615what happens on error- done in Improve the docs a bit #615how to use the feedback to fix it- done in Improve the docs a bit #615 but can be improved(?)add mention to automatic vs semiautomatic derivation that Chimney DOES NOT implement it in the same way as e.g. Circe so all the typical advises ("ban auto, semiauto only") does not apply- one in Improve the docs a bit #615,add mention (and tests) that:.enableBeanSetters
also enable writing tovar
s - it's an unintended side-effect ofthe fact that@BeanProperty
on Scala 3 would generatename_=
symbol in tasty, while createdingsetName
in JVM bytecodethe fact that Scala 2.13 can read case classes compiled with Scala 3our goal that, ideally, the behavior should be the same on all versions of Scalameaning that- done in Ensure with tests and document the alignment of vars and setters #621var
s have to be treated the same way as bean settersadd example of the above showing that one can convert between normal case class and- done in Ensure with tests and document the alignment of vars and setters #621js.Object
with definedvar
s - e.g. https://scastie.scala-lang.org/I7yzzeRQT6yWDoFjXQHoCAexplanation for optics-like uses cases - while we mentioned in Goals and non-goals that Chimney is NOT a lens library, with changes that happened over the last few versions (particularly around 1.0.0) it can be used to cover some cases that are typically within the lens domain- done in Better lens-like operations support #583more good examples of Cats' integrations:
mapN
/parMapN
usage ofTransformer
/PartialTransformer
/partial.Result
andThen
/combine
usage ofTransformer
/PartialTransformer
/Codec
/Iso
Chain
/NonEmptyChain
/NonEmptyList
/NonEmptyVector
/NonEmptySet
...more good examples of Protobuf integrations:
example of- done in More sources in docs, missing PB example #585.enableNonAnyValWrappers
required to handleoneof value
wrappers (single-element case classes storing sealed hierarchy)adding comparisons with other popular mapping libraries ("Coming from ..." sections in the documentation #350) and keeping existing ones up to date
some section listing all flags/overrides in one place with links to their explanation- done as a part of Provide Scala-version-agnostic way of reading macro settings #572some section explaining- done in Make integrations a separate section in cookbook #584integrations
package andAsResult
type classlinks to other tutorials- done in More sources in docs, missing PB example #585https://www.youtube.com/watch?v=SNc7xeHrKnQ + https://mateuszkubuszok.github.io/DomainApiDtoChimney (newest example with Chimeny)https://mateuszkubuszok.github.io/ChimneyInternalsPresentation (Chimney under the hood examples with old macros)https://softwaremill.com/5-scala-libraries-that-will-make-your-life-easier/ (includes Chimney, as # 2)https://www.youtube.com/watch?v=ezz0BpEHEQY + https://youtu.be/ZymD5NuOwdA?si=P-4AnMiaIi2LVKVWhttps://www.youtube.com/watch?v=U67BAeH3cxoin CONTRIBUTING.md
how to add OSS Sonatype snapshot repository to test- done as a part of Better singleton types support #559$COVERAGE-OFF$
disableX
flags are called only incompileErrors
, so scoverage does not catch itlast but not least: typos, erroneously put markdown tags, grammar fixes are always welcome!
The text was updated successfully, but these errors were encountered: