hono
Version:
Web framework built on Web Standards
28 lines (27 loc) • 749 B
JavaScript
// src/router/reg-exp-router/matcher.ts
import { METHOD_NAME_ALL } from "../../router.js";
var emptyParam = [];
var buildAllMatchersKey = Symbol("buildAllMatchers");
function match(method, path) {
const matchers = this[buildAllMatchersKey]();
const match2 = (method2, path2) => {
const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];
const staticMatch = matcher[2][path2];
if (staticMatch) {
return staticMatch;
}
const match3 = path2.match(matcher[0]);
if (!match3) {
return [[], emptyParam];
}
const index = match3.indexOf("", 1);
return [matcher[1][index], match3];
};
this.match = match2;
return match2(method, path);
}
export {
buildAllMatchersKey,
emptyParam,
match
};