Сообщение от destus
			 
		
	 | 
	
		this.updates.scan((acc, operation) => {}, initialMessage). Что непонятного?) В this.updates и есть эта самая функция IMessagesOperation. scan - аналог reduce. 
Вообще на чистом Rx.js проектировать приложение...ну не знаю. Обычно используют всякие обвязки типа ngrx, он же Redux.
	 | 
	
this.updates - просто создается subject, где она там я не понимаю )))
Про чистый Rx.js - так я просто разбираюсь, не знаю как обычно то делают 
  
Я не понимаю как здесь происходит,
Функция scan:
.scan((acc, curr) => acc + curr);         она суммирует acc и curr, но в примере же немного по-другому. В примере который я скинул, там суммируется  return operation(messages);   и initialmessages ? Я запутался) 
Я прочитал, что scan для аккумулирования. У нас на входе messages u operation, messages - это массив, ок, но operation - это функция ?
 (acc, operation) - это я вижу, но дальше не понятно, =>{}, т.е. он берет здесь массив сообщений, берет operation, и возвращает тот же самый массив ? 

. 
(messages:Message[],
                operation:ImessagesOperation) => {
                 return operation(messages);