diff options
Diffstat (limited to 'src/Model')
-rw-r--r-- | src/Model/Edition/TimeEdition.elm | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/Model/Edition/TimeEdition.elm b/src/Model/Edition/TimeEdition.elm index 6999b25..2ba1628 100644 --- a/src/Model/Edition/TimeEdition.elm +++ b/src/Model/Edition/TimeEdition.elm @@ -9,24 +9,16 @@ import List import Array import String import Keyboard (KeyCode) +import Char import Utils.List (..) import Utils.Maybe (..) keyCodeToChar : KeyCode -> Maybe Char keyCodeToChar code = - List.map (flip keyCodeToCharFromZero code) zeroKeyCodes - |> List.foldl orElse Nothing - -zeroKeyCodes = [48, 96] - -keyCodeToCharFromZero : KeyCode -> KeyCode -> Maybe Char -keyCodeToCharFromZero zero code = - let nine = zero + 9 - in if code >= zero && code <= nine - then ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] - |> Array.fromList - |> Array.get (code - zero) + let char = Char.fromCode code + in if Char.isDigit char + then Just char else Nothing toTime : List Char -> Time |