9ilsdx 9rvj 0lo 9ilsdx 9rvj 0lo - 14 days ago 7
TypeScript Question

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?

Answer

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

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