Skip to content

cbcrc/byroads.js

Repository files navigation

Build Status

byroads

Url pattern matching (lexer) that return result(s) based the order they were added or a overriding priority.

Code mostly extracted from Crossroads.js, thanks!

####TODO:

  • See if https://github.com/snd/url-pattern would be a better option... and if it works on most browsers.
  • Make the tests work
  • Switch from jasmine to mocha
  • Build with gulp
  • Add tests result on github page

####Examples (taken from the Crossroads.js website)

#####String rule with param: '/news/{id}' match '/news/123' passing "123" as param to handler

#####String rule with optional param: '/foo/{id}/:slug:' match '/foo/123/bar' passing "123" and "bar" as param match '/foo/45' passing 45 as param (slug is optional)

#####RegExp rule: /^/lorem/([a-z]+)$/ match '/lorem/ipsum' passing "ipsum" as param to handler note the capturing group around segment

#####String rule with rest segments: '/foo/{id*}/edit' match '/foo/123/edit' passing "123" as argument match '/foo/45/asd/123/edit' passing "45/asd/123" as argument

#####Query String: 'foo.php{?query}' match 'foo.php?lorem=ipsum&dolor=amet'

About

Url pattern matching (lexer) that return result(s) based the order they were added or a overriding priority.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •