(predicate: Predicate<In>)
| 1744 | * @since 4.0.0 |
| 1745 | */ |
| 1746 | export const takeUntil = <In>(predicate: Predicate<In>): Sink<Array<In>, In, In> => |
| 1747 | suspend(() => { |
| 1748 | let done = false |
| 1749 | return takeWhile((i) => { |
| 1750 | if (done) return false |
| 1751 | done = predicate(i) |
| 1752 | return true |
| 1753 | }) |
| 1754 | }) |
| 1755 | |
| 1756 | /** |
| 1757 | * Collects input elements effectfully until the predicate returns `true`, |