finos / morphir-elm / Morphir.IR.FQName

Module to work with fully-qualified names. A qualified name is a combination of a package path, a module path and a local name.


type alias FQName =
( Morphir.IR.Path.Path
, Morphir.IR.Path.Path
, Morphir.IR.Name.Name 
)

Type that represents a fully-qualified name. The parameters are PackagePath ModulePath Name

fQName : Morphir.IR.Path.Path -> Morphir.IR.Path.Path -> Morphir.IR.Name.Name -> FQName

Create a fully-qualified name.

fromQName : Morphir.IR.Path.Path -> Morphir.IR.QName.QName -> FQName

Create a fully-qualified from a qualified name.

getPackagePath : FQName -> Morphir.IR.Path.Path

Get the package path part of a fully-qualified name.

getModulePath : FQName -> Morphir.IR.Path.Path

Get the module path part of a fully-qualified name.

getLocalName : FQName -> Morphir.IR.Name.Name

Get the local name part of a fully-qualified name.

fqn : String -> String -> String -> FQName

Convenience function to create a fully-qualified name from 3 strings.

toString : FQName -> String

Convert a fully-qualified name to a string

fromString : String -> String -> FQName

Parse a string into a FQName using splitter as the separator between package, module and local names.

fromStringStrict : String -> String -> Result String FQName

Parse a string into a FQName using splitter as the separator between package, module and local names. Fail if it's malformed.