Skip to content

Commit 4d90348

Browse files
authored
Merge pull request #436 from davidkmenta/master
Handle nullable route defaults
2 parents 71393cd + 6f4b6f0 commit 4d90348

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

Resources/js/router.test.js

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,4 +602,33 @@ function testGenerateWithPortInHost() {
602602
});
603603

604604
assertEquals('/foo/', router.generate('homepage'));
605-
}
605+
}
606+
607+
function testGenerateWithNullableDefaults() {
608+
var router = new fos.Router({ base_url: '/foo' }, {
609+
homepage: {
610+
tokens: [
611+
['text', '/'],
612+
[
613+
'variable',
614+
'/',
615+
'\d*',
616+
'id',
617+
true,
618+
],
619+
],
620+
defaults: {
621+
'id': null,
622+
},
623+
requirements: {
624+
'id': '\d*',
625+
},
626+
hosttokens: [],
627+
methods: [],
628+
schemes: [],
629+
},
630+
});
631+
632+
assertEquals('/foo//', router.generate('homepage'));
633+
assertEquals('/foo/1234/', router.generate('homepage', { id: 1234 }));
634+
}

Resources/js/router.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export interface RouteDefaults {
2-
[index: string]: string;
2+
[index: string]: string | null;
33
}
44

55
export interface RouteRequirements {

Resources/ts/router.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export interface RouteDefaults {
2-
[index: string]: string;
2+
[index: string]: string | null;
33
}
44
export interface RouteRequirements {
55
[index: string]: string;

0 commit comments

Comments
 (0)