{"version":3,"sources":["jsdelivr-header.js","/npm/subxfinder@1.0.1/subxfinder.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,KAAO,QAAQ,QAAR,GACV,EAAI,QAAQ,UAET,WAAa,WAMhB,OALA,KAAK,QAAU,CACd,QAAS,oDACT,QAAS,KAGH,IACR,EAqFA,SAAS,gBAAgB,EAAS,EAAU,EAAW,EAAY,EAAG,GACrE,QAAQ,IAAI,oBAAqB,GAEjC,KAAK,EAAQ,QAAU,EAAW,OAAS,EAAG,sCAAuC,CACpF,KAAM,CACL,MAAO,KAAK,2BAA4B,CAAC,CAAC,MAAO,MACjD,YAAa,KAAK,wBAAyB,CAAC,CAAC,YAAa,MAC1D,KAAM,KAAK,8BAA+B,CAAC,CAAC,KAAM,yBAJpD,EAMG,SAAS,EAAK,GAChB,EAAY,EAAU,OAAO,EAAE,MAAM,EAAE,MAAM,EAAK,KAAK,MAAO,EAAK,KAAK,aAAc,EAAK,KAAK,QAChG,GAAQ,IAEA,EACP,EAAS,MAAM,KAAM,CAAC,KAAM,IAE5B,gBAAgB,EAAS,EAAU,EAAW,EAAY,EAAG,EAE/D,GACD,CAtGA,WAAW,UAAU,OAAS,SAAS,EAAO,GAC7C,IAAI,EAAQ,KACX,EAAW,KAAK,iBAAiB,GAElC,KAAK,QAAQ,EAAM,QAAQ,SAE3B,IACC,GAAI,EAAM,QAAU,EAAG,MAAM,IAAI,MAAM,iDAEvC,QAAQ,IAAI,8BAA+B,GAE3C,KAAK,EAAM,QAAQ,QAAU,EAAU,sCAAuC,CAC7E,OAAQ,mBACR,MAAO,KAAK,gBAAiB,CAAC,KAC9B,KAAM,CACL,MAAO,KAAK,2BAA4B,CAAC,CAAC,MAAO,MACjD,YAAa,KAAK,wBAAyB,CAAC,CAAC,YAAa,MAC1D,KAAM,KAAK,8BAA+B,CAAC,CAAC,KAAM,yBANpD,EAQG,SAAS,EAAK,GAChB,IAAK,EAAK,OAAQ,MAAM,IAAI,MAAM,wBAClC,GAAI,EAAK,MAAM,IAAI,MAAM,GAEzB,IAAI,EAAa,EAEO,GAArB,EAAK,MAAM,SACb,EAAmD,eAArC,EAAK,MAAM,EAAK,MAAM,OAAS,GAAuB,EAAK,MAAM,EAAK,MAAM,OAAS,GAAK,EAAK,MAAM,EAAK,MAAM,OAAS,IAGxI,IAAI,EAAY,EAAE,MAAM,EAAE,MAAM,EAAK,KAAK,MAAO,EAAK,KAAK,aAAc,EAAK,KAAK,MAEnF,GAAG,EAAa,EAAE,CAEjB,gBAAgB,EAAM,QAAS,EAAU,EAAW,EAD5C,EAC2D,EACpE,CACD,GACD,CAAC,MAAM,GACN,EAAS,MAAM,KAAM,CAAC,EAAO,MAC9B,CACD,EAEA,WAAW,UAAU,gBAAkB,SAAS,EAAO,EAAoB,EAAQ,GAClF,IACC,EAAc,EAAW,CAAC,GAAsB,EAAmB,MAAM,KAE1E,IAHY,KAIL,OAAO,GAAO,SAAS,EAAK,GACjC,GAAG,EACF,MAAM,IAAI,MAAM,GAGhB,IAAI,EAAY,EAAE,OAAO,GAAW,SAAS,GAC5C,IAAI,GAAQ,EAWZ,OATG,EAAI,aACN,EAAE,GAAa,SAAQ,SAAS,IACmC,IAA9D,EAAI,YAAY,cAAc,QAAQ,EAAI,iBAC7C,GAAQ,EAGV,IAAG,QAGG,CACR,IAEA,EAAS,MAAM,KAAM,CAAC,KAAM,GAE9B,GACD,CAAC,MAAM,GACN,EAAS,MAAM,KAAM,CAAC,EAAO,MAC9B,CACD,EAgCA,WAAW,UAAU,WAAa,SAAS,GAC1C,KAAK,QAAU,EAAE,MAAM,KAAK,QAAS,EACtC,EAEA,WAAW,UAAU,iBAAmB,SAAS,GAChD,OAAO,mBAAmB,EAC3B,EAEA,OAAO,QAAU,IAAI","file":"/npm/subxfinder@1.0.1/subxfinder.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/subxfinder@1.0.1/subxfinder.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var xray = require('x-ray')(),\n\t_ = require('lodash');\n\nvar subxfinder = function(){\n\tthis.configs = {\n\t\trootUrl: 'http://www.subdivx.com/index.php?accion=5&buscar=',\n\t\ttimeout: 20000\n\t};\n\n\treturn this;\n};\n\nsubxfinder.prototype.search = function(title, callback){\n\tvar _this = this,\n\t\ttoSearch = this.prepareParameter(title);\n\n\txray.timeout(_this.configs.timeout);\n\n\ttry{\n\t\tif (title.length <= 3) throw new Error('The search title must have at least 3 letters');\n\n\t\tconsole.log('Searching subtitles for: %s', title);\n\n\t\txray(_this.configs.rootUrl + toSearch, '#contenedor_interno #contenedor_izq', {\n\t\t\tresult: 'span.result_busc',\n\t\t\tpages: xray('.pagination a', ['']),\n\t\t\tsubs: {\n\t\t\t\ttitle: xray('#menu_detalle_buscador a', [{title: ''}]),\n\t\t\t\tdescription: xray('#buscador_detalle_sub', [{description: ''}]),\n\t\t\t\tlink: xray('#buscador_detalle_sub_datos', [{link: 'a:last-child@href'}])\n\t\t\t}\n\t\t})(function(err, data){\n\t\t\tif (!data.result) throw new Error('No results available');\n\t\t\tif (err) throw new Error(err);\n\n\t\t\tvar totalPages = 1;\n\n\t\t\tif(data.pages.length != 0){\n\t\t\t\ttotalPages = (data.pages[data.pages.length - 1] != 'Siguiente »') ? data.pages[data.pages.length - 1] : data.pages[data.pages.length - 2];\n\t\t\t}\n\n\t\t\tvar subtitles = _.merge(_.merge(data.subs.title, data.subs.description), data.subs.link);\n\n\t\t\tif(totalPages > 1){\n\t\t\t\tvar i = 2;\n\t\t\t\tsearchRecursive(_this.configs, toSearch, subtitles, totalPages, i, callback);\n\t\t\t}\n\t\t});\n\t}catch(error){\n\t\tcallback.apply(null, [error, null]);\n\t}\n};\n\nsubxfinder.prototype.searchAndFilter = function(title, description_filter, strict, callback){\n\tvar _this = this,\n\t\tdescFilters = (strict) ? [description_filter] : description_filter.split(\" \");\n\n\ttry{\n\t\t_this.search(title, function(err, subtitles){\n\t\t\tif(err){\n\t\t\t\tthrow new Error(err);\n\t\t\t}else{\n\t\t\t\t//Filter by description\n\t\t\t\tvar subsFound = _.filter(subtitles, function(sub){\n\t\t\t\t\tvar found = false;\n\n\t\t\t\t\tif(sub.description){\n\t\t\t\t\t\t_(descFilters).forEach(function(str){\n\t\t\t\t\t\t\tif( sub.description.toLowerCase().indexOf(str.toLowerCase()) !== -1 ){\n\t\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}).value();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn found;\n\t\t\t\t});\n\n\t\t\t\tcallback.apply(null, [null, subsFound]);\n\t\t\t}\n\t\t});\n\t}catch(error){\n\t\tcallback.apply(null, [error, null]);\n\t}\n};\n\n/**\n * Search on page recursive\n * @param configs\n * @param toSearch\n * @param subtitles\n * @param totalPages\n * @param i\n * @param callback\n */\nfunction searchRecursive(configs, toSearch, subtitles, totalPages, i, callback){\n\tconsole.log('Querying page: %s', i);\n\n\txray(configs.rootUrl + toSearch + '&pg=' + i, '#contenedor_interno #contenedor_izq', {\n\t\tsubs: {\n\t\t\ttitle: xray('#menu_detalle_buscador a', [{title: ''}]),\n\t\t\tdescription: xray('#buscador_detalle_sub', [{description: ''}]),\n\t\t\tlink: xray('#buscador_detalle_sub_datos', [{link: 'a:last-child@href'}])\n\t\t}\n\t})(function(err, data){\n\t\tsubtitles = subtitles.concat(_.merge(_.merge(data.subs.title, data.subs.description), data.subs.link));\n\t\ti = i + 1;\n\n\t\tif(i == totalPages){\n\t\t\tcallback.apply(null, [null, subtitles]);\n\t\t}else{\n\t\t\tsearchRecursive(configs, toSearch, subtitles, totalPages, i, callback);\n\t\t}\n\t});\n}\n\nsubxfinder.prototype.setConfigs = function(configs){\n\tthis.configs = _.merge(this.configs, configs);\n};\n\nsubxfinder.prototype.prepareParameter = function(param){\n\treturn encodeURIComponent(param)\n};\n\nmodule.exports = new subxfinder();"]}