# open-path **Repository Path**: mirrors_Spikef/open-path ## Basic Information - **Project Name**: open-path - **Description**: Url path parser for OpenAPI. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-18 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # open-path > Url path parser for OpenAPI. ## Install ```bash $ npm i open-path ``` ## Usage ```javascript var Parse = require('open-path'); var parse = new Parse('/user/{category}/today/{tag}/detail'); // or // var parse = new Parse('/user/:category/today/:tag/detail'); console.log(parse.path); // prints: /user/{category}/today/{tag}/detail // match parse.match(ctx.path); // returns params if matched or null // build parse.build({ category: 'tech', tag: 'mobile' }); // returns: /user/tech/today/mobile/detail ``` ## Parameters The path argument is used to define parameters. ### Named Parameters Named parameters are defined by prefixing a colon to the parameter name (:foo) or surround with braces ({foo}). By default, the parameter will match until the following path segment. ### Unnamed Parameters Unnamed parameters are defined by regexp and naming by index. ### Parameter Modifiers #### Optional Parameters can be suffixed with a question mark (?) to make the parameter optional. ```javascript var parse = new Parse('/:foo/:bar?'); ``` #### Zero or more Parameters can be suffixed with an asterisk (*) to denote a zero or more parameter matches. The prefix is taken into account for each match. ```javascript var parse = new Parse('/:foo*'); ``` #### One or more Parameters can be suffixed with a plus sign (+) to denote a one or more parameter matches. The prefix is taken into account for each match. ```javascript var parse = new Parse('/:foo+'); ``` ## Path Path can be suffixed with an asterisk (*) or plus sign (+) to allow more path matches. ### Zero or more ```javascript var parse = new Parse('/api*'); ``` ### One or more ```javascript var parse = new Parse('/api+'); ```