Formerly Morgan-Stanley/morphir-elm. Search finds this package by either name.
This module contains functionality to resolve names in the Elm code into Morphir fully-qualified names. The process is relatively complex due to the many ways names can be imported in an Elm module. Here, we split up the overall process into three main steps following the structure of an Elm module:
Resolve the imports into an internal data structure that makes it easier to resolve names within the module. This is done once per module.
Resolve each individual name using the data structure mentioned above. This is done for each type, constructor and value name in the module.
Type that represents all the possible errors during the name resolution process. Here are the possible errors:
Type that represents what kind of thing a local name refers to. Is it a type, constructor or value?
Finds out the Morphir package and module name from an Elm module name and a Repo.