├── .github ├── FUNDING.yml └── workflows │ └── scala.yml ├── .gitignore ├── .scalafmt.conf ├── LICENSE ├── README.md ├── docs ├── Examples.md └── Focus.md ├── project ├── build.properties └── plugins.sbt └── src ├── main └── scala │ └── monocle │ ├── FullOpticConstructors.scala │ ├── Optic.scala │ ├── OpticCan.scala │ ├── OpticConstructors.scala │ ├── classic │ ├── PIso.scala │ ├── PLens.scala │ ├── POptional.scala │ ├── PPrism.scala │ └── PTraversal.scala │ ├── functions │ ├── Each.scala │ └── Index.scala │ ├── impl │ ├── FoldImpl.scala │ ├── GetterImpl.scala │ ├── IsoImpl.scala │ ├── LensImpl.scala │ ├── NonEmptyFoldImpl.scala │ ├── NonEmptyTraversalImpl.scala │ ├── NullOpticImpl.scala │ ├── OpticImpl.scala │ ├── OptionalGetterImpl.scala │ ├── OptionalImpl.scala │ ├── PrismImpl.scala │ ├── SetterImpl.scala │ └── TraversalImpl.scala │ ├── internal │ ├── Applicative.scala │ ├── Apply.scala │ ├── Const.scala │ ├── FlatMap.scala │ ├── Functor.scala │ ├── Monad.scala │ ├── Monoid.scala │ ├── NonEmptyList.scala │ ├── NonEmptyTraverse.scala │ ├── Parallel.scala │ ├── Proxy.scala │ ├── TraversalRes.scala │ └── Traverse.scala │ └── std │ ├── either.scala │ └── option.scala └── test └── scala ├── Fixtures.scala └── monocle ├── ComposeModifyTest.scala ├── IndexTest.scala ├── NewOpticsTest.scala ├── OptionalTest.scala ├── TraversalTest.scala └── TypeInferenceTest.scala /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | open_collective: scalamonocle 2 | -------------------------------------------------------------------------------- /.github/workflows/scala.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/.github/workflows/scala.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/README.md -------------------------------------------------------------------------------- /docs/Examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/docs/Examples.md -------------------------------------------------------------------------------- /docs/Focus.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/docs/Focus.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.5.5 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/scala/monocle/FullOpticConstructors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/FullOpticConstructors.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/Optic.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/Optic.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/OpticCan.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/OpticCan.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/OpticConstructors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/OpticConstructors.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/classic/PIso.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/classic/PIso.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/classic/PLens.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/classic/PLens.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/classic/POptional.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/classic/POptional.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/classic/PPrism.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/classic/PPrism.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/classic/PTraversal.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/classic/PTraversal.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/functions/Each.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/functions/Each.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/functions/Index.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/functions/Index.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/FoldImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/FoldImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/GetterImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/GetterImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/IsoImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/IsoImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/LensImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/LensImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/NonEmptyFoldImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/NonEmptyFoldImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/NonEmptyTraversalImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/NonEmptyTraversalImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/NullOpticImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/NullOpticImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/OpticImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/OpticImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/OptionalGetterImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/OptionalGetterImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/OptionalImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/OptionalImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/PrismImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/PrismImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/SetterImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/SetterImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/impl/TraversalImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/impl/TraversalImpl.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Applicative.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Applicative.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Apply.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Apply.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Const.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Const.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/FlatMap.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/FlatMap.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Functor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Functor.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Monad.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Monad.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Monoid.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Monoid.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/NonEmptyList.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/NonEmptyList.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/NonEmptyTraverse.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/NonEmptyTraverse.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Parallel.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Parallel.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Proxy.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Proxy.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/TraversalRes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/TraversalRes.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/internal/Traverse.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/internal/Traverse.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/std/either.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/std/either.scala -------------------------------------------------------------------------------- /src/main/scala/monocle/std/option.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/main/scala/monocle/std/option.scala -------------------------------------------------------------------------------- /src/test/scala/Fixtures.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/Fixtures.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/ComposeModifyTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/ComposeModifyTest.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/IndexTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/IndexTest.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/NewOpticsTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/NewOpticsTest.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/OptionalTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/OptionalTest.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/TraversalTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/TraversalTest.scala -------------------------------------------------------------------------------- /src/test/scala/monocle/TypeInferenceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/optics-dev/Monocly/HEAD/src/test/scala/monocle/TypeInferenceTest.scala --------------------------------------------------------------------------------