Selecting included networks with infinite parent depth to facilitate scraper resolve.
This commit is contained in:
32
src/scrapers/resolve.js
Normal file
32
src/scrapers/resolve.js
Normal file
@@ -0,0 +1,32 @@
|
||||
'use strict';
|
||||
|
||||
const scrapers = require('./scrapers');
|
||||
|
||||
function resolveScraper(entity) {
|
||||
if (scrapers.releases[entity.slug]) {
|
||||
return scrapers.releases[entity.slug];
|
||||
}
|
||||
|
||||
if (entity.parent) {
|
||||
return resolveScraper(entity.parent);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function resolveLayoutScraper(entity, scraper) {
|
||||
if (scraper?.[entity.parameters?.layout]) {
|
||||
return scraper[entity.parameters.layout];
|
||||
}
|
||||
|
||||
if (entity.parent) {
|
||||
return resolveLayoutScraper(entity.parent, scraper);
|
||||
}
|
||||
|
||||
return scraper;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
resolveScraper,
|
||||
resolveLayoutScraper,
|
||||
};
|
||||
Reference in New Issue
Block a user