{-# options_haddock prune #-}

-- |Description: ProcessInput effect, Internal.
module Polysemy.Process.Effect.ProcessInput where

-- |This effect is used by the effect 'Polysemy.Process.Process' to encode values for process input.
-- example using a parser.
data ProcessInput a :: Effect where
  -- |Encode a value for enqueueing it to a process' stdin.
  Encode ::
    -- |The value to encode.
    a ->
    ProcessInput a m ByteString

makeSem ''ProcessInput