const exec = (cmd, args) => { // Use `Observable` support if merged https://github.com/sindresorhus/execa/pull/26 const cp = execa(cmd, args); return merge( streamToObservable(cp.stdout.pipe(split())), streamToObservable(cp.stderr.pipe(split())), cp ).pipe(filter(Boolean)); }
// enable subscribing to alerts observable function onAlert(id = defaultId) { return alertSubject.asObservable().pipe(filter(x => x && x.id === id)); }
channel .pipe( pluck("data"), // pull out only data field filter((data) => data.session_id === session_id), ).subscribe(data => { channel .getLog(data => data("data.session_id").isEqualTo(session_id)) .subscribe ( (data) => addMessageToList(data), error => console.log(error) ) });
const actionOfType = (actionId, cancelId) => (action$) => { return action$.pipe( tap(val => console.log("epic val: "+ JSON.stringify(val) )), ofType(actionId), debounce(() => interval(500)), takeUntil( action$.pipe( filter(action => action.type === cancelId), ))); }
/** * Get an Observable for specific set of topics * @param {String} name Topic name / pattern * @return {Observable} Observable for given set of topics * @example * const channel = rxmq.channel('test'); * channel.observe('test.topic') * .subscribe((res) => { // default Observable subscription * // handle results * }); */ observe(name) { // create new topic if it's plain text if (name.indexOf('#') === -1 && name.indexOf('*') === -1) { return this.subject(name); } // return stream return this.channelStream.pipe( filter(obs => compareTopics(obs.name, name)), mergeAll() ); }
channel .pipe( pluck("data"), // pull out only data field filter((data) => data.session_id === this.props._session_id), ).subscribe(data => { channel .getLog(data => data("data.session_id").isEqualTo(this.props._session_id)) .subscribe( (data) => { this.props.addMessageToList(data); }, error => console.log(error) ) });
takeUntil( action$.pipe( filter((action) => action.type === API_GET_MOVIES_CANCEL), tap(() => source.cancel('cancelled')) ),
// mapNumbers.addEventListener("click", () => { // const evenNumbers = numbers.filter(n => n % 2 === 0).map(n => ({ n })); // result.textContent = JSON.stringify(evenNumbers); // }); fromEvent(startTimer, "click") .pipe( switchMap(() => interval(1000)), filter(n => n % 2 === 0), map(n => ({ n })), scan((p, n) => [...p, n], []) ) .subscribe(evenNumbers => { console.log(evenNumbers); result.textContent = JSON.stringify(evenNumbers); });
authState(auth).pipe(filter(user => !!user))
user_channel .pipe( pluck("data"), // pull out only data field filter((data) => data.session_id === this.props._session_id), ).subscribe(data => { user_channel .getLog(data => data("data.session_id").isEqualTo(this.props._session_id)) .subscribe( (data) => { console.log(data); this.props.checkMessages(data); }, error => console.log(error) ) });
channel .pipe( pluck("data"), // pull out only data field filter((data) => data.session_id === session_id), ).subscribe(data => { channel .getLog(data => data("data.session_id").isEqualTo(session_id)) .subscribe( (data) => { this.props.addMessageToList(data); }, error => console.log(error) ) });
.pipe( switchMap(() => from(numbers)), filter(n => n % 2 === 0), map(n => ({ n })), scan((p, n) => [...p, n], [])
channel .pipe( pluck("data"), // pull out only data field filter((data) => data.session_id === this.props._session_id), ).subscribe(data => { channel .getLog(data => data("data.session_id").isEqualTo(this.props._session_id)) .subscribe( (data) => { this.props.addMessageToList(data); }, error => console.log(error) ) });