cli UML
This commit is contained in:
parent
e40f6f48a1
commit
d27e7825de
1 changed files with 61 additions and 0 deletions
61
class.puml
Normal file
61
class.puml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
@startuml Class Diagram
|
||||||
|
|
||||||
|
package core {
|
||||||
|
package str {
|
||||||
|
package traits {
|
||||||
|
interface FromStr<type Error> {
|
||||||
|
from_str(s: &str): Result<Self, Self::Error>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package cli {
|
||||||
|
package docstr {}
|
||||||
|
package schema {
|
||||||
|
+enum Cli {
|
||||||
|
+Play { PlayOpts }
|
||||||
|
+Export { ExportOptions }
|
||||||
|
+List { ListOptions }
|
||||||
|
}
|
||||||
|
+struct PlayOptions {
|
||||||
|
#input: FileContents
|
||||||
|
}
|
||||||
|
+struct ExportOptions {
|
||||||
|
~input: FileContents
|
||||||
|
~output: AudioFileName
|
||||||
|
}
|
||||||
|
+enum ListOptions {
|
||||||
|
+Extensions
|
||||||
|
+struct Math { -kind: Option<MathDocKind> }
|
||||||
|
+Glyphs
|
||||||
|
}
|
||||||
|
+enum MathDocKind {
|
||||||
|
+Functions
|
||||||
|
+Operators
|
||||||
|
+Literals
|
||||||
|
}
|
||||||
|
+struct FileContents {
|
||||||
|
0: String
|
||||||
|
}
|
||||||
|
FileContents --|> FromStr: type Error = io::Error
|
||||||
|
+struct AudioFileName {
|
||||||
|
0: String
|
||||||
|
}
|
||||||
|
+struct UnsupportedFileExtensionError {
|
||||||
|
}
|
||||||
|
AudioFileName -|> FromStr: type Error = UnsupportedFileExtensionError
|
||||||
|
Cli --> PlayOptions
|
||||||
|
Cli --> ExportOptions
|
||||||
|
Cli --> ListOptions
|
||||||
|
PlayOptions --> FileContents
|
||||||
|
ExportOptions -> FileContents
|
||||||
|
ExportOptions -> AudioFileName
|
||||||
|
ListOptions --> MathDocKind
|
||||||
|
AudioFileName --> UnsupportedFileExtensionError
|
||||||
|
}
|
||||||
|
}
|
||||||
|
package lang {}
|
||||||
|
package dasp {}
|
||||||
|
|
||||||
|
@enduml
|
Loading…
Reference in a new issue