{"version":3,"sources":["jsdelivr-header.js","/npm/yify-subs@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,WAClB,QAAU,qCACV,YAAc,+BACd,EAAI,QAAQ,KACZ,EAAI,QAAQ,cAGhB,OAAO,QAAU,CACb,UAAW,SAAS,GAEhB,OADA,EAAQ,EAAK,MAAM,MAAS,EAAO,KAAO,CAE9C,EACA,IAAK,SAAS,GACV,IAAI,EAAW,EAAE,QAWjB,OAVA,QAAQ,CACJ,IAAK,QAAU,EACf,MAAM,IACP,SAAS,EAAK,EAAK,GAClB,OAAI,GAAO,EAAI,YAAc,MAAQ,IAAS,EAAK,QACxC,EAAS,OAAO,GAEhB,EAAS,QAAQ,EAEhC,IACO,EAAS,OACpB,EACA,aAAc,SAAS,EAAM,GACzB,IAAI,EAAO,CAAC,EACR,EAAY,GACZ,EAAQ,GACR,EAAO,KAkBX,OAjBA,EAAE,KAAK,EAAK,KAAK,IAAO,SAAS,EAAW,GACxC,IAAI,EAAW,EAAE,OAAO,GAAW,SAAS,GACpC,OAAO,EAAE,MACb,IAAG,UACH,EAAa,EAAK,gBAAgB,GACtC,EAAM,KAAK,GACX,EAAU,GAAc,GAExB,EAAE,KAAK,GAAU,SAAS,GACtB,EAAU,GAAY,KAAK,CACvB,OAAQ,EAAK,OACb,IAAK,YAAc,EAAK,KAEhC,GACJ,IACA,EAAK,UAAY,EACjB,EAAK,KAAO,EACL,CACX,EACA,QAAS,SAAS,GACd,IAAI,EAAM,EAAE,QACR,EAAO,KACP,EAAO,EAAK,UAAU,GAO1B,OALA,EAAK,IAAI,GAAM,MAAK,SAAS,GACzB,EAAI,QAAQ,EAAK,aAAa,EAAM,GACxC,IAAG,OAAM,SAAS,GACd,EAAI,OAAO,EACf,IACO,EAAI,OACf,EACA,OAAQ,SAAU,EAAM,GACvB,IAAY,EAAO,GAEnB,IAAI,OAAO,EAAK,KACZ,EAAE,SAAS,EAAK,OAAM,EAAK,KAAO,EAAK,KAAK,MAMhD,OAHA,EAAK,UAAY,EACjB,EAAK,KAAO,EAEL,CACR,EACA,gBAAkB,SAAS,GAC1B,IAAI,EAAQ,KAAK,gBACjB,IAAI,QAAQ,EACX,GAAI,EAAM,QAAU,EAAQ,OAAO,IAErC,EACA,gBAAiB,CACb,SAAY,KACZ,OAAU,KACV,QAAW,KACX,uBAAwB,QACxB,UAAa,KACb,QAAW,KACX,QAAW,KACX,SAAY,KACZ,MAAS,KACT,OAAU,KACV,MAAS,KACT,QAAW,KACX,SAAY,KACZ,gBAAiB,KACjB,QAAW,KACX,OAAU,KACV,OAAU,KACV,MAAS,KACT,OAAU,KACV,UAAa,KACb,WAAc,KACd,QAAW,KACX,SAAY,KACZ,OAAU,KACV,WAAc,KACd,WAAc,KACd,MAAS,KACT,UAAa,KACb,OAAU,KACV,WAAc,KACd,SAAY,KACZ,QAAW,KACX,QAAW,KACX,UAAa,KACb,QAAW,KACX,QAAW,KACX,KAAQ,KACR,QAAW,KACX,KAAQ,KACR,UAAa,KACb,WAAc","file":"/npm/yify-subs@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/yify-subs@1.0.0/index.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 request = require(\"request\"),\n    baseURI = \"http://api.yifysubtitles.com/subs/\",\n    downloadURI = \"http://www.yifysubtitles.com\",\n    Q = require('q'),\n    _ = require('underscore');\n\n\nmodule.exports = {\n    syntaxUrl: function(imdb) {\n        imdb = (imdb.match(\"tt\")) ? imdb : \"tt\" + imdb;\n        return imdb;\n    },\n    get: function(imdb) {\n        var deferred = Q.defer();\n        request({\n            url: baseURI + imdb,\n            json: true\n        }, function(err, res, data) {\n            if (err || res.statusCode >= 400 || !data || !data.success) {\n                return deferred.reject(err);\n            } else {\n                return deferred.resolve(data);\n            }\n        });\n        return deferred.promise;\n    },\n    formatForUse: function(data, imdb) {\n        var Subs = {},\n            movieSubs = [],\n            langs = [],\n            self = this;\n        _.each(data.subs[imdb], function(langsData, lang) {\n            var langData = _.sortBy(langsData, function(s) {\n                    return s.rating;\n                }).reverse(),\n                langPrefix = self.languageMapping[lang];\n            langs.push(langPrefix);\n            movieSubs[langPrefix] = [];\n\n            _.each(langData, function(Data) {\n                movieSubs[langPrefix].push({\n                    rating: Data.rating,\n                    url: downloadURI + Data.url\n                })\n            });\n        });\n        Subs.languages = langs;\n        Subs.subs = movieSubs;\n        return Subs;\n    },\n    getSubs: function(imdb) {\n        var def = Q.defer(),\n            self = this,\n            imdb = self.syntaxUrl(imdb);\n\n        self.get(imdb).then(function(data) {\n            def.resolve(self.formatForUse(data, imdb));\n        }).catch(function(error) {\n            def.reject(error);\n        });\n        return def.promise;\n    },\n    filter: function (data, arr){\n    \tvar result, subs = [];\n\n    \tfor(sub in data.subs){\n    \t\tif(_.contains(arr, sub)) subs[sub] = data.subs[sub];\n    \t}\n\n    \tdata.languages = arr;\n    \tdata.subs = subs;\n\n    \treturn data;\n    },\n    getlanguageName : function(prefix){\n    \tvar langs = this.languageMapping;\n    \tfor(lang in langs){\n    \t\tif (langs[lang] === prefix) return lang;\n    \t}\n    },\n    languageMapping: {\n        'albanian': 'sq',\n        'arabic': 'ar',\n        'bengali': 'bn',\n        'brazilian-portuguese': 'pt-br',\n        'bulgarian': 'bg',\n        'bosnian': 'bs',\n        'chinese': 'zh',\n        'croatian': 'hr',\n        'czech': 'cs',\n        'danish': 'da',\n        'dutch': 'nl',\n        'english': 'en',\n        'estonian': 'et',\n        'farsi-persian': 'fa',\n        'finnish': 'fi',\n        'french': 'fr',\n        'german': 'de',\n        'greek': 'el',\n        'hebrew': 'he',\n        'hungarian': 'hu',\n        'indonesian': 'id',\n        'italian': 'it',\n        'japanese': 'ja',\n        'korean': 'ko',\n        'lithuanian': 'lt',\n        'macedonian': 'mk',\n        'malay': 'ms',\n        'norwegian': 'no',\n        'polish': 'pl',\n        'portuguese': 'pt',\n        'romanian': 'ro',\n        'russian': 'ru',\n        'serbian': 'sr',\n        'slovenian': 'sl',\n        'spanish': 'es',\n        'swedish': 'sv',\n        'thai': 'th',\n        'turkish': 'tr',\n        'urdu': 'ur',\n        'ukrainian': 'uk',\n        'vietnamese': 'vi'\n    }\n}\n"]}