UNPKG

rxpoweredup

Version:

A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.

28 lines (27 loc) 669 B
import { Subject, from, of, switchMap, tap } from 'rxjs'; export class TaskWithoutResponse { message; result; constructor(message) { this.message = message; this.result = new Subject(); } discard() { this.result.complete(); } dispose() { return void 0; } accept(visitor) { visitor.visitTaskWithoutResponse(this); } emitError(error) { this.result.error(error); } execute(channel) { return of(null).pipe(switchMap(() => from(channel.sendMessage(this.message))), tap(() => { this.result.next(); this.result.complete(); })); } }