mirror of
https://github.com/strapi/strapi.git
synced 2025-07-17 14:02:21 +00:00

As a result of taking a look on PR #1967 I realized there is 819 executable files in this repository. It is obvious this is an error.
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
/**
|
|
* From Express core: (MIT License)
|
|
*
|
|
* Normalize the given path string,
|
|
* returning a regular expression.
|
|
*
|
|
* An empty array should be passed,
|
|
* which will contain the placeholder
|
|
* key names. For example "/user/:id" will
|
|
* then contain ["id"].
|
|
*
|
|
* @param {String|RegExp|Array} path
|
|
* @param {Array} keys
|
|
* @param {Boolean} sensitive
|
|
* @param {Boolean} strict
|
|
* @return {RegExp}
|
|
* @api private
|
|
*/
|
|
|
|
/* eslint-disable prefer-template */
|
|
/* eslint-disable no-useless-escape */
|
|
exports.pathRegexp = (path, keys, sensitive, strict) => {
|
|
if (toString.call(path) === '[object RegExp]') {
|
|
return path;
|
|
}
|
|
if (Array.isArray(path)) {
|
|
path = '(' + path.join('|') + ')';
|
|
}
|
|
path = path
|
|
.concat(strict ? '' : '/?')
|
|
.replace(/\/\(/g, '(?:/')
|
|
.replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?(\*)?/g, (_, slash, format, key, capture, optional, star) => {
|
|
keys.push({
|
|
name: key,
|
|
optional: !!optional
|
|
});
|
|
slash = slash || '';
|
|
return '' + (optional ? '' : slash) + '(?:' + (optional ? slash : '') + (format || '') + (capture || (format && '([^/.]+?)' || '([^/]+?)')) + ')' + (optional || '') + (star ? '(/*)?' : '');
|
|
})
|
|
.replace(/([\/.])/g, '\\$1')
|
|
.replace(/\*/g, '(.*)');
|
|
return new RegExp('^' + path + '$', sensitive ? '' : 'i');
|
|
};
|