Size: a a a

(F|R|FR)P - русскоговорящее сообщество

2018 December 20

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
Память потечёт.
источник

AK

Anton Kotenko in (F|R|FR)P - русскоговорящее сообщество
Котяй Негодяй
Вот решение, но оно не умеет в последнее значение, если за ним не идёт разделитель:

from([
 'ABCD\nEFGH',
 'wtf',
 'IJKL\nMNOP',
 'QRST\nUVWX',
])
 .scan(
   (acc, data: string) => {
     const rows = data.split('\n')
     const queue = rows.slice(0, -1)
     const lastRow = last(rows) || ''

     if (queue.length) {
       queue[0] = acc.buff + queue[0]
       acc.queue = queue
       acc.buff = ''
     } else {
       acc.queue = []
     }

     if (data.endsWith('\n')) {
       acc.queue.push(
         `${acc.buff}${lastRow}`,
       )
     } else {
       acc.buff += lastRow
     }

     return acc
   },
   { buff: '', queue: [] },
 )
 .chain(acc => from(acc.queue))
 .subscribe({
   next: console.log,
 })
`.split` должен уже обрезать конечный `\n` или разделитель, добавь его в регулярку
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
Anton Kotenko
`.split` должен уже обрезать конечный `\n` или разделитель, добавь его в регулярку
+
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
Поправил.
источник

AK

Anton Kotenko in (F|R|FR)P - русскоговорящее сообщество
Может даже можно будет `.scan((items) => split(/\s/, items)` достичь ;)
источник

AK

Anton Kotenko in (F|R|FR)P - русскоговорящее сообщество
Котяй Негодяй
Но суть в том, что в этом случае редьюс не подходит. 🤷‍♂️
Я `scan` имел в виду, да
источник

AK

Anton Kotenko in (F|R|FR)P - русскоговорящее сообщество
Это не про Array.reduce было
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
Anton Kotenko
Может даже можно будет `.scan((items) => split(/\s/, items)` достичь ;)
Тогда нужно будет хранить признак того, полный последний элемент или нет, в самом элементе. А так можно сломать само значение.
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
Anton Kotenko
Это не про Array.reduce было
Редьюс для стрима всё так же сворачивает значения в одно. Просто с помощью промиса.
источник
2018 December 21

at

andrei tshurotshkin! 🎄 in (F|R|FR)P - русскоговорящее сообщество
Котяй Негодяй
Тогда нужно будет хранить признак того, полный последний элемент или нет, в самом элементе. А так можно сломать само значение.
Можно же подписаться на конец стрима?
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
andrei tshurotshkin! 🎄
Можно же подписаться на конец стрима?
Ну, только снаружи. Да.
источник

at

andrei tshurotshkin! 🎄 in (F|R|FR)P - русскоговорящее сообщество
Observable.create
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
andrei tshurotshkin! 🎄
Observable.create
В most есть только new Stream(). Ну это я знаю, да. Просто это более низкий уровень.
источник

m

mg901 in (F|R|FR)P - русскоговорящее сообщество
@bigslycat ты юзал когда нибдуь монаду Validate?
источник

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
mg901
@bigslycat ты юзал когда нибдуь монаду Validate?
Неа.
источник

m

mg901 in (F|R|FR)P - русскоговорящее сообщество
@bigslycat можешь помочь с either?
источник
2018 December 22

К

Котяй Негодяй in (F|R|FR)P - русскоговорящее сообщество
mg901
@bigslycat можешь помочь с either?
Ага
источник
2018 December 24

at

andrei tshurotshkin! 🎄 in (F|R|FR)P - русскоговорящее сообщество
заорал
источник

at

andrei tshurotshkin! 🎄 in (F|R|FR)P - русскоговорящее сообщество
источник

с

сomorsiс in (F|R|FR)P - русскоговорящее сообщество
>flip(flip)
🤔
источник