foscam-filename-0.0.3: Foscam File format

Safe HaskellNone
LanguageHaskell2010

Data.Foscam.File.DeviceId

Synopsis

Documentation

class AsDeviceId p f s where Source #

Methods

_DeviceId :: Optic' p f s DeviceId Source #

deviceId :: (Monad f, CharParsing f) => f DeviceId Source #

>>> parse deviceId "test" "AB0934233DEF"
Right (DeviceId (DeviceIdCharacter 'A') (DeviceIdCharacter 'B') (DeviceIdCharacter '0') (DeviceIdCharacter '9') (DeviceIdCharacter '3') (DeviceIdCharacter '4') (DeviceIdCharacter '2') (DeviceIdCharacter '3') (DeviceIdCharacter '3') (DeviceIdCharacter 'D') (DeviceIdCharacter 'E') (DeviceIdCharacter 'F'))
>>> parse deviceId "test" "AB0934233DEFabc"
Right (DeviceId (DeviceIdCharacter 'A') (DeviceIdCharacter 'B') (DeviceIdCharacter '0') (DeviceIdCharacter '9') (DeviceIdCharacter '3') (DeviceIdCharacter '4') (DeviceIdCharacter '2') (DeviceIdCharacter '3') (DeviceIdCharacter '3') (DeviceIdCharacter 'D') (DeviceIdCharacter 'E') (DeviceIdCharacter 'F'))
>>> parse deviceId "test" "AB0934233DX"
Left "test" (line 1, column 12):
not a device ID character: X
>>> parse deviceId "test" "AB0934233DEf"
Left "test" (line 1, column 13):
not a device ID character: f
>>> parse deviceId "test" ""
Left "test" (line 1, column 1):
unexpected end of input
expecting device ID