@lunjs/pathname-store

A fast path router, base on radix tree

Usage no npm install needed!

<script type="module">
  import lunjsPathnameStore from 'https://cdn.skypack.dev/@lunjs/pathname-store';
</script>

README

@lunjs/pathname-store

Installation

npm install @lunjs/pathname-store

Usage

import { PathnameStore } from '@lunjs/pathname-store';

const s = new PathnameStore();
s.add('/users', {});
s.add('/user/:name', {});

let r = s.find('/users');
console.log(r);
// output: { found: true, box: { store: {}, pnames: [] }, params: [] }

Pattern Rule

| Syntax | Description | | -- | -- | | :name | named param | | * | match-all param | | :name* | named match-all param |

  • Named parameters match anything until the next '/' or the path end.
  • Match-all param match anything until the path end.

Path matching order

  • Static
  • Param
  • Match all

Inspired by

License

MIT