@@ -563,7 +563,6 @@ function $UrlMatcherFactory() {
563
563
564
564
function valToString ( val ) { return val != null ? val . toString ( ) . replace ( / \/ / g, "%2F" ) : val ; }
565
565
function valFromString ( val ) { return val != null ? val . toString ( ) . replace ( / % 2 F / g, "/" ) : val ; }
566
- function angularEquals ( left , right ) { return angular . equals ( left , right ) ; }
567
566
// TODO: in 1.0, make string .is() return false if value is undefined by default.
568
567
// function regexpMatches(val) { /*jshint validthis:true */ return isDefined(val) && this.pattern.test(val); }
569
568
function regexpMatches ( val ) { /*jshint validthis:true */ return this . pattern . test ( val ) ; }
@@ -588,16 +587,22 @@ function $UrlMatcherFactory() {
588
587
pattern : / 0 | 1 /
589
588
} ,
590
589
date : {
591
- encode : function ( val ) { return [
590
+ encode : function ( val ) {
591
+ return [
592
592
val . getFullYear ( ) ,
593
593
( '0' + ( val . getMonth ( ) + 1 ) ) . slice ( - 2 ) ,
594
594
( '0' + val . getDate ( ) ) . slice ( - 2 )
595
595
] . join ( "-" ) ;
596
596
} ,
597
- decode : function ( val ) { return new Date ( val ) ; } ,
597
+ decode : function ( val ) {
598
+ if ( this . is ( val ) ) return val ;
599
+ var match = this . capture . exec ( val ) ;
600
+ return match ? new Date ( match [ 1 ] , match [ 2 ] - 1 , match [ 3 ] ) : undefined ;
601
+ } ,
598
602
is : function ( val ) { return val instanceof Date && ! isNaN ( val . valueOf ( ) ) ; } ,
599
603
equals : function ( a , b ) { return a . toISOString ( ) === b . toISOString ( ) ; } ,
600
- pattern : / [ 0 - 9 ] { 4 } - (?: 0 [ 1 - 9 ] | 1 [ 0 - 2 ] ) - (?: 0 [ 1 - 9 ] | [ 1 - 2 ] [ 0 - 9 ] | 3 [ 0 - 1 ] ) /
604
+ pattern : / [ 0 - 9 ] { 4 } - (?: 0 [ 1 - 9 ] | 1 [ 0 - 2 ] ) - (?: 0 [ 1 - 9 ] | [ 1 - 2 ] [ 0 - 9 ] | 3 [ 0 - 1 ] ) / ,
605
+ capture : / ( [ 0 - 9 ] { 4 } ) - ( 0 [ 1 - 9 ] | 1 [ 0 - 2 ] ) - ( 0 [ 1 - 9 ] | [ 1 - 2 ] [ 0 - 9 ] | 3 [ 0 - 1 ] ) /
601
606
}
602
607
} ;
603
608
0 commit comments