strom/tests/compose.spec.ts

55 lines
1.5 KiB
TypeScript
Raw Normal View History

2019-08-21 19:40:19 +00:00
const test = require("ava");
2019-08-22 16:07:30 +00:00
const { compose, composeDuplex, map } = require("../src");
2019-08-21 19:40:19 +00:00
test.cb("compose()", t => {
2019-08-22 16:07:30 +00:00
const first = map((chunk: number) => chunk + "x");
const second = map((chunk: number) => chunk + "y");
2019-08-21 19:40:19 +00:00
const composed = compose(
[first, second],
{ objectMode: true },
);
2019-08-22 16:07:30 +00:00
const third = map((chunk: number) => chunk + "z");
composed
.pipe(third)
.on("data", data => console.log("Piped composed: ", data));
composed.on("data", data => {
console.log("data on composed", data);
t.end();
});
composed.on("error", data => {
console.log("ERROR", data);
});
composed.on("end", data => {
console.log("end", data);
});
2019-08-21 19:40:19 +00:00
composed.write(1);
composed.write(2);
2019-08-22 16:07:30 +00:00
});
test.cb.only("composeDuplex()", t => {
const first = map((chunk: number) => chunk + "x");
const second = map((chunk: number) => chunk + "y");
const composed = composeDuplex([first, second], { objectMode: true });
const third = map((chunk: number) => chunk + "z");
// composed
// .pipe(third)
// .on("data", data => console.log("Piped composed: ", data));
2019-08-21 19:40:19 +00:00
composed.on("data", data => {
2019-08-22 16:07:30 +00:00
console.log("data on composed", data);
t.end();
});
composed.on("error", data => {
console.log("ERROR", data);
});
composed.on("end", data => {
console.log("end", data);
2019-08-21 19:40:19 +00:00
});
2019-08-22 16:07:30 +00:00
composed.write(1);
composed.write(2);
2019-08-21 19:40:19 +00:00
});