angulartypescriptimportname-collision

Name collision by module import in Angular 2 - is there a way to prevent it


I've almost caused a name collision, because I've created a class with common name Message, which already exists in PrimeNG:

import {Message} from "primeng/primeng";
import {Message} from "./dto";

Because it is my code, I could simply rename the class to anything else (like MessageDTO). But if this was the external class, I'd have an issue.

Is there any way to import class with alias, or any other mean to deal with name conflicts? I Java you can refer to class using fully qualified name instead of import, which looks ugly but is often unavoidable. How it looks like in Angular 2/TypeScript?


Solution

  • As per TypeScript import document imports can also be renamed same as below :

    import { Message } from "primeng/primeng";
    import { Message as MessageDTO } from "./dto";