Socket
Socket
Sign inDemoInstall

itty-router

Package Overview
Dependencies
Maintainers
1
Versions
265
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

itty-router - npm Package Compare versions

Comparing version 0.7.2 to 0.7.3

2

package.json
{
"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 @@ })

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc