oxidized
Definitions of Rust-like types, Option and Result, to promote safer programming.
6.2.0
10K downloads/mo
#2913 most downloaded on pub.dev
nlfiedler/oxidized
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 9 days to 12 months
Nearly every release is documented
notes for 16 of 16 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
16 releases · first in 2020
0 releases in the last 12 months
see the full history below
Release timeline
16 releases · Mar 2020 to Jul 2024Releases
latest 16-
6.2.023 Jul 2024 -
6.1.015 Jul 2023Release notes
Open source →Added
- amaxcz: add
matchOk(),matchErr(), andunwrapOrNull()functions toResult - amaxcs:
unwrap()function now contains the original error message
Release notes
Open source →Added
- amaxcz: add
matchOk(),matchErr(), andunwrapOrNull()functions toResult - amaxcs:
unwrap()function now contains the original error message
- amaxcz: add
-
6.0.019 Jun 2023Release notes
Open source →Changed
- Now requires Dart SDK version 3 or higher.
- BREAKING CHANGE: Both
OptionandResultare nowsealedclasses
which allows for the use of exhaustive pattern matching. - feelsantiago: introduced the
sealedclass change toOptionandResult.
Release notes
Open source →Changed
- Now requires Dart SDK version 3 or higher.
- BREAKING CHANGE: Both
OptionandResultare nowsealedclasses which allows for the use of exhaustive pattern matching. - feelsantiago: introduced the
sealedclass change toOptionandResult.
-
5.3.014 Jan 2023Release notes
Open source →Fixed
- stumblinbear: Fix possible invalid casting in catch block.
Changed
- kranfix: Replaced
pedantic(deprecated) byvery_goog_analysis. - kranfix: Refactored
Optioninto many mixins. - kranfix: Better implementation for
Optionasync methods. - kranfix:
Ok.unitandErr.unitstatic methods
Release notes
Open source →Fixed
- stumblinbear: Fix possible invalid casting in catch block.
Changed
- kranfix: Replaced
pedantic(deprecated) byvery_goog_analysis. - kranfix: Refactored
Optioninto many mixins. - kranfix: Better implementation for
Optionasync methods. - kranfix:
Ok.unitandErr.unitstatic methods
-
5.2.011 Feb 2022Release notes
Open source →Added
- rlch: Added async methods to
Option<T>andResult<T, E>. - rlch: Added missing type arguments to
Option<T>andResult<T, E>. - rlch: Added code coverage for async methods.
- rlch: Added
OptionFutureRedirectorutil to redirect methods called onFuture<Option<T>>. - rlch: Added
ResultFutureRedirectorutil to redirect methods called onFuture<Result<T, E>>.
Release notes
Open source →Added
- rlch: Added async methods to
Option<T>andResult<T, E>. - rlch: Added missing type arguments to
Option<T>andResult<T, E>. - rlch: Added code coverage for async methods.
- rlch: Added
OptionFutureRedirectorutil to redirect methods called onFuture<Option<T>>. - rlch: Added
ResultFutureRedirectorutil to redirect methods called onFuture<Result<T, E>>.
- rlch: Added async methods to
-
5.1.020 Sep 2021Release notes
Open source →Added
- kranfix:
Option<Result<T, E>>.transpose()returns aResult<Option<T>, E>. - kranfix:
Option<Option<T>>.flatten()returns anOption<T>. - kranfix:
Result<Option<T>, E>.transpose()returns anOption<Result<T, E>>. - kranfix:
Result<Result<T, E>, E>.flatten()returns aResult<T, E>.
Release notes
Open source →Added
- kranfix:
Option<Result<T, E>>.transpose()returns aResult<Option<T>, E>. - kranfix:
Option<Option<T>>.flatten()returns anOption<T>. - kranfix:
Result<Option<T>, E>.transpose()returns anOption<Result<T, E>>. - kranfix:
Result<Result<T, E>, E>.flatten()returns aResult<T, E>.
- kranfix:
-
5.0.124 Aug 2021Release notes
Open source →Changed
- kranfix: Fixed equality operator for
OptionandResult. - kranfix: Added more code coverage in unit tests.
Release notes
Open source →Changed
- kranfix: Fixed equality operator for
OptionandResult. - kranfix: Added more code coverage in unit tests.
- kranfix: Fixed equality operator for
-
5.0.011 Aug 2021Release notes
Open source →Changed
- BREAKING CHANGE: can no longer pass
nulltoResult. The rectifies the inconsistent handling of null values with regards toOptionandResult. - kranfix: refactored
Option<T extends Object>to fixResult<int?, Exception>.ok(null).ok() - kranfix: refactored
Result<T extends Object, E extends Object>to fixResult<int?, Exception>.ok(null)
Release notes
Open source →Changed
- BREAKING CHANGE: can no longer pass
nulltoResult. The rectifies the inconsistent handling of null values with regards toOptionandResult. - kranfix: refactored
Option<T extends Object>to fixResult<int?, Exception>.ok(null).ok() - kranfix: refactored
Result<T extends Object, E extends Object>to fixResult<int?, Exception>.ok(null)
- BREAKING CHANGE: can no longer pass
-
4.2.001 May 2021Release notes
Open source →Added
- lemunozm: added
isSome(),isNone()toOption. - lemunozm: added
isOk(),isErr()toResult. - lemunozm: added
Option.from()andOption.toNullable()to make easy conversions with nullable values. - Added a
Unittype that is similar to Rust's()type.
Release notes
Open source →Added
- lemunozm: added
isSome(),isNone()toOption. - lemunozm: added
isOk(),isErr()toResult. - lemunozm: added
Option.from()andOption.toNullable()to make easy conversions with nullable values. - Added a
Unittype that is similar to Rust's()type.
- lemunozm: added
-
4.1.010 Mar 2021Release notes
Open source →Changed
- lemunozm: return values added to
match(),when()inResult,Option. - BREAKING CHANGE: migrated to null safety and Dart SDK 2.12.
Notes
Forgot to push 4.0 to GitHub, but those commits are now ahead of the changes made more recently for 4.1, so as a result there is no 4.0 release on GitHub.
Release notes
Open source →Changed
- lemunozm: return values added to
match(),when()inResult,Option.
- lemunozm: return values added to
-
4.0.004 Mar 2021 -
3.1.022 Mar 2020 -
3.0.119 Mar 2020 -
3.0.019 Mar 2020Release notes
Open source →Changed
- BREAKING CHANGES: see below for the details.
- The
Result"ok" and "error" values are full-fledged classes now. - The
Option"some" and "none" values are full-fledged classes now. Option.isSome()andOption.isNone()are gone, useis Someandis None.Result.isOk()andResult.isErr()are gone, useis Okandis Err.- The default
Resultconstructor has been renamed toof()instead. - Passing
nullto theOption.some()factory constructor will yield aNone. - Both the
OkandErrsubclasses ofResultallow for null arguments.
-
2.0.014 Mar 2020Release notes
Open source →Added
- Borrowing from
simple_result, addedwhen()as an alternative tomatch().
Changed
- BREAKING CHANGE: the various
ismethods are now getters. - Extend
Equatablein bothOptionandResult. - Override the equals operator (
==) in bothOptionandResult.
- Borrowing from
-
1.0.009 Mar 2020