Merge "mediawiki.inspect: Fix exception when calling mw.inspect() a second time"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 27 Jun 2018 07:19:09 +0000 (07:19 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 27 Jun 2018 07:19:09 +0000 (07:19 +0000)
resources/src/mediawiki.inspect.js

index cf94083..e2030c9 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * Tools for inspecting page composition and performance.
+ * The mediawiki.inspect module.
  *
  * @author Ori Livneh
  * @since 1.22
@@ -9,7 +9,19 @@
 
 ( function ( mw, $ ) {
 
-       var inspect,
+       // mw.inspect is a singleton class with static methods
+       // that itself can also be invoked as a function (mediawiki.base/mw#inspect).
+       // In JavaScript, that is implemented by starting with a function,
+       // and subsequently setting additional properties on the function object.
+
+       /**
+        * Tools for inspecting page composition and performance.
+        *
+        * @class mw.inspect
+        * @singleton
+        */
+
+       var inspect = mw.inspect,
                byteLength = require( 'mediawiki.String' ).byteLength,
                hasOwn = Object.prototype.hasOwnProperty;
 
                return bytes.toFixed( i > 0 ? 1 : 0 ) + units[ i ];
        }
 
-       /**
-        * @class mw.inspect
-        * @singleton
-        */
-       inspect = {};
-
        /**
         * Return a map of all dependency relationships between loaded modules.
         *
                mw.log( 'mw.inspect: reports are not available in debug mode.' );
        }
 
-       mw.inspect = inspect;
-
 }( mediaWiki, jQuery ) );