#14 - Option for Persistent Context Parameters/Errors After Substates#61
Merged
DamianSuess merged 7 commits intodevelopfrom Jan 1, 2026
Merged
#14 - Option for Persistent Context Parameters/Errors After Substates#61DamianSuess merged 7 commits intodevelopfrom
DamianSuess merged 7 commits intodevelopfrom
Conversation
… and ErrorStack after the parent composite state's OnExit.
…mposite state. Added note for method name change
…Service for test. Renamed BaseDiState->DiStateBase, added helper TestBase for common methods for all tests.
…safely passed along. Updated tests to confirm IsContextPersistent is honored and properly removed keys when not.
…through "OnEntering" transition and will carry forward to other top-level states. Any new keys added during Composite's "OnEnter" transition will pass forward to sub-states, but will optionally deleted after the Composite state's "OnExit transition.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
Adds the option for persisting the Context's
ParametersandErrorStackafter returning back from the Composite's sub-states. This feature provides the ability to maintain a more lean memory usage during the lifetime of the state machine.New property
IsContextPersistentArchitecture Updates
When
IsContextPersistentis disabled (false), it will take snapshot of originalContextkeys AFTER theOnEnteringtransition so we can give the state a chance to purposely add new keys to and carry forward for subsequent top-level states.Any new
Contextkeys added viaOnEnterare considered "for children consumption only". After ourOnExit, they'll be (optionally) removed.