packages feed

miso-fluent-1.1.0: src/Miso/Fluent/Parser.hs

module Miso.Fluent.Parser
    ( parse
    , parseResource
    , parseResourceLenient
    , Fluent.resource
    )
where

import Data.Text (Text)
import Language.Fluent.AST (Resource)
import Language.Fluent.Parser (Parser)
import Language.Fluent.Parser qualified as Fluent
import Miso.Prelude

parse :: Parser a -> MisoString -> Either String a
parse = (. fromMisoString @Text) . Fluent.parse

-- | 'Fluent.parseResource' of a 'MisoString'.
parseResource :: MisoString -> Either String Resource
parseResource = Fluent.parseResource . fromMisoString @Text

-- | 'Fluent.parseResourceLenient' of a 'MisoString'.
parseResourceLenient :: MisoString -> Resource
parseResourceLenient = Fluent.parseResourceLenient . fromMisoString @Text