Skip to content

Commit 53454c6

Browse files
eddiemongechristopherthielen
authored andcommitted
Merge b5130bb
1 parent 6c3271a commit 53454c6

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/url/urlMatcher.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,14 @@ function quoteRegExp(string: any, param?: any) {
1616
if (!param) return result;
1717

1818
switch (param.squash) {
19-
case false: surroundPattern = ['(', ')' + (param.isOptional ? '?' : '')]; break;
20-
case true: surroundPattern = ['?(', ')?']; break;
21-
default: surroundPattern = [`(${param.squash}|`, ')?']; break;
19+
case false:
20+
surroundPattern = ['(', ')' + (param.isOptional ? '?' : '')]; break;
21+
case true:
22+
result = result.replace(/\/$/, '');
23+
surroundPattern = ['(?:\/(', ')|\/)?'];
24+
break;
25+
default:
26+
surroundPattern = [`(${param.squash}|`, ')?']; break;
2227
}
2328
return result + surroundPattern[0] + param.type.pattern.source + surroundPattern[1];
2429
}

test/urlMatcherFactorySpec.js

+1
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ describe("urlMatcherFactory", function () {
665665
params: { id: { value: null, squash: true } }
666666
});
667667
expect(m.exec('/users/1138')).toEqual({ id: 1138 });
668+
expect(m.exec('/users1138')).toBeNull();
668669
expect(m.exec('/users/').id).toBeNull();
669670
expect(m.exec('/users').id).toBeNull();
670671
});

0 commit comments

Comments
 (0)