Releases: tomas-light/nice-web-routes
Releases · tomas-light/nice-web-routes
2.0.0
- 🚀 add support for array string in search params;
const routes = createNiceWebRoutes({
meeting: {
new: {},
},
});
routes.meeting.new.url({ memberIds: ['foo', 'bar', 'zoo'] }) // '/meeting/new?memberIds=foo&memberIds=bar&memberIds=zoo'
- 🚀 add setBaseRoute method to change base route after routes are created;
const routes = createObjectNiceWebRoutes(
{
home: {},
welcome: {},
},
{ parentRoute: '/en' }
);
routes.home.url(); // "/en/home"
routes.welcome.url(); // "/en/welcome"
routes.setBaseRoute('/de');
routes.home.url(); // "/de/home"
routes.welcome.url(); // "/de/welcome"
- 🚧🔨 changed factories signature, now parentRoute and currentSegmentName should be passed as options object;
// before
const routes = createNiceWebRoutes(
{
home: {},
welcome: {},
},
'/en',
'/some-segment'
);
// after
const routes = createNiceWebRoutes(
{
home: {},
welcome: {},
},
{
parentRoute: '/en',
currentSegmentName: '/some-segment',
}
);
add test coverage to pipeline
1.0.4_coverage fix coverage config
Release 1.0.4
Features:
- add type constraints for parametrized urls
import { createNiceWebRoutes } from 'nice-web-routes';
const routes = createNiceWebRoutes({
user: {
// typed parameter
form: (form: 'create' | 'edit') => ({}),
},
});
routes.user.form('create').url(); // '/user/create'
routes.user.form('edit').url(); // '/user/edit'
routes.user.form('something').url(); // error because it violates type constraint of 'create' | 'edit' | undefined
Breaking changes:
- renamed
UrlBuilderImpl
tourlBuilderImpl
inFactoryConfig
Release 1.0.3
First release