{"version":3,"sources":["jsdelivr-header.js","/npm/paheal@1.0.3/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,cAAgB,QAAQ,yBACxB,MAAQ,IAAI,cAEZ,MAAQ,QAAQ,cAChB,cAAgB,QAAQ,yBAExB,aAAe,CACjB,KAAM,4CACN,OAAQ,uCACR,KAAM,uCACN,GAAI,wCAGR,MAAM,OACF,OAAM,CAAU,GACZ,GAAgB,MAAZ,EAAI,MAAqC,iBAAd,EAAI,OAA2C,iBAAd,EAAI,MAAoB,MAAO,CAAE,OAAQ,IAAK,QAAS,kCACvH,IAAI,EAAQ,EAAkB,MAAZ,EAAI,KAAe,KAAK,IAAI,EAAI,OAAS,EAAI,MAAO,EAAkB,UAAZ,EAAI,KAAmB,aAAa,EAAI,MAAQ,KAAO,aAAa,EAAI,MAAQ,EAAM,KAAM,QAAa,MAAM,GAAK,MAAK,GAAO,EAAI,SAEhN,GAAgB,MAAZ,EAAI,KAAc,CAClB,IAAI,EAAS,MAAM,MAAM,GACzB,OAAqB,KAAjB,EAAO,OAAsB,EAC1B,EAAO,GAClB,CAGA,OAFA,EAAS,MAAM,YAAY,GAEN,KAAjB,EAAO,OAAsB,EAAO,IAC/B,EAAO,OAAe,EACxB,IAAI,cAAc,EAAO,QAAS,EAAK,EAAO,SACzD,CAUA,MAAA,CAAO,GACH,IAAI,EAAM,CAAE,KAAM,OAAQ,MAAO,GAEjC,OADK,IAAM,EAAI,KAAO,UACf,MAAK,EAAU,EAC1B,CAQA,QAAA,CAAS,GACL,OAAO,MAAK,EAAU,CAAE,KAAM,KAAM,MAAO,GAC/C,CAUA,QAAA,CAAS,GACL,OAAO,MAAK,EAAU,CAAE,KAAM,OAAQ,MAAO,GACjD,EAGJ,OAAO,QAAU","file":"/npm/paheal@1.0.3/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/paheal@1.0.3/src/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","const pahealService = require('./utils/pahealService')\r\nconst utils = new pahealService()\r\n\r\nconst fetch = require('node-fetch')\r\nconst searchService = require('./utils/searchService')\r\n\r\nconst searchChoise = {\r\n    name: 'https://rule34.paheal.net/post/list/user=',\r\n    random: 'https://rule34.paheal.net/post/list/',\r\n    text: 'https://rule34.paheal.net/post/list/',\r\n    id: 'https://rule34.paheal.net/post/view/'\r\n}\r\n\r\nclass paheal {\r\n    async #returner(obj) {\r\n        if (obj.type == 'id' && typeof obj.value !== 'number' && typeof obj.value !== 'string') return { status: 400, message: 'You entered an invalid request'}\r\n        let answer, key = obj.type == 'id' ? Math.abs(obj.value) : obj.value, url = obj.type == 'random' ? searchChoise[obj.type] + '/1' : searchChoise[obj.type] + key + '/1', html = await fetch(url).then(res => res.text())\r\n\r\n        if (obj.type == 'id') {\r\n            let answer = utils.parse(html)\r\n            if (answer.status != 302) return answer\r\n            return answer.obj\r\n        }\r\n        answer = utils.parseSearch(html)\r\n\r\n        if (answer.status == 302) return answer.obj\r\n        else if (answer.status) return answer\r\n        return new searchService(answer.results, url, answer.lastPage)\r\n    }\r\n\r\n    /**\r\n     * @param {String} text Tags for put the input of search results\r\n     * \r\n     * **Details of return:**\r\n     * * Class with methods for Continue Searching\r\n     * * Objects in array with Doujins\r\n     * @returns {Promise<searchService> | Promise<{author: String, tags: String[], src: String, href: String}>} Class with Methods and Results \r\n     */\r\n    search(text) {\r\n        let obj = { type: \"text\", value: text }\r\n        if (!text) obj.type = 'random'\r\n        return this.#returner(obj)\r\n    }\r\n\r\n    /**\r\n     * Give your specific media from current identificator \r\n     * \r\n     * @param {String | Number} id identificator of specific post\r\n     * @returns {Promise<{author: String, tags: String[], src: String, href: String}>} Object with information of media\r\n     */\r\n    getMedia(id) {\r\n        return this.#returner({ type: \"id\", value: id })\r\n    }\r\n\r\n    /**\r\n     * @param {String} text Tags for put the input of search results\r\n     * \r\n     * **Details of return:**\r\n     * * Class with methods for Continue Searching\r\n     * * Objects in array with Doujins\r\n     * @returns {Promise<searchService>} Class with Methods and Results \r\n     */\r\n    byAuthor(name) {\r\n        return this.#returner({ type: \"name\", value: name })\r\n    }\r\n}\r\n\r\nmodule.exports = paheal"]}