Skip to content

Instantly share code, notes, and snippets.

@sukima
Created May 18, 2020 21:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sukima/d69c371e02950a064b0b973494681fbe to your computer and use it in GitHub Desktop.
Save sukima/d69c371e02950a064b0b973494681fbe to your computer and use it in GitHub Desktop.
@startuml
title Diceware+
state Bootstrap {
state "Booting" as Bootstrap.Booting
state "Done" as Bootstrap.Done
state "Error" as Bootstrap.Error
Bootstrap.Booting : invoke / fetchWords
Bootstrap.Booting --> Bootstrap.Done : //done// (fetchWords)
Bootstrap.Booting --> Bootstrap.Error : //error// (fetchWords)
Bootstrap.Error --> Bootstrap.Booting : //after// 3s
Bootstrap.Done --> [*]
}
state DiceWare {
state Main {
state "Empty" as Main.Empty
state "List" as Main.List
[*] --> Main.Empty
Main.Empty --> Main.List : GENERATE
Main.List --> Main.Empty : RESET
Main.List --> Main.List : GENERATE
--
state "NoSymbols" as Main.NoSymbols
state "UseSymbols" as Main.UseSymbols
[*] --> Main.NoSymbols
Main.NoSymbols --> Main.UseSymbols : TOGGLE_SYMBOLS
Main.UseSymbols --> Main.NoSymbols : TOGGLE_SYMBOLS
}
state WordList {
state "Empty" as WordList.Empty
state "Filtered" as WordList.Filtered
[*] --> WordList.Empty
WordList.Empty --> WordList.Filtered : SEARCH [isNotEmpty]
WordList.Filtered --> WordList.Empty : SEARCH [isEmpty]
WordList.Filtered --> WordList.Filtered : SEARCH [isNotEmpty]
}
[*] --> Main
DiceWare --> Main[H] : VISIT_MAIN
DiceWare --> WordList[H] : VISIT_WORDS
DiceWare --> About : VISIT_ABOUT
}
[*] --> Bootstrap
Bootstrap --> DiceWare : //done// (Bootstrap)
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment