Module to work with qualified names. A qualified name is a combination of a module path and a local name.
Type that represents a qualified name.
toTuple : QName -> ( Morphir.IR.Path.Path, Morphir.IR.Name.Name )
Turn a qualified name into a tuple.
getModulePath : QName -> Morphir.IR.Path.Path
Get the module path part of a qualified name.
getLocalName : QName -> Morphir.IR.Name.Name
Get the local name part of a qualified name.
fromName : Morphir.IR.Path.Path -> Morphir.IR.Name.Name -> QName
Creates a qualified name.
fromTuple : ( Morphir.IR.Path.Path, Morphir.IR.Name.Name ) -> QName
Turn a tuple into a qualified name.
toString : (Morphir.IR.Name.Name -> String) -> (Morphir.IR.Name.Name -> String) -> String -> QName -> String
Turn a qualified name into a string using the specified path and name conventions.
qname =
QName.fromTuple
(Path.fromList
[ Name.fromList [ "foo", "bar" ]
, Name.fromList [ "baz" ]
]
, Name.fromList [ "a", "name" ]
)
toString Name.toTitleCase Name.toCamelCase "." qname
--> "FooBar.Baz.aName"
toString Name.toSnakeCase Name.toSnakeCase "/" qname
--> "foo_bar/baz/a_name"