Есть ли альтернатива для using namespace
в TypeScript?Здесь у меня есть файл с пространствами имен и интерфейсами:
declare namespace NamespaceA {
export interface IClassA { }
export namespace NamespaceB {
export interface IClassB { }
export namespace NamespaceC {
export interface IClassC1 { }
export interface IClassC2 { }
export interface IClassC3 { }
}
}
}
Я хотел бы использовать IClassC1
, IClassC2
и IClassC3
в другом файле:
class ClassA implements NamespaceA.NamespaceB.NamespaceC.IClassC1 { }
class ClassB implements NamespaceA.NamespaceB.NamespaceC.IClassC2 { }
class ClassC implements NamespaceA.NamespaceB.NamespaceC.IClassC3 { }
Пишите так долгоимена не очень хорошие.Поэтому я создал собственный тип для каждого интерфейса:
type IClassC1 = NamespaceA.NamespaceB.NamespaceC.IClassC1
type IClassC2 = NamespaceA.NamespaceB.NamespaceC.IClassC2
type IClassC2 = NamespaceA.NamespaceB.NamespaceC.IClassC2
class ClassA implements IClassC1 { }
class ClassB implements IClassC2 { }
class ClassC implements IClassC3 { }
Но есть ли лучший способ?Например:
using namespace NamespaceA.NamespaceB.NamespaceC
class ClassA implements IClassC1 { }
class ClassB implements IClassC2 { }
class ClassC implements IClassC3 { }