@@ -21,8 +21,8 @@ part of angular.filter;
21
21
*
22
22
*/
23
23
@NgFilter (name: 'date' )
24
- class DateFilter {
25
- static Map <String , String > MAP = {
24
+ class DateFilter implements Function {
25
+ static final _MAP = const < String , String > {
26
26
'medium' : 'MMM d, y h:mm:ss a' ,
27
27
'short' : 'M/d/yy h:mm a' ,
28
28
'fullDate' : 'EEEE, MMMM d, y' ,
@@ -33,7 +33,7 @@ class DateFilter {
33
33
'shortTime' : 'h:mm a' ,
34
34
};
35
35
36
- Map < num , NumberFormat > nfs = new Map < num , NumberFormat >() ;
36
+ var _dfs = < String , DateFormat > {} ;
37
37
38
38
/**
39
39
* [date] : Date to format either as Date object, milliseconds
@@ -47,18 +47,19 @@ class DateFilter {
47
47
* mediumDate is used
48
48
*
49
49
*/
50
- call (date, [format = r 'mediumDate' ]) {
50
+ dynamic call (Object date, [String format = 'mediumDate' ]) {
51
51
if (date == '' || date == null ) return date;
52
52
if (date is String ) date = DateTime .parse (date);
53
53
if (date is num ) date = new DateTime .fromMillisecondsSinceEpoch (date);
54
54
if (date is ! DateTime ) return date;
55
- var nf = nfs [format];
56
- if (nf == null ) {
57
- if (MAP .containsKey (format)) {
58
- format = MAP [format];
55
+ var df = _dfs [format];
56
+ if (df == null ) {
57
+ if (_MAP .containsKey (format)) {
58
+ format = _MAP [format];
59
59
}
60
- nf = new DateFormat (format);
60
+ df = new DateFormat (format);
61
+ _dfs[format] = df;
61
62
}
62
- return nf .format (date);
63
+ return df .format (date);
63
64
}
64
65
}
0 commit comments