xs.merge(heroUrls$, searchHeroUrl$).map(url => xs.fromPromise(fetch(url))) .flatten() .map(response => xs.fromPromise(response.json())) .flatten() .debug('rawHeroes')
const playSilence = (duration) => new Promise((resolve, reject) => { board.info("playSilence", duration); player.stop(); setTimeout(() => { resolve() }, duration * 1000) })
onPulseTimeout() { // last pulse received - store number const num = PULSE_VALUES[this.pulseCount - 1]; this.value += num; this.pulseCount = 0; this.composeTimeout = setTimeout(this.onComposeTimeout.bind(this), COMPOSE_TIMEOUT) }
export function buildStreamAndPusher() { let _listener; return [ xs.create({ //stream start: lstn => {_listener = lstn}, stop: () => {} }), value => _listener.next(value), //pusher ] }
// APPLICATION CODE wifi.connect({ ipAddress: deviceAddr, sampleRate: 200, streamStart: false }).then(() => { f_ = fs.createWriteStream(`${Date.now()}-${wifi.getShieldName()}-${wifi.getSampleRate()}hz.csv`); f_.write('sample,t,ch1,ch2,ch3,ch4,x,y,z,valid\n'); wifi.streamStart().then(() => { data_.addListener(CSVWriter); data_.addListener(StreamPrinter); }); });
export default function Content(sources) { const state$ = xs.of(0); const vdom$ = state$.map(({}) => { return ( <div className="content"> Content </div> ); }); return { DOM: vdom$, } }
function toResponseDataFromUrl(url) { return xs.fromPromise(fetch(url).then(resp => resp.json())); }
onPulse() { if (this.pulseCount === 0) { this.emit('compositionstart'); } this.pulseCount++; if (this.pulseTimeout) { clearTimeout(this.pulseTimeout); } if (this.composeTimeout) { clearTimeout(this.composeTimeout); } this.pulseTimeout = setTimeout(this.onPulseTimeout.bind(this), PULSE_TIMEOUT) }
windowResize$.map(() => document.body.clientWidth >= 768)
componentDidMount() { this.removeHeroListener = pupulatedHero$.subscribe({ next: hero => this.setState(prevState => ({ hero: hero, isShowModal: isShowModal(hero, prevState.isMdScreen) })) }); this.removeIsMdScreenListener = isMdScreen$.subscribe({ next: value => this.setState(prevState => ({ isMdScreen: value, isShowModal: prevState.isMdScreen ? isShowModal(prevState.hero, value): prevState.isShowModal })) }); }
heroRawData$.map(hero => { let speciesPromises = hero.species.map(url => fetch(url).then(resp => resp.json())); return xs.fromPromise(Promise.all(speciesPromises)); }) .flatten() .map(species => species.map(specie => specie.name)) .debug('heroSpecies')
heroRawData$.map(hero => toResponseDataFromUrl(hero.homeworld)) .flatten() .debug('heroHomeworld')