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

Allow a custom equals parameter for observable collections #970

Open amondnet opened 8 months ago

amondnet commented 8 months ago

Describe the changes proposed in this Pull Request.

Allow a custom equals parameter for observable collections, like observable stream, observable and computed .

https://github.com/mobxjs/mobx.dart/pull/771 https://github.com/mobxjs/mobx.dart/pull/482

If the PR fixes a specific issue, reference the issue with Fixes #.


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 d13d88d4e59d6313ab56c11dc10523aace309789
codecov[bot] commented 8 months ago

Codecov Report

Merging #970 (d13d88d) into main (d14a27e) will decrease coverage by 0.62%. Report is 3 commits behind head on main. The diff coverage is 83.33%.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970/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/970?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) ```diff @@ Coverage Diff @@ ## main #970 +/- ## ========================================== - Coverage 99.00% 98.38% -0.62% ========================================== Files 57 57 Lines 2005 2043 +38 ========================================== + Hits 1985 2010 +25 - Misses 20 33 +13 ``` | [Flag](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970/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/970/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/970/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | `97.69% <83.33%> (-0.88%)` | :arrow_down: | | [mobx_codegen](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | `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/970?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs) | Coverage Δ | | |---|---|---| | [...rc/api/observable\_collections/observable\_list.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL2FwaS9vYnNlcnZhYmxlX2NvbGxlY3Rpb25zL29ic2VydmFibGVfbGlzdC5kYXJ0) | `99.20% <90.00%> (-0.80%)` | :arrow_down: | | [...src/api/observable\_collections/observable\_map.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL2FwaS9vYnNlcnZhYmxlX2NvbGxlY3Rpb25zL29ic2VydmFibGVfbWFwLmRhcnQ=) | `98.41% <89.47%> (-1.59%)` | :arrow_down: | | [...src/api/observable\_collections/observable\_set.dart](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs#diff-bW9ieC9saWIvc3JjL2FwaS9vYnNlcnZhYmxlX2NvbGxlY3Rpb25zL29ic2VydmFibGVfc2V0LmRhcnQ=) | `91.17% <76.92%> (-8.83%)` | :arrow_down: | ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970?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/970?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=mobxjs). Last update [d14a27e...d13d88d](https://app.codecov.io/gh/mobxjs/mobx.dart/pull/970?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).