X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fstartup%2Fmediawiki.js;h=97fc02783a7f1dc52397d4dac3cda66d00a18789;hp=c16948703bfb3e865d423505984bfa238cd1c36f;hb=fc2a88f66642590dda149590bdb72c5fc9ab5795;hpb=bf24c891968c184295ba9fa13291e8e386d0df0a diff --git a/resources/src/startup/mediawiki.js b/resources/src/startup/mediawiki.js index c16948703b..97fc02783a 100644 --- a/resources/src/startup/mediawiki.js +++ b/resources/src/startup/mediawiki.js @@ -13,7 +13,6 @@ 'use strict'; var mw, StringSet, log, - hasOwn = Object.prototype.hasOwnProperty, trackQueue = []; /** @@ -259,7 +258,6 @@ defineFallbacks(); - /* eslint-disable no-console */ log = ( function () { /** * Write a verbose message to the browser's console in debug mode. @@ -293,7 +291,7 @@ * * @param {...string} msg Messages to output to console */ - log.warn = console && console.warn && Function.prototype.bind ? + log.warn = console && console.warn ? Function.prototype.bind.call( console.warn, console ) : function () {}; @@ -308,7 +306,7 @@ * @since 1.26 * @param {...Mixed} msg Messages to output to console */ - log.error = console && console.error && Function.prototype.bind ? + log.error = console && console.error ? Function.prototype.bind.call( console.error, console ) : function () {}; @@ -323,9 +321,7 @@ * @param {string} [logName=key] Optional custom name for the feature. * This is used instead of `key` in the message and `mw.deprecate` tracking. */ - log.deprecate = !Object.defineProperty ? function ( obj, key, val ) { - obj[ key ] = val; - } : function ( obj, key, val, msg, logName ) { + log.deprecate = function ( obj, key, val, msg, logName ) { var stacks; function maybeLog() { var name, @@ -365,7 +361,6 @@ return log; }() ); - /* eslint-enable no-console */ /** * @class mw @@ -584,7 +579,7 @@ * @property * @private */ - var registry = {}, + var registry = Object.create( null ), // Mapping of sources, keyed by source-id, values are strings. // // Format: @@ -593,7 +588,7 @@ // 'sourceId': 'http://example.org/w/load.php' // } // - sources = {}, + sources = Object.create( null ), // For queueModuleScript() handlingPendingRequests = false, @@ -931,7 +926,7 @@ function sortDependencies( module, resolved, unresolved ) { var i, deps, skip; - if ( !hasOwn.call( registry, module ) ) { + if ( !( module in registry ) ) { throw new Error( 'Unknown dependency: ' + module ); } @@ -1061,7 +1056,7 @@ function queueModuleScript( src, moduleName, callback ) { pendingRequests.push( function () { // Keep in sync with execute()/runScript(). - if ( moduleName !== 'jquery' && hasOwn.call( registry, moduleName ) ) { + if ( moduleName !== 'jquery' ) { window.require = mw.loader.require; window.module = registry[ moduleName ].module; } @@ -1196,9 +1191,6 @@ var key, value, media, i, urls, cssHandle, siteDeps, siteDepErr, runScript, cssPending = 0; - if ( !hasOwn.call( registry, module ) ) { - throw new Error( 'Module has not been registered yet: ' + module ); - } if ( registry[ module ].state !== 'loaded' ) { throw new Error( 'Module in state "' + registry[ module ].state + '" may not be executed: ' + module ); } @@ -1639,8 +1631,7 @@ * or null if the module does not exist */ function getModuleKey( module ) { - return hasOwn.call( registry, module ) ? - ( module + '@' + registry[ module ].version ) : null; + return module in registry ? ( module + '@' + registry[ module ].version ) : null; } /** @@ -1672,7 +1663,7 @@ * @param {string} [skip] */ function registerOne( module, version, dependencies, group, source, skip ) { - if ( hasOwn.call( registry, module ) ) { + if ( module in registry ) { throw new Error( 'module already registered: ' + module ); } registry[ module ] = { @@ -1725,7 +1716,7 @@ // Appends a list of modules from the queue to the batch for ( q = 0; q < queue.length; q++ ) { // Only load modules which are registered - if ( hasOwn.call( registry, queue[ q ] ) && registry[ queue[ q ] ].state === 'registered' ) { + if ( queue[ q ] in registry && registry[ queue[ q ] ].state === 'registered' ) { // Prevent duplicate entries if ( batch.indexOf( queue[ q ] ) === -1 ) { batch.push( queue[ q ] ); @@ -1802,7 +1793,7 @@ addSource: function ( ids ) { var id; for ( id in ids ) { - if ( hasOwn.call( sources, id ) ) { + if ( id in sources ) { throw new Error( 'source already registered: ' + id ); } sources[ id ] = ids[ id ]; @@ -1881,7 +1872,7 @@ name = split.name, version = split.version; // Automatically register module - if ( !hasOwn.call( registry, name ) ) { + if ( !( name in registry ) ) { mw.loader.register( name ); } // Check for duplicate implementation @@ -1964,13 +1955,13 @@ /** * Change the state of one or more modules. * - * @param {Object} modules Object of module name/state pairs + * @param {Object} states Object of module name/state pairs */ - state: function ( modules ) { + state: function ( states ) { var module, state; - for ( module in modules ) { - state = modules[ module ]; - if ( !hasOwn.call( registry, module ) ) { + for ( module in states ) { + state = states[ module ]; + if ( !( module in registry ) ) { mw.loader.register( module ); } setAndPropagate( module, state ); @@ -1985,7 +1976,7 @@ * in the registry. */ getVersion: function ( module ) { - return hasOwn.call( registry, module ) ? registry[ module ].version : null; + return module in registry ? registry[ module ].version : null; }, /** @@ -1996,7 +1987,7 @@ * in the registry. */ getState: function ( module ) { - return hasOwn.call( registry, module ) ? registry[ module ].state : null; + return module in registry ? registry[ module ].state : null; }, /**