itty-router
Advanced tools
Comparing version 0.7.2 to 0.7.3
{ | ||
"name": "itty-router", | ||
"version": "0.7.2", | ||
"version": "0.7.3", | ||
"description": "Tiny, zero-dependency router with route param and query parsing.", | ||
@@ -5,0 +5,0 @@ "main": "src/Router.js", |
@@ -127,7 +127,5 @@ ![image](https://user-images.githubusercontent.com/865416/79531114-fa0d8200-8036-11ea-824d-70d84164b00a.png) | ||
get: (obj, prop) => prop === 'handle' | ||
? req => { | ||
let { url, method = 'GET' } = req | ||
let u = new URL(url) | ||
for (let [route, handler] of obj[method.toLowerCase()] || []) { | ||
if (hit = u.pathname.match(route)) { | ||
? (req) => { | ||
for ([route, handler] of obj[(req.method || 'GET').toLowerCase()] || []) { | ||
if (hit = (u = new URL(req.url)).pathname.match(route)) { | ||
return handler(Object.assign(req, { | ||
@@ -139,4 +137,3 @@ params: hit.groups, | ||
} | ||
} | ||
: (path, handler) => | ||
} : (path, handler) => | ||
(obj[prop] = obj[prop] || []).push([`^${path.replace('*', '.*').replace(/(\/:([^\/\?]+)(\?)?)/gi, '/$3(?<$2>[^\/]+)$3')}$`, handler]) && obj | ||
@@ -143,0 +140,0 @@ }) |
const Router = () => new Proxy({}, { | ||
get: (obj, prop) => prop === 'handle' | ||
? (req) => { | ||
let { url, method = 'GET' } = req | ||
u = new URL(url) | ||
for ([route, handler] of obj[method.toLowerCase()] || []) { | ||
if (hit = u.pathname.match(route)) { | ||
for ([route, handler] of obj[(req.method || 'GET').toLowerCase()] || []) { | ||
if (hit = (u = new URL(req.url)).pathname.match(route)) { | ||
return handler(Object.assign(req, { | ||
@@ -14,4 +12,3 @@ params: hit.groups, | ||
} | ||
} | ||
: (path, handler) => | ||
} : (path, handler) => | ||
(obj[prop] = obj[prop] || []).push([`^${path.replace('*', '.*').replace(/(\/:([^\/\?]+)(\?)?)/gi, '/$3(?<$2>[^\/]+)$3')}$`, handler]) && obj | ||
@@ -18,0 +15,0 @@ }) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13543
123
154