{"version":3,"sources":["jsdelivr-header.js","/npm/uppercase-cloud-functions@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,QAAQ,yBAGR,QAAQ,yBACR,QAAQ,iBAER,QAAQ,6BACR,QAAQ,yBACR,QAAQ,0BACR,QAAQ,yBACR,QAAQ,4BAER,QAAQ,oCACR,QAAQ,4BAER,MAAM,YAAc,QAAQ,eAE5B,OAAO,eAAiB,IAExB,OAAO,eAAiB,QAAQ,IAE/B,MAAM,EAA0B,GAGhC,EAAE,yBAA4B,IAC7B,EAAwB,KAAK,EAAQ,EAiBtC,MAAO,CACN,IAAO,GACC,CAAC,EAAK,KAEZ,EAAI,IAAI,8BAA+B,KAEvC,IAAI,EAAoB,KAAb,EAAI,KAAc,CAAC,EAAI,YAAY,EAAI,OAGnB,IAA3B,EAAK,mBACR,KAAK,GAA0B,IAC9B,GAAuB,IAExB,EAAI,OAAO,KAAK,KAAK,cAME,MAAnB,oBAEoB,IAAnB,EAAK,UAER,EAAE,YAAY,MArCN,CAAC,IACd,IAAI,EAAS,GACT,EAAU,eAAe,OACzB,EAAW,EACf,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EACrC,GAAU,OAAO,aAAa,EAAK,WAAW,GAAK,eAAe,WAAW,IAC7E,GAAY,EACR,IAAa,IAChB,EAAW,GAGb,OAAO,CAAM,EA0BY,CAAQ,EAAK,aAAa,KAC7C,EAAI,OAAO,KAAK,KAAK,IAClB,KAC2B,IAA1B,cAAc,KAA+C,IAA3B,eAAe,GACpD,EAAI,OAAO,KAAK,KAAK,UAAU,IAE/B,EAAI,OAAO,KAAK,KAAK,EACtB,GACE,EAAI,SAIP,EAAI,OAAO,KAAK,MAMjB,EAAE,GAAM,KACP,EAAI,OAAO,KAAK,KAAK,IAClB,KAC2B,IAA1B,cAAc,KAA+C,IAA3B,eAAe,GACpD,EAAI,OAAO,KAAK,KAAK,UAAU,IAE/B,EAAI,OAAO,KAAK,KAAK,EACtB,GACE,EAAI,QAET,EAGF","file":"/npm/uppercase-cloud-functions@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/uppercase-cloud-functions@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","require('uppercase-core-common');\r\n\r\n// UPPERCASE-CORE-NODE에서 필요한 것들 추가\r\nrequire('./NODE/NODE_CONFIG.js');\r\nrequire('./NODE/BOX.js');\r\n// HTTP 요청 관련\r\nrequire('./NODE/REQUEST/REQUEST.js');\r\nrequire('./NODE/REQUEST/GET.js');\r\nrequire('./NODE/REQUEST/POST.js');\r\nrequire('./NODE/REQUEST/PUT.js');\r\nrequire('./NODE/REQUEST/DELETE.js');\r\n// 파일 처리 관련\r\nrequire('./NODE/FILE/CHECK_FILE_EXISTS.js');\r\nrequire('./NODE/FILE/READ_FILE.js');\r\n\r\nconst querystring = require('querystring');\r\n\r\nglobal.ENCRYPTION_KEY = '_';\r\n\r\nglobal.CLOUD_FUNCTION = METHOD((m) => {\r\n\t\r\n\tconst avoidColdStartProcesses = [];\r\n\t\r\n\t// cold start 방지용 처리 추가\r\n\tm.addAvoidColdStartProcess = (process) => {\r\n\t\tavoidColdStartProcesses.push(process);\r\n\t};\r\n\t\r\n\tlet encrypt = (text) => {\r\n\t\tlet result = '';\r\n\t\tlet keySize = ENCRYPTION_KEY.length;\r\n\t\tlet keyCount = 0;\r\n\t\tfor (let i = 0; i < text.length; i += 1) {\r\n\t\t\tresult += String.fromCharCode(text.charCodeAt(i) ^ ENCRYPTION_KEY.charCodeAt(keyCount));\r\n\t\t\tkeyCount += 1;\r\n\t\t\tif (keyCount === keySize) {\r\n\t\t\t\tkeyCount = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\t\r\n\treturn {\r\n\t\trun : (f) => {\r\n\t\t\treturn (req, res) => {\r\n\t\t\t\t\r\n\t\t\t\tres.set('Access-Control-Allow-Origin', '*');\r\n\t\t\t\t\r\n\t\t\t\tvar data = req.body === '' ? {} : UNPACK_DATA(req.body);\r\n\t\t\t\t\r\n\t\t\t\t// cold start 방지용 스크립트 실행 시\r\n\t\t\t\tif (data.__DONT_COLD_START === true) {\r\n\t\t\t\t\tEACH(avoidColdStartProcesses, (avoidColdStartProcess) => {\r\n\t\t\t\t\t\tavoidColdStartProcess();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tres.status(200).send('IM_SO_HOT');\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\telse {\r\n\t\t\t\t\t\r\n\t\t\t\t\t// 암호화 되어있으면 복호화합니다.\r\n\t\t\t\t\tif (ENCRYPTION_KEY !== '_') {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (data.__ENCRYPT !== undefined) {\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tf(querystring.parse(encrypt(data.__ENCRYPT)), () => {\r\n\t\t\t\t\t\t\t\tres.status(500).end();\r\n\t\t\t\t\t\t\t}, (result) => {\r\n\t\t\t\t\t\t\t\tif (CHECK_IS_DATA(result) === true || CHECK_IS_ARRAY(result) === true) {\r\n\t\t\t\t\t\t\t\t\tres.status(200).send(STRINGIFY(result));\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tres.status(200).send(result);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}, req.headers);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tres.status(500).end();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tf(data, () => {\r\n\t\t\t\t\t\t\tres.status(500).end();\r\n\t\t\t\t\t\t}, (result) => {\r\n\t\t\t\t\t\t\tif (CHECK_IS_DATA(result) === true || CHECK_IS_ARRAY(result) === true) {\r\n\t\t\t\t\t\t\t\tres.status(200).send(STRINGIFY(result));\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tres.status(200).send(result);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, req.headers);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t};\r\n});"]}