module Telescope.Fits.Header.Keyword where
import Data.Text (Text)
import Data.Text qualified as T
import Telescope.Fits.Header.Value
data KeywordRecord = KeywordRecord
{ KeywordRecord -> Text
keyword :: Text
, KeywordRecord -> Value
value :: Value
, :: Maybe Text
}
deriving (Int -> KeywordRecord -> ShowS
[KeywordRecord] -> ShowS
KeywordRecord -> String
(Int -> KeywordRecord -> ShowS)
-> (KeywordRecord -> String)
-> ([KeywordRecord] -> ShowS)
-> Show KeywordRecord
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> KeywordRecord -> ShowS
showsPrec :: Int -> KeywordRecord -> ShowS
$cshow :: KeywordRecord -> String
show :: KeywordRecord -> String
$cshowList :: [KeywordRecord] -> ShowS
showList :: [KeywordRecord] -> ShowS
Show, KeywordRecord -> KeywordRecord -> Bool
(KeywordRecord -> KeywordRecord -> Bool)
-> (KeywordRecord -> KeywordRecord -> Bool) -> Eq KeywordRecord
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: KeywordRecord -> KeywordRecord -> Bool
== :: KeywordRecord -> KeywordRecord -> Bool
$c/= :: KeywordRecord -> KeywordRecord -> Bool
/= :: KeywordRecord -> KeywordRecord -> Bool
Eq)
isKeyword :: Text -> KeywordRecord -> Bool
isKeyword :: Text -> KeywordRecord -> Bool
isKeyword Text
k (KeywordRecord Text
k2 Value
_ Maybe Text
_) = Text -> Text
T.toLower Text
k Text -> Text -> Bool
forall a. Eq a => a -> a -> Bool
== Text -> Text
T.toLower Text
k2
addComment :: Text -> KeywordRecord -> KeywordRecord
Text
c KeywordRecord
kr = KeywordRecord
kr{comment = Just c}