module Experimenter.Parameter.Ops
    ( convertParameterSetup
    ) where

import           Data.Serialize

import           Experimenter.Models
import           Experimenter.Parameter.Type

convertParameterSetup :: ExpsId -> ParameterSetup a -> Param
convertParameterSetup :: ExpsId -> ParameterSetup a -> Param
convertParameterSetup ExpsId
expsId (ParameterSetup Text
name b -> a -> a
_ a -> b
_ Maybe (b -> IO [b])
_ (Just (b
minB,b
maxB)) Maybe (b -> Bool)
_ Maybe (b -> ExperimentDesign)
_) = ExpsId -> Text -> Maybe ByteString -> Maybe ByteString -> Param
Param ExpsId
expsId Text
name (ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ Put -> ByteString
runPut (Put -> ByteString) -> Put -> ByteString
forall a b. (a -> b) -> a -> b
$ Putter b
forall t. Serialize t => Putter t
put b
minB) (ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ Put -> ByteString
runPut (Put -> ByteString) -> Put -> ByteString
forall a b. (a -> b) -> a -> b
$ Putter b
forall t. Serialize t => Putter t
put b
maxB)
convertParameterSetup ExpsId
expsId (ParameterSetup Text
name b -> a -> a
_ a -> b
_ Maybe (b -> IO [b])
_ Maybe (b, b)
Nothing Maybe (b -> Bool)
_ Maybe (b -> ExperimentDesign)
_) = ExpsId -> Text -> Maybe ByteString -> Maybe ByteString -> Param
Param ExpsId
expsId Text
name Maybe ByteString
forall a. Maybe a
Nothing Maybe ByteString
forall a. Maybe a
Nothing