{"version":3,"sources":["jsdelivr-header.js","/npm/amp-url@1.0.2/amp-url.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,QAAU,QAAQ,WAElB,UAAY,SAAU,EAAM,GAC9B,IAAI,EAAO,KAAK,KAAK,EAAK,OAAS,GAC/B,EAAM,EACN,EAAS,GAEb,KAAU,EAAM,EAAM,IAAO,CACzB,IAAI,EAAW,EAAM,EAErB,EAAO,KAAK,EAAK,MAAM,EAAU,EAAW,GAChD,CAEA,OAAO,CACX,EAEM,cAAgB,SAAU,GAC5B,IAAI,EAAS,CAAC,EACV,EAAQ,GAcZ,OAZA,EAAa,SAAS,IAClB,IAAK,KAAS,EACL,EAAa,eAAe,KAIjC,EAAO,GAAS,EAAO,IAAU,GAEjC,MAAM,UAAU,KAAK,MAAM,EAAO,GAAQ,EAAa,IAC3D,IAGG,CACX,EAEA,IAAI,OAAS,SAAU,GACnB,KAAK,SAAW,GAChB,KAAK,YAAc,CACf,IAAK,sEACL,OAAQ,OACR,QAAS,CACL,eAAgB,mBAChB,iBAAkB,GAEtB,KAAM,CACF,KAAQ,IAGpB,EAEA,OAAO,UAAY,CAMf,SAAU,SAAU,GACI,iBAAT,IACP,EAAO,CAAC,IAGZ,IAAI,EAAU,UAAU,EAAM,KAAK,UAC/B,EAAQ,GAgBZ,OAdA,EAAQ,SAAS,IACb,EAAM,KAAK,IAAI,SAAS,IACpB,IAAI,EAAS,OAAO,OAAO,KAAK,YAAa,CACzC,KAAM,CACF,KAAM,KAId,QAAQ,GAAQ,CAAC,EAAO,EAAU,KAC9B,EAAQ,EAAK,GACf,IACH,IAGA,QAAQ,IAAI,GAAO,MAAM,GACrB,cAAc,IAE7B,GAGJ,OAAO,QAAU","file":"/npm/amp-url@1.0.2/amp-url.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/amp-url@1.0.2/amp-url.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 request = require('request');\n\nconst splitUrls = function (urls, max) {\n    let leng = Math.ceil(urls.length / max);\n    let idx = 0;\n    let result = [];\n\n    for (idx; idx < leng; idx++) {\n        let startIdx = idx * max;\n\n        result.push(urls.slice(startIdx, startIdx + max));\n    }\n\n    return result;\n};\n\nconst mergeResponse = function (responseList) {\n    let result = {};\n    let label = '';\n\n    responseList.forEach((selfResponse) => {\n        for (label in selfResponse) {\n            if (!selfResponse.hasOwnProperty(label)) {\n                continue;\n            }\n\n            result[label] = result[label] || [];\n\n            Array.prototype.push.apply(result[label], selfResponse[label]);\n        }\n    });\n\n    return result;\n};\n\nlet AmpUrl = function (apiKey) {\n    this.MAX_URLS = 50;\n    this.requestData = {\n        url: 'https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet',\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'X-Goog-Api-Key': apiKey\n        },\n        json: {\n            'urls': []\n        }\n    };\n};\n\nAmpUrl.prototype = {\n    /**\n     * batchGet\n     * @param {array|string} urls - Target URL.\n     * @return {Promise}\n     */\n    batchGet: function (urls) {\n        if (typeof urls === 'string') {\n            urls = [urls];\n        }\n\n        let urlsSet = splitUrls(urls, this.MAX_URLS);\n        let queue = [];\n\n        urlsSet.forEach((selfUrlsSet) => {\n            queue.push(new Promise((resolve) => {\n                let option = Object.assign(this.requestData, {\n                    json: {\n                        urls: selfUrlsSet\n                    }\n                });\n\n                request(option, (error, response, body) => {\n                    resolve(body);\n                });\n            }));\n        });\n\n        return Promise.all(queue).then((result) => {\n            return mergeResponse(result);\n        });\n    }\n};\n\nmodule.exports = AmpUrl;\n"]}