packages feed

hydra-kernel-0.18.0: src/main/haskell/Hydra/Core/Dsl/Yaml/Model.hs

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

-- | DSL functions for hydra.core.yaml.model

module Hydra.Core.Dsl.Yaml.Model where

import qualified Hydra.Core.Decode.Yaml.Model as DecodeYamlModel
import qualified Hydra.Core.Dsl.Model as DslModel
import qualified Hydra.Core.Encode.Yaml.Model as EncodeYamlModel
import qualified Hydra.Core.Model as Model
import qualified Hydra.Core.Typed as Typed
import qualified Hydra.Core.Yaml.Model as YamlModel
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci
import Data.Void
import qualified Data.Map as M

-- | DSL injection for the mapping variant of hydra.core.yaml.model.Node
nodeMapping :: Typed.TypedTerm (M.Map YamlModel.Node YamlModel.Node) -> Typed.TypedTerm YamlModel.Node
nodeMapping x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Node"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "mapping"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL name token for hydra.core.yaml.model.Node
nodeNode :: Typed.TypedName YamlModel.Node
nodeNode = Typed.TypedName (Model.Name "hydra.core.yaml.model.Node")

-- | DSL injection for the scalar variant of hydra.core.yaml.model.Node
nodeScalar :: Typed.TypedTerm YamlModel.Scalar -> Typed.TypedTerm YamlModel.Node
nodeScalar x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Node"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "scalar"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the sequence variant of hydra.core.yaml.model.Node
nodeSequence :: Typed.TypedTerm [YamlModel.Node] -> Typed.TypedTerm YamlModel.Node
nodeSequence x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Node"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "sequence"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the bool variant of hydra.core.yaml.model.Scalar
scalarBool :: Typed.TypedTerm Bool -> Typed.TypedTerm YamlModel.Scalar
scalarBool x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "bool"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the decimal variant of hydra.core.yaml.model.Scalar
scalarDecimal :: Typed.TypedTerm Sci.Scientific -> Typed.TypedTerm YamlModel.Scalar
scalarDecimal x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "decimal"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the float variant of hydra.core.yaml.model.Scalar
scalarFloat :: Typed.TypedTerm Double -> Typed.TypedTerm YamlModel.Scalar
scalarFloat x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "float"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the int variant of hydra.core.yaml.model.Scalar
scalarInt :: Typed.TypedTerm Integer -> Typed.TypedTerm YamlModel.Scalar
scalarInt x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "int"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the null variant of hydra.core.yaml.model.Scalar
scalarNull :: Typed.TypedTerm YamlModel.Scalar
scalarNull =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "null"),
        Model.fieldTerm = Model.TermUnit}}))

-- | DSL name token for hydra.core.yaml.model.Scalar
scalarScalar :: Typed.TypedName YamlModel.Scalar
scalarScalar = Typed.TypedName (Model.Name "hydra.core.yaml.model.Scalar")

-- | DSL injection for the str variant of hydra.core.yaml.model.Scalar
scalarStr :: Typed.TypedTerm String -> Typed.TypedTerm YamlModel.Scalar
scalarStr x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.yaml.model.Scalar"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "str"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))