( function ( mw, $ ) {
var inspect,
+ byteLength = require( 'mediawiki.String' ).byteLength,
hasOwn = Object.prototype.hasOwnProperty;
function sortByProperty( array, prop, descending ) {
var modules = inspect.getLoadedModules(),
graph = {};
- $.each( modules, function ( moduleIndex, moduleName ) {
+ modules.forEach( function ( moduleName ) {
var dependencies = mw.loader.moduleRegistry[ moduleName ].dependencies || [];
if ( !hasOwn.call( graph, moduleName ) ) {
}
graph[ moduleName ].requires = dependencies;
- $.each( dependencies, function ( depIndex, depName ) {
+ dependencies.forEach( function ( depName ) {
if ( !hasOwn.call( graph, depName ) ) {
graph[ depName ] = { requiredBy: [] };
}
size = 0;
for ( i = 0; i < args.length; i++ ) {
if ( typeof args[ i ] === 'function' ) {
- size += $.byteLength( getFunctionBody( args[ i ] ) );
+ size += byteLength( getFunctionBody( args[ i ] ) );
} else {
- size += $.byteLength( JSON.stringify( args[ i ] ) );
+ size += byteLength( JSON.stringify( args[ i ] ) );
}
}
* @return {Array} List of module names
*/
getLoadedModules: function () {
- return $.grep( mw.loader.getModuleNames(), function ( module ) {
+ return mw.loader.getModuleNames().filter( function ( module ) {
return mw.loader.getState( module ) === 'ready';
} );
},
Array.prototype.slice.call( arguments ) :
$.map( inspect.reports, function ( v, k ) { return k; } );
- $.each( reports, function ( index, name ) {
+ reports.forEach( function ( name ) {
inspect.dumpTable( inspect.reports[ name ]() );
} );
},
*/
size: function () {
// Map each module to a descriptor object.
- var modules = $.map( inspect.getLoadedModules(), function ( module ) {
+ var modules = inspect.getLoadedModules().map( function ( module ) {
return {
name: module,
size: inspect.getModuleSize( module )
sortByProperty( modules, 'size', true );
// Convert size to human-readable string.
- $.each( modules, function ( i, module ) {
+ modules.forEach( function ( module ) {
module.sizeInBytes = module.size;
module.size = humanSize( module.size );
} );
css: function () {
var modules = [];
- $.each( inspect.getLoadedModules(), function ( index, name ) {
+ inspect.getLoadedModules().forEach( function ( name ) {
var css, stats, module = mw.loader.moduleRegistry[ name ];
try {
$.extend( stats, mw.loader.store.stats );
try {
raw = localStorage.getItem( mw.loader.store.getStoreKey() );
- stats.totalSizeInBytes = $.byteLength( raw );
- stats.totalSize = humanSize( $.byteLength( raw ) );
+ stats.totalSizeInBytes = byteLength( raw );
+ stats.totalSize = humanSize( byteLength( raw ) );
} catch ( e ) {}
}
return [ stats ];
pattern = new RegExp( mw.RegExp.escape( pattern ), 'g' );
}
- return $.grep( inspect.getLoadedModules(), function ( moduleName ) {
+ return inspect.getLoadedModules().filter( function ( moduleName ) {
var module = mw.loader.moduleRegistry[ moduleName ];
// Grep module's JavaScript