module Buffet.Parse.ParseGlobalBuildStage
  ( get
  ) where

import qualified Buffet.Ir.Ir as Ir
import qualified Language.Docker as Docker
import Prelude (Bool(False, True), (.), filter, fmap)

get :: Docker.Dockerfile -> Ir.DockerfilePart
get :: Dockerfile -> DockerfilePart
get = (InstructionPos Text -> Instruction Text)
-> Dockerfile -> DockerfilePart
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap InstructionPos Text -> Instruction Text
forall args. InstructionPos args -> Instruction args
Docker.instruction (Dockerfile -> DockerfilePart)
-> (Dockerfile -> Dockerfile) -> Dockerfile -> DockerfilePart
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (InstructionPos Text -> Bool) -> Dockerfile -> Dockerfile
forall a. (a -> Bool) -> [a] -> [a]
filter InstructionPos Text -> Bool
forall args. InstructionPos args -> Bool
isTaken
  where
    isTaken :: InstructionPos args -> Bool
isTaken (Docker.InstructionPos (Docker.Healthcheck Check args
_) Text
_ Linenumber
_) = Bool
False
    isTaken (Docker.InstructionPos (Docker.Label Pairs
_) Text
_ Linenumber
_) = Bool
False
    isTaken InstructionPos args
_ = Bool
True