(self: Chunk.Chunk<A>, b: B, f: (b: B, a: A) => B)
| 1007 | } |
| 1008 | // TODO(Mike/Max): remove if added to `effect` |
| 1009 | const scanLeft = <A, B>(self: Chunk.Chunk<A>, b: B, f: (b: B, a: A) => B): Chunk.Chunk<B> => { |
| 1010 | const len = self.length |
| 1011 | const out = Array.allocate<B>(len + 1) as Array<B> |
| 1012 | out[0] = b |
| 1013 | for (let i = 0; i < len; i++) { |
| 1014 | out[i + 1] = f(out[i], self.pipe(Chunk.unsafeGet(i))) |
| 1015 | } |
| 1016 | return Chunk.unsafeFromArray(out) |
| 1017 | } |
no test coverage detected