| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Hpack.Yaml
Synopsis
- decodeYaml :: FilePath -> IO (Either String ([String], Value))
- decodeYamlWithParseError :: FilePath -> IO (Either ParseException ([String], Value))
- data ParseException
- formatYamlParseError :: FilePath -> ParseException -> String
- formatWarning :: FilePath -> Warning -> String
- class FromValue a where
- data Parser a
- type Result a = Either String (a, [String], [(String, String)])
- decodeValue :: FromValue a => Value -> Result a
- class Generic a
- class GenericDecode f
- genericFromValue :: forall a d m. (Generic a, Rep a ~ D1 d m, Datatype d, GenericDecode (Rep a)) => Value -> Parser a
- data Options = Options {}
- genericFromValueWith :: (Generic a, GenericDecode (Rep a)) => Options -> Value -> Parser a
- typeMismatch :: String -> Value -> Parser a
- withObject :: (Object -> Parser a) -> Value -> Parser a
- withText :: (Text -> Parser a) -> Value -> Parser a
- withString :: (String -> Parser a) -> Value -> Parser a
- withArray :: (Array -> Parser a) -> Value -> Parser a
- withNumber :: (Scientific -> Parser a) -> Value -> Parser a
- withBool :: (Bool -> Parser a) -> Value -> Parser a
- parseArray :: (Value -> Parser a) -> Array -> Parser [a]
- traverseObject :: (Value -> Parser a) -> Object -> Parser [(Key, a)]
- (.:) :: FromValue a => Object -> Key -> Parser a
- (.:?) :: FromValue a => Object -> Key -> Parser (Maybe a)
- data Key
- data Value
- type Object = KeyMap Value
- type Array = Vector Value
- newtype Alias (deprecated :: Bool) (alias :: Symbol) a = Alias a
- unAlias :: Alias deprecated alias a -> a
Documentation
NOTE: This module is exposed to allow integration of Hpack into other tools. It is not meant for general use by end users. The following caveats apply:
- The API is undocumented, consult the source instead.
- The exposed types and functions primarily serve Hpack's own needs, not that of a public API. Breaking changes can happen as Hpack evolves.
As an Hpack user you either want to use the hpack executable or a build
tool that supports Hpack (e.g. stack or cabal2nix).
decodeYamlWithParseError :: FilePath -> IO (Either ParseException ([String], Value)) Source #
data ParseException #
Instances
| Exception ParseException | |
Defined in Data.Yaml.Internal Methods toException :: ParseException -> SomeException # | |
| Show ParseException | |
Defined in Data.Yaml.Internal Methods showsPrec :: Int -> ParseException -> ShowS # show :: ParseException -> String # showList :: [ParseException] -> ShowS # | |
formatYamlParseError :: FilePath -> ParseException -> String Source #
class FromValue a where Source #
Minimal complete definition
Nothing
Methods
Instances
| FromValue BuildType Source # | |
| FromValue Cond Source # | |
| FromValue Language Source # | |
| FromValue Verbatim Source # | |
| FromValue VerbatimValue Source # | |
Defined in Hpack.Config | |
| FromValue Module Source # | |
| FromValue SystemBuildTools Source # | |
Defined in Hpack.Syntax.BuildTools | |
| FromValue Dependencies Source # | |
Defined in Hpack.Syntax.Dependencies | |
| FromValue VersionConstraint Source # | |
Defined in Hpack.Syntax.DependencyVersion | |
| FromValue Text Source # | |
| FromValue String Source # | |
| FromValue Bool Source # | |
| FromValue Int Source # | |
| FromValue a => FromValue (Maybe a) Source # | |
| FromValue a => FromValue [a] Source # | |
| (FromValue a, FromValue b) => FromValue (Either a b) Source # | |
| FromValue a => FromValue (Map String a) Source # | |
| (FromValue a, FromValue b) => FromValue (a, b) Source # | |
Representable types of kind *.
This class is derivable in GHC with the DeriveGeneric flag on.
A Generic instance must satisfy the following laws:
from.to≡idto.from≡id
Instances
class GenericDecode f Source #
Minimal complete definition
genericDecode
Instances
| (GenericDecode a, GenericDecode b) => GenericDecode (a :*: b) Source # | |
Defined in Data.Aeson.Config.FromValue Methods genericDecode :: Options -> Value -> Parser ((a :*: b) p) | |
| GenericDecode a => GenericDecode (C1 c a) Source # | |
Defined in Data.Aeson.Config.FromValue Methods genericDecode :: Options -> Value -> Parser (C1 c a p) | |
| GenericDecode a => GenericDecode (D1 d a) Source # | |
Defined in Data.Aeson.Config.FromValue Methods genericDecode :: Options -> Value -> Parser (D1 d a p) | |
genericFromValue :: forall a d m. (Generic a, Rep a ~ D1 d m, Datatype d, GenericDecode (Rep a)) => Value -> Parser a Source #
genericFromValueWith :: (Generic a, GenericDecode (Rep a)) => Options -> Value -> Parser a Source #
withNumber :: (Scientific -> Parser a) -> Value -> Parser a Source #
Instances
| Arbitrary Key | Since: aeson-2.0.3.0 |
| CoArbitrary Key | Since: aeson-2.0.3.0 |
Defined in Data.Aeson.Key Methods coarbitrary :: Key -> Gen b -> Gen b # | |
| Function Key | Since: aeson-2.0.3.0 |
| FromJSON Key | |
| FromJSONKey Key | |
Defined in Data.Aeson.Types.FromJSON | |
| ToJSON Key | |
Defined in Data.Aeson.Types.ToJSON | |
| ToJSONKey Key | |
Defined in Data.Aeson.Types.ToJSON | |
| Data Key | |
Defined in Data.Aeson.Key Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Key -> c Key # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Key # dataTypeOf :: Key -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Key) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Key) # gmapT :: (forall b. Data b => b -> b) -> Key -> Key # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r # gmapQ :: (forall d. Data d => d -> u) -> Key -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Key -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Key -> m Key # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key # | |
| IsString Key | |
Defined in Data.Aeson.Key Methods fromString :: String -> Key # | |
| Monoid Key | |
| Semigroup Key | |
| Read Key | |
| Show Key | |
| NFData Key | |
Defined in Data.Aeson.Key | |
| Eq Key | |
| Ord Key | |
| Hashable Key | |
Defined in Data.Aeson.Key | |
| FoldableWithIndex Key KeyMap | |
Defined in Data.Aeson.KeyMap | |
| FunctorWithIndex Key KeyMap | |
| TraversableWithIndex Key KeyMap | |
Defined in Data.Aeson.KeyMap | |
| SemialignWithIndex Key KeyMap | |
Defined in Data.Aeson.KeyMap | |
| ZipWithIndex Key KeyMap | |
| Lift Key | |
| FilterableWithIndex Key KeyMap | |
| WitherableWithIndex Key KeyMap | |
| FromPairs Value (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
| v ~ Value => KeyValuePair v (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
A JSON value represented as a Haskell value.
Instances
| Arbitrary Value | Since: aeson-2.0.3.0 |
| CoArbitrary Value | Since: aeson-2.0.3.0 |
Defined in Data.Aeson.Types.Internal Methods coarbitrary :: Value -> Gen b -> Gen b # | |
| Function Value | Since: aeson-2.0.3.0 |
| FromJSON Value | |
| FromString Encoding | |
Defined in Data.Aeson.Types.ToJSON Methods fromString :: String -> Encoding | |
| FromString Value | |
Defined in Data.Aeson.Types.ToJSON Methods fromString :: String -> Value | |
| ToJSON Value | |
Defined in Data.Aeson.Types.ToJSON | |
| Data Value | |
Defined in Data.Aeson.Types.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Value -> c Value # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Value # dataTypeOf :: Value -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Value) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Value) # gmapT :: (forall b. Data b => b -> b) -> Value -> Value # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r # gmapQ :: (forall d. Data d => d -> u) -> Value -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Value -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Value -> m Value # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value # | |
| IsString Value | |
Defined in Data.Aeson.Types.Internal Methods fromString :: String -> Value # | |
| Generic Value | |
| Read Value | |
| Show Value | Since version 1.5.6.0 version object values are printed in lexicographic key order
|
| NFData Value | |
Defined in Data.Aeson.Types.Internal | |
| Eq Value | |
| Ord Value | The ordering is total, consistent with Since: aeson-1.5.2.0 |
| Hashable Value | |
Defined in Data.Aeson.Types.Internal | |
| Lift Value | Since: aeson-0.11.0.0 |
| (GToJSON' Encoding arity a, ConsToJSON Encoding arity a, Constructor c) => SumToJSON' TwoElemArray Encoding arity (C1 c a) | |
Defined in Data.Aeson.Types.ToJSON | |
| (GToJSON' Value arity a, ConsToJSON Value arity a, Constructor c) => SumToJSON' TwoElemArray Value arity (C1 c a) | |
Defined in Data.Aeson.Types.ToJSON | |
| GToJSON' Encoding arity (U1 :: TYPE LiftedRep -> Type) | |
| GToJSON' Encoding arity (V1 :: TYPE LiftedRep -> Type) | |
| GToJSON' Value arity (U1 :: TYPE LiftedRep -> Type) | |
| GToJSON' Value arity (V1 :: TYPE LiftedRep -> Type) | |
| ToJSON1 f => GToJSON' Encoding One (Rec1 f) | |
| ToJSON1 f => GToJSON' Value One (Rec1 f) | |
| (EncodeProduct arity a, EncodeProduct arity b) => GToJSON' Encoding arity (a :*: b) | |
| ToJSON a => GToJSON' Encoding arity (K1 i a :: TYPE LiftedRep -> Type) | |
| (WriteProduct arity a, WriteProduct arity b, ProductSize a, ProductSize b) => GToJSON' Value arity (a :*: b) | |
| ToJSON a => GToJSON' Value arity (K1 i a :: TYPE LiftedRep -> Type) | |
| (ToJSON1 f, GToJSON' Encoding One g) => GToJSON' Encoding One (f :.: g) | |
| (ToJSON1 f, GToJSON' Value One g) => GToJSON' Value One (f :.: g) | |
| FromPairs Value (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
| v ~ Value => KeyValuePair v (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
| type Rep Value | |
Defined in Data.Aeson.Types.Internal type Rep Value = D1 ('MetaData "Value" "Data.Aeson.Types.Internal" "aeson-2.1.2.1-Br9hyqqslv54LaNUGXMRb2" 'False) ((C1 ('MetaCons "Object" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Object)) :+: (C1 ('MetaCons "Array" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Array)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: (C1 ('MetaCons "Number" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Scientific)) :+: (C1 ('MetaCons "Bool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "Null" 'PrefixI 'False) (U1 :: Type -> Type)))) | |
newtype Alias (deprecated :: Bool) (alias :: Symbol) a Source #
Constructors
| Alias a |