{"version":3,"sources":["jsdelivr-header.js","/npm/@elysiajs/cors@1.4.1/dist/cjs/index.js"],"names":[],"mappings":"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","file":"/npm/@elysiajs/cors@1.4.1/dist/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@elysiajs/cors@1.4.1/dist/cjs/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 index_exports = {};\n__export(index_exports, {\n  cors: () => cors,\n  default: () => index_default\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_elysia = require(\"elysia\");\nvar isBun = typeof new Headers()?.toJSON === \"function\";\nvar processHeaders = (headers) => {\n  if (isBun) return Object.keys(headers.toJSON()).join(\", \");\n  let keys = \"\";\n  let i = 0;\n  headers.forEach((_, key) => {\n    if (i) keys = keys + \", \" + key;\n    else keys = key;\n    i++;\n  });\n  return keys;\n};\nvar cors = (config) => {\n  let {\n    aot = true,\n    origin = true,\n    methods = true,\n    allowedHeaders = true,\n    exposeHeaders = true,\n    credentials = true,\n    maxAge = 5,\n    preflight = true\n  } = config ?? {};\n  if (Array.isArray(allowedHeaders))\n    allowedHeaders = allowedHeaders.join(\", \");\n  if (Array.isArray(exposeHeaders)) exposeHeaders = exposeHeaders.join(\", \");\n  const origins = typeof origin === \"boolean\" ? void 0 : Array.isArray(origin) ? origin : [origin];\n  const app = new import_elysia.Elysia({\n    name: \"@elysiajs/cors\",\n    seed: config,\n    aot\n  });\n  const anyOrigin = origins?.some((o) => o === \"*\");\n  const originMap = {};\n  if (origins) {\n    for (const origin2 of origins)\n      if (typeof origin2 === \"string\") originMap[origin2] = true;\n  }\n  const processOrigin = (origin2, request, from) => {\n    if (Array.isArray(origin2))\n      return origin2.some((o) => processOrigin(o, request, from));\n    switch (typeof origin2) {\n      case \"string\":\n        if (from in originMap) return true;\n        const fromProtocol = from.indexOf(\"://\");\n        if (fromProtocol !== -1) from = from.slice(fromProtocol + 3);\n        return origin2 === from;\n      case \"function\":\n        return origin2(request) === true;\n      case \"object\":\n        if (origin2 instanceof RegExp) return origin2.test(from);\n    }\n    return false;\n  };\n  const handleOrigin = (set, request) => {\n    if (origin === true) {\n      set.headers.vary = \"*\";\n      set.headers[\"access-control-allow-origin\"] = request.headers.get(\"Origin\") || \"*\";\n      return;\n    }\n    if (anyOrigin) {\n      set.headers.vary = \"*\";\n      set.headers[\"access-control-allow-origin\"] = \"*\";\n      return;\n    }\n    if (!origins?.length) return;\n    if (origins.length) {\n      const from = request.headers.get(\"Origin\") ?? \"\";\n      for (let i = 0; i < origins.length; i++) {\n        const value = processOrigin(origins[i], request, from);\n        if (value === true) {\n          set.headers.vary = origin ? \"Origin\" : \"*\";\n          set.headers[\"access-control-allow-origin\"] = from || \"*\";\n          return;\n        }\n      }\n    }\n    set.headers.vary = \"Origin\";\n  };\n  const handleMethod = (set, method) => {\n    if (!method) return;\n    if (methods === true)\n      return set.headers[\"access-control-allow-methods\"] = method ?? \"*\";\n    if (methods === false || !methods?.length) return;\n    if (methods === \"*\")\n      return set.headers[\"access-control-allow-methods\"] = \"*\";\n    if (!Array.isArray(methods))\n      return set.headers[\"access-control-allow-methods\"] = methods;\n    set.headers[\"access-control-allow-methods\"] = methods.join(\", \");\n  };\n  const defaultHeaders = {};\n  if (typeof exposeHeaders === \"string\")\n    defaultHeaders[\"access-control-expose-headers\"] = exposeHeaders;\n  if (typeof allowedHeaders === \"string\")\n    defaultHeaders[\"access-control-allow-headers\"] = allowedHeaders;\n  if (credentials === true)\n    defaultHeaders[\"access-control-allow-credentials\"] = \"true\";\n  app.headers(defaultHeaders);\n  function handleOption({ set, request, headers }) {\n    handleOrigin(set, request);\n    handleMethod(set, request.headers.get(\"access-control-request-method\"));\n    if (allowedHeaders === true || exposeHeaders === true) {\n      if (allowedHeaders === true)\n        set.headers[\"access-control-allow-headers\"] = headers[\"access-control-request-headers\"];\n      if (exposeHeaders === true)\n        set.headers[\"access-control-expose-headers\"] = Object.keys(headers).join(\",\");\n    }\n    if (maxAge) set.headers[\"access-control-max-age\"] = maxAge.toString();\n    return new Response(null, {\n      status: 204\n    });\n  }\n  if (preflight) app.options(\"/\", handleOption).options(\"/*\", handleOption);\n  return app.onRequest(function processCors({ set, request }) {\n    handleOrigin(set, request);\n    if (preflight && request.method === \"OPTIONS\") {\n      return handleOption({\n        set,\n        request,\n        headers: isBun ? request.headers.toJSON() : (\n          // for non-Bun environments\n          Object.fromEntries(request.headers.entries())\n        )\n      });\n    }\n    handleMethod(set, request.method);\n    if (allowedHeaders === true || exposeHeaders === true) {\n      const headers = processHeaders(request.headers);\n      if (allowedHeaders === true)\n        set.headers[\"access-control-allow-headers\"] = headers;\n      if (exposeHeaders === true)\n        set.headers[\"access-control-expose-headers\"] = headers;\n    }\n  });\n};\nvar index_default = cors;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  cors\n});\n"]}