10.0.0 • Published 2 days ago

router-segments v10.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
2 days ago

Why another router ?

This router take full advantages of segments, building a tree of regexp to avoid having 500 regexp calls for one route.

How to use

router-segments uses path-to-regexp for matching the route paths, also used by expressjs, koa-router and many other routers.

import { createRouterBuilder } from 'router-segments';

const builder = createRouterBuilder();

builder.add('/', ref);
builder.addSegment('/post', (segmentBuilder) => {
  segmentBuilder.add('/:id(\\d+)-:slug([A-Za-z\\-]+)', ref, '/post/view');
  segmentBuilder.defaultRoute(ref, '/post');
});

export default builder.createRouter();

Url Generator

path-to-regexp documentation

router.toPath('/post/view', { id: '001', slug: 'a-slug' });
// /post/001-a-slug

Localized routes

import { createRouterBuilder } from 'router-segments';

const builder = createRouterBuilder(['en', 'fr']);

builder.add('/', ref);
builder.addLocalizedSegment(
  {
    en: '/my-blog',
    fr: '/mon-blog',
  },
  (segmentBuilder) => {
    segmentBuilder.addLocalized(
      {
        en: '/post/:id(\\d+)',
        fr: '/billet/:id(\\d+)',
      },
      ref,
      '/my-blog/post',
    );
    segmentBuilder.defaultRoute(ref, '/my-blog');
  },
);

export const router = builder.createRouter();

API

see Definition file

10.0.0

2 days ago

9.1.0

5 months ago

9.0.0

5 months ago

8.0.0

6 months ago

7.0.1

6 months ago

7.0.0

10 months ago

6.0.0

1 year ago

5.1.1

2 years ago

5.1.0

2 years ago

5.0.0

2 years ago

4.1.3

3 years ago

4.1.2

3 years ago

4.1.1

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

3.0.0

4 years ago

2.0.0

5 years ago

2.0.0-beta.12

5 years ago

2.0.0-beta.1

5 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago