- Support
start
option to disable anchoring from beginning of the string
- Use
delimiter
when processing repeated matching groups (e.g.foo/bar
has no prefix, but has a delimiter)
- Allow empty string with
end: false
to match both relative and absolute paths
- Pass
token
as second argument toencode
option (e.g.encode(value, token)
)
- Handle non-ending paths where the final character is a delimiter
- E.g.
/foo/
before required either/foo/
or/foo//
to match in non-ending mode
- E.g.
- New option! Ability to set
endsWith
to match paths like/test?query=string
up to the query string - New option! Set
delimiters
for specific characters to be treated as parameter prefixes (e.g./:test
) - Remove
isarray
dependency - Explicitly handle trailing delimiters instead of trimming them (e.g.
/test/
is now treated as/test/
instead of/test
when matching) - Remove overloaded
keys
argument that acceptedoptions
- Remove
keys
list attached to theRegExp
output - Remove asterisk functionality (it's a real pain to properly encode)
- Change
tokensToFunction
(e.g.compile
) to accept anencode
function for pretty encoding (e.g. pass your own implementation)
- Allow a
delimiter
option to be passed in withtokensToRegExp
which will be used for "non-ending" token match situations
- Populate
RegExp.keys
when using thetokensToRegExp
method (making it consistent with the main export) - Allow a
delimiter
option to be passed in withparse
- Updated TypeScript definition with
Keys
andOptions
updated
- Add
\\
to the ignore character group to avoid backtracking on mismatched parens
- Escape
\\
in string segments of regexp
- Add
index.d.ts
to NPM package
- Handle partial token segments (better)
- Allow compile to handle asterisk token segments
- Handle RegExp unions in path matching groups
- Clarify README language and named parameter token support
- Support advanced Closure Compiler with type annotations
- Add pretty paths options to compiled function output
- Add TypeScript definition to project
- Improved prefix handling with non-complete segment parameters (E.g.
/:foo?-bar
)
- Encode values before validation with path compilation function
- More examples of using compilation in README
- Add support for matching an asterisk (
*
) as an unnamed match everything group ((.*)
)
- Expose methods for working with path tokens
- Expose the parser implementation to consumers
- Implement a compiler function to generate valid strings
- Huge refactor of tests to be more DRY and cover new parse and compile functions
- Use chai in tests
- Add .editorconfig
- Optimised function runtime
- Added
files
topackage.json
- Use
Array.isArray
shim - Remove ES5 incompatible code
- Fixed repository path
- Added new readme badges
- Ensure installation works correctly on 0.8
- No more API changes
- Allow keys parameter to be omitted
- Code coverage badge
- Updated readme
- Attach keys to the generated regexp
- Add MIT license
- A passed in trailing slash in non-strict mode will become optional
- In non-end mode, the optional trailing slash will only match at the end
- Fixed a major capturing group regexp regression
- Improved support for arrays
- Improved support for regexps
- Better support for non-ending strict mode matches with a trailing slash
- Travis CI support
- Block using regexp special characters in the path
- Removed support for the asterisk to match all
- New support for parameter suffixes -
*
,+
and?
- Updated readme
- Provide delimiter information with keys array
- Move testing dependencies to
devDependencies
- Match entire substring with
options.end
- Properly handle ending and non-ending matches
- Add
options.end
- Update to match current express
- Add .license property to component.json