Socket
Socket
Sign inDemoInstall

path-to-regexp

Package Overview
Dependencies
Maintainers
5
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

path-to-regexp - npm Package Compare versions

Comparing version 6.2.2 to 6.3.0

31

dist.es2015/index.js

@@ -96,4 +96,3 @@ /**

var tokens = lexer(str);
var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a;
var defaultPattern = "[^".concat(escapeString(options.delimiter || "/#?"), "]+?");
var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b;
var result = [];

@@ -122,2 +121,20 @@ var key = 0;

};
var isSafe = function (value) {
for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) {
var char = delimiter_1[_i];
if (value.indexOf(char) > -1)
return true;
}
return false;
};
var safePattern = function (prefix) {
var prev = result[result.length - 1];
var prevText = prefix || (prev && typeof prev === "string" ? prev : "");
if (prev && !prevText) {
throw new TypeError("Must have text between two parameters, missing text after \"".concat(prev.name, "\""));
}
if (!prevText || isSafe(prevText))
return "[^".concat(escapeString(delimiter), "]+?");
return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?");
};
while (i < tokens.length) {

@@ -141,3 +158,3 @@ var char = tryConsume("CHAR");

suffix: "",
pattern: pattern || defaultPattern,
pattern: pattern || safePattern(prefix),
modifier: tryConsume("MODIFIER") || "",

@@ -165,3 +182,3 @@ });

name: name_1 || (pattern_1 ? key++ : ""),
pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,
pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,
prefix: prefix,

@@ -359,7 +376,5 @@ suffix: suffix,

if (token.modifier === "+" || token.modifier === "*") {
route += "((?:".concat(token.pattern, ")").concat(token.modifier, ")");
throw new TypeError("Can not repeat \"".concat(token.name, "\" without a prefix and suffix"));
}
else {
route += "(".concat(token.pattern, ")").concat(token.modifier);
}
route += "(".concat(token.pattern, ")").concat(token.modifier);
}

@@ -366,0 +381,0 @@ }

@@ -99,4 +99,3 @@ "use strict";

var tokens = lexer(str);
var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a;
var defaultPattern = "[^".concat(escapeString(options.delimiter || "/#?"), "]+?");
var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b;
var result = [];

@@ -125,2 +124,20 @@ var key = 0;

};
var isSafe = function (value) {
for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) {
var char = delimiter_1[_i];
if (value.indexOf(char) > -1)
return true;
}
return false;
};
var safePattern = function (prefix) {
var prev = result[result.length - 1];
var prevText = prefix || (prev && typeof prev === "string" ? prev : "");
if (prev && !prevText) {
throw new TypeError("Must have text between two parameters, missing text after \"".concat(prev.name, "\""));
}
if (!prevText || isSafe(prevText))
return "[^".concat(escapeString(delimiter), "]+?");
return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?");
};
while (i < tokens.length) {

@@ -144,3 +161,3 @@ var char = tryConsume("CHAR");

suffix: "",
pattern: pattern || defaultPattern,
pattern: pattern || safePattern(prefix),
modifier: tryConsume("MODIFIER") || "",

@@ -168,3 +185,3 @@ });

name: name_1 || (pattern_1 ? key++ : ""),
pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,
pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,
prefix: prefix,

@@ -367,7 +384,5 @@ suffix: suffix,

if (token.modifier === "+" || token.modifier === "*") {
route += "((?:".concat(token.pattern, ")").concat(token.modifier, ")");
throw new TypeError("Can not repeat \"".concat(token.name, "\" without a prefix and suffix"));
}
else {
route += "(".concat(token.pattern, ")").concat(token.modifier);
}
route += "(".concat(token.pattern, ")").concat(token.modifier);
}

@@ -374,0 +389,0 @@ }

{
"name": "path-to-regexp",
"version": "6.2.2",
"version": "6.3.0",
"description": "Express style path to RegExp utility",

@@ -39,2 +39,3 @@ "keywords": [

"@vitest/coverage-v8": "^1.4.0",
"recheck": "^4.4.5",
"semver": "^7.3.5",

@@ -50,3 +51,3 @@ "size-limit": "^11.1.2",

"path": "dist.es2015/index.js",
"limit": "2 kB"
"limit": "2.1 kB"
}

@@ -53,0 +54,0 @@ ],

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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