"use strict"; var path = require('path'); var services = []; require("fs").readdirSync(path.join(__dirname, "services")).forEach(function(file) { var service = require(path.join(__dirname, "services", file)); if (service.search) { services.push(service); } }); module.exports = function(url) { var matchedService; services.some(function(service) { matchedService = service.match(url) ? service : null; return matchedService; }); if (matchedService) { return matchedService.parseUrl(url).timeout(10000).then(function(result) { return matchedService.lookupId(result.id, result.type).then(function(item) { return item; }); }); } };