tree_state_machine 3.0.0-dev.8
tree_state_machine: ^3.0.0-dev.8 copied to clipboard
Define and run hierarchical state machines in Dart and Flutter.
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.