mediawiki.util: Use RegExp.test() instead of String.search()
authorTimo Tijhof <krinklemail@gmail.com>
Thu, 12 May 2016 23:42:51 +0000 (00:42 +0100)
committerTimo Tijhof <krinklemail@gmail.com>
Thu, 12 May 2016 23:45:29 +0000 (00:45 +0100)
More idiomatic and consistent with similar code in our code base.

Also shorter code and marginally faster by not needing to return any
index. RegExp#test returns boolean.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

Change-Id: I80fe78fbf4f1a0f4788430f45c12e0227e54ccb2

resources/src/mediawiki/mediawiki.util.js

index cccc468..8dc8a61 100644 (file)
                                RE_IP_BYTE = '(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])',
                                RE_IP_ADD = '(?:' + RE_IP_BYTE + '\\.){3}' + RE_IP_BYTE;
 
-                       return address.search( new RegExp( '^' + RE_IP_ADD + block + '$' ) ) !== -1;
+                       return ( new RegExp( '^' + RE_IP_ADD + block + '$' ).test( address ) );
                },
 
                /**
                        '[0-9A-Fa-f]{1,4}' + '(?::' + '[0-9A-Fa-f]{1,4}' + '){7}' +
                        ')';
 
-                       if ( address.search( new RegExp( '^' + RE_IPV6_ADD + block + '$' ) ) !== -1 ) {
+                       if ( new RegExp( '^' + RE_IPV6_ADD + block + '$' ).test( address ) ) {
                                return true;
                        }
 
-                       RE_IPV6_ADD = // contains one "::" in the middle (single '::' check below)
-                               '[0-9A-Fa-f]{1,4}' + '(?:::?' + '[0-9A-Fa-f]{1,4}' + '){1,6}';
+                       // contains one "::" in the middle (single '::' check below)
+                       RE_IPV6_ADD = '[0-9A-Fa-f]{1,4}' + '(?:::?' + '[0-9A-Fa-f]{1,4}' + '){1,6}';
 
-                       return address.search( new RegExp( '^' + RE_IPV6_ADD + block + '$' ) ) !== -1
-                               && address.search( /::/ ) !== -1 && address.search( /::.*::/ ) === -1;
+                       return (
+                               new RegExp( '^' + RE_IPV6_ADD + block + '$' ).test( address )
+                               && /::/.test( address )
+                               && !/::.*::/.test( address )
+                       );
                },
 
                /**