Jhernandez has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/337832 )

Change subject: Hygiene: Remove unnecessary IIFE in gateway/mediawiki.js
......................................................................

Hygiene: Remove unnecessary IIFE in gateway/mediawiki.js

Change-Id: If6d76c2915b13f9871dea3b7f33cb74ec5906566
---
M src/gateway/mediawiki.js
1 file changed, 89 insertions(+), 92 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/32/337832/1

diff --git a/src/gateway/mediawiki.js b/src/gateway/mediawiki.js
index 4792989..1839a42 100644
--- a/src/gateway/mediawiki.js
+++ b/src/gateway/mediawiki.js
@@ -1,109 +1,106 @@
-( function ( mw, $ ) {
+var EXTRACT_LENGTH = 525,
+       THUMBNAIL_SIZE = 300 * $.bracketedDevicePixelRatio(),
+       // Public and private cache lifetime (5 minutes)
+       CACHE_LIFETIME = 300,
+       createModel = require( '../preview/model' ).createModel;
 
-       var EXTRACT_LENGTH = 525,
-               THUMBNAIL_SIZE = 300 * $.bracketedDevicePixelRatio(),
-               // Public and private cache lifetime (5 minutes)
-               CACHE_LIFETIME = 300;
+/**
+ * MediaWiki API gateway factory
+ *
+ * @param {mw.Api} api
+ * @returns {ext.popups.Gateway}
+ */
+function createMediaWikiApiGateway( api ) {
 
        /**
-        * MediaWiki API gateway factory
+        * Fetch page data from the API
         *
-        * @param {mw.Api} api
-        * @returns {ext.popups.Gateway}
+        * @param {String} title
+        * @return {jQuery.Promise}
         */
-       function createMediaWikiApiGateway( api ) {
+       function fetch( title ) {
+               return api.get( {
+                       action: 'query',
+                       prop: 'info|extracts|pageimages|revisions|info',
+                       formatversion: 2,
+                       redirects: true,
+                       exintro: true,
+                       exchars: EXTRACT_LENGTH,
 
-               /**
-                * Fetch page data from the API
-                *
-                * @param {String} title
-                * @return {jQuery.Promise}
-                */
-               function fetch( title ) {
-                       return api.get( {
-                               action: 'query',
-                               prop: 'info|extracts|pageimages|revisions|info',
-                               formatversion: 2,
-                               redirects: true,
-                               exintro: true,
-                               exchars: EXTRACT_LENGTH,
+                       // There is an added geometric limit on 
.mwe-popups-extract
+                       // so that text does not overflow from the card.
+                       explaintext: true,
 
-                               // There is an added geometric limit on 
.mwe-popups-extract
-                               // so that text does not overflow from the card.
-                               explaintext: true,
-
-                               piprop: 'thumbnail',
-                               pithumbsize: THUMBNAIL_SIZE,
-                               rvprop: 'timestamp',
-                               inprop: 'url',
-                               titles: title,
-                               smaxage: CACHE_LIFETIME,
-                               maxage: CACHE_LIFETIME,
-                               uselang: 'content'
-                       }, {
-                               headers: {
-                                       'X-Analytics': 'preview=1'
-                               }
-                       } );
-               }
-
-               /**
-                * Get the page summary from the api and transform the data
-                *
-                * @param {String} title
-                * @returns {jQuery.Promise<ext.popups.PreviewModel>}
-                */
-               function getPageSummary( title ) {
-                       return fetch( title )
-                               .then( extractPageFromResponse )
-                               .then( convertPageToModel );
-               }
-
-               return {
-                       fetch: fetch,
-                       extractPageFromResponse: extractPageFromResponse,
-                       convertPageToModel: convertPageToModel,
-                       getPageSummary: getPageSummary
-               };
+                       piprop: 'thumbnail',
+                       pithumbsize: THUMBNAIL_SIZE,
+                       rvprop: 'timestamp',
+                       inprop: 'url',
+                       titles: title,
+                       smaxage: CACHE_LIFETIME,
+                       maxage: CACHE_LIFETIME,
+                       uselang: 'content'
+               }, {
+                       headers: {
+                               'X-Analytics': 'preview=1'
+                       }
+               } );
        }
 
        /**
-        * Extract page data from the MediaWiki API response
+        * Get the page summary from the api and transform the data
         *
-        * @param {Object} data API response data
-        * @throws {Error} Throw an error if page data cannot be extracted,
-        * i.e. if the response is empty,
-        * @returns {Object}
+        * @param {String} title
+        * @returns {jQuery.Promise<ext.popups.PreviewModel>}
         */
-       function extractPageFromResponse( data ) {
-               if (
-                       data.query &&
-                       data.query.pages &&
-                       data.query.pages.length
-               ) {
-                       return data.query.pages[ 0 ];
-               }
-
-               throw new Error( 'API response `query.pages` is empty.' );
+       function getPageSummary( title ) {
+               return fetch( title )
+                       .then( extractPageFromResponse )
+                       .then( convertPageToModel );
        }
 
-       /**
-        * Transform the MediaWiki API response to a preview model
-        *
-        * @param {Object} page
-        * @returns {ext.popups.PreviewModel}
-        */
-       function convertPageToModel( page ) {
-               return mw.popups.preview.createModel(
-                       page.title,
-                       page.canonicalurl,
-                       page.pagelanguagehtmlcode,
-                       page.pagelanguagedir,
-                       page.extract,
-                       page.thumbnail
-               );
+       return {
+               fetch: fetch,
+               extractPageFromResponse: extractPageFromResponse,
+               convertPageToModel: convertPageToModel,
+               getPageSummary: getPageSummary
+       };
+}
+
+/**
+ * Extract page data from the MediaWiki API response
+ *
+ * @param {Object} data API response data
+ * @throws {Error} Throw an error if page data cannot be extracted,
+ * i.e. if the response is empty,
+ * @returns {Object}
+ */
+function extractPageFromResponse( data ) {
+       if (
+               data.query &&
+               data.query.pages &&
+               data.query.pages.length
+       ) {
+               return data.query.pages[ 0 ];
        }
 
-       module.exports = createMediaWikiApiGateway;
+       throw new Error( 'API response `query.pages` is empty.' );
+}
 
-}( mediaWiki, jQuery ) );
+/**
+ * Transform the MediaWiki API response to a preview model
+ *
+ * @param {Object} page
+ * @returns {ext.popups.PreviewModel}
+ */
+function convertPageToModel( page ) {
+       return createModel(
+               page.title,
+               page.canonicalurl,
+               page.pagelanguagehtmlcode,
+               page.pagelanguagedir,
+               page.extract,
+               page.thumbnail
+       );
+}
+
+module.exports = createMediaWikiApiGateway;

-- 
To view, visit https://gerrit.wikimedia.org/r/337832
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If6d76c2915b13f9871dea3b7f33cb74ec5906566
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Popups
Gerrit-Branch: master
Gerrit-Owner: Jhernandez <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to