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