Есть ли лучший способ сделать импорт для пространств имен в Typescript? - PullRequest
1 голос
/ 13 октября 2019

Ниже приведен пример кода, использующего пространство имен в машинописном наборе:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...