packages feed

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

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

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

module Hydra.Core.Dsl.Json.Model where

import qualified Hydra.Core.Decode.Json.Model as DecodeJsonModel
import qualified Hydra.Core.Dsl.Model as DslModel
import qualified Hydra.Core.Encode.Json.Model as EncodeJsonModel
import qualified Hydra.Core.Json.Model as JsonModel
import qualified Hydra.Core.Model as Model
import qualified Hydra.Core.Typed as Typed
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci
import Data.Void

-- | DSL injection for the array variant of hydra.core.json.model.Value
valueArray :: Typed.TypedTerm [JsonModel.Value] -> Typed.TypedTerm JsonModel.Value
valueArray x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.json.model.Value"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "array"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the boolean variant of hydra.core.json.model.Value
valueBoolean :: Typed.TypedTerm Bool -> Typed.TypedTerm JsonModel.Value
valueBoolean x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.json.model.Value"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "boolean"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

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

-- | DSL injection for the number variant of hydra.core.json.model.Value
valueNumber :: Typed.TypedTerm Sci.Scientific -> Typed.TypedTerm JsonModel.Value
valueNumber x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.json.model.Value"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "number"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the object variant of hydra.core.json.model.Value
valueObject :: Typed.TypedTerm [(String, JsonModel.Value)] -> Typed.TypedTerm JsonModel.Value
valueObject x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.json.model.Value"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "object"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL injection for the string variant of hydra.core.json.model.Value
valueString :: Typed.TypedTerm String -> Typed.TypedTerm JsonModel.Value
valueString x =
    Typed.TypedTerm (Model.TermInject (Model.Injection {
      Model.injectionTypeName = (Model.Name "hydra.core.json.model.Value"),
      Model.injectionField = Model.Field {
        Model.fieldName = (Model.Name "string"),
        Model.fieldTerm = (Typed.unTypedTerm x)}}))

-- | DSL name token for hydra.core.json.model.Value
valueValue :: Typed.TypedName JsonModel.Value
valueValue = Typed.TypedName (Model.Name "hydra.core.json.model.Value")