{"version":3,"sources":["jsdelivr-header.js","/npm/simple-s3-file-upload@5.2.0/dist/index.js"],"names":[],"mappings":"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","file":"/npm/simple-s3-file-upload@5.2.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/simple-s3-file-upload@5.2.0/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\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n  getUploadPresignedUrl: () => getUploadPresignedUrl,\n  uploadFile: () => uploadFile,\n  uploadFileUsingPresignedUrl: () => uploadFileUsingPresignedUrl,\n  uploadImage: () => uploadImage,\n  uploadVideo: () => uploadVideo\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_client_s3 = require(\"@aws-sdk/client-s3\");\nvar import_s3_request_presigner = require(\"@aws-sdk/s3-request-presigner\");\nvar import_buffer = require(\"buffer\");\nvar getImageBuffer = (base64) => {\n  const base64str = base64.replace(/^data:image\\/\\w+;base64,/, \"\");\n  return import_buffer.Buffer.from(base64str, \"base64\");\n};\nvar s3Client = ({\n  accessKeyId,\n  secretAccessKey,\n  region\n}) => new import_client_s3.S3Client({\n  credentials: {\n    accessKeyId,\n    secretAccessKey\n  },\n  region\n});\nvar uploadImage = async ({\n  base64,\n  accessKeyId,\n  secretAccessKey,\n  region,\n  bucket,\n  path,\n  imageFileExtension\n}) => {\n  const generatedPath = `${path}${(/* @__PURE__ */ new Date()).toISOString()}.${imageFileExtension}`;\n  const buffer = getImageBuffer(base64);\n  const params = {\n    Bucket: bucket,\n    Key: generatedPath,\n    Body: buffer,\n    ACL: \"public-read\",\n    ContentType: `image/${imageFileExtension}`,\n    ContentEncoding: \"base64\"\n  };\n  const command = new import_client_s3.PutObjectCommand(params);\n  try {\n    const s3 = s3Client({ accessKeyId, secretAccessKey, region });\n    const data = await s3.send(command);\n    return {\n      url: `https://${bucket}.s3.${region}.amazonaws.com/${generatedPath}`,\n      data\n    };\n  } catch (error) {\n    console.log(error);\n    throw new Error(`Error uploading image: ${error.message}`);\n  }\n};\nvar uploadVideo = async ({\n  videoFile,\n  accessKeyId,\n  secretAccessKey,\n  region,\n  bucket,\n  path,\n  videoFileExtension\n}) => {\n  if (!videoFile)\n    return new Error(`videoFile not found`);\n  const bytes = await videoFile.arrayBuffer();\n  const buffer = import_buffer.Buffer.from(bytes);\n  const generatedPath = `${path}${(/* @__PURE__ */ new Date()).toISOString()}.${videoFileExtension}`;\n  const params = {\n    Bucket: bucket,\n    Key: generatedPath,\n    Body: buffer,\n    ACL: \"public-read\",\n    ContentType: \"video/mp4\"\n  };\n  const command = new import_client_s3.PutObjectCommand(params);\n  try {\n    const s3 = s3Client({ accessKeyId, secretAccessKey, region });\n    const data = await s3.send(command);\n    return {\n      url: `https://${bucket}.s3.${region}.amazonaws.com/${generatedPath}`,\n      data\n    };\n  } catch (error) {\n    console.log(error);\n    throw new Error(`Error uploading video: ${error.message}`);\n  }\n};\nvar uploadFile = async ({\n  file,\n  accessKeyId,\n  secretAccessKey,\n  region,\n  bucket,\n  path,\n  maxFileSize\n}) => {\n  if (!file) {\n    throw new Error(\"File not found\");\n  }\n  if (file.buffer.length > maxFileSize * 1024 * 1024) {\n    throw new Error(\"File size exceeds the maximum allowed size\");\n  }\n  const fileContent = file.buffer.toString(\"base64\");\n  const bucketName = bucket;\n  const s3Key = `${path}/${(/* @__PURE__ */ new Date()).toISOString()}-${file.originalname}`;\n  const client = s3Client({ accessKeyId, secretAccessKey, region });\n  const command = new import_client_s3.PutObjectCommand({\n    Bucket: bucketName,\n    Key: s3Key,\n    Body: import_buffer.Buffer.from(fileContent, \"base64\")\n  });\n  try {\n    const response = await client.send(command);\n    return {\n      message: \"File uploaded successfully\",\n      response,\n      url: `https://${bucket}.s3.${region}.amazonaws.com/${s3Key}`\n    };\n  } catch (err) {\n    console.error(\"Error uploading file:\", err);\n    throw new Error(`Error uploading file: ${err.message}`);\n  }\n};\nvar uploadFileUsingPresignedUrl = async ({\n  accessKeyId,\n  secretAccessKey,\n  region,\n  bucket,\n  path,\n  targetFile\n}) => {\n  try {\n    const formData = new FormData(targetFile);\n    const file = formData.get(\"file\");\n    if (!file) {\n      throw new Error(\"File not found\");\n    }\n    if (!(file instanceof import_buffer.File)) {\n      throw new Error(\"File not found or invalid type\");\n    }\n    const fileType = encodeURIComponent(file.type);\n    const generatedPath = `${path}${(/* @__PURE__ */ new Date()).toISOString()}.${fileType}`;\n    const client = s3Client({ accessKeyId, secretAccessKey, region });\n    const command = new import_client_s3.PutObjectCommand({\n      Bucket: bucket,\n      Key: generatedPath\n    });\n    const preSignedUrl = await (0, import_s3_request_presigner.getSignedUrl)(client, command, {\n      expiresIn: 3600\n    });\n    const response = await fetch(preSignedUrl, {\n      method: \"PUT\",\n      headers: { \"Content-Type\": \"application/json\" },\n      body: file\n    });\n    if (!response.ok) {\n      throw new Error(`HTTP error! Status: ${response.status}`);\n    }\n    return {\n      message: \"File uploaded successfully\",\n      response,\n      url: `https://${bucket}.s3.${region}.amazonaws.com/${generatedPath}`\n    };\n  } catch (error) {\n    console.log(error);\n    throw new Error(`Error uploading file: ${error.message}`);\n  }\n};\nvar getUploadPresignedUrl = async ({\n  accessKeyId,\n  secretAccessKey,\n  region,\n  bucket,\n  path,\n  fileType\n}) => {\n  try {\n    const generatedPath = `${path}${(/* @__PURE__ */ new Date()).toISOString()}.${fileType}`;\n    const client = s3Client({ accessKeyId, secretAccessKey, region });\n    const command = new import_client_s3.PutObjectCommand({\n      Bucket: bucket,\n      Key: generatedPath\n    });\n    const preSignedUrl = await (0, import_s3_request_presigner.getSignedUrl)(client, command, {\n      expiresIn: 3600\n    });\n    return preSignedUrl;\n  } catch (error) {\n    console.log(error);\n    throw new Error(`Error uploading file: ${error.message}`);\n  }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  getUploadPresignedUrl,\n  uploadFile,\n  uploadFileUsingPresignedUrl,\n  uploadImage,\n  uploadVideo\n});\n"]}