mobx 0.0.17

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • new39

mobx.dart

pub package Build Status Coverage Status

MobX for the Dart language.

Supercharge the state-management in your Dart apps with Transparent Functional Reactive Programming (TFRP)

Building blocks

Observables

  • [x] Create ObservableValue<T> via observable<T>()
  • [x] Create ObservableList<T>
    • [ ] observe and intercept
    • [ ] onBecomeObserved and onBecomeUnobserved
  • [ ] Create ObservableMap<K, T>
  • [x] Atoms with createAtom()

Computed Observables

  • [x] Create ComputedValue<T> via computed<T>()
  • [x] 2-phase change propagation

Reactions

  • [x] Create Reaction with autorun()
    • [x] with delay
  • [x] Create Reaction with reaction()
    • [x] with delay
    • [x] with fireImmediately
  • [x] Create Reaction with when()
    • [x] when with timeout
    • [x] when() returning Future<T>

Actions

  • [x] Create Action with action()
  • [x] Create untracked-action with untracked<T>()
  • [x] Create transaction with transaction<T>()

Cross cutting features

  • [x] Observability API for ObservableValue and ComputedValue

    • [x] observe
    • [x] intercept
    • [x] onBecomeObserved
    • [x] onBecomeUnobserved
  • [ ] Spying and Tracing

  • [x] Exception handling and Error recovery

    • [x] onReactionError on the context for catching global errors
    • [x] onError handler for reactions
    • [x] disableErrorBoundaries option for the reactive context
  • [ ] Debuggability

Public facing

  • [x] Logo
  • [ ] Documentation
  • [ ] Website (published on github.io)

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  mobx: ^0.0.17

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:mobx/mobx.dart';
  
Version Uploaded Documentation Archive
0.0.17 Jan 12, 2019 Go to the documentation of mobx 0.0.17 Download mobx 0.0.17 archive
0.0.16 Jan 12, 2019 Go to the documentation of mobx 0.0.16 Download mobx 0.0.16 archive
0.0.15 Jan 5, 2019 Go to the documentation of mobx 0.0.15 Download mobx 0.0.15 archive
0.0.14 Jan 5, 2019 Go to the documentation of mobx 0.0.14 Download mobx 0.0.14 archive
0.0.13 Jan 5, 2019 Go to the documentation of mobx 0.0.13 Download mobx 0.0.13 archive
0.0.12 Jan 5, 2019 Go to the documentation of mobx 0.0.12 Download mobx 0.0.12 archive
0.0.11 Jan 3, 2019 Go to the documentation of mobx 0.0.11 Download mobx 0.0.11 archive
0.0.10 Jan 3, 2019 Go to the documentation of mobx 0.0.10 Download mobx 0.0.10 archive
0.0.9 Jan 3, 2019 Go to the documentation of mobx 0.0.9 Download mobx 0.0.9 archive
0.0.8 Jan 1, 2019 Go to the documentation of mobx 0.0.8 Download mobx 0.0.8 archive

All 17 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
35
Health:
Code health derived from static analysis. [more]
32
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
60
Overall:
Weighted score of the above. [more]
39
Learn more about scoring.

We analyzed this package on Jan 15, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.10

Platforms

Detected platforms:

Error(s) prevent platform classification:

Check SDKs in pubspec.yaml.

Analysis issues and suggestions

Check SDKs in pubspec.yaml.

We have found the following unknown SDKs in your pubspec.yaml: {meta}.

pana does not recognizes them, please remove or report it to us.

Health issues and suggestions

Fix lib/src/core/reaction.dart. (-57.81 points)

Analysis of lib/src/core/reaction.dart failed with 3 errors:

line 45 col 3: Undefined name 'experimental' used as an annotation.

line 52 col 3: Undefined name 'experimental' used as an annotation.

line 156 col 1: Undefined name 'experimental' used as an annotation.

Fix lib/src/core.dart. (-25 points)

Analysis of lib/src/core.dart failed with 1 error:

line 4 col 8: Target of URI doesn't exist: 'package:meta/meta.dart'.

Maintenance issues and suggestions

Fix platform conflicts. (-20 points)

Error(s) prevent platform classification:

Check SDKs in pubspec.yaml.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use mobx.dart.

Package is pre-v0.1 release. (-10 points)

While there is nothing inherently wrong with versions of 0.0.*, it usually means that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0-dev <3.0.0
Dev dependencies
fake_async ^1.0.1
mockito ^4.0.0
test ^1.5.1