Показать сообщение отдельно
  #1 (permalink)  
Старый 30.05.2016, 15:37
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Настройка компиляции TypeScript
Вопрос к знатокам TypeScript:

1. Можно ли настроить компиляцию так, чтобы методы прототипа выглядели так:

MyClass.prototype = {
    foo: function() {},
    bar: function() {}
};


А не так, как сейчас:

MyClass.prototype.foo = function() {};
MyClass.prototype.bar = function() {};



2. Но первый пункт не столько важен, как этот:

class Test {

    constructor() {

    }

    get index():number {
        return 3;
    }

    get name() {
        return '';
    }
    set index(value) {

    }
}


На выходе:
var Test = (function () {
    function Test() {
    }
    Object.defineProperty(Test.prototype, "index", {
        get: function () {
            return 3;
        },
        set: function (value) {
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(Test.prototype, "name", {
        get: function () {
            return '';
        },
        enumerable: true,
        configurable: true
    });
    return Test;
})();


Как видно, на каждый геттер/сеттер приходится индивидуальный defineProperty. Можно ли как-то настроить, чтобы было так?

Test.prototype = {
   get index() {
       return 1;
   },
   get name() {
      return '';
   },

   set index(value) {

   }
};


Ну или как минимум через defineProperties.

Использую PHPStorm, там встроенный компилятор, в настройках компиляции ничего нет.
Для меня очень важно, чтобы код на выходе был аккуратным, ничего лишнего.
Ответить с цитированием