module Hydra.Dsl.Module where

import Hydra.Kernel
import Hydra.Dsl.Base as Base


qualifiedName :: Datum (Maybe Namespace) -> Datum String -> Datum QualifiedName
qualifiedName :: Datum (Maybe Namespace) -> Datum String -> Datum QualifiedName
qualifiedName Datum (Maybe Namespace)
ns Datum String
local = Name -> [Field] -> Datum QualifiedName
forall a. Name -> [Field] -> Datum a
record Name
_QualifiedName [
  Name
_QualifiedName_namespaceName -> Datum (Maybe Namespace) -> Field
forall a. Name -> Datum a -> Field
>>: Datum (Maybe Namespace)
ns,
  Name
_QualifiedName_localName -> Datum String -> Field
forall a. Name -> Datum a -> Field
>>: Datum String
local]

qualifiedNameLocal :: Datum (QualifiedName -> String)
qualifiedNameLocal :: Datum (QualifiedName -> String)
qualifiedNameLocal = Name -> Name -> Datum (QualifiedName -> String)
forall a b. Name -> Name -> Datum (a -> b)
project Name
_QualifiedName Name
_QualifiedName_local

qualifiedNameNamespace :: Datum (QualifiedName -> Maybe Namespace)
qualifiedNameNamespace :: Datum (QualifiedName -> Maybe Namespace)
qualifiedNameNamespace = Name -> Name -> Datum (QualifiedName -> Maybe Namespace)
forall a b. Name -> Name -> Datum (a -> b)
project Name
_QualifiedName Name
_QualifiedName_namespace