rodydavis / signals.dart

Reactive programming made simple for Dart and Flutter
http://dartsignals.dev
Apache License 2.0
378 stars 44 forks source link

v5 #225

Closed rodydavis closed 2 months ago

rodydavis commented 3 months ago
codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (18735e9) to head (6b17515). Report is 3 commits behind head on main.

:exclamation: Current head 6b17515 differs from pull request most recent head a09a832. Consider uploading reports for the commit a09a832 to get more accurate results

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225/graphs/tree.svg?width=650&height=150&src=pr&token=Q2VW2FCMI0&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis)](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis) ```diff @@ Coverage Diff @@ ## main #225 +/- ## ============================================ + Coverage 84.06% 100.00% +15.93% ============================================ Files 38 37 -1 Lines 1368 1154 -214 ============================================ + Hits 1150 1154 +4 + Misses 218 0 -218 ``` | [Files](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis) | Coverage Δ | | |---|---|---| | [packages/signals\_core/lib/src/core/batch.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fbatch.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9iYXRjaC5kYXJ0) | `100.00% <100.00%> (ø)` | | | [packages/signals\_core/lib/src/core/computed.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fcomputed.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9jb21wdXRlZC5kYXJ0) | `100.00% <100.00%> (+4.13%)` | :arrow_up: | | [packages/signals\_core/lib/src/core/container.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fcontainer.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9jb250YWluZXIuZGFydA==) | `100.00% <ø> (ø)` | | | [packages/signals\_core/lib/src/core/effect.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Feffect.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9lZmZlY3QuZGFydA==) | `100.00% <100.00%> (+22.53%)` | :arrow_up: | | [packages/signals\_core/lib/src/core/observer.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fobserver.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9vYnNlcnZlci5kYXJ0) | `100.00% <100.00%> (+100.00%)` | :arrow_up: | | [packages/signals\_core/lib/src/core/readonly.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Freadonly.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9yZWFkb25seS5kYXJ0) | `100.00% <100.00%> (ø)` | | | [packages/signals\_core/lib/src/core/signal.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fsignal.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9zaWduYWwuZGFydA==) | `100.00% <100.00%> (+12.28%)` | :arrow_up: | | [packages/signals\_core/lib/src/core/signals.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fsignals.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS9zaWduYWxzLmRhcnQ=) | `100.00% <ø> (+15.00%)` | :arrow_up: | | [packages/signals\_core/lib/src/core/wrappers.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fcore%2Fwrappers.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvY29yZS93cmFwcGVycy5kYXJ0) | `100.00% <100.00%> (ø)` | | | [...ckages/signals\_core/lib/src/extensions/future.dart](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree&filepath=packages%2Fsignals_core%2Flib%2Fsrc%2Fextensions%2Ffuture.dart&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis#diff-cGFja2FnZXMvc2lnbmFsc19jb3JlL2xpYi9zcmMvZXh0ZW5zaW9ucy9mdXR1cmUuZGFydA==) | `100.00% <ø> (ø)` | | | ... and [17 more](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis) | | ... and [5 files with indirect coverage changes](https://app.codecov.io/gh/rodydavis/signals.dart/pull/225/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Rody+Davis)
rodydavis commented 2 months ago

Also added SignalValueNotifier and SignalValueListenable to be a drop in replacement 🎉

It implementes both the signal API and the ValueNotifier API and can be used anywhere 👀

rodydavis commented 2 months ago

Test coverage and API documentation now at 100% 🎉

snakeshift commented 2 months ago

Thanks to implement SignalValueNotifier and it worked fine (in repaint of CustomPainter)!