Я разрабатываю веб-сайт с использованием HotTowel и TypeScript. В превосходном курсе PluralSight Джона Папы он расширил сущность breezejs, создав конструктор и используя Object.defineProperty для его расширения. Например, он добавил свойство с именем fullName
следующим образом.
NB: metadataStore — это хранилище метаданных breezejs.
function registerPerson(metadataStore) {
metadataStore.registerEntityTypeCtor('Person', Person);
function Person() {
this.isPartial = false;
this.isSpeaker = false;
}
Object.defineProperty(Person.prototype, 'fullName', {
get: function () {
var fn = this.firstName;
var ln = this.lastName;
return ln ? fn + ' ' + ln : fn;
}
});
}
Мой вопрос: как мне добиться того же, используя TypeScript?