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
|
|
|
});
|