state_machine icon indicating copy to clipboard operation
state_machine copied to clipboard

chore(state) expose __none__ state

Open lidio601 opened this issue 5 years ago • 3 comments

Motivation

I'm listening to a state onEnter event to perform some database changes when a transition happens.

I noticed that this event was triggered also just after the stm.start(initialState); line.

To cope with this event and ignore this first initial transition I checked the source code and found that this event has a stub __none__ state.

So in my code I ended up with this:

state.onEnter((change) {
  if (change.from.name != '__none__') {
    // do something
  }
});

I think this is not the best approach as I'm relying on some internal representation. That's why I'm exposing this State.isNone getter.

Changes

  • State.isNone getter added
  • StateChange.isInitial

Release Notes

Exposed State.isNone and StateChange.isInitial to distinguish initial state change events.

Review

See CONTRIBUTING.md for more details on review types (+1 / QA +1 / +10) and code review process.

Please review:

QA Checklist

  • [x] Tests were updated and provide good coverage of the changeset and other affected code
  • [x] Manual testing was performed if needed

Merge Checklist

While we perform many automated checks before auto-merging, some manual checks are needed:

  • [ ] A Client Platform member has reviewed these changes
  • [ ] There are no unaddressed comments - this check can be automated if reviewers use the "Request Changes" feature
  • [ ] For release PRs - Version metadata in Rosie comment is correct

lidio601 avatar Apr 03 '20 21:04 lidio601

Security Insights

No security relevant content was detected by automated scans.

Action Items

  • Review PR for security impact; comment "security review required" if needed or unsure
  • Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.

aviary-wf avatar Apr 03 '20 21:04 aviary-wf

hi there, how's going with this one?

lidio601 avatar Apr 23 '20 05:04 lidio601

@lidio601 if you could run dartfmt and commit the changes, we should be able to get this merged. Thanks!

evanweible-wf avatar Jul 07 '20 19:07 evanweible-wf