{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE StrictData #-}

module Codec.QRCode.Data.QRIntermediate.Internal
  ( QRIntermediate(..)
  ) where

import           Codec.QRCode.Base

import qualified Codec.QRCode.Data.ByteStreamBuilder as BSB
import           Codec.QRCode.Data.ErrorLevel
import           Codec.QRCode.Data.Mask
import           Codec.QRCode.Data.Version

data QRIntermediate
  = QRIntermediate
    { qrIntermediateVersion_    :: Version
    , qrIntermediateErrorLevel_ :: ErrorLevel
    , qrIntermediateDataSize_   :: Int
    , qrIntermediateData_       :: BSB.ByteStreamBuilder
    , qrIntermediateMask_       :: Maybe Mask
    }