packages feed

telescope-0.2.0: src/Telescope/Fits/Header/Keyword.hs

module Telescope.Fits.Header.Keyword where

import Data.Fits as Fits hiding (isKeyword)
import Data.List qualified as L
import Data.Text (Text)
import Data.Text qualified as T


-- | Manually look up a keyword from the header
lookupKeyword :: Text -> Header -> Maybe Value
lookupKeyword k = findKeyword (isKeyword k)


findKeyword :: (KeywordRecord -> Bool) -> Header -> Maybe Value
findKeyword p h = do
  kr <- L.find p (getKeywords h)
  pure kr._value


isKeyword :: Text -> KeywordRecord -> Bool
isKeyword k (KeywordRecord k2 _ _) = T.toLower k == T.toLower k2