Ниже приведен пример кода, использующего пространство имен в машинописном наборе:
export namespace com.ng.validation {
export interface StringValidator {
isAcceptable(s : string) : boolean;
}
export class LettersOnlyValidator implements StringValidator {
lettersRegexp : RegExp;
constructor() {
this.lettersRegexp = /^[A-Za-z]+$/;
}
isAcceptable(str: string) : boolean {
return this.lettersRegexp.test(str);
}
}
}
Это пример кода, выполняющего импорт пространства имен и использующий класс LettersOnlyValidator:
import { com } from "./validation/string-validator";
(function() {
let val : com.ng.validation.StringValidator = new com.ng.validation.LettersOnlyValidator();
console.log(val.isAcceptable("AB1C"));
})();
Imho, это действительно ужасный код. Существуют ли какие-либо функции Typescript для импорта пространства имен, аналогичные этому фрагменту кода C ++?:
using namespace x::y::z;