UNPKG

playdl-music-extractor

Version:

PlayDL Music Extractor is a Extractor/Scrapper and Helps Players to fetch data from play-dl or Custom Extractors , as Per reduces extra work and credentials

50 lines (43 loc) 1.52 kB
const playdlEngine = require('./__playdlEngine'); class deezer { static __dezerRegex = [ /^https?:\/\/(?:www\.)?deezer\.com\/([^#/\&\?]+)\/(track|album|playlist)\/(\d+)$/, /^https?:\/\/(?:www\.)?deezer\.com\/([^#/\&\?]+)\/(track)\/(\d+)$/, /^https?:\/\/(?:www\.)?deezer\.com\/([^#/\&\?]+)\/(album|playlist)\/(\d+)$/, ]; static __dezerTrackRegex = /^https?:\/\/(?:www\.)?deezer\.com\/([^#/\&\?]+)\/(track)\/(\d+)$/; static __dezeralbumRegex = /^https?:\/\/(?:www\.)?deezer\.com\/([^#/\&\?]+)\/(album|playlist)\/(\d+)$/; static __test(rawUrl, returnRegexValue = false) { try { if (!(rawUrl && typeof rawUrl === 'string' && rawUrl !== '')) { return false; } return returnRegexValue && Boolean(deezer.__dezerRegex.find((regExp) => regExp.test(rawUrl))) ? rawUrl?.match( deezer.__dezerRegex.find((regExp) => rawUrl.match(regExp)), ) ?? false : Boolean(deezer.__dezerRegex.find((regExp) => regExp.test(rawUrl))); } catch { return false; } } static async __extractor(rawUrl, __scrapperOptions, playdl, queue) { try { await playdlEngine.__rawExtractor( rawUrl, { orignal_extractor: 'deezer' }, __scrapperOptions, playdl, queue, ); return true; } catch (rawError) { if (__scrapperOptions?.ignoreInternalError) { return void playdl.__errorHandling(rawError); } throw rawError; } } } module.exports = deezer;