Maintainer | [email protected] |
---|---|
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Distribution.Hackage.DB.MetaData
Description
Types and class instances for parsing the package.json
files found in a
01-index.tar
tarball from Hackage with Data.Aeson. These parsers mirror
the exact structure of those files, but only a small part of it is actually
of interest to anyone other than implementors of cabal-install
. Everyone
else will most likely prefer the functions oferred by
Distribution.Hackage.DB.Parsed.
Synopsis
- parseMetaData :: ByteString -> MetaData
- data MetaData = MetaData {
- signed :: SignedMetaData
- signatures :: [String]
- data SignedMetaData = SignedMetaData {}
- data TargetData = TargetData {}
Documentation
parseMetaData :: ByteString -> MetaData Source #
Parse the package.json
file found in a 01-index.tar
tarball from
Hackage with Data.Aeson. This function is a convenience wrapper around
eitherDecode
that throws an InvalidMetaFile
exception to signal failure.
>>>
:set -XOverloadedStrings
>>>
parseMetaData "{\"signatures\":[],\"signed\":{\"_type\":\"Targets\",\"expires\":null,\"targets\":{\"<repo>/package/jailbreak-cabal-1.3.2.tar.gz\":{\"hashes\":{\"md5\":\"ba42b3e68323ccbeb3ac900cd68f9e90\",\"sha256\":\"212a8bbc3dfc748c4063282414a2726709d651322f3984c9989179d2352950f4\"},\"length\":2269}},\"version\":0}}"
MetaData {signed = SignedMetaData {version = 0, expires = Nothing, _type = "Targets", targets = fromList [("<repo>/package/jailbreak-cabal-1.3.2.tar.gz",TargetData {length = 2269, hashes = fromList [("md5","ba42b3e68323ccbeb3ac900cd68f9e90"),("sha256","212a8bbc3dfc748c4063282414a2726709d651322f3984c9989179d2352950f4")]})]}, signatures = []}
Constructors
MetaData | |
Fields
|
Instances
data SignedMetaData Source #
Constructors
SignedMetaData | |
Instances
FromJSON SignedMetaData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData Methods parseJSON :: Value -> Parser SignedMetaData # parseJSONList :: Value -> Parser [SignedMetaData] # | |||||
Generic SignedMetaData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData Associated Types
Methods from :: SignedMetaData -> Rep SignedMetaData x # to :: Rep SignedMetaData x -> SignedMetaData # | |||||
Show SignedMetaData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData Methods showsPrec :: Int -> SignedMetaData -> ShowS # show :: SignedMetaData -> String # showList :: [SignedMetaData] -> ShowS # | |||||
type Rep SignedMetaData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData type Rep SignedMetaData = D1 ('MetaData "SignedMetaData" "Distribution.Hackage.DB.MetaData" "hackage-db-2.1.3-CWraPvTxmUB2BjKlozy2Le" 'False) (C1 ('MetaCons "SignedMetaData" 'PrefixI 'True) ((S1 ('MetaSel ('Just "version") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "expires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "targets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String TargetData))))) |
data TargetData Source #
Instances
FromJSON TargetData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData | |||||
Generic TargetData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData Associated Types
| |||||
Show TargetData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData Methods showsPrec :: Int -> TargetData -> ShowS # show :: TargetData -> String # showList :: [TargetData] -> ShowS # | |||||
type Rep TargetData Source # | |||||
Defined in Distribution.Hackage.DB.MetaData type Rep TargetData = D1 ('MetaData "TargetData" "Distribution.Hackage.DB.MetaData" "hackage-db-2.1.3-CWraPvTxmUB2BjKlozy2Le" 'False) (C1 ('MetaCons "TargetData" 'PrefixI 'True) (S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "hashes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String String)))) |