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.1 to 0.7.2

2

package.json
{
"name": "itty-router",
"version": "0.7.1",
"version": "0.7.2",
"description": "Tiny, zero-dependency router with route param and query parsing.",

@@ -5,0 +5,0 @@ "main": "src/Router.js",

const Router = () => new Proxy({}, {
get: (obj, prop) => prop === 'handle'
? req => {
? (req) => {
let { url, method = 'GET' } = req
let u = new URL(url)
for (let [route, handler] of obj[method.toLowerCase()] || []) {
u = new URL(url)
for ([route, handler] of obj[method.toLowerCase()] || []) {
if (hit = u.pathname.match(route)) {

@@ -15,3 +15,3 @@ return handler(Object.assign(req, {

}
: (path, handler) =>
: (path, handler) =>
(obj[prop] = obj[prop] || []).push([`^${path.replace('*', '.*').replace(/(\/:([^\/\?]+)(\?)?)/gi, '/$3(?<$2>[^\/]+)$3')}$`, handler]) && obj

@@ -18,0 +18,0 @@ })

@@ -99,3 +99,9 @@ const { Router } = require('./Router')

})
it(`won't throw on unknown method`, () => {
expect(() =>
router.handle({ method: 'CUSTOM', url: 'https://example.com/foo' }) // no method listed
).not.toThrow()
})
})
})
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