This commit is contained in:
Jerry Kurian
2019-09-26 09:23:09 -04:00
parent 70edee51c4
commit a11aa10d16
12 changed files with 36 additions and 56 deletions

View File

@@ -1,5 +1,4 @@
import { Transform } from "stream";
import { TransformOptions } from "./baseDefinitions";
import { Transform, TransformOptions } from "stream";
export function reduce<T, R>(
iteratee:
@@ -7,14 +6,12 @@ export function reduce<T, R>(
| ((previousValue: R, chunk: T, encoding: string) => Promise<R>),
initialValue: R,
options: TransformOptions = {
readableObjectMode: true,
writableObjectMode: true,
objectMode: true,
},
) {
let value = initialValue;
return new Transform({
readableObjectMode: options.readableObjectMode,
writableObjectMode: options.writableObjectMode,
...options,
async transform(chunk: T, encoding, callback) {
value = await iteratee(value, chunk, encoding);
callback();