@lggruspe/fragment-router

Router for dynamically-generated HTML fragments

Usage no npm install needed!

<script type="module">
  import lggruspeFragmentRouter from 'https://cdn.skypack.dev/@lggruspe/fragment-router';
</script>

README

fragment-router

GitHub Workflow Status codecov npm (scoped) GitHub

Router for dynamically-generated HTML fragments.

Installation

npm install @lggruspe/fragment-router

Example

import { check, matches, DomAppender, Router } from '@lggruspe/fragment-router'

const router = new Router()
const appender = new DomAppender(router)

router.route(
  check(matches(/^hello\/(?<name>[a-z]+)$/)),
  req => {
    // print hello/<name> in console
    console.log(req.id)
    router.defer(() => {
      // append p element after processing request
      appender.renderHtml(`<p>Hello, ${req.params.name}!</p>`)
    })
  }
)

router.listen()

See examples/.

License

MIT