From: Timo Tijhof Date: Mon, 8 Apr 2019 00:20:06 +0000 (+0100) Subject: resourceloader: Remove unused 'skipped' property from registry X-Git-Tag: 1.34.0-rc.0~2104^2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=2096cbdb47dd511f10bdbd8358e6721d38f7dfba;p=lhc%2Fweb%2Fwiklou.git resourceloader: Remove unused 'skipped' property from registry This was added for debugging purposes, but I've never needed it so far. It also makes the shape of objects in the registry inconsistent, which can be a de-opt. Keep it for now, but with a more minimal impact by storing it in the same property. Change-Id: I297e3adb4765b83b1e7356b81cd056f99b3de93d --- diff --git a/resources/src/startup/mediawiki.js b/resources/src/startup/mediawiki.js index 5c574a2efa..4c20e9dd06 100644 --- a/resources/src/startup/mediawiki.js +++ b/resources/src/startup/mediawiki.js @@ -536,14 +536,13 @@ * 'dependencies': ['required.foo', 'bar.also', ...] * 'group': 'somegroup', (or) null * 'source': 'local', (or) 'anotherwiki' - * 'skip': 'return !!window.Example', (or) null + * 'skip': 'return !!window.Example', (or) null, (or) boolean result of skip * 'module': export Object * * // Set from execute() or mw.loader.state() * 'state': 'registered', 'loaded', 'loading', 'ready', 'error', or 'missing' * * // Optionally added at run-time by mw.loader.implement() - * 'skipped': true * 'script': closure, array of urls, or string * 'style': { ... } (see #execute) * 'messages': { 'key': 'value', ... } @@ -717,7 +716,7 @@ /** * @private - * @param {Array} modules List of module names + * @param {string[]} modules List of module names * @return {string} Hash of concatenated version hashes. */ function getCombinedVersion( modules ) { @@ -732,7 +731,7 @@ * execute the module or job now. * * @private - * @param {Array} modules Names of modules to be checked + * @param {string[]} modules Names of modules to be checked * @return {boolean} True if all modules are in state 'ready', false otherwise */ function allReady( modules ) { @@ -929,12 +928,11 @@ throw new Error( 'Unknown dependency: ' + module ); } - if ( registry[ module ].skip !== null ) { + if ( typeof registry[ module ].skip === 'string' ) { // eslint-disable-next-line no-new-func - skip = new Function( registry[ module ].skip ); - registry[ module ].skip = null; - if ( skip() ) { - registry[ module ].skipped = true; + skip = ( new Function( registry[ module ].skip )() ); + registry[ module ].skip = !!skip; + if ( skip ) { registry[ module ].dependencies = []; setAndPropagate( module, 'ready' ); return;