tree_state_machine 3.0.0-dev.13
tree_state_machine: ^3.0.0-dev.13 copied to clipboard
Define and run hierarchical state machines in Dart and Flutter.
3.0.0-dev.13 #
- Add
TransitionContext.redirectTo. - Change default
PostMessageErrorPolicytorethrowError. - Adjust logging and add
TreeStateMachine.enableDeveloperLogging. - Fix error when the destination of
MessageContext.goTois the current leaf state.
3.0.0-dev.12 #
- Adjust
TreeStateFilterto make it easier to extend. - Add
MachineStateKeyto identify machine states.
3.0.0-dev.11 #
- Expose
InitialStateData
3.0.0-dev.10 #
- Significant reorganization of builder classes (again). Added
delegate_builderslibrary. - Require a
DataStateKeywhen accessing state data. Lookups by type alone are no longer supported. MessageContext.dataandTransitionContext.datano longer can return a null value.- Remove
declarative_builderslibrary. It will be moved to atree_state_builderslibrary.
3.0.0-dev.9 #
- Change type of
keyparameter ofDeclarativeStateTreeBuilder.machineStatetoDataStateKey<NestedMachineData>
3.0.0-dev.8 #
- Expose
TreeNodeBuildInfofromNodeBuildInfoBuilder(should have been in previous release)
3.0.0-dev.7 #
- Add
extendNodesparameter toTreeBuildContextconstructor allowing metadata and filters to be applied to tree nodes as they are constructed. - Rename
TreeStateMachine.fromTreeBuilder->TreeStateMachine.withTreeBuilder - Add methods to
TreeNodeInfoNavigationExtensionsto traverseTreeNodeInfohierarchy.
3.0.0-dev.6 #
- Significant reorganization of builder classes.
tree_builderslibrary is split intobuildanddeclarative_builderslibraries. - Rename
logName->logSuffixinTreeStateMachineconstructor.
3.0.0-dev.5 #
- Adjust parameter order of
StateTreeBuilder.withRootandStateTreeBuilder.withDataRoot - Add
ValueSubject.mapValueStream. - Change return type of
TreeStateMachine.lifecycletoValueStream, and remove redundant getters for specific lifecycle states. - Change return type of
TreeStateMachine.loadFromtoFuture<CurrentState>. - Add
metadatatoTransistionContextandMessageContext.goTo.
3.0.0-dev.4 #
- Add
TreeStateMachine.currentState.
3.0.0-dev.3 #
- Add
TreeStateMachine.isStarting. - Add
TreeNodeInfo.getChildren. - Experimental: Add
TreeStateMachine.rootNode.
3.0.0-dev.2 #
- The
initialStateparameter of theStateTreeBuilderconstructor was renamed toinitialChildto reduce developer confusion, and the error message was improved when this parameter refers to an invalid state. StateTreeDefinitionErroris thrown when validating aStateTreeBuilder, instead of [StateError].- Remove
TreeStateMachine.startWithand add optional named params toTreeStateMachine.start. Having twostarttype methods might be confusing. - Adjust parameters of the following to be
DataStateKey, notStateKey:TreeStateMachine.dataStreamCurrentState.dataCurrentState.dataValueMessageContext.dataTransitionContext.data
- Rename
CurrentState.data->CurrentState.dataStream. - Add
TreeStateFilter. - Add
leafState,handlingState, andactiveStatestoMessageContext. - Add
handlingStatetoTransitionContext. - Rename
MessageContext.appData->MessageContext.metadata.
3.0.0-dev.1 #
- Upgrade to Dart3 SDK
- Add
DataStateKeyto emphasize association between a data state and its state data type. - Add
TreeStateMachine.startWithto enable starting a state machine with specific initial values. for data states.
2.4.0 #
- Fix issue with
MessageHandlerWhenBuildernot evaluating multiple conditions correctly. - Fix issue with
MessageHandlerBuilder.actionnot evaluatingactionResultparameter correctly.
2.3.0 #
- Rename
NestedMachineData.nestedState->NestedMachineData.nestedCurrentState. - Add
labelproperty toTreeStateMachineandTreeStateBuilderfor debugging purposes. - Improve messages when an error occurs entering a channel.
2.2.1 #
- Add
actionparameter toenterChannelbuilder method.
2.2.0 #
- Add support for rethrowing exceptions with
PostMessageErrorPolicy. - Fix bug where data streams for
voiddata states might not be completed when state exits. - Add
StreamCombineLatest.
2.1.1 #
- Add
constChannel constructor. - Add rootKey prop to StateTreeBuilder
- Add handling of
voidstate data. - Additional API documentation.
2.0.1 #
- Adjustments and internal simplifications of tree_builders library.
- Add support for final data states.
- Add nested state machines.
- Adjust logging so that log messages can be named to reflect the state machine that emits them.
1.0.3 #
- Package updates to improve pub.flutter-io.cn score.
- Add logging when timers are canceled.
1.0.2 #
- Add more tests and documentation.
- Adjust signature of
schedulemethods to emphasize that the message function is called each time the timer elapses.
1.0.1 #
- Initial version.