state_machine 3.0.0 copy "state_machine: ^3.0.0" to clipboard
state_machine: ^3.0.0 copied to clipboard

Finite state machine library. Easily define legal state transitions. Listen to state entrances, departures, and transitions.

35
likes
105/ 140
pub points
75%
popularity

We analyzed this package 15 hours ago, and awarded it 105 pub points (of a possible 140):

failed
Follow Dart file conventions
15 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

0/5 points: Provide a valid README.md

Links in `README.md` should be secure. 1 link is insecure.

README.md:4:1

  ╷
4 │ <a href="http://codecov.io/github/Workiva/state_machine?branch=master"><img src="https://codecov.io/gh/Workiva/state_machine/branch/master/graph/badge.svg" alt="codecov.io" /></a>
  │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

Use https URLs instead.

5/5 points: Provide a valid CHANGELOG.md

0/10 points: Use an OSI-approved license

No license was recognized.

Consider using an OSI-approved license in the LICENSE file to make it more accessible to the community.

failed
Provide documentation
10 / 20trigger folding of the section

10/10 points: 20% or more of the public API has dartdoc comments

84 out of 92 API elements (91.3 %) have documentation comments.

Some symbols that are missing documentation: state_machine.IllegalStateMachineMutation.message, state_machine.IllegalStateTransition.from, state_machine.IllegalStateTransition.message, state_machine.IllegalStateTransition.to, state_machine.IllegalStateTransition.transition.

0/10 points: Package has an example

No example found.

See package layout guidelines on how to add an example.

OK
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 6 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android
  • ✓ iOS
  • ✓ Windows
  • ✓ Linux
  • ✓ macOS
  • ✓ Web
partial
Pass static analysis
40 / 50trigger folding of the section

40/50 points: code has no errors, warnings, lints, or formatting issues

Found 3 issues. Showing the first 2:

INFO: Statements in an if should be enclosed in a block.

lib/src/state_machine.dart:262:7

    ╷
262 │ ┌       throw IllegalStateMachineMutation(
263 │ └           'Cannot create new state ($name) once the machine has been started.');
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/state_machine.dart

INFO: Statements in an if should be enclosed in a block.

lib/src/state_machine.dart:278:7

    ╷
278 │ ┌       throw IllegalStateMachineMutation(
279 │ └           'Cannot create new state transition ($name) once the machine has been started.');
    ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/state_machine.dart

OK
Support up-to-date dependencies
20 / 20trigger folding of the section

10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
w_common >=2.0.0 <4.0.0 3.0.1 3.0.1
Transitive dependencies
Package Constraint Compatible Latest
clock - 1.1.1 1.1.1
intl - 0.18.1 0.19.0
js - 0.6.7 0.7.1
logging - 1.2.0 1.2.0
meta - 1.12.0 1.12.0
path - 1.9.0 1.9.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

10/10 points: Package supports latest stable Dart and Flutter SDKs

Analyzed with Pana 0.22.2, Dart 3.3.0.

Check the analysis log for details.

35
likes
105
pub points
75%
popularity

Publisher

verified publisherworkiva.com

Finite state machine library. Easily define legal state transitions. Listen to state entrances, departures, and transitions.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

unknown (LICENSE)

Dependencies

w_common

More

Packages that depend on state_machine