Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
interface IEvent<Data> {
on(fn:(Data) => boolean): ISubscribe { }
trigger(d: Data): boolean { }
}Linq и при этом получается вот такой типизированный код на TS: data.document.p.where(paragraphCondition)
.selectMany(p => p.s.where(sentenceCondition))
.selectMany(s => s.l)
.select(l => data.vocabularyItems.firstOrDefault(vi => matchesLexem(vi, l)))
.where(vocabularyLexem => vocabularyLexem && vocabularyLexem.level < 10 && !alreadyPresent(vocabularyLexem))
.distinct(vocabularyLexem => vocabularyLexem.descriptor.presentation)
.foreach(vocabularyLexem => this.vocabularyItems.push(vocabularyLexem));
vocabularyLexem.
Построение масштабируемых приложений на TypeScript. Часть 2 — События или зачем стоит изобретать собственный велосипед