packages feed

hydra-build-0.17.5: src/main/haskell/Hydra/Encode/Build/Benchresult.hs

-- Note: this is an automatically generated file. Do not edit.

-- | Term encoders for hydra.build.benchresult

module Hydra.Encode.Build.Benchresult where

import qualified Hydra.Build.Benchresult as Benchresult
import qualified Hydra.Core as Core
import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists
import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps
import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci

-- | Encoder for hydra.build.benchresult.BenchMetadata
benchMetadata :: Benchresult.BenchMetadata -> Core.Term
benchMetadata x =
    Core.TermRecord (Core.Record {
      Core.recordTypeName = (Core.Name "hydra.build.benchresult.BenchMetadata"),
      Core.recordFields = [
        Core.Field {
          Core.fieldName = (Core.Name "timestamp"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.benchMetadataTimestamp x))},
        Core.Field {
          Core.fieldName = (Core.Name "language"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.benchMetadataLanguage x))},
        Core.Field {
          Core.fieldName = (Core.Name "branch"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.benchMetadataBranch x))},
        Core.Field {
          Core.fieldName = (Core.Name "commit"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.benchMetadataCommit x))},
        Core.Field {
          Core.fieldName = (Core.Name "commitMessage"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.benchMetadataCommitMessage x))}]})

-- | Encoder for hydra.build.benchresult.GenBenchResult
genBenchResult :: Benchresult.GenBenchResult -> Core.Term
genBenchResult x =
    Core.TermRecord (Core.Record {
      Core.recordTypeName = (Core.Name "hydra.build.benchresult.GenBenchResult"),
      Core.recordFields = [
        Core.Field {
          Core.fieldName = (Core.Name "target"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralString x2)) (Benchresult.genBenchResultTarget x))},
        Core.Field {
          Core.fieldName = (Core.Name "runs"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 x2))) (Benchresult.genBenchResultRuns x))},
        Core.Field {
          Core.fieldName = (Core.Name "hosts"),
          Core.fieldTerm = ((\m -> Core.TermMap (Maps.bimap (\x2 -> Core.TermLiteral (Core.LiteralString x2)) hostResult m)) (Benchresult.genBenchResultHosts x))},
        Core.Field {
          Core.fieldName = (Core.Name "metadata"),
          Core.fieldTerm = ((\opt -> Core.TermOptional (Optionals.map benchMetadata opt)) (Benchresult.genBenchResultMetadata x))}]})

-- | Encoder for hydra.build.benchresult.HostResult
hostResult :: Benchresult.HostResult -> Core.Term
hostResult x =
    Core.TermRecord (Core.Record {
      Core.recordTypeName = (Core.Name "hydra.build.benchresult.HostResult"),
      Core.recordFields = [
        Core.Field {
          Core.fieldName = (Core.Name "setupMs"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 x2))) (Benchresult.hostResultSetupMs x))},
        Core.Field {
          Core.fieldName = (Core.Name "packages"),
          Core.fieldTerm = ((\m -> Core.TermMap (Maps.bimap (\x2 -> Core.TermLiteral (Core.LiteralString x2)) runStats m)) (Benchresult.hostResultPackages x))}]})

-- | Encoder for hydra.build.benchresult.RunStats
runStats :: Benchresult.RunStats -> Core.Term
runStats x =
    Core.TermRecord (Core.Record {
      Core.recordTypeName = (Core.Name "hydra.build.benchresult.RunStats"),
      Core.recordFields = [
        Core.Field {
          Core.fieldName = (Core.Name "runsMs"),
          Core.fieldTerm = ((\xs -> Core.TermList (Lists.map (\x2 -> Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 x2))) xs)) (Benchresult.runStatsRunsMs x))},
        Core.Field {
          Core.fieldName = (Core.Name "medianMs"),
          Core.fieldTerm = ((\x2 -> Core.TermLiteral (Core.LiteralInteger (Core.IntegerValueInt32 x2))) (Benchresult.runStatsMedianMs x))}]})