module Hydra.Dsl.Module where

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


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

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

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

unFileExtension :: TTerm (FileExtension -> String)
unFileExtension :: TTerm (FileExtension -> String)
unFileExtension = Name -> TTerm (FileExtension -> String)
forall a b. Name -> TTerm (a -> b)
unwrap Name
_FileExtension