User:Daniel Quinlan/Scripts/RangeHelper.js: Difference between revisions

Content deleted Content added
improve IPv6 address compression, other minor changes
minor fixes
Line 218:
api = new mw.Api();
formatTimeAndDate = mw.loader.require('mediawiki.DateFormatter').formatTimeAndDate;
const rangeIP = maskedIP(ip, ip.mask, false).toUpperCase();
document.title = `Range blocks for ${rangeIP}`;
const heading = document.querySelector('#firstHeading');
Line 358:
function compressIPv6(ipv6) {
const zeroBlocks = ipv6.match(/\b0(?:\:0)+\b/g);
if (!zeroBlocks) return ipv6;
const longestZeroBlock = zeroBlocks.reduce((longest, current) => {
return current.length > longest.length ? current : longest;
}, "");
if (longestZeroBlock) {
return ipv6.replace(new RegExp(`:?\\b${longestZeroBlock}\\b:?`), '::');
}
return ipv6;