32 lines
865 B
JavaScript
32 lines
865 B
JavaScript
export function extractSeeders(title) {
|
|
const seedersMatch = title.match(/👤 (\d+)/);
|
|
return seedersMatch && parseInt(seedersMatch[1]) || 0;
|
|
}
|
|
|
|
export function extractSize(title) {
|
|
const seedersMatch = title.match(/💾 ([\d.]+ \w+)/);
|
|
return seedersMatch && parseSize(seedersMatch[1]) || 0;
|
|
}
|
|
|
|
export function extractProvider(title) {
|
|
const match = title.match(/⚙.* ([^ \n]+)/);
|
|
return match?.[1]?.toLowerCase();
|
|
}
|
|
|
|
export function parseSize(sizeText) {
|
|
if (!sizeText) {
|
|
return 0;
|
|
}
|
|
let scale = 1;
|
|
if (sizeText.includes('TB')) {
|
|
scale = 1024 * 1024 * 1024 * 1024
|
|
} else if (sizeText.includes('GB')) {
|
|
scale = 1024 * 1024 * 1024
|
|
} else if (sizeText.includes('MB')) {
|
|
scale = 1024 * 1024;
|
|
} else if (sizeText.includes('kB')) {
|
|
scale = 1024;
|
|
}
|
|
return Math.floor(parseFloat(sizeText.replace(/,/g, '')) * scale);
|
|
}
|