From a8638ca987a166b9221e51ee51a186fd7afb66e4 Mon Sep 17 00:00:00 2001 From: Fomafix Date: Thu, 30 Mar 2017 21:30:14 +0200 Subject: [PATCH] Add closure around moment-locale-overrides.js Change-Id: I262d53479ab7971323db12d345fc0cd343b1df5e --- resources/src/moment-locale-overrides.js | 74 ++++++++++++------------ 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/resources/src/moment-locale-overrides.js b/resources/src/moment-locale-overrides.js index 8aba831c43..bafb86a227 100644 --- a/resources/src/moment-locale-overrides.js +++ b/resources/src/moment-locale-overrides.js @@ -1,42 +1,44 @@ -/* global moment, mw */ +/* global mediaWiki, moment */ -// HACK: Overwrite moment's i18n with MediaWiki's for the current language so that -// wgTranslateNumerals is respected. -moment.updateLocale( moment.locale(), { - preparse: function ( s ) { - var i, - table = mw.language.getDigitTransformTable(); - if ( mw.config.get( 'wgTranslateNumerals' ) ) { - for ( i = 0; i < 10; i++ ) { - if ( table[ i ] !== undefined ) { - s = s.replace( new RegExp( mw.RegExp.escape( table[ i ] ), 'g' ), i ); +( function ( mw ) { + // HACK: Overwrite moment's i18n with MediaWiki's for the current language so that + // wgTranslateNumerals is respected. + moment.updateLocale( moment.locale(), { + preparse: function ( s ) { + var i, + table = mw.language.getDigitTransformTable(); + if ( mw.config.get( 'wgTranslateNumerals' ) ) { + for ( i = 0; i < 10; i++ ) { + if ( table[ i ] !== undefined ) { + s = s.replace( new RegExp( mw.RegExp.escape( table[ i ] ), 'g' ), i ); + } } } - } - // HACK: momentjs replaces commas in some languages, which is the only other use of preparse - // aside from digit transformation. We can only override preparse, not extend it, so we - // have to replicate the comma replacement functionality here. - if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { - s = s.replace( /،/g, ',' ); - } - return s; - }, - postformat: function ( s ) { - var i, - table = mw.language.getDigitTransformTable(); - if ( mw.config.get( 'wgTranslateNumerals' ) ) { - for ( i = 0; i < 10; i++ ) { - if ( table[ i ] !== undefined ) { - s = s.replace( new RegExp( i, 'g' ), table[ i ] ); + // HACK: momentjs replaces commas in some languages, which is the only other use of preparse + // aside from digit transformation. We can only override preparse, not extend it, so we + // have to replicate the comma replacement functionality here. + if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { + s = s.replace( /،/g, ',' ); + } + return s; + }, + postformat: function ( s ) { + var i, + table = mw.language.getDigitTransformTable(); + if ( mw.config.get( 'wgTranslateNumerals' ) ) { + for ( i = 0; i < 10; i++ ) { + if ( table[ i ] !== undefined ) { + s = s.replace( new RegExp( i, 'g' ), table[ i ] ); + } } } + // HACK: momentjs replaces commas in some languages, which is the only other use of postformat + // aside from digit transformation. We can only override postformat, not extend it, so we + // have to replicate the comma replacement functionality here. + if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { + s = s.replace( /,/g, '،' ); + } + return s; } - // HACK: momentjs replaces commas in some languages, which is the only other use of postformat - // aside from digit transformation. We can only override postformat, not extend it, so we - // have to replicate the comma replacement functionality here. - if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { - s = s.replace( /,/g, '،' ); - } - return s; - } -} ); + } ); +}( mediaWiki ) ); -- 2.20.1