// skrypt zamienia literki wstecznych linków w przypisach na liczby dziesiętne
// używany przez ]
var cache,
pattern = /+$/,
baseA = "a".charCodeAt(0),
base = "z".charCodeAt(0) - baseA + 1,
exports = {};
function convertToDecimal ( value ) {
if (!cache.has(value)) {
var result = 0;
// Numer kolejny sekwencji wśród sekwencji o tejże długości
for(var i = 0; i < value.length; i++) {
var digit = value.charCodeAt(i) - baseA;
result = result * base + digit;
}
// Uwzględnij kombinacje z mniejszą ilością znaków
if (value.length > 1) {
result += Math.pow(base + 1, value.length - 2) * base;
}
cache.set(value, (result + 1).toString());
}
return cache.get(value);
}
exports.testPreconditions = $.noop;
exports.initialize = function () {
cache = new Map();
cache.set("a", "1");
cache.set("b", "2");
cache.set("c", "3");
cache.set("d", "4");
cache.set("e", "5");
};
exports.filter = $.noop;
exports.process = function ( $els ) {
$els.each(function(){
$(".mw-cite-backlink sup a", this).each(function(){
$(this).html($(this).html().replace(pattern, function(value, offset, full){
return convertToDecimal(value);
}));
});
});
};
module.exports = exports;