import { MessageType } from "../enums";
export let sourceForSource = (sourceA: Function, sourceB: Function) => {
return (start: number, sink: any) => {
if (start !== MessageType.START) return;
let talkbackA : Function, talkbackB : Function;
sourceA(MessageType.START, (t: number, data: any) => {
if (t === MessageType.START) {
talkbackA = data;
}
if (t === MessageType.DATA) {
sourceB(MessageType.START, (t2: number, data2: any) => {
if (t2 === MessageType.START) {
talkbackB = data2;
}
if (t2 === MessageType.DATA) {
sink(t2, data2);
}
});
}
});
sink(MessageType.START, (t: number) => {
if (t === MessageType.END) {
if (talkbackB) {
talkbackB(MessageType.END);
}
if (talkbackA) {
talkbackA(MessageType.END);
}
}
});
};
}
pipe(
sourceForSource(interval(1000), fromCsvFile("./BaggingInstructionTemplate.csv", { delimiter: ',' })),
filter((d: any) => parseInt(d[1]) > 40),
take(8),
map((r: any) => [r[0], r[1]]),
forEach((x: any) => console.log(x))
)
127400cookie-checkCallbag source for source (source as trigger for another one)