on master help sign in
add non-maybe version of functions
commit60b7804b51fe782a830a6872e27859f47517fd1b authorDwight Guth <dwight.guth@runtimeverification.com> dateWed 26 Sep 2018, 09:46 (8 years ago) parent215d680
1 file changed+24
src/Data/Yaml/Builder.hs+24
src/Data/Yaml/Builder.hs+24
@@ -7,16 +7,22 @@ module Data.Yaml.Builder
77 ( YamlBuilder (..)
88 , ToYaml (..)
99 , mapping
10+ , namedMapping
1011 , maybeNamedMapping
1112 , array
13+ , namedArray
1214 , maybeNamedArray
1315 , string
16+ , namedString
1417 , maybeNamedString
1518 , bool
19+ , namedBool
1620 , maybeNamedBool
1721 , null
22+ , namedNull
1823 , maybeNamedNull
1924 , scientific
25+ , namedScientific
2026 , maybeNamedScientific
2127 , alias
2228 , number
@@ -82,6 +88,9 @@ maybeNamedMapping anchor pairs = YamlBuilder $ \rest ->
8288mapping :: [(Text, YamlBuilder)] -> YamlBuilder
8389mapping = maybeNamedMapping Nothing
8490
91+namedMapping :: Text -> [(Text, YamlBuilder)] -> YamlBuilder
92+namedMapping name = maybeNamedMapping $ Just name
93+
8594maybeNamedArray :: Maybe Text -> [YamlBuilder] -> YamlBuilder
8695maybeNamedArray anchor bs =
8796 YamlBuilder $ (EventSequenceStart NoTag AnySequence (unpack <$> anchor):) . flip (foldr go) bs . (EventSequenceEnd:)
@@ -91,6 +100,9 @@ maybeNamedArray anchor bs =
91100array :: [YamlBuilder] -> YamlBuilder
92101array = maybeNamedArray Nothing
93102
103+namedArray :: Text -> [YamlBuilder] -> YamlBuilder
104+namedArray name = maybeNamedArray $ Just name
105+
94106maybeNamedString :: Maybe Text -> Text -> YamlBuilder
95107-- Empty strings need special handling to ensure they get quoted. This avoids:
96108-- https://github.com/snoyberg/yaml/issues/24
@@ -106,6 +118,9 @@ maybeNamedString anchor s =
106118
107119string :: Text -> YamlBuilder
108120string = maybeNamedString Nothing
121+
122+namedString :: Text -> Text -> YamlBuilder
123+namedString name = maybeNamedString $ Just name
109124
110125-- Use aeson's implementation which gets rid of annoying decimal points
111126maybeNamedScientific :: Maybe Text -> Scientific -> YamlBuilder
@@ -114,6 +129,9 @@ maybeNamedScientific anchor n = YamlBuilder (EventScalar (TE.encodeUtf8 $ TL.toS
114129scientific :: Scientific -> YamlBuilder
115130scientific = maybeNamedScientific Nothing
116131
132+namedScientific :: Text -> Scientific -> YamlBuilder
133+namedScientific name = maybeNamedScientific $ Just name
134+
117135{-# DEPRECATED number "Use scientific" #-}
118136number :: Scientific -> YamlBuilder
119137number = scientific
@@ -125,12 +143,18 @@ maybeNamedBool anchor False = YamlBuilder (EventScalar "false" BoolTag PlainNoT
125143bool :: Bool -> YamlBuilder
126144bool = maybeNamedBool Nothing
127145
146+namedBool :: Text -> Bool -> YamlBuilder
147+namedBool name = maybeNamedBool $ Just name
148+
128149maybeNamedNull :: Maybe Text -> YamlBuilder
129150maybeNamedNull anchor = YamlBuilder (EventScalar "null" NullTag PlainNoTag (unpack <$> anchor) :)
130151
131152null :: YamlBuilder
132153null = maybeNamedNull Nothing
133154
155+namedNull :: Text -> YamlBuilder
156+namedNull name = maybeNamedNull $ Just name
157+
134158alias :: Text -> YamlBuilder
135159alias anchor = YamlBuilder (EventAlias (unpack anchor) :)
136160