How to use @most/core - 10 common examples

To help you get started, we’ve selected a few @most/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mostjs / core / examples / counter / src / index.js View on Github external
// @flow
import { constant, scan, merge, tap, runEffects } from '@most/core'
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'
import { qs } from '../../common'

const incButton = qs('[name=inc]', document)
const decButton = qs('[name=dec]', document)
const value = qs('.value', document)

const inc = constant(1, click(incButton))
const dec = constant(-1, click(decButton))

const counter = scan((total, delta) => total + delta, 0, merge(inc, dec))

const render = tap(total => { value.innerText = String(total) }, counter)

runEffects(render, newDefaultScheduler())
github mostjs / core / examples / counter / src / index.js View on Github external
// @flow
import { constant, scan, merge, tap, runEffects } from '@most/core'
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'
import { qs } from '../../common'

const incButton = qs('[name=inc]', document)
const decButton = qs('[name=dec]', document)
const value = qs('.value', document)

const inc = constant(1, click(incButton))
const dec = constant(-1, click(decButton))

const counter = scan((total, delta) => total + delta, 0, merge(inc, dec))

const render = tap(total => { value.innerText = String(total) }, counter)

runEffects(render, newDefaultScheduler())
github mostjs / core / examples / counter / src / index.js View on Github external
// @flow
import { constant, scan, merge, tap, runEffects } from '@most/core'
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'
import { qs } from '../../common'

const incButton = qs('[name=inc]', document)
const decButton = qs('[name=dec]', document)
const value = qs('.value', document)

const inc = constant(1, click(incButton))
const dec = constant(-1, click(decButton))

const counter = scan((total, delta) => total + delta, 0, merge(inc, dec))

const render = tap(total => { value.innerText = String(total) }, counter)

runEffects(render, newDefaultScheduler())
github mostjs / core / examples / counter / src / index.js View on Github external
// @flow
import { constant, scan, merge, tap, runEffects } from '@most/core'
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'
import { qs } from '../../common'

const incButton = qs('[name=inc]', document)
const decButton = qs('[name=dec]', document)
const value = qs('.value', document)

const inc = constant(1, click(incButton))
const dec = constant(-1, click(decButton))

const counter = scan((total, delta) => total + delta, 0, merge(inc, dec))

const render = tap(total => { value.innerText = String(total) }, counter)

runEffects(render, newDefaultScheduler())
github motorcyclejs / motorcyclejs / stream / src / combinators / switchCombine.ts View on Github external
export function switchCombine<a>(
  streams$: Stream&gt;&gt;): Stream&gt;
{
  return switchLatest(
    map(
      (streams) =&gt; streams.length === 0 ?
        just([]) :
        combineArray(Array, streams as Array&gt;),
      streams$,
    ),
  )
}
</a>
github motorcyclejs / motorcyclejs / stream / src / combinators / switchCombine.ts View on Github external
export function switchCombine<a>(
  streams$: Stream&gt;&gt;): Stream&gt;
{
  return switchLatest(
    map(
      (streams) =&gt; streams.length === 0 ?
        just([]) :
        combineArray(Array, streams as Array&gt;),
      streams$,
    ),
  )
}
</a>
github motorcyclejs / motorcyclejs / stream / src / combinators / observe.ts View on Github external
export const drain = <a>(stream: Stream</a><a>) =&gt; runEffects(stream, scheduler)
</a>
github mostjs / core / examples / counter / src / index.js View on Github external
import { newDefaultScheduler } from '@most/scheduler'
import { click } from '@most/dom-event'
import { qs } from '../../common'

const incButton = qs('[name=inc]', document)
const decButton = qs('[name=dec]', document)
const value = qs('.value', document)

const inc = constant(1, click(incButton))
const dec = constant(-1, click(decButton))

const counter = scan((total, delta) => total + delta, 0, merge(inc, dec))

const render = tap(total => { value.innerText = String(total) }, counter)

runEffects(render, newDefaultScheduler())
github motorcyclejs / motorcyclejs / stream / src / combinators / switchMerge.ts View on Github external
export function switchMerge<a>(
  streams$: Stream&gt;&gt;): Stream&gt;
{
  return switchLatest&gt;(
    map(
      (streams) =&gt; streams.length === 0 ? just([]) : mergeArray(streams),
      streams$,
    ),
  )
}
</a>
github joshburgess / redux-most / src / combineEpics.ts View on Github external
const out = epic(actionsStream, middlewareApiOrStateStream)

    if (!out || !out.source) {
      const epicIdentifier = epic.name
        ? `named ${epic.name}`
        : `at index ${findIndex(epic, epicsArray)} of the passed in array`

      throw new TypeError(
        `All Epics in the array provided to combineEpics must return a stream. Check the return value of the Epic ${epicIdentifier}.`,
      )
    }

    return out
  }

  return mergeArray(map(callEpic, epicsArray))
}