packages feed

foscam-filename 0.0.1 → 0.0.3

raw patch · 4 files changed

+35/−7 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Foscam.File.Alias: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Alias.AsAlias p f GHC.Base.String
- Data.Foscam.File.AliasCharacter: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.AliasCharacter.AsAliasCharacter p f GHC.Types.Char
- Data.Foscam.File.Date: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Date.AsDate p f GHC.Base.String
- Data.Foscam.File.DeviceId: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.DeviceId.AsDeviceId p f GHC.Base.String
- Data.Foscam.File.DeviceIdCharacter: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.DeviceIdCharacter.AsDeviceIdCharacter p f GHC.Types.Char
- Data.Foscam.File.ImageId: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.ImageId.AsImageId p f GHC.Base.String
- Data.Foscam.File.Time: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Time.AsTime p f GHC.Base.String
+ Data.Foscam.File.Alias: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Alias.AsAlias p f GHC.Base.String
+ Data.Foscam.File.AliasCharacter: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.AliasCharacter.AsAliasCharacter p f GHC.Types.Char
+ Data.Foscam.File.Date: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Date.AsDate p f GHC.Base.String
+ Data.Foscam.File.DeviceId: getDeviceIdCharacters :: Fold DeviceId Char
+ Data.Foscam.File.DeviceId: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.DeviceId.AsDeviceId p f GHC.Base.String
+ Data.Foscam.File.DeviceId: instance (p ~ (->), GHC.Base.Applicative f) => Data.Foscam.File.DeviceIdCharacter.AsDeviceIdCharacter p f Data.Foscam.File.DeviceId.DeviceId
+ Data.Foscam.File.DeviceIdCharacter: getDeviceIdCharacter :: Getter DeviceIdCharacter Char
+ Data.Foscam.File.DeviceIdCharacter: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.DeviceIdCharacter.AsDeviceIdCharacter p f GHC.Types.Char
+ Data.Foscam.File.DeviceIdCharacter: instance (p ~ (->), GHC.Base.Applicative f) => Data.Foscam.File.DeviceIdCharacter.AsDeviceIdCharacter p f GHC.Base.String
+ Data.Foscam.File.ImageId: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.ImageId.AsImageId p f GHC.Base.String
+ Data.Foscam.File.Time: instance (Data.Profunctor.Choice.Choice p, GHC.Base.Applicative f) => Data.Foscam.File.Time.AsTime p f GHC.Base.String

Files

changelog view
@@ -2,3 +2,7 @@  * Initial version. +0.0.3++* Add folds, getters, traversals.+
foscam-filename.cabal view
@@ -1,12 +1,12 @@ name:               foscam-filename-version:            0.0.1+version:            0.0.3 license:            BSD3 license-file:       LICENSE author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego> maintainer:         Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego> copyright:          Copyright (C) 2015 Tony Morris synopsis:           Foscam File format-category:           Data+category:           Data, Parsing, File description:           Foscam File format 
src/Data/Foscam/File/DeviceId.hs view
@@ -1,17 +1,20 @@ {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}  module Data.Foscam.File.DeviceId(   DeviceId(..) , AsDeviceId(..) , deviceId+, getDeviceIdCharacters ) where  import Control.Applicative(Applicative((<*>)), (<$>))-import Control.Category(id)-import Control.Lens(Optic', Choice, prism', (^?), ( # ))+import Control.Category(id, (.))+import Control.Lens(Optic', Choice, Fold, prism', (^?), ( # )) import Control.Monad(Monad)+import Data.Char(Char) import Data.Eq(Eq) import Data.Foscam.File.DeviceIdCharacter import Data.Functor(fmap)@@ -22,7 +25,6 @@ import Text.Parser.Combinators((<?>)) import Prelude(Show) - -- $setup -- >>> import Text.Parsec @@ -50,6 +52,10 @@   _DeviceId =     id +instance (p ~ (->), Applicative f) => AsDeviceIdCharacter p f DeviceId where+  _DeviceIdCharacter f (DeviceId d01 d02 d03 d04 d05 d06 d07 d08 d09 d10 d11 d12) =+    DeviceId <$> f d01 <*> f d02 <*> f d03 <*> f d04 <*> f d05 <*> f d06 <*> f d07 <*> f d08 <*> f d09 <*> f d10 <*> f d11 <*> f d12+ instance (Choice p, Applicative f) => AsDeviceId p f String where   _DeviceId =     prism'@@ -72,6 +78,12 @@                       f c12                _ ->                  Nothing)++getDeviceIdCharacters :: +  Fold DeviceId Char+getDeviceIdCharacters =+  _DeviceIdCharacter . getDeviceIdCharacter+  -- | --
src/Data/Foscam/File/DeviceIdCharacter.hs view
@@ -1,16 +1,18 @@ {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}  module Data.Foscam.File.DeviceIdCharacter(   DeviceIdCharacter , AsDeviceIdCharacter(..) , deviceIdCharacter+, getDeviceIdCharacter ) where  import Control.Applicative(Applicative(pure)) import Control.Category(id, (.))-import Control.Lens(Optic', Choice, prism')+import Control.Lens(Optic', Choice, Getter, prism', re) import Control.Monad(Monad(fail)) import Data.Char(Char) import Data.Eq(Eq)@@ -18,11 +20,12 @@ import Data.Foscam.File.Internal(boolj, charP) import Data.List(elem, (++)) import Data.Ord(Ord)+import Data.String(String)+import Data.Traversable(traverse) import Text.Parser.Char(CharParsing) import Text.Parser.Combinators((<?>)) import Prelude(Show) - -- $setup -- >>> import Text.Parsec @@ -43,6 +46,15 @@     prism'       (\(DeviceIdCharacter c) -> c)       (fmap DeviceIdCharacter . boolj (`elem` (['A'..'F'] ++ ['0'..'9'])))++instance (p ~ (->), Applicative f) => AsDeviceIdCharacter p f String where+  _DeviceIdCharacter =+    traverse . _DeviceIdCharacter++getDeviceIdCharacter ::+  Getter DeviceIdCharacter Char+getDeviceIdCharacter =+  re _DeviceIdCharacter  -- | --