Browse Source

chore: upgrades path-to-regexp to 8.1.0

e22m4u 1 year ago
parent
commit
a7b2281298
3 changed files with 19 additions and 17 deletions
  1. 8 8
      package.json
  2. 9 7
      src/path-trie.js
  3. 2 2
      src/path-trie.spec.js

+ 8 - 8
package.json

@@ -25,25 +25,25 @@
   "license": "MIT",
   "license": "MIT",
   "homepage": "https://github.com/e22m4u/js-path-trie",
   "homepage": "https://github.com/e22m4u/js-path-trie",
   "devDependencies": {
   "devDependencies": {
-    "@commitlint/cli": "~19.4.0",
-    "@commitlint/config-conventional": "~19.2.2",
-    "@eslint/js": "~9.9.0",
+    "@commitlint/cli": "~19.5.0",
+    "@commitlint/config-conventional": "~19.5.0",
+    "@eslint/js": "~9.10.0",
     "c8": "~10.1.2",
     "c8": "~10.1.2",
     "chai": "~5.1.1",
     "chai": "~5.1.1",
-    "eslint": "~9.9.0",
+    "eslint": "~9.10.0",
     "eslint-config-prettier": "~9.1.0",
     "eslint-config-prettier": "~9.1.0",
     "eslint-plugin-chai-expect": "~3.1.0",
     "eslint-plugin-chai-expect": "~3.1.0",
     "eslint-plugin-jsdoc": "~50.2.2",
     "eslint-plugin-jsdoc": "~50.2.2",
     "eslint-plugin-mocha": "~10.5.0",
     "eslint-plugin-mocha": "~10.5.0",
     "globals": "~15.9.0",
     "globals": "~15.9.0",
-    "husky": "~9.1.4",
+    "husky": "~9.1.6",
     "mocha": "~10.7.3",
     "mocha": "~10.7.3",
     "prettier": "~3.3.3",
     "prettier": "~3.3.3",
-    "typescript": "~5.5.4"
+    "typescript": "~5.6.2"
   },
   },
   "dependencies": {
   "dependencies": {
     "@e22m4u/js-format": "~0.1.0",
     "@e22m4u/js-format": "~0.1.0",
-    "debug": "~4.3.6",
-    "path-to-regexp": "~7.1.0"
+    "debug": "~4.3.7",
+    "path-to-regexp": "~8.1.0"
   }
   }
 }
 }

+ 9 - 7
src/path-trie.js

@@ -176,11 +176,13 @@ export class PathTrie {
           modifiers[0],
           modifiers[0],
           '/' + tokens.join('/'),
           '/' + tokens.join('/'),
         );
         );
-      // создаем регулярное выражение
-      // используя текущий токен
-      let re;
+      // определение регулярного выражения
+      // и параметров текущего токена
+      let regexp, keys;
       try {
       try {
-        re = pathToRegexp(token);
+        const regexpAndKeys = pathToRegexp(token);
+        regexp = regexpAndKeys.regexp;
+        keys = regexpAndKeys.keys;
       } catch (error) {
       } catch (error) {
         // если параметры не найдены, то выбрасываем
         // если параметры не найдены, то выбрасываем
         // ошибку неправильного использования
         // ошибку неправильного использования
@@ -197,9 +199,9 @@ export class PathTrie {
       }
       }
       // записываем имена параметров и регулярное
       // записываем имена параметров и регулярное
       // выражение в создаваемый узел
       // выражение в создаваемый узел
-      if (Array.isArray(re.keys) && re.keys.length) {
-        child.names = re.keys.map(p => `${p.name}`);
-        child.regexp = re;
+      if (Array.isArray(keys) && keys.length) {
+        child.names = keys.map(p => `${p.name}`);
+        child.regexp = regexp;
       }
       }
       // если параметры не найдены, то выбрасываем
       // если параметры не найдены, то выбрасываем
       // ошибку неправильного использования
       // ошибку неправильного использования

+ 2 - 2
src/path-trie.spec.js

@@ -163,7 +163,7 @@ describe('PathTrie', function () {
         children: {
         children: {
           ':date-:time': {
           ':date-:time': {
             token: ':date-:time',
             token: ':date-:time',
-            regexp: pathToRegexp(':date-:time'),
+            regexp: pathToRegexp(':date-:time').regexp,
             names: ['date', 'time'],
             names: ['date', 'time'],
             value: VALUE,
             value: VALUE,
             children: {},
             children: {},
@@ -189,7 +189,7 @@ describe('PathTrie', function () {
             children: {
             children: {
               ':id': {
               ':id': {
                 token: ':id',
                 token: ':id',
-                regexp: pathToRegexp(':id'),
+                regexp: pathToRegexp(':id').regexp,
                 names: ['id'],
                 names: ['id'],
                 value: undefined,
                 value: undefined,
                 children: {
                 children: {