{"version":3,"sources":["jsdelivr-header.js","/npm/picgo-plugin-imgkb@1.0.5/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,gBAAmB,MAAQ,KAAK,iBAAoB,SAAU,GAC9D,OAAQ,GAAO,EAAI,WAAc,EAAM,CAAE,QAAW,EACxD,EACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,MAAM,QAAU,gBAAgB,QAAQ,UACxC,OAAO,QAAW,IACd,MAOM,EAAc,CAAC,EAAO,EAAe,EAAU,KAK1C,CACH,OAAQ,OACR,IAAK,+BACL,MAPe,IAAI,QAAQ,QAAQ,MAAM,CAEzC,oBAAqB,IAMrB,QAAS,CACL,eAAgB,sBAEhB,aAAc,QACd,WAAc,aACd,MAAS,QAAS,GAEtB,SAAU,CACN,MAAO,CACH,MAAO,EACP,QAAS,CACL,SAAU,IAGlB,IAAK,UAIX,EAAS,MAAO,IAClB,IAAI,EAAa,EAAI,UAAU,gBAC/B,IAAK,EACD,MAAM,IAAI,MAAM,8BAEpB,MAAM,EAAQ,EAAW,MACnB,EAAgB,EAAW,cAC3B,EAAU,EAAI,OACpB,IAAK,IAAI,KAAK,EAAS,CACnB,IAAI,EAAQ,EAAQ,GAAG,QAClB,GAAS,EAAQ,GAAG,cACrB,EAAQ,OAAO,KAAK,EAAQ,GAAG,YAAa,WAEhD,MAAM,EAAa,EAAY,EAAO,EAAe,EAAQ,GAAG,SAAU,GAC1E,IAAI,QAAa,EAAI,QAAQ,QAAQ,GAErC,GADA,EAAO,KAAK,MAAM,GACA,MAAd,EAAK,KAUL,MAJA,EAAI,KAAK,eAAgB,CACrB,MAAO,gBACP,KAAM,EAAK,UAET,IAAI,MAAM,EAAK,gBATd,EAAQ,GAAG,mBACX,EAAQ,GAAG,OAClB,EAAQ,GAAW,OAAI,EAAK,KAAK,GASzC,CACA,OAAO,CAAG,EAER,EAAS,IACX,IAAI,EAAa,EAAI,UAAU,gBAI/B,OAHK,IACD,EAAa,CAAC,GAEX,CACH,CACI,KAAM,QACN,KAAM,QACN,QAAS,EAAW,MACpB,UAAU,EACV,QAAS,cACT,MAAO,cAEX,CACI,KAAM,gBACN,KAAM,UACN,QAAS,EAAW,gBAAiB,EACrC,QAAS,gCACT,UAAU,EACV,MAAO,4BAEd,EAEL,MAAO,CACH,SAAU,QACV,OAAQ,EACR,SA5Fa,KACb,EAAI,OAAO,SAAS,SAAS,QAAS,CAClC,SACA,KAAM,QACN,OAAQ,GACV,EAwFL","file":"/npm/picgo-plugin-imgkb@1.0.5/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/picgo-plugin-imgkb@1.0.5/dist/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","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst https_1 = __importDefault(require(\"https\"));\r\nmodule.exports = (ctx) => {\r\n    const register = () => {\r\n        ctx.helper.uploader.register('imgkb', {\r\n            handle,\r\n            name: 'imgkb',\r\n            config: config\r\n        });\r\n    };\r\n    const postOptions = (token, ignoreCertErr, fileName, image) => {\r\n        let requestAgent = new https_1.default.Agent({\r\n            // 此处需要取反 忽略证书错误 拒绝未授权证书选项\r\n            rejectUnauthorized: !ignoreCertErr\r\n        });\r\n        return {\r\n            method: 'POST',\r\n            url: `https://imgkb.com/api/upload`,\r\n            agent: requestAgent,\r\n            headers: {\r\n                'Content-Type': 'multipart/form-data',\r\n                // 'Host': \"https://imgkb.com\",\r\n                'User-Agent': 'PicGo',\r\n                'Connection': 'keep-alive',\r\n                'token': token || undefined\r\n            },\r\n            formData: {\r\n                image: {\r\n                    value: image,\r\n                    options: {\r\n                        filename: fileName\r\n                    }\r\n                },\r\n                ssl: 'true'\r\n            }\r\n        };\r\n    };\r\n    const handle = async (ctx) => {\r\n        let userConfig = ctx.getConfig('picBed.imgkb');\r\n        if (!userConfig) {\r\n            throw new Error('Can\\'t find uploader config');\r\n        }\r\n        const token = userConfig.token;\r\n        const ignoreCertErr = userConfig.ignoreCertErr;\r\n        const imgList = ctx.output;\r\n        for (let i in imgList) {\r\n            let image = imgList[i].buffer;\r\n            if (!image && imgList[i].base64Image) {\r\n                image = Buffer.from(imgList[i].base64Image, 'base64');\r\n            }\r\n            const postConfig = postOptions(token, ignoreCertErr, imgList[i].fileName, image);\r\n            let body = await ctx.Request.request(postConfig);\r\n            body = JSON.parse(body);\r\n            if (body.code === 200) {\r\n                delete imgList[i].base64Image;\r\n                delete imgList[i].buffer;\r\n                imgList[i]['imgUrl'] = body.data.url;\r\n            }\r\n            else {\r\n                ctx.emit('notification', {\r\n                    title: 'upload failed',\r\n                    body: body.message\r\n                });\r\n                throw new Error(body.message);\r\n            }\r\n        }\r\n        return ctx;\r\n    };\r\n    const config = ctx => {\r\n        let userConfig = ctx.getConfig('picBed.imgkb');\r\n        if (!userConfig) {\r\n            userConfig = {};\r\n        }\r\n        return [\r\n            {\r\n                name: 'token',\r\n                type: 'input',\r\n                default: userConfig.token,\r\n                required: true,\r\n                message: '认证 token 信息',\r\n                alias: 'Auth token'\r\n            },\r\n            {\r\n                name: 'ignoreCertErr',\r\n                type: 'confirm',\r\n                default: userConfig.ignoreCertErr || false,\r\n                message: '是否忽略证书错误，如果上传失败提示证书过期请设为 true',\r\n                required: true,\r\n                alias: 'Ignore certificate error'\r\n            },\r\n        ];\r\n    };\r\n    return {\r\n        uploader: 'imgkb',\r\n        config: config,\r\n        register\r\n    };\r\n};\r\n"]}