packages feed

avro 0.3.1.1 → 0.3.1.2

raw patch · 2 files changed

+13/−12 lines, 2 files

Files

avro.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 639a04c94ec3749a4ac9ddc59885f5313d5d0a1220120baff521a3e36fc8d362+-- hash: 6ce25074d44e607f3bbf1f81921a61fe9d8ea37a5cbde2000d26607b4d04d85a  name:           avro-version:        0.3.1.1+version:        0.3.1.2 synopsis:       Avro serialization support for Haskell description:    Avro serialization and deserialization support for Haskell category:       Data
src/Data/Avro/Deriving.hs view
@@ -47,6 +47,7 @@ import qualified Data.ByteString.Lazy          as LBS import qualified Data.ByteString.Lazy.Char8    as LBSC8 import qualified Data.HashMap.Strict           as HM+import qualified Data.Set                      as S import           Data.Text                     (Text) import qualified Data.Text                     as T import qualified Data.Vector                   as V@@ -55,18 +56,18 @@ -- Generates data types, FromAvro and ToAvro instances. data DeriveOptions = DeriveOptions   { -- | How to build field names for generated data types-    doFieldNameBuilder :: TypeName -> Field -> Name-  }+    fieldNameBuilder :: TypeName -> Field -> T.Text+  } deriving Generic  -- | Default deriving options -- -- @ -- defaultDeriveOptions = 'DeriveOptions'---   { doFieldNameBuilder = 'mkPrefixedFieldName'+--   { fieldNameBuilder = 'mkPrefixedFieldName' --   } -- @ defaultDeriveOptions = DeriveOptions-  { doFieldNameBuilder = mkPrefixedFieldName+  { fieldNameBuilder = mkPrefixedFieldName   }  -- | Generates a field name that is prefixed with the type name.@@ -77,8 +78,8 @@ -- @ -- Person { personFirstName :: Text } -- @-mkPrefixedFieldName :: TypeName -> Field -> Name-mkPrefixedFieldName (TN dn) fld = mkTextName . sanitiseName $+mkPrefixedFieldName :: TypeName -> Field -> T.Text+mkPrefixedFieldName (TN dn) fld = sanitiseName $   updateFirst T.toLower dn <> updateFirst T.toUpper (fldName fld)  -- | Generates a field name that matches the field name in schema@@ -92,8 +93,8 @@ -- @ -- You may want to enable 'DuplicateRecordFields' if you want to use this method. -mkAsIsFieldName :: TypeName -> Field -> Name-mkAsIsFieldName _ = mkTextName . sanitiseName . updateFirst T.toLower . fldName+mkAsIsFieldName :: TypeName -> Field -> Text+mkAsIsFieldName _ = sanitiseName . updateFirst T.toLower . fldName  -- | Generates Haskell classes and 'FromAvro' and 'ToAvro' instances -- given the Avro schema file@@ -221,7 +222,7 @@             toAvro = $(genToAvroFieldsExp sname)       |]     genToAvroFieldsExp sname = [| \r -> record $(varE sname)-        $(let assign fld = [| T.pack $(mkTextLit (fldName fld)) .= $(varE $ (doFieldNameBuilder opts) n fld) r |]+        $(let assign fld = [| T.pack $(mkTextLit (fldName fld)) .= $(varE $ mkTextName $ (fieldNameBuilder opts) n fld) r |]           in listE $ assign <$> fs         )       |]@@ -404,7 +405,7 @@ mkField :: DeriveOptions -> TypeName -> Field -> Q VarStrictType mkField opts prefix field = do   ftype <- mkFieldTypeName (fldType field)-  let fName = (doFieldNameBuilder opts) prefix field+  let fName = mkTextName $ (fieldNameBuilder opts) prefix field   pure (fName, defaultStrictness, ftype)  genNewtype :: Name -> Q Dec