UNPKG

identify-media

Version:

Analyse file path and content to make search criteria for media APIs

41 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const keyMappings = { hash: 'moviehash-', size: 'moviebytesize-', imdbId: 'imdbid-', query: 'query-', episode: 'episode-', season: 'season-', language: 'sublanguageid-', tags: 'tags-', }; const imdbRex = /tt(\d{7,9})/; const mapKeyValue = (key, value) => { if (!value) return undefined; if (key === 'imdbId') { const imdbIdReg = imdbRex.exec(value); if (!imdbIdReg) return undefined; return `${keyMappings[key]}${imdbIdReg[1]}`; } if (typeof value === 'string') { return `${keyMappings[key]}${encodeURI(value)}`; } return `${keyMappings[key]}${value}`; }; const mapKeys = (args) => Object.entries(args).map(([key, value]) => mapKeyValue(key, value)) .filter((key) => !!key).sort().join('/').toLocaleLowerCase(); const search = (args, userAgent) => { return { baseURL: 'https://rest.opensubtitles.org', method: 'GET', headers: { 'X-User-Agent': userAgent, }, url: `/search/${mapKeys(args)}`, }; }; exports.default = search; //# sourceMappingURL=search.js.map