{"library":"route-recognizer","title":"Lightweight Route Recognizer","description":"route-recognizer is a compact JavaScript library (under 2KB) designed solely for matching paths against a set of registered routes. It functions as a low-level primitive for more comprehensive routing systems, such as `router.js`, which was notably used by Ember.js. Currently at version 0.3.4, last published in 2018, the library offers stable functionality for static, dynamic (e.g., `:id`), and wildcard (e.g., `*path`) segments. Its core differentiator is its minimalistic approach, focusing exclusively on route recognition and parameter extraction without handling routing logic, history, or view rendering. The package ships with TypeScript types, but its development status appears to be unmaintained given the last commit and release dates.","language":"javascript","status":"abandoned","last_verified":"Sun Apr 19","install":{"commands":["npm install route-recognizer"],"cli":null},"imports":["import RouteRecognizer from 'route-recognizer';","const RouteRecognizer = require('route-recognizer');","import type { RouteRecognizer } from 'route-recognizer';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import RouteRecognizer from 'route-recognizer';\n\nconst router = new RouteRecognizer();\n\nconst postsHandler = (params) => `Handling posts with params: ${JSON.stringify(params)}`;\nconst singlePostHandler = (params) => `Handling single post with ID: ${params.id}`; \nconst adminHandler = () => `Admin section accessed`;\nconst pageHandler = (params) => `Serving page: ${params.path}`;\n\nrouter.add([{ path: \"/posts\", handler: postsHandler }], { as: \"allPosts\" });\nrouter.add([{ path: \"/posts/:id\", handler: singlePostHandler }], { as: \"singlePost\" });\nrouter.add([ { path: \"/admin\", handler: adminHandler }, { path: \"/posts\", handler: postsHandler } ], { as: \"adminPosts\" });\nrouter.add([{ path: \"/pages/*path\", handler: pageHandler }], { as: \"catchAllPages\" });\n\nlet result = router.recognize(\"/posts\");\nconsole.log(\"Recognizing /posts:\", result?.[0]?.handler(result?.[0]?.params));\n\nresult = router.recognize(\"/posts/123\");\nconsole.log(\"Recognizing /posts/123:\", result?.[0]?.handler(result?.[0]?.params));\n\nresult = router.recognize(\"/admin/posts\");\nconsole.log(\"Recognizing /admin/posts:\", result?.[1]?.handler(result?.[1]?.params));\n\nresult = router.recognize(\"/pages/about/us\");\nconsole.log(\"Recognizing /pages/about/us:\", result?.[0]?.handler(result?.[0]?.params));","lang":"typescript","description":"This quickstart demonstrates how to instantiate RouteRecognizer, add various route patterns including dynamic and star segments, and then use the `recognize` method to match paths and retrieve associated handlers and parameters.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}