mobxjs / mobx.dart

MobX for the Dart language. Hassle-free, reactive state-management for your Dart and Flutter apps.
https://mobx.netlify.app
MIT License
2.39k stars 310 forks source link

feat: Adds `useDeepEquality` for creating observables #971

Closed amondnet closed 8 months ago

amondnet commented 8 months ago

Describe the changes proposed in this Pull Request.

Make the change in 2.2.3 optional. If you want the use this behavior , modify @observable to @MakeObservable(useDeepEquality: true).

Fixes #969


Pull Request Checklist

netlify[bot] commented 8 months ago

Deploy request for mobx pending review.

Visit the deploys page to approve it

Name Link
Latest commit 33c8881b814564b46629923e194f1df9b4edff59
codecov[bot] commented 8 months ago

Codecov Report

Merging #971 (2faae45) into main (52515a1) will decrease coverage by 0.10%. The diff coverage is 80.00%.

:exclamation: Current head 2faae45 differs from pull request most recent head 33c8881. Consider uploading reports for the commit 33c8881 to get more accurate results

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971/graphs/tree.svg?width=650&height=150&src=pr&token=YjGMFvwbrl&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs)](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) ```diff @@ Coverage Diff @@ ## main #971 +/- ## ========================================== - Coverage 99.00% 98.90% -0.10% ========================================== Files 57 57 Lines 2005 2006 +1 ========================================== - Hits 1985 1984 -1 - Misses 20 22 +2 ``` | [Flag](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | Coverage Δ | | |---|---|---| | [flutter_mobx](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | `100.00% <ø> (ø)` | | | [mobx](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | `98.42% <75.00%> (-0.15%)` | :arrow_down: | | [mobx_codegen](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | `100.00% <100.00%> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | Coverage Δ | | |---|---|---| | [mobx/lib/src/api/annotations.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL2FwaS9hbm5vdGF0aW9ucy5kYXJ0) | `80.00% <100.00%> (ø)` | | | [mobx/lib/src/core/atom\_extensions.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL2NvcmUvYXRvbV9leHRlbnNpb25zLmRhcnQ=) | `100.00% <100.00%> (ø)` | | | [mobx\_codegen/lib/src/template/observable.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieF9jb2RlZ2VuL2xpYi9zcmMvdGVtcGxhdGUvb2JzZXJ2YWJsZS5kYXJ0) | `100.00% <100.00%> (ø)` | | | [mobx/lib/src/utils.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL3V0aWxzLmRhcnQ=) | `81.81% <50.00%> (-18.19%)` | :arrow_down: | ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs). Last update [52515a1...33c8881](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/971?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs).