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.

37
likes
125/ 160
pub points
76%
popularity

We analyzed this package 5 days ago, and awarded it 125 pub points (of a possible 160):

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

0/0 points: WASM compatibility

This package is compatible with runtime wasm, and will be rewarded additional points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

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
40 / 40trigger 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.2.0 3.2.0
Transitive dependencies
Package Constraint Compatible Latest
clock - 1.1.2 1.1.2
intl - 0.18.1 0.20.0
js - 0.6.7 0.7.1
logging - 1.3.0 1.3.0
meta - 1.16.0 1.16.0
path - 1.9.1 1.9.1

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

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.15, Dart 3.5.4.

Check the analysis log for details.

37
likes
125
pub points
76%
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