mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 13:04:30 -08:00
WIP
This commit is contained in:
24
docs/examples/baconjs/index.js
Normal file
24
docs/examples/baconjs/index.js
Normal file
@@ -0,0 +1,24 @@
|
||||
// external
|
||||
import {} from 'https://unpkg.com/jquery'
|
||||
// external
|
||||
import {fromEvent} from 'https://unpkg.com/baconjs?module'
|
||||
|
||||
const upEl = globalThis.document.createElement('button')
|
||||
const downEl = globalThis.document.createElement('button')
|
||||
const counterEl = globalThis.document.createElement('div')
|
||||
|
||||
globalThis.document.body.appendChild(upEl)
|
||||
globalThis.document.body.appendChild(downEl)
|
||||
globalThis.document.body.appendChild(counterEl)
|
||||
|
||||
const up = fromEvent(upEl, 'click');
|
||||
const down = fromEvent(downEl, 'click');
|
||||
|
||||
const counter =
|
||||
// map up to 1, down to -1
|
||||
up.map(1).merge(down.map(-1))
|
||||
// accumulate sum
|
||||
.scan(0, (x,y) => x + y);
|
||||
|
||||
// assign observable value to jQuery property text
|
||||
counter.onValue(text => Object.assign(counterEl, {innerText: text}));
|
||||
Reference in New Issue
Block a user