mw.loader: Return consistent object shape from splitModuleKey()
authorTimo Tijhof <krinklemail@gmail.com>
Sat, 30 Sep 2017 17:35:13 +0000 (18:35 +0100)
committerTimo Tijhof <krinklemail@gmail.com>
Sat, 30 Sep 2017 17:35:13 +0000 (18:35 +0100)
This is used in mw.loader.implement() in a truthy check before
assigning as value of `registry[module].version`.

Both implicit undefined and empty string are falsey so the
behaviour is unchanged.

This reduces shape variability for JS engines, and also avoid
potential mistakes if the function is used elsewhere since
internally the registry, as maintained by mw.loader.register(),
uses empty string as default for version, not undefined.

Change-Id: I067137557a55d521fefa40986373e55b6bbb59ff

resources/src/mediawiki/mediawiki.js

index aae292d..66e09dc 100644 (file)
                        function splitModuleKey( key ) {
                                var index = key.indexOf( '@' );
                                if ( index === -1 ) {
-                                       return { name: key };
+                                       return {
+                                               name: key,
+                                               version: ''
+                                       };
                                }
                                return {
                                        name: key.slice( 0, index ),