Earl Hyperscript
Converts Earl Grey's document building syntax to vtree that works with Cycle.js.
Example
Here's a rewrite in Earl Grey of the increment/decrement counter from Cycle.js's basic examples.
require:
"@cycle/core" as cycle
"@cycle/dom" -> makeDOMDriver
earl-hyperscript -> h
main = {=> DOM} ->
chain cycle.Rx.observable:
@merge with
chain DOM:
@get(".decrement") with .click
@map: ev -> -1
chain DOM:
@get(".increment") with .click
@map: ev -> +1
@start-with: 0
@scan: (x, y) -> x + y
@map: count ->
h: div %
button.decrement % .Decrement
button.increment % .Increment
p % 'Counter: {count}'
cycle.run(main) with {
DOM = makeDOMDriver("#app")
}
With the %
operator macro, you can avoid using h
at all:
require-macros:
earl-hyperscript -> [%]
node =
div %
button.decrement % .Decrement
button.increment % .Increment
p % 'Counter: {count}'
License
MIT © Jake Russo et al