File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -22,8 +22,18 @@ var getIntlFormatter = function(format) {
22
22
} ;
23
23
} ;
24
24
25
+ var formattersCache = { } ;
26
+ var getFormatter = function ( format ) {
27
+ var key = locale ( ) + '/' + JSON . stringify ( format ) ;
28
+ if ( ! formattersCache [ key ] ) {
29
+ formattersCache [ key ] = ( new Intl . DateTimeFormat ( locale ( ) , format ) ) . format ;
30
+ }
31
+
32
+ return formattersCache [ key ] ;
33
+ } ;
34
+
25
35
var formatDateTime = function ( date , format ) {
26
- return ( new Intl . DateTimeFormat ( locale ( ) , format ) ) . format ( date ) . replace ( SYMBOLS_TO_REMOVE_REGEX , '' ) ;
36
+ return getFormatter ( format ) ( date ) . replace ( SYMBOLS_TO_REMOVE_REGEX , '' ) ;
27
37
} ;
28
38
29
39
var formatNumber = function ( number ) {
Original file line number Diff line number Diff line change @@ -7,8 +7,14 @@ var compareVersions = require('devextreme/core/utils/version').compare;
7
7
8
8
var currencyOptionsCache = { } ,
9
9
detectCurrencySymbolRegex = / ( [ ^ \s 0 ] + ) ? ( \s * ) 0 * [ . , ] * 0 * ( \s * ) ( [ ^ \s 0 ] + ) ? / ,
10
+ formattersCache = { } ,
10
11
getFormatter = function ( format ) {
11
- return ( new Intl . NumberFormat ( locale ( ) , format ) ) . format ;
12
+ var key = locale ( ) + '/' + JSON . stringify ( format ) ;
13
+ if ( ! formattersCache [ key ] ) {
14
+ formattersCache [ key ] = ( new Intl . NumberFormat ( locale ( ) , format ) ) . format ;
15
+ }
16
+
17
+ return formattersCache [ key ] ;
12
18
} ,
13
19
getCurrencyFormatter = function ( currency ) {
14
20
return ( new Intl . NumberFormat ( locale ( ) , { style : 'currency' , currency : currency } ) ) ;
You can’t perform that action at this time.
0 commit comments