nidula 0.1.3 nidula: ^0.1.3 copied to clipboard
A lightweight Dart library for Rust-like Option/Result types. Supports exhaustive pattern matching and compile-time safe, chainable None/Err propagation.
0.1.3 #
- Improved documentation.
0.1.2 #
- Improved documentation.
- Improved docstring.
- Include
e
inunwrap
's Panic message. - Update
toString
method ofNonePropagation
andErrPropagation
.
0.1.1 #
- Improved documentation.
- Added "Parallel to Rust's try-operator implementation" subsections.
- Added "Nested options and comparison to nullable types" subsection.
- Fixed typos.
0.1.0 #
- Renamed most classes and methods and static methods. Names are longer, but much more obvious:
prop
was renamed tounwrapOrPropagateErr
andunwrapOrPropagateNone
.catchProp
/catchPropAsync
were renamed tosyncErrPropagationScope
/asyncErrPropagationScope
andsyncNonePropagationScope
/asyncNonePropagationScope
.ResultPropError
was renamed toErrPropagation
. Same forOptionPropError
, which was renamed toNonePropagation
.ResultPropToken
was renamed toErrPropagationToken
. Same forOptionPropToken
, which was renamed toNonePropagationToken
.
- Added
Propagation
abstract class. - Improved and refactored tests.
- Improved docstring.
- Improved README.
0.0.3 #
- Added try-catch warning to README.
- Added more code to
nidula_example.dart
. - Small fix to example in README.
0.0.2 #
- Uploaded again to fix repository URL detection.
0.0.1 #
- Initial version.
- Forked from
option_result
, bringing the following enhancements:- Try-operator implementation rewritten from scratch.
- Compile time safety through propagation tokens.
- Chainable.
- Simpler and clearer library-internal error handling strategy.
T
andE
types must extendObject
(thus, non-null values are prohibited).- This enforces composition with
Option
types (Option<T>
) instead of nullable types (T?
).
- This enforces composition with
- Only
T v
andE e
fields (and, thus, getters) are available.value
,val
,err
anderror
aliases were removed.
- There is only a single public library to import components from.
- Final modifiers to prevent extending
Ok
,Err
,Some
andNone
. ==
operator takes all generic types into consideration when comparingOption
objects andResult
objects.- Added variable names to all function parameters in types
- Callback autocomplete outputs e.g.
(v) {}
instead of(p0) {}
- Callback autocomplete outputs e.g.
- Try-operator implementation rewritten from scratch.
- Forked from