path-to-regexp 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,7 +158,7 @@ var TESTS = [
158
158
  prefix: "/",
159
159
  suffix: "",
160
160
  modifier: "",
161
- pattern: "[^\\/]+?"
161
+ pattern: "[^\\/#\\?]+?"
162
162
  }
163
163
  ],
164
164
  [
@@ -198,7 +198,7 @@ var TESTS = [
198
198
  prefix: "/",
199
199
  suffix: "",
200
200
  modifier: "",
201
- pattern: "[^\\/]+?"
201
+ pattern: "[^\\/#\\?]+?"
202
202
  },
203
203
  "/"
204
204
  ],
@@ -268,7 +268,7 @@ var TESTS = [
268
268
  prefix: "/",
269
269
  suffix: "",
270
270
  modifier: "",
271
- pattern: "[^\\/]+?"
271
+ pattern: "[^\\/#\\?]+?"
272
272
  }
273
273
  ],
274
274
  [["/route", ["/route", "route"]]],
@@ -291,7 +291,7 @@ var TESTS = [
291
291
  prefix: "/",
292
292
  suffix: "",
293
293
  modifier: "",
294
- pattern: "[^\\/]+?"
294
+ pattern: "[^\\/#\\?]+?"
295
295
  },
296
296
  "/"
297
297
  ],
@@ -374,7 +374,7 @@ var TESTS = [
374
374
  prefix: "/",
375
375
  suffix: "",
376
376
  modifier: "",
377
- pattern: "[^\\/]+?"
377
+ pattern: "[^\\/#\\?]+?"
378
378
  }
379
379
  ],
380
380
  [
@@ -398,7 +398,7 @@ var TESTS = [
398
398
  prefix: "/",
399
399
  suffix: "",
400
400
  modifier: "",
401
- pattern: "[^\\/]+?"
401
+ pattern: "[^\\/#\\?]+?"
402
402
  },
403
403
  "/"
404
404
  ],
@@ -466,7 +466,7 @@ var TESTS = [
466
466
  prefix: "/",
467
467
  suffix: "",
468
468
  modifier: "",
469
- pattern: "[^\\/]+?"
469
+ pattern: "[^\\/#\\?]+?"
470
470
  }
471
471
  ],
472
472
  [
@@ -490,7 +490,7 @@ var TESTS = [
490
490
  prefix: "/",
491
491
  suffix: "",
492
492
  modifier: "",
493
- pattern: "[^\\/]+?"
493
+ pattern: "[^\\/#\\?]+?"
494
494
  },
495
495
  "/"
496
496
  ],
@@ -539,7 +539,7 @@ var TESTS = [
539
539
  prefix: "/",
540
540
  suffix: "",
541
541
  modifier: "",
542
- pattern: "[^\\/]+?"
542
+ pattern: "[^\\/#\\?]+?"
543
543
  }
544
544
  ],
545
545
  [
@@ -579,7 +579,7 @@ var TESTS = [
579
579
  prefix: "/",
580
580
  suffix: "",
581
581
  modifier: "",
582
- pattern: "[^\\/]+?"
582
+ pattern: "[^\\/#\\?]+?"
583
583
  }
584
584
  ],
585
585
  [
@@ -599,7 +599,7 @@ var TESTS = [
599
599
  prefix: "/",
600
600
  suffix: "",
601
601
  modifier: "",
602
- pattern: "[^\\/]+?"
602
+ pattern: "[^\\/#\\?]+?"
603
603
  },
604
604
  "/"
605
605
  ],
@@ -620,7 +620,7 @@ var TESTS = [
620
620
  prefix: "/",
621
621
  suffix: "",
622
622
  modifier: "",
623
- pattern: "[^\\/]+?"
623
+ pattern: "[^\\/#\\?]+?"
624
624
  }
625
625
  ],
626
626
  [
@@ -641,7 +641,7 @@ var TESTS = [
641
641
  prefix: "/",
642
642
  suffix: "",
643
643
  modifier: "?",
644
- pattern: "[^\\/]+?"
644
+ pattern: "[^\\/#\\?]+?"
645
645
  }
646
646
  ],
647
647
  [
@@ -670,7 +670,7 @@ var TESTS = [
670
670
  prefix: "/",
671
671
  suffix: "",
672
672
  modifier: "?",
673
- pattern: "[^\\/]+?"
673
+ pattern: "[^\\/#\\?]+?"
674
674
  }
675
675
  ],
676
676
  [
@@ -694,7 +694,7 @@ var TESTS = [
694
694
  prefix: "/",
695
695
  suffix: "",
696
696
  modifier: "?",
697
- pattern: "[^\\/]+?"
697
+ pattern: "[^\\/#\\?]+?"
698
698
  },
699
699
  "/"
700
700
  ],
@@ -718,7 +718,7 @@ var TESTS = [
718
718
  prefix: "/",
719
719
  suffix: "",
720
720
  modifier: "?",
721
- pattern: "[^\\/]+?"
721
+ pattern: "[^\\/#\\?]+?"
722
722
  },
723
723
  "/bar"
724
724
  ],
@@ -740,7 +740,7 @@ var TESTS = [
740
740
  prefix: "/",
741
741
  suffix: "",
742
742
  modifier: "?",
743
- pattern: "[^\\/]+?"
743
+ pattern: "[^\\/#\\?]+?"
744
744
  },
745
745
  "-bar"
746
746
  ],
@@ -763,7 +763,7 @@ var TESTS = [
763
763
  prefix: "/",
764
764
  suffix: "",
765
765
  modifier: "*",
766
- pattern: "[^\\/]+?"
766
+ pattern: "[^\\/#\\?]+?"
767
767
  },
768
768
  "-bar"
769
769
  ],
@@ -787,7 +787,7 @@ var TESTS = [
787
787
  prefix: "/",
788
788
  suffix: "",
789
789
  modifier: "+",
790
- pattern: "[^\\/]+?"
790
+ pattern: "[^\\/#\\?]+?"
791
791
  }
792
792
  ],
793
793
  [
@@ -895,7 +895,7 @@ var TESTS = [
895
895
  prefix: "/",
896
896
  suffix: "",
897
897
  modifier: "*",
898
- pattern: "[^\\/]+?"
898
+ pattern: "[^\\/#\\?]+?"
899
899
  }
900
900
  ],
901
901
  [
@@ -1124,7 +1124,7 @@ var TESTS = [
1124
1124
  prefix: "",
1125
1125
  suffix: "",
1126
1126
  modifier: "",
1127
- pattern: "[^\\/]+?"
1127
+ pattern: "[^\\/#\\?]+?"
1128
1128
  }
1129
1129
  ],
1130
1130
  [
@@ -1150,7 +1150,7 @@ var TESTS = [
1150
1150
  prefix: "",
1151
1151
  suffix: "",
1152
1152
  modifier: "",
1153
- pattern: "[^\\/]+?"
1153
+ pattern: "[^\\/#\\?]+?"
1154
1154
  }
1155
1155
  ],
1156
1156
  [
@@ -1171,7 +1171,7 @@ var TESTS = [
1171
1171
  prefix: "",
1172
1172
  suffix: "",
1173
1173
  modifier: "",
1174
- pattern: "[^\\/]+?"
1174
+ pattern: "[^\\/#\\?]+?"
1175
1175
  }
1176
1176
  ],
1177
1177
  [
@@ -1191,7 +1191,7 @@ var TESTS = [
1191
1191
  prefix: "",
1192
1192
  suffix: "",
1193
1193
  modifier: "?",
1194
- pattern: "[^\\/]+?"
1194
+ pattern: "[^\\/#\\?]+?"
1195
1195
  }
1196
1196
  ],
1197
1197
  [
@@ -1215,7 +1215,7 @@ var TESTS = [
1215
1215
  prefix: "",
1216
1216
  suffix: "/",
1217
1217
  modifier: "+",
1218
- pattern: "[^\\/]+?"
1218
+ pattern: "[^\\/#\\?]+?"
1219
1219
  }
1220
1220
  ],
1221
1221
  [
@@ -1253,7 +1253,7 @@ var TESTS = [
1253
1253
  prefix: "/",
1254
1254
  suffix: "",
1255
1255
  modifier: "",
1256
- pattern: "[^\\/]+?"
1256
+ pattern: "[^\\/#\\?]+?"
1257
1257
  },
1258
1258
  ".json"
1259
1259
  ],
@@ -1333,7 +1333,7 @@ var TESTS = [
1333
1333
  prefix: ".",
1334
1334
  suffix: "",
1335
1335
  modifier: "+",
1336
- pattern: "[^\\/]+?"
1336
+ pattern: "[^\\/#\\?]+?"
1337
1337
  }
1338
1338
  ],
1339
1339
  [
@@ -1377,7 +1377,7 @@ var TESTS = [
1377
1377
  prefix: ".",
1378
1378
  suffix: "",
1379
1379
  modifier: "",
1380
- pattern: "[^\\/]+?"
1380
+ pattern: "[^\\/#\\?]+?"
1381
1381
  },
1382
1382
  "."
1383
1383
  ],
@@ -1402,14 +1402,14 @@ var TESTS = [
1402
1402
  prefix: "/",
1403
1403
  suffix: "",
1404
1404
  modifier: "",
1405
- pattern: "[^\\/]+?"
1405
+ pattern: "[^\\/#\\?]+?"
1406
1406
  },
1407
1407
  {
1408
1408
  name: "format",
1409
1409
  prefix: ".",
1410
1410
  suffix: "",
1411
1411
  modifier: "",
1412
- pattern: "[^\\/]+?"
1412
+ pattern: "[^\\/#\\?]+?"
1413
1413
  }
1414
1414
  ],
1415
1415
  [
@@ -1431,14 +1431,14 @@ var TESTS = [
1431
1431
  prefix: "/",
1432
1432
  suffix: "",
1433
1433
  modifier: "",
1434
- pattern: "[^\\/]+?"
1434
+ pattern: "[^\\/#\\?]+?"
1435
1435
  },
1436
1436
  {
1437
1437
  name: "format",
1438
1438
  prefix: ".",
1439
1439
  suffix: "",
1440
1440
  modifier: "?",
1441
- pattern: "[^\\/]+?"
1441
+ pattern: "[^\\/#\\?]+?"
1442
1442
  }
1443
1443
  ],
1444
1444
  [
@@ -1463,14 +1463,14 @@ var TESTS = [
1463
1463
  prefix: "/",
1464
1464
  suffix: "",
1465
1465
  modifier: "",
1466
- pattern: "[^\\/]+?"
1466
+ pattern: "[^\\/#\\?]+?"
1467
1467
  },
1468
1468
  {
1469
1469
  name: "format",
1470
1470
  prefix: ".",
1471
1471
  suffix: "",
1472
1472
  modifier: "?",
1473
- pattern: "[^\\/]+?"
1473
+ pattern: "[^\\/#\\?]+?"
1474
1474
  }
1475
1475
  ],
1476
1476
  [
@@ -1768,14 +1768,14 @@ var TESTS = [
1768
1768
  prefix: "/",
1769
1769
  suffix: "",
1770
1770
  modifier: "",
1771
- pattern: "[^\\/]+?"
1771
+ pattern: "[^\\/#\\?]+?"
1772
1772
  },
1773
1773
  {
1774
1774
  name: "test",
1775
1775
  prefix: "/",
1776
1776
  suffix: "",
1777
1777
  modifier: "",
1778
- pattern: "[^\\/]+?"
1778
+ pattern: "[^\\/#\\?]+?"
1779
1779
  }
1780
1780
  ],
1781
1781
  [
@@ -1914,14 +1914,14 @@ var TESTS = [
1914
1914
  prefix: "/",
1915
1915
  suffix: "",
1916
1916
  modifier: "",
1917
- pattern: "[^\\/]+?"
1917
+ pattern: "[^\\/#\\?]+?"
1918
1918
  },
1919
1919
  {
1920
1920
  name: "bar",
1921
1921
  prefix: "/",
1922
1922
  suffix: "",
1923
1923
  modifier: "",
1924
- pattern: "[^\\/]+?"
1924
+ pattern: "[^\\/#\\?]+?"
1925
1925
  }
1926
1926
  ],
1927
1927
  [["/match/route", ["/match/route", "match", "route"]]],
@@ -1936,7 +1936,7 @@ var TESTS = [
1936
1936
  prefix: "/",
1937
1937
  suffix: "",
1938
1938
  modifier: "",
1939
- pattern: "[^\\/]+?"
1939
+ pattern: "[^\\/#\\?]+?"
1940
1940
  },
1941
1941
  "(test)/bar"
1942
1942
  ],
@@ -1981,7 +1981,7 @@ var TESTS = [
1981
1981
  prefix: "/",
1982
1982
  suffix: "",
1983
1983
  modifier: "",
1984
- pattern: "[^\\/]+?"
1984
+ pattern: "[^\\/#\\?]+?"
1985
1985
  },
1986
1986
  "?"
1987
1987
  ],
@@ -1997,7 +1997,7 @@ var TESTS = [
1997
1997
  prefix: "/",
1998
1998
  suffix: "",
1999
1999
  modifier: "+",
2000
- pattern: "[^\\/]+?"
2000
+ pattern: "[^\\/#\\?]+?"
2001
2001
  },
2002
2002
  "baz"
2003
2003
  ],
@@ -2022,7 +2022,7 @@ var TESTS = [
2022
2022
  prefix: "",
2023
2023
  suffix: "",
2024
2024
  modifier: "?",
2025
- pattern: "[^\\/]+?"
2025
+ pattern: "[^\\/#\\?]+?"
2026
2026
  },
2027
2027
  "baz"
2028
2028
  ],
@@ -2044,7 +2044,7 @@ var TESTS = [
2044
2044
  prefix: "/",
2045
2045
  suffix: "",
2046
2046
  modifier: "",
2047
- pattern: "[^\\/]+?"
2047
+ pattern: "[^\\/#\\?]+?"
2048
2048
  },
2049
2049
  "(",
2050
2050
  {
@@ -2052,7 +2052,7 @@ var TESTS = [
2052
2052
  prefix: "",
2053
2053
  suffix: "",
2054
2054
  modifier: "?",
2055
- pattern: "[^\\/]+?"
2055
+ pattern: "[^\\/#\\?]+?"
2056
2056
  },
2057
2057
  ")"
2058
2058
  ],
@@ -2103,14 +2103,14 @@ var TESTS = [
2103
2103
  prefix: "/",
2104
2104
  suffix: "",
2105
2105
  modifier: "?",
2106
- pattern: "[^\\/]+?"
2106
+ pattern: "[^\\/#\\?]+?"
2107
2107
  },
2108
2108
  {
2109
2109
  name: "bar",
2110
2110
  prefix: "/",
2111
2111
  suffix: "",
2112
2112
  modifier: "?",
2113
- pattern: "[^\\/]+?"
2113
+ pattern: "[^\\/#\\?]+?"
2114
2114
  },
2115
2115
  "-ext"
2116
2116
  ],
@@ -2137,14 +2137,14 @@ var TESTS = [
2137
2137
  prefix: "/",
2138
2138
  suffix: "",
2139
2139
  modifier: "",
2140
- pattern: "[^\\/]+?"
2140
+ pattern: "[^\\/#\\?]+?"
2141
2141
  },
2142
2142
  {
2143
2143
  name: "optional",
2144
2144
  prefix: "/",
2145
2145
  suffix: "",
2146
2146
  modifier: "?",
2147
- pattern: "[^\\/]+?"
2147
+ pattern: "[^\\/#\\?]+?"
2148
2148
  },
2149
2149
  "-ext"
2150
2150
  ],
@@ -2167,7 +2167,7 @@ var TESTS = [
2167
2167
  prefix: "/",
2168
2168
  suffix: "",
2169
2169
  modifier: "",
2170
- pattern: "[^\\/]+?"
2170
+ pattern: "[^\\/#\\?]+?"
2171
2171
  }
2172
2172
  ],
2173
2173
  [["/café", ["/café", "café"]]],
@@ -2256,7 +2256,7 @@ var TESTS = [
2256
2256
  prefix: ".",
2257
2257
  suffix: "",
2258
2258
  modifier: "",
2259
- pattern: "[^\\/]+?"
2259
+ pattern: "[^\\/#\\?]+?"
2260
2260
  }
2261
2261
  ],
2262
2262
  [
@@ -2320,14 +2320,14 @@ var TESTS = [
2320
2320
  [
2321
2321
  {
2322
2322
  name: "foo",
2323
- pattern: "[^\\/]+?",
2323
+ pattern: "[^\\/#\\?]+?",
2324
2324
  prefix: "$",
2325
2325
  suffix: "",
2326
2326
  modifier: ""
2327
2327
  },
2328
2328
  {
2329
2329
  name: "bar",
2330
- pattern: "[^\\/]+?",
2330
+ pattern: "[^\\/#\\?]+?",
2331
2331
  prefix: "$",
2332
2332
  suffix: "",
2333
2333
  modifier: "?"
@@ -2349,21 +2349,21 @@ var TESTS = [
2349
2349
  "name",
2350
2350
  {
2351
2351
  name: "attr1",
2352
- pattern: "[^\\/]+?",
2352
+ pattern: "[^\\/#\\?]+?",
2353
2353
  prefix: "/",
2354
2354
  suffix: "",
2355
2355
  modifier: "?"
2356
2356
  },
2357
2357
  {
2358
2358
  name: "attr2",
2359
- pattern: "[^\\/]+?",
2359
+ pattern: "[^\\/#\\?]+?",
2360
2360
  prefix: "-",
2361
2361
  suffix: "",
2362
2362
  modifier: "?"
2363
2363
  },
2364
2364
  {
2365
2365
  name: "attr3",
2366
- pattern: "[^\\/]+?",
2366
+ pattern: "[^\\/#\\?]+?",
2367
2367
  prefix: "-",
2368
2368
  suffix: "",
2369
2369
  modifier: "?"
@@ -2502,7 +2502,7 @@ var TESTS = [
2502
2502
  prefix: "/",
2503
2503
  suffix: "",
2504
2504
  modifier: "",
2505
- pattern: "[^\\/]+?"
2505
+ pattern: "[^\\/#\\?]+?"
2506
2506
  }
2507
2507
  ],
2508
2508
  [
@@ -2510,6 +2510,52 @@ var TESTS = [
2510
2510
  ["/users/123", ["/users/123", "s", "123"]]
2511
2511
  ],
2512
2512
  [[{ user: "123" }, "/user/123"]]
2513
+ ],
2514
+ /**
2515
+ * https://github.com/pillarjs/path-to-regexp/issues/209
2516
+ */
2517
+ [
2518
+ "/whatever/:foo\\?query=str",
2519
+ undefined,
2520
+ [
2521
+ "/whatever",
2522
+ {
2523
+ name: "foo",
2524
+ prefix: "/",
2525
+ suffix: "",
2526
+ modifier: "",
2527
+ pattern: "[^\\/#\\?]+?"
2528
+ },
2529
+ "?query=str"
2530
+ ],
2531
+ [["/whatever/123?query=str", ["/whatever/123?query=str", "123"]]],
2532
+ [[{ foo: "123" }, "/whatever/123?query=str"]]
2533
+ ],
2534
+ [
2535
+ "/whatever/:foo",
2536
+ {
2537
+ end: false
2538
+ },
2539
+ [
2540
+ "/whatever",
2541
+ {
2542
+ name: "foo",
2543
+ prefix: "/",
2544
+ suffix: "",
2545
+ modifier: "",
2546
+ pattern: "[^\\/#\\?]+?"
2547
+ }
2548
+ ],
2549
+ [
2550
+ ["/whatever/123", ["/whatever/123", "123"]],
2551
+ ["/whatever/123/path", ["/whatever/123", "123"]],
2552
+ ["/whatever/123#fragment", ["/whatever/123", "123"]],
2553
+ ["/whatever/123?query=str", ["/whatever/123", "123"]]
2554
+ ],
2555
+ [
2556
+ [{ foo: "123" }, "/whatever/123"],
2557
+ [{ foo: "#" }, null]
2558
+ ]
2513
2559
  ]
2514
2560
  ];
2515
2561
  /**
@@ -2522,7 +2568,7 @@ describe("path-to-regexp", function () {
2522
2568
  prefix: "/",
2523
2569
  suffix: "",
2524
2570
  modifier: "",
2525
- pattern: "[^\\/]+?"
2571
+ pattern: "[^\\/#\\?]+?"
2526
2572
  };
2527
2573
  describe("arguments", function () {
2528
2574
  it("should work without different call combinations", function () {