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.
@@ -156,7 +156,7 @@ var TESTS = [
156
156
  prefix: "/",
157
157
  suffix: "",
158
158
  modifier: "",
159
- pattern: "[^\\/]+?"
159
+ pattern: "[^\\/#\\?]+?"
160
160
  }
161
161
  ],
162
162
  [
@@ -196,7 +196,7 @@ var TESTS = [
196
196
  prefix: "/",
197
197
  suffix: "",
198
198
  modifier: "",
199
- pattern: "[^\\/]+?"
199
+ pattern: "[^\\/#\\?]+?"
200
200
  },
201
201
  "/"
202
202
  ],
@@ -266,7 +266,7 @@ var TESTS = [
266
266
  prefix: "/",
267
267
  suffix: "",
268
268
  modifier: "",
269
- pattern: "[^\\/]+?"
269
+ pattern: "[^\\/#\\?]+?"
270
270
  }
271
271
  ],
272
272
  [["/route", ["/route", "route"]]],
@@ -289,7 +289,7 @@ var TESTS = [
289
289
  prefix: "/",
290
290
  suffix: "",
291
291
  modifier: "",
292
- pattern: "[^\\/]+?"
292
+ pattern: "[^\\/#\\?]+?"
293
293
  },
294
294
  "/"
295
295
  ],
@@ -372,7 +372,7 @@ var TESTS = [
372
372
  prefix: "/",
373
373
  suffix: "",
374
374
  modifier: "",
375
- pattern: "[^\\/]+?"
375
+ pattern: "[^\\/#\\?]+?"
376
376
  }
377
377
  ],
378
378
  [
@@ -396,7 +396,7 @@ var TESTS = [
396
396
  prefix: "/",
397
397
  suffix: "",
398
398
  modifier: "",
399
- pattern: "[^\\/]+?"
399
+ pattern: "[^\\/#\\?]+?"
400
400
  },
401
401
  "/"
402
402
  ],
@@ -464,7 +464,7 @@ var TESTS = [
464
464
  prefix: "/",
465
465
  suffix: "",
466
466
  modifier: "",
467
- pattern: "[^\\/]+?"
467
+ pattern: "[^\\/#\\?]+?"
468
468
  }
469
469
  ],
470
470
  [
@@ -488,7 +488,7 @@ var TESTS = [
488
488
  prefix: "/",
489
489
  suffix: "",
490
490
  modifier: "",
491
- pattern: "[^\\/]+?"
491
+ pattern: "[^\\/#\\?]+?"
492
492
  },
493
493
  "/"
494
494
  ],
@@ -537,7 +537,7 @@ var TESTS = [
537
537
  prefix: "/",
538
538
  suffix: "",
539
539
  modifier: "",
540
- pattern: "[^\\/]+?"
540
+ pattern: "[^\\/#\\?]+?"
541
541
  }
542
542
  ],
543
543
  [
@@ -577,7 +577,7 @@ var TESTS = [
577
577
  prefix: "/",
578
578
  suffix: "",
579
579
  modifier: "",
580
- pattern: "[^\\/]+?"
580
+ pattern: "[^\\/#\\?]+?"
581
581
  }
582
582
  ],
583
583
  [
@@ -597,7 +597,7 @@ var TESTS = [
597
597
  prefix: "/",
598
598
  suffix: "",
599
599
  modifier: "",
600
- pattern: "[^\\/]+?"
600
+ pattern: "[^\\/#\\?]+?"
601
601
  },
602
602
  "/"
603
603
  ],
@@ -618,7 +618,7 @@ var TESTS = [
618
618
  prefix: "/",
619
619
  suffix: "",
620
620
  modifier: "",
621
- pattern: "[^\\/]+?"
621
+ pattern: "[^\\/#\\?]+?"
622
622
  }
623
623
  ],
624
624
  [
@@ -639,7 +639,7 @@ var TESTS = [
639
639
  prefix: "/",
640
640
  suffix: "",
641
641
  modifier: "?",
642
- pattern: "[^\\/]+?"
642
+ pattern: "[^\\/#\\?]+?"
643
643
  }
644
644
  ],
645
645
  [
@@ -668,7 +668,7 @@ var TESTS = [
668
668
  prefix: "/",
669
669
  suffix: "",
670
670
  modifier: "?",
671
- pattern: "[^\\/]+?"
671
+ pattern: "[^\\/#\\?]+?"
672
672
  }
673
673
  ],
674
674
  [
@@ -692,7 +692,7 @@ var TESTS = [
692
692
  prefix: "/",
693
693
  suffix: "",
694
694
  modifier: "?",
695
- pattern: "[^\\/]+?"
695
+ pattern: "[^\\/#\\?]+?"
696
696
  },
697
697
  "/"
698
698
  ],
@@ -716,7 +716,7 @@ var TESTS = [
716
716
  prefix: "/",
717
717
  suffix: "",
718
718
  modifier: "?",
719
- pattern: "[^\\/]+?"
719
+ pattern: "[^\\/#\\?]+?"
720
720
  },
721
721
  "/bar"
722
722
  ],
@@ -738,7 +738,7 @@ var TESTS = [
738
738
  prefix: "/",
739
739
  suffix: "",
740
740
  modifier: "?",
741
- pattern: "[^\\/]+?"
741
+ pattern: "[^\\/#\\?]+?"
742
742
  },
743
743
  "-bar"
744
744
  ],
@@ -761,7 +761,7 @@ var TESTS = [
761
761
  prefix: "/",
762
762
  suffix: "",
763
763
  modifier: "*",
764
- pattern: "[^\\/]+?"
764
+ pattern: "[^\\/#\\?]+?"
765
765
  },
766
766
  "-bar"
767
767
  ],
@@ -785,7 +785,7 @@ var TESTS = [
785
785
  prefix: "/",
786
786
  suffix: "",
787
787
  modifier: "+",
788
- pattern: "[^\\/]+?"
788
+ pattern: "[^\\/#\\?]+?"
789
789
  }
790
790
  ],
791
791
  [
@@ -893,7 +893,7 @@ var TESTS = [
893
893
  prefix: "/",
894
894
  suffix: "",
895
895
  modifier: "*",
896
- pattern: "[^\\/]+?"
896
+ pattern: "[^\\/#\\?]+?"
897
897
  }
898
898
  ],
899
899
  [
@@ -1122,7 +1122,7 @@ var TESTS = [
1122
1122
  prefix: "",
1123
1123
  suffix: "",
1124
1124
  modifier: "",
1125
- pattern: "[^\\/]+?"
1125
+ pattern: "[^\\/#\\?]+?"
1126
1126
  }
1127
1127
  ],
1128
1128
  [
@@ -1148,7 +1148,7 @@ var TESTS = [
1148
1148
  prefix: "",
1149
1149
  suffix: "",
1150
1150
  modifier: "",
1151
- pattern: "[^\\/]+?"
1151
+ pattern: "[^\\/#\\?]+?"
1152
1152
  }
1153
1153
  ],
1154
1154
  [
@@ -1169,7 +1169,7 @@ var TESTS = [
1169
1169
  prefix: "",
1170
1170
  suffix: "",
1171
1171
  modifier: "",
1172
- pattern: "[^\\/]+?"
1172
+ pattern: "[^\\/#\\?]+?"
1173
1173
  }
1174
1174
  ],
1175
1175
  [
@@ -1189,7 +1189,7 @@ var TESTS = [
1189
1189
  prefix: "",
1190
1190
  suffix: "",
1191
1191
  modifier: "?",
1192
- pattern: "[^\\/]+?"
1192
+ pattern: "[^\\/#\\?]+?"
1193
1193
  }
1194
1194
  ],
1195
1195
  [
@@ -1213,7 +1213,7 @@ var TESTS = [
1213
1213
  prefix: "",
1214
1214
  suffix: "/",
1215
1215
  modifier: "+",
1216
- pattern: "[^\\/]+?"
1216
+ pattern: "[^\\/#\\?]+?"
1217
1217
  }
1218
1218
  ],
1219
1219
  [
@@ -1251,7 +1251,7 @@ var TESTS = [
1251
1251
  prefix: "/",
1252
1252
  suffix: "",
1253
1253
  modifier: "",
1254
- pattern: "[^\\/]+?"
1254
+ pattern: "[^\\/#\\?]+?"
1255
1255
  },
1256
1256
  ".json"
1257
1257
  ],
@@ -1331,7 +1331,7 @@ var TESTS = [
1331
1331
  prefix: ".",
1332
1332
  suffix: "",
1333
1333
  modifier: "+",
1334
- pattern: "[^\\/]+?"
1334
+ pattern: "[^\\/#\\?]+?"
1335
1335
  }
1336
1336
  ],
1337
1337
  [
@@ -1375,7 +1375,7 @@ var TESTS = [
1375
1375
  prefix: ".",
1376
1376
  suffix: "",
1377
1377
  modifier: "",
1378
- pattern: "[^\\/]+?"
1378
+ pattern: "[^\\/#\\?]+?"
1379
1379
  },
1380
1380
  "."
1381
1381
  ],
@@ -1400,14 +1400,14 @@ var TESTS = [
1400
1400
  prefix: "/",
1401
1401
  suffix: "",
1402
1402
  modifier: "",
1403
- pattern: "[^\\/]+?"
1403
+ pattern: "[^\\/#\\?]+?"
1404
1404
  },
1405
1405
  {
1406
1406
  name: "format",
1407
1407
  prefix: ".",
1408
1408
  suffix: "",
1409
1409
  modifier: "",
1410
- pattern: "[^\\/]+?"
1410
+ pattern: "[^\\/#\\?]+?"
1411
1411
  }
1412
1412
  ],
1413
1413
  [
@@ -1429,14 +1429,14 @@ var TESTS = [
1429
1429
  prefix: "/",
1430
1430
  suffix: "",
1431
1431
  modifier: "",
1432
- pattern: "[^\\/]+?"
1432
+ pattern: "[^\\/#\\?]+?"
1433
1433
  },
1434
1434
  {
1435
1435
  name: "format",
1436
1436
  prefix: ".",
1437
1437
  suffix: "",
1438
1438
  modifier: "?",
1439
- pattern: "[^\\/]+?"
1439
+ pattern: "[^\\/#\\?]+?"
1440
1440
  }
1441
1441
  ],
1442
1442
  [
@@ -1461,14 +1461,14 @@ var TESTS = [
1461
1461
  prefix: "/",
1462
1462
  suffix: "",
1463
1463
  modifier: "",
1464
- pattern: "[^\\/]+?"
1464
+ pattern: "[^\\/#\\?]+?"
1465
1465
  },
1466
1466
  {
1467
1467
  name: "format",
1468
1468
  prefix: ".",
1469
1469
  suffix: "",
1470
1470
  modifier: "?",
1471
- pattern: "[^\\/]+?"
1471
+ pattern: "[^\\/#\\?]+?"
1472
1472
  }
1473
1473
  ],
1474
1474
  [
@@ -1766,14 +1766,14 @@ var TESTS = [
1766
1766
  prefix: "/",
1767
1767
  suffix: "",
1768
1768
  modifier: "",
1769
- pattern: "[^\\/]+?"
1769
+ pattern: "[^\\/#\\?]+?"
1770
1770
  },
1771
1771
  {
1772
1772
  name: "test",
1773
1773
  prefix: "/",
1774
1774
  suffix: "",
1775
1775
  modifier: "",
1776
- pattern: "[^\\/]+?"
1776
+ pattern: "[^\\/#\\?]+?"
1777
1777
  }
1778
1778
  ],
1779
1779
  [
@@ -1912,14 +1912,14 @@ var TESTS = [
1912
1912
  prefix: "/",
1913
1913
  suffix: "",
1914
1914
  modifier: "",
1915
- pattern: "[^\\/]+?"
1915
+ pattern: "[^\\/#\\?]+?"
1916
1916
  },
1917
1917
  {
1918
1918
  name: "bar",
1919
1919
  prefix: "/",
1920
1920
  suffix: "",
1921
1921
  modifier: "",
1922
- pattern: "[^\\/]+?"
1922
+ pattern: "[^\\/#\\?]+?"
1923
1923
  }
1924
1924
  ],
1925
1925
  [["/match/route", ["/match/route", "match", "route"]]],
@@ -1934,7 +1934,7 @@ var TESTS = [
1934
1934
  prefix: "/",
1935
1935
  suffix: "",
1936
1936
  modifier: "",
1937
- pattern: "[^\\/]+?"
1937
+ pattern: "[^\\/#\\?]+?"
1938
1938
  },
1939
1939
  "(test)/bar"
1940
1940
  ],
@@ -1979,7 +1979,7 @@ var TESTS = [
1979
1979
  prefix: "/",
1980
1980
  suffix: "",
1981
1981
  modifier: "",
1982
- pattern: "[^\\/]+?"
1982
+ pattern: "[^\\/#\\?]+?"
1983
1983
  },
1984
1984
  "?"
1985
1985
  ],
@@ -1995,7 +1995,7 @@ var TESTS = [
1995
1995
  prefix: "/",
1996
1996
  suffix: "",
1997
1997
  modifier: "+",
1998
- pattern: "[^\\/]+?"
1998
+ pattern: "[^\\/#\\?]+?"
1999
1999
  },
2000
2000
  "baz"
2001
2001
  ],
@@ -2020,7 +2020,7 @@ var TESTS = [
2020
2020
  prefix: "",
2021
2021
  suffix: "",
2022
2022
  modifier: "?",
2023
- pattern: "[^\\/]+?"
2023
+ pattern: "[^\\/#\\?]+?"
2024
2024
  },
2025
2025
  "baz"
2026
2026
  ],
@@ -2042,7 +2042,7 @@ var TESTS = [
2042
2042
  prefix: "/",
2043
2043
  suffix: "",
2044
2044
  modifier: "",
2045
- pattern: "[^\\/]+?"
2045
+ pattern: "[^\\/#\\?]+?"
2046
2046
  },
2047
2047
  "(",
2048
2048
  {
@@ -2050,7 +2050,7 @@ var TESTS = [
2050
2050
  prefix: "",
2051
2051
  suffix: "",
2052
2052
  modifier: "?",
2053
- pattern: "[^\\/]+?"
2053
+ pattern: "[^\\/#\\?]+?"
2054
2054
  },
2055
2055
  ")"
2056
2056
  ],
@@ -2101,14 +2101,14 @@ var TESTS = [
2101
2101
  prefix: "/",
2102
2102
  suffix: "",
2103
2103
  modifier: "?",
2104
- pattern: "[^\\/]+?"
2104
+ pattern: "[^\\/#\\?]+?"
2105
2105
  },
2106
2106
  {
2107
2107
  name: "bar",
2108
2108
  prefix: "/",
2109
2109
  suffix: "",
2110
2110
  modifier: "?",
2111
- pattern: "[^\\/]+?"
2111
+ pattern: "[^\\/#\\?]+?"
2112
2112
  },
2113
2113
  "-ext"
2114
2114
  ],
@@ -2135,14 +2135,14 @@ var TESTS = [
2135
2135
  prefix: "/",
2136
2136
  suffix: "",
2137
2137
  modifier: "",
2138
- pattern: "[^\\/]+?"
2138
+ pattern: "[^\\/#\\?]+?"
2139
2139
  },
2140
2140
  {
2141
2141
  name: "optional",
2142
2142
  prefix: "/",
2143
2143
  suffix: "",
2144
2144
  modifier: "?",
2145
- pattern: "[^\\/]+?"
2145
+ pattern: "[^\\/#\\?]+?"
2146
2146
  },
2147
2147
  "-ext"
2148
2148
  ],
@@ -2165,7 +2165,7 @@ var TESTS = [
2165
2165
  prefix: "/",
2166
2166
  suffix: "",
2167
2167
  modifier: "",
2168
- pattern: "[^\\/]+?"
2168
+ pattern: "[^\\/#\\?]+?"
2169
2169
  }
2170
2170
  ],
2171
2171
  [["/café", ["/café", "café"]]],
@@ -2254,7 +2254,7 @@ var TESTS = [
2254
2254
  prefix: ".",
2255
2255
  suffix: "",
2256
2256
  modifier: "",
2257
- pattern: "[^\\/]+?"
2257
+ pattern: "[^\\/#\\?]+?"
2258
2258
  }
2259
2259
  ],
2260
2260
  [
@@ -2318,14 +2318,14 @@ var TESTS = [
2318
2318
  [
2319
2319
  {
2320
2320
  name: "foo",
2321
- pattern: "[^\\/]+?",
2321
+ pattern: "[^\\/#\\?]+?",
2322
2322
  prefix: "$",
2323
2323
  suffix: "",
2324
2324
  modifier: ""
2325
2325
  },
2326
2326
  {
2327
2327
  name: "bar",
2328
- pattern: "[^\\/]+?",
2328
+ pattern: "[^\\/#\\?]+?",
2329
2329
  prefix: "$",
2330
2330
  suffix: "",
2331
2331
  modifier: "?"
@@ -2347,21 +2347,21 @@ var TESTS = [
2347
2347
  "name",
2348
2348
  {
2349
2349
  name: "attr1",
2350
- pattern: "[^\\/]+?",
2350
+ pattern: "[^\\/#\\?]+?",
2351
2351
  prefix: "/",
2352
2352
  suffix: "",
2353
2353
  modifier: "?"
2354
2354
  },
2355
2355
  {
2356
2356
  name: "attr2",
2357
- pattern: "[^\\/]+?",
2357
+ pattern: "[^\\/#\\?]+?",
2358
2358
  prefix: "-",
2359
2359
  suffix: "",
2360
2360
  modifier: "?"
2361
2361
  },
2362
2362
  {
2363
2363
  name: "attr3",
2364
- pattern: "[^\\/]+?",
2364
+ pattern: "[^\\/#\\?]+?",
2365
2365
  prefix: "-",
2366
2366
  suffix: "",
2367
2367
  modifier: "?"
@@ -2500,7 +2500,7 @@ var TESTS = [
2500
2500
  prefix: "/",
2501
2501
  suffix: "",
2502
2502
  modifier: "",
2503
- pattern: "[^\\/]+?"
2503
+ pattern: "[^\\/#\\?]+?"
2504
2504
  }
2505
2505
  ],
2506
2506
  [
@@ -2508,6 +2508,52 @@ var TESTS = [
2508
2508
  ["/users/123", ["/users/123", "s", "123"]]
2509
2509
  ],
2510
2510
  [[{ user: "123" }, "/user/123"]]
2511
+ ],
2512
+ /**
2513
+ * https://github.com/pillarjs/path-to-regexp/issues/209
2514
+ */
2515
+ [
2516
+ "/whatever/:foo\\?query=str",
2517
+ undefined,
2518
+ [
2519
+ "/whatever",
2520
+ {
2521
+ name: "foo",
2522
+ prefix: "/",
2523
+ suffix: "",
2524
+ modifier: "",
2525
+ pattern: "[^\\/#\\?]+?"
2526
+ },
2527
+ "?query=str"
2528
+ ],
2529
+ [["/whatever/123?query=str", ["/whatever/123?query=str", "123"]]],
2530
+ [[{ foo: "123" }, "/whatever/123?query=str"]]
2531
+ ],
2532
+ [
2533
+ "/whatever/:foo",
2534
+ {
2535
+ end: false
2536
+ },
2537
+ [
2538
+ "/whatever",
2539
+ {
2540
+ name: "foo",
2541
+ prefix: "/",
2542
+ suffix: "",
2543
+ modifier: "",
2544
+ pattern: "[^\\/#\\?]+?"
2545
+ }
2546
+ ],
2547
+ [
2548
+ ["/whatever/123", ["/whatever/123", "123"]],
2549
+ ["/whatever/123/path", ["/whatever/123", "123"]],
2550
+ ["/whatever/123#fragment", ["/whatever/123", "123"]],
2551
+ ["/whatever/123?query=str", ["/whatever/123", "123"]]
2552
+ ],
2553
+ [
2554
+ [{ foo: "123" }, "/whatever/123"],
2555
+ [{ foo: "#" }, null]
2556
+ ]
2511
2557
  ]
2512
2558
  ];
2513
2559
  /**
@@ -2520,7 +2566,7 @@ describe("path-to-regexp", function () {
2520
2566
  prefix: "/",
2521
2567
  suffix: "",
2522
2568
  modifier: "",
2523
- pattern: "[^\\/]+?"
2569
+ pattern: "[^\\/#\\?]+?"
2524
2570
  };
2525
2571
  describe("arguments", function () {
2526
2572
  it("should work without different call combinations", function () {