aboutsummaryrefslogtreecommitdiff
path: root/src/Model/Edition/Edition.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/Edition/Edition.elm')
-rw-r--r--src/Model/Edition/Edition.elm34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/Model/Edition/Edition.elm b/src/Model/Edition/Edition.elm
new file mode 100644
index 0000000..89a0b52
--- /dev/null
+++ b/src/Model/Edition/Edition.elm
@@ -0,0 +1,34 @@
+module Model.Edition.Edition
+ ( Edition
+ , Kind(..)
+ , newEdition
+ , keyCodeToChar
+ ) where
+
+import Keyboard (KeyCode)
+
+import Model.Id (..)
+import Model.Edition.NameEdition as NameEdition
+import Model.Edition.TimeEdition as TimeEdition
+
+type alias Edition =
+ { id : Id
+ , kind : Kind
+ , chars : List Char
+ }
+
+type Kind =
+ Name
+ | Time
+
+newEdition id kind =
+ { id = id
+ , kind = kind
+ , chars = []
+ }
+
+keyCodeToChar : Kind -> KeyCode -> Maybe Char
+keyCodeToChar kind =
+ case kind of
+ Name -> NameEdition.keyCodeToChar
+ Time -> TimeEdition.keyCodeToChar