0.0.2 • Published 3 months ago

@maxbilbow/ant-path-matcher v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Ant-style Path Matcher

Fork of unmaintained CommonJS ant-path-matcher. Test cases borrowed from @howiefh/ant-path-matcher.

An implementation for Ant-style path patterns.
Part of this mapping code has been kindly borrowed from Apache Ant and Spring Framework.

The mapping matches URLs using the following rules:

  • ? matches one character
  • * matches zero or more characters
  • ** matches zero or more directories in a path
  • {spring:a-z+} matches the regexp a-z+ as a path variable named "spring"

Some examples:

  • com/t?st.jsp — matches com/test.jsp but also com/tast.jsp or com/txst.jsp
  • com/*.jsp — matches all .jsp files in the com directory
  • com/**/test.jsp — matches all test.jsp files underneath the com path
  • org/springframework/*/.jsp — matches all .jsp files underneath the org/springframework path
  • org/**/servlet/bla.jsp — matches org/springframework/servlet/bla.jsp but also org/springframework/testing/servlet/bla.jsp and org/servlet/bla.jsp
  • com/{filename:\w+}.jsp will match com/test.jsp and assign the value test to the filename variable

Installation

npm install @maxbilbow/ant-path-matcher --save

Usage

Compatible with CommonJS, ES6, and TypeScript.

import AntPathMatcher from "ant-path-matcher";

const matcher = AntPathMatcher();

function match(pattern, path) {
  console.log(pattern, path, matcher.match(pattern, path));
}

match("/path/**/?z", "/path/x/y/z/xyz");

match("/foo/{id}/bar", "/foo/1/bar");
0.0.2

3 months ago

0.0.1

3 months ago

0.0.0

3 months ago

0.0.0-rc.4

3 months ago

0.0.0-rc.3

3 months ago

0.0.0-rc.2

3 months ago

0.0.0-rc.0

3 months ago