├── .github ├── FUNDING.yml ├── dependabot.yml └── workflows │ ├── lint.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── do.go ├── do_example_test.go ├── do_test.go ├── either.go ├── either ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── either3.go ├── either3 ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── either3_test.go ├── either4.go ├── either4 ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── either4_test.go ├── either5.go ├── either5 ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── either5_example_test.go ├── either5_test.go ├── either_example_test.go ├── either_test.go ├── fold.go ├── fold_example_test.go ├── future.go ├── future_example_test.go ├── future_test.go ├── go.mod ├── go.sum ├── io.go ├── io_either.go ├── io_either_example_test.go ├── io_either_test.go ├── io_example_test.go ├── io_test.go ├── main_test.go ├── option.go ├── option ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── option_example_test.go ├── option_go118.go ├── option_go122.go ├── option_test.go ├── result.go ├── result ├── pipe.go ├── pipe_test.go ├── transforms.go └── transforms_test.go ├── result_example_test.go ├── result_test.go ├── state.go ├── task.go ├── task_either.go ├── task_either_test.go ├── task_example_test.go ├── task_test.go ├── typeclass ├── filterable.go ├── foldable.go ├── monadic.go └── monoid.go ├── types.go └── utils.go /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [samber] 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/README.md -------------------------------------------------------------------------------- /do.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/do.go -------------------------------------------------------------------------------- /do_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/do_example_test.go -------------------------------------------------------------------------------- /do_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/do_test.go -------------------------------------------------------------------------------- /either.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either.go -------------------------------------------------------------------------------- /either/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either/pipe.go -------------------------------------------------------------------------------- /either/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either/pipe_test.go -------------------------------------------------------------------------------- /either/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either/transforms.go -------------------------------------------------------------------------------- /either/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either/transforms_test.go -------------------------------------------------------------------------------- /either3.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3.go -------------------------------------------------------------------------------- /either3/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3/pipe.go -------------------------------------------------------------------------------- /either3/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3/pipe_test.go -------------------------------------------------------------------------------- /either3/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3/transforms.go -------------------------------------------------------------------------------- /either3/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3/transforms_test.go -------------------------------------------------------------------------------- /either3_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either3_test.go -------------------------------------------------------------------------------- /either4.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4.go -------------------------------------------------------------------------------- /either4/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4/pipe.go -------------------------------------------------------------------------------- /either4/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4/pipe_test.go -------------------------------------------------------------------------------- /either4/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4/transforms.go -------------------------------------------------------------------------------- /either4/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4/transforms_test.go -------------------------------------------------------------------------------- /either4_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either4_test.go -------------------------------------------------------------------------------- /either5.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5.go -------------------------------------------------------------------------------- /either5/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5/pipe.go -------------------------------------------------------------------------------- /either5/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5/pipe_test.go -------------------------------------------------------------------------------- /either5/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5/transforms.go -------------------------------------------------------------------------------- /either5/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5/transforms_test.go -------------------------------------------------------------------------------- /either5_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5_example_test.go -------------------------------------------------------------------------------- /either5_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either5_test.go -------------------------------------------------------------------------------- /either_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either_example_test.go -------------------------------------------------------------------------------- /either_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/either_test.go -------------------------------------------------------------------------------- /fold.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/fold.go -------------------------------------------------------------------------------- /fold_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/fold_example_test.go -------------------------------------------------------------------------------- /future.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/future.go -------------------------------------------------------------------------------- /future_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/future_example_test.go -------------------------------------------------------------------------------- /future_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/future_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/go.sum -------------------------------------------------------------------------------- /io.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io.go -------------------------------------------------------------------------------- /io_either.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io_either.go -------------------------------------------------------------------------------- /io_either_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io_either_example_test.go -------------------------------------------------------------------------------- /io_either_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io_either_test.go -------------------------------------------------------------------------------- /io_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io_example_test.go -------------------------------------------------------------------------------- /io_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/io_test.go -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/main_test.go -------------------------------------------------------------------------------- /option.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option.go -------------------------------------------------------------------------------- /option/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option/pipe.go -------------------------------------------------------------------------------- /option/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option/pipe_test.go -------------------------------------------------------------------------------- /option/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option/transforms.go -------------------------------------------------------------------------------- /option/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option/transforms_test.go -------------------------------------------------------------------------------- /option_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option_example_test.go -------------------------------------------------------------------------------- /option_go118.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option_go118.go -------------------------------------------------------------------------------- /option_go122.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option_go122.go -------------------------------------------------------------------------------- /option_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/option_test.go -------------------------------------------------------------------------------- /result.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result.go -------------------------------------------------------------------------------- /result/pipe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result/pipe.go -------------------------------------------------------------------------------- /result/pipe_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result/pipe_test.go -------------------------------------------------------------------------------- /result/transforms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result/transforms.go -------------------------------------------------------------------------------- /result/transforms_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result/transforms_test.go -------------------------------------------------------------------------------- /result_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result_example_test.go -------------------------------------------------------------------------------- /result_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/result_test.go -------------------------------------------------------------------------------- /state.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/state.go -------------------------------------------------------------------------------- /task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/task.go -------------------------------------------------------------------------------- /task_either.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/task_either.go -------------------------------------------------------------------------------- /task_either_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/task_either_test.go -------------------------------------------------------------------------------- /task_example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/task_example_test.go -------------------------------------------------------------------------------- /task_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/task_test.go -------------------------------------------------------------------------------- /typeclass/filterable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/typeclass/filterable.go -------------------------------------------------------------------------------- /typeclass/foldable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/typeclass/foldable.go -------------------------------------------------------------------------------- /typeclass/monadic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/typeclass/monadic.go -------------------------------------------------------------------------------- /typeclass/monoid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/typeclass/monoid.go -------------------------------------------------------------------------------- /types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samber/mo/HEAD/types.go -------------------------------------------------------------------------------- /utils.go: -------------------------------------------------------------------------------- 1 | package mo 2 | 3 | func empty[T any]() (t T) { 4 | return 5 | } 6 | --------------------------------------------------------------------------------