Erster Docker-Stand
This commit is contained in:
38
_node_modules/zeptomatch/dist/range.js
generated
vendored
Normal file
38
_node_modules/zeptomatch/dist/range.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/* CONSTANTS */
|
||||
const ALPHABET = 'abcdefghijklmnopqrstuvwxyz';
|
||||
/* HELPERS */
|
||||
const int2alpha = (int) => {
|
||||
let alpha = '';
|
||||
while (int > 0) {
|
||||
const reminder = (int - 1) % 26;
|
||||
alpha = ALPHABET[reminder] + alpha;
|
||||
int = Math.floor((int - 1) / 26);
|
||||
}
|
||||
return alpha;
|
||||
};
|
||||
const alpha2int = (str) => {
|
||||
let int = 0;
|
||||
for (let i = 0, l = str.length; i < l; i++) {
|
||||
int = (int * 26) + ALPHABET.indexOf(str[i]) + 1;
|
||||
}
|
||||
return int;
|
||||
};
|
||||
/* MAIN */
|
||||
// This isn't the most efficient way to do it, but it's extremely compact and we don't care about the performance of creating the ranges too much
|
||||
const makeRangeInt = (start, end) => {
|
||||
if (end < start)
|
||||
return makeRangeInt(end, start);
|
||||
const range = [];
|
||||
while (start <= end) {
|
||||
range.push(start++);
|
||||
}
|
||||
return range;
|
||||
};
|
||||
const makeRangePaddedInt = (start, end, paddingLength) => {
|
||||
return makeRangeInt(start, end).map(int => String(int).padStart(paddingLength, '0'));
|
||||
};
|
||||
const makeRangeAlpha = (start, end) => {
|
||||
return makeRangeInt(alpha2int(start), alpha2int(end)).map(int2alpha);
|
||||
};
|
||||
/* EXPORT */
|
||||
export { makeRangeInt, makeRangePaddedInt, makeRangeAlpha };
|
||||
Reference in New Issue
Block a user