/zio-optics

Easily modify parts of larger data structures

Primary LanguageScalaApache License 2.0Apache-2.0

ZIO Optics

Project Stage CI Release Snapshot Discord
Project stage CI Release Artifacts Snapshot Artifacts Badge-Discord

Summary

ZIO Optics is a library that makes it easy to modify parts of larger data structures based on a single representation of an optic as a combination of a getter and setter.

ZIO Optics features:

  • A unified representation of optics - All optics compose the same way because they are all instances of the same data type.
  • Deep ZIO integration - Represent effectual and transactional optics that work with ZIO data structures like Ref and TMap.
  • Helpful error messages - When an optic fails see where it failed and why.
  • Zero dependencies - No dependencies other than ZIO itself.
  • No unnecessary abstractions - Concrete representation makes it easy to learn.

For more information check out the microsite below.

Documentation

ZIO Optics Microsite

Contributing

Documentation for contributors

Code of Conduct

See the Code of Conduct

Support

Come chat with us on Badge-Discord.

License

License