module Buffet.Parse.ParseHealthCheck ( get ) where import qualified Buffet.Toolbox.DockerTools as DockerTools import qualified Data.Maybe as Maybe import qualified Data.Text as T import qualified Language.Docker as Docker import Prelude (Maybe(Just, Nothing), ($), (.), reverse) get :: Docker.Dockerfile -> Maybe T.Text get stage = case lastHealthcheck stage of Just (Docker.Check checkArguments) -> Just . DockerTools.printArguments $ Docker.checkCommand checkArguments _ -> Nothing lastHealthcheck :: Docker.Dockerfile -> Maybe (Docker.Check T.Text) lastHealthcheck = Maybe.listToMaybe . reverse . Maybe.mapMaybe maybeHealthcheck where maybeHealthcheck (Docker.InstructionPos (Docker.Healthcheck check) _ _) = Just check maybeHealthcheck _ = Nothing