Currently if the guardian sees a type of the form X.Y, it assumes X is a module identifier (import * as X from ...). However, X could also be an enum name, a class declaration, or some other container type which can hold values.
This change checks whether X is in fact a module identifier instead of assuming it is, which allows enums and other nested value types.
Currently if the guardian sees a type of the form X.Y, it assumes X is a module identifier (import * as X from ...). However, X could also be an enum name, a class declaration, or some other container type which can hold values.
This change checks whether X is in fact a module identifier instead of assuming it is, which allows enums and other nested value types.