X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki%2Fapi.js;h=37c0c9b6dc8e17d9fe944867427622a5bb12d436;hb=e73b63dd3b977eb3a1606d88f374a47ac0ae102c;hp=5abd2d4fa9f515481a3aa669888b0623853eedb8;hpb=b929c0eb7f3a0954af5aca6d50995d87fa83945b;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki/api.js b/resources/src/mediawiki/api.js index 5abd2d4fa9..0e9c19b4db 100644 --- a/resources/src/mediawiki/api.js +++ b/resources/src/mediawiki/api.js @@ -51,7 +51,7 @@ } // Pre-populate with fake ajax promises to save http requests for tokens - // we already have on the page via the user.tokens module (bug 34733). + // we already have on the page via the user.tokens module (T36733). promises[ defaultOptions.ajax.url ] = {}; $.each( mw.user.tokens.get(), function ( key, value ) { // This requires #getToken to use the same key as user.tokens. @@ -114,7 +114,7 @@ * @method */ abort: function () { - $.each( this.requests, function ( index, request ) { + this.requests.forEach( function ( request ) { if ( request ) { request.abort(); } @@ -150,6 +150,9 @@ /** * Massage parameters from the nice format we accept into a format suitable for the API. * + * NOTE: A value of undefined/null in an array will be represented by Array#join() + * as the empty string. Should we filter silently? Warn? Leave as-is? + * * @private * @param {Object} parameters (modified in-place) * @param {boolean} useUS Whether to use U+001F when joining multi-valued parameters. @@ -159,15 +162,14 @@ // Handle common MediaWiki API idioms for passing parameters for ( key in parameters ) { // Multiple values are pipe-separated - if ( $.isArray( parameters[ key ] ) ) { + if ( Array.isArray( parameters[ key ] ) ) { if ( !useUS || parameters[ key ].join( '' ).indexOf( '|' ) === -1 ) { parameters[ key ] = parameters[ key ].join( '|' ); } else { parameters[ key ] = '\x1f' + parameters[ key ].join( '\x1f' ); } - } - // Boolean values are only false when not given at all - if ( parameters[ key ] === false || parameters[ key ] === undefined ) { + } else if ( parameters[ key ] === false || parameters[ key ] === undefined ) { + // Boolean values are only false when not given at all delete parameters[ key ]; } } @@ -486,7 +488,7 @@ 'stashwrongowner', 'stashnosuchfilekey' ]; - mw.log.deprecate( mw.Api, 'errors', mw.Api.errors, 'mw.Api.errors' ); + mw.log.deprecate( mw.Api, 'errors', mw.Api.errors, null, 'mw.Api.errors' ); /** * @static @@ -498,6 +500,6 @@ 'duplicate', 'exists' ]; - mw.log.deprecate( mw.Api, 'warnings', mw.Api.warnings, 'mw.Api.warnings' ); + mw.log.deprecate( mw.Api, 'warnings', mw.Api.warnings, null, 'mw.Api.warnings' ); }( mediaWiki, jQuery ) );