git ssb

1+

Matt McKegg / pull-hyperscript



Tree: 3c3217edac0e5c30b2ac1a3590b6edfdb46f9922

Files: 3c3217edac0e5c30b2ac1a3590b6edfdb46f9922 / README.md

1354 bytesRaw

pull-hyperscript

Create HyperText a la hyperscript, but return the html as a pull-stream.

This allows streaming the view to the browser as it continues to render.

const h = require('pull-hyperscript')
const pull = require('pull-stream')

pull(
  h('div', {class: 'i'}, [
    h('div', {}, [
      h('p', {}, 'yes!')
    ])
  ]),
  pull.concat((err, html) => {
    if (err) throw err
    t.equal(html, '<div class="i"><div><p>yes!</p></div></div>', 'renders html')
    t.end()
  })
)

pull(
  h('div', {class: 'i'}, pull(
    pull.values(['yes', null, 'non']),
    pull.filter(Boolean),
    map(val => h('p', val)),
    flatten()                        // NB: flatten turns a stream of streams into a single stream
  )),
  pull.concat((err, html) => {
    if (err) throw err
    var expected = '<div class="i"><p>yes</p><p>non</p></div>'
    t.equal(html, expected, 'renders html')
    t.end()
  })
)

TODO

Built with git-ssb-web