Welcome to the Daxle monorepo workspace! This repository contains the source code for daxle, a lightweight, type-safe functional programming toolkit designed to help you write predictable and robust Dart applications.
| Package | Path | Description | Version | Pub |
|---|---|---|---|---|
| daxle | packages/daxle |
Build composable, predictable pipelines. Core toolkit offering Option, Either, Task, TaskEither, and Unit. |
3.1.1 |
Dart's native error handling can sometimes be unpredictable. Uncaught exceptions crash apps, and nested async calls create callback hell. Daxle solves this by introducing robust, functional primitives to your workflow.
- Declarative Data Flow: Replace imperative
if-elsechains with explicit, functional types for missing values (Option) and operations that can fail (Either). - Modern FP Patterns: Utilize sealed classes, pattern matching, and monadic chaining tailored for modern Dart.
- Composable Asynchronous Workflows: Chain asynchronous tasks lazily with
TaskandTaskEither. Handle failures at compile-time without throwing exceptions.
- Ensure you have the Dart SDK installed (
>=3.11.0). - Run
dart pub getfrom the root or withinpackages/daxleto resolve dependencies. - To run all unit tests:
cd packages/daxle dart test
- To run an example file:
dart run packages/daxle/example/option_example.dart
We love contributions! If you would like to contribute to daxle, please follow the steps below:
- Fork this repository.
- Create a new branch for your feature or bugfix.
- Make your changes and ensure all tests pass (
dart test). - Ensure code formatting and static analysis are clean (
dart formatanddart analyze). - Submit a pull request.
daxle is released under the MIT License.