{"version":3,"sources":["jsdelivr-header.js","/npm/@zuminternet/route-handlers@0.1.0-beta.2/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,UAAY,OAAO,eACnB,iBAAmB,OAAO,yBAC1B,kBAAoB,OAAO,oBAC3B,aAAe,OAAO,UAAU,eAChC,SAAW,CAAC,EAAQ,KACtB,IAAK,IAAI,KAAQ,EACf,UAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,YAAY,GAAO,EAE7D,YAAc,CAAC,EAAI,EAAM,EAAQ,KACnC,GAAI,GAAwB,iBAAT,GAAqC,mBAAT,EAC7C,IAAK,IAAI,KAAO,kBAAkB,GAC3B,aAAa,KAAK,EAAI,IAAQ,IAAQ,GACzC,UAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,aAAc,EAAO,iBAAiB,EAAM,KAAS,EAAK,aAE3G,OAAO,CAAE,EAEP,aAAgB,GAAQ,YAAY,UAAU,CAAC,EAAG,aAAc,CAAE,OAAO,IAAS,GAClF,QAAU,CAAC,EAAQ,EAAa,IAC3B,IAAI,SAAQ,CAAC,EAAS,KAC3B,IAAI,EAAa,IACf,IACE,EAAK,EAAU,KAAK,GACtB,CAAE,MAAO,GACP,EAAO,EACT,GAEE,EAAY,IACd,IACE,EAAK,EAAU,MAAM,GACvB,CAAE,MAAO,GACP,EAAO,EACT,GAEE,EAAQ,GAAM,EAAE,KAAO,EAAQ,EAAE,OAAS,QAAQ,QAAQ,EAAE,OAAO,KAAK,EAAW,GACvF,GAAM,EAAY,EAAU,MAAM,EAAQ,IAAc,OAAO,IAK/D,YAAc,CAAC,EACnB,SAAS,YAAa,CACpB,oBAAqB,IAAM,sBAE7B,OAAO,QAAU,aAAa,aAG9B,IAAI,iBAAmB,CACrB,MACA,OACA,MACA,QACA,SACA,OACA,WAEF,SAAS,gBAAgB,EAAU,GACjC,OAAO,QAAQ,KAAM,MAAM,YACzB,MAAM,OAAE,EAAM,QAAE,EAAO,KAAE,GAAS,EAClC,EAAM,OAAO,GACb,EAAQ,SAAQ,CAAC,EAAO,KACtB,EAAM,UAAU,EAAK,EAAM,IAE7B,MAAM,EAAS,EAAK,YACpB,OAAa,CACX,MAAM,KAAE,EAAI,MAAE,SAAgB,EAAO,OACrC,GAAI,EAAM,CACR,EAAM,MACN,KACF,CACA,EAAM,OAAM,IAAI,aAAc,OAAO,GACvC,CACF,GACF,CACA,SAAS,qBAAoB,OAAE,IAC7B,OAAO,SAAuB,GAC5B,OAAO,SAAS,EAAK,GACnB,OAAO,QAAQ,KAAM,MAAM,YACzB,IAAK,EAAI,OAEP,YADA,EAAI,OAAO,KAAK,KAAK,CAAE,QAAS,gBAGlC,IAAK,iBAAiB,SAAS,EAAI,QAEjC,YADA,EAAI,OAAO,KAAK,KAAK,CAAE,QAAS,uBAGlC,MAAM,EAAS,EAAI,OACb,EAAU,EAAS,GACzB,GAAK,EAIL,IACE,MAAM,QAAe,EAAQ,SACvB,gBAAgB,EAAQ,EAChC,CAAE,MAAO,GACP,MAAM,EAAe,aAAa,MAAQ,EAAE,QAAU,EACtD,EAAO,MAAM,GAAG,EAAI,gBAAgB,KACpC,EAAI,OAAO,KAAK,KAAK,CAAE,QAAS,yBAClC,MAVE,EAAI,OAAO,KAAK,KAAK,CAAE,QAAS,mBAWpC,GACF,CACF,CACF","file":"/npm/@zuminternet/route-handlers@0.1.0-beta.2/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@zuminternet/route-handlers@0.1.0-beta.2/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);\nvar __async = (__this, __arguments, generator) => {\n  return new Promise((resolve, reject) => {\n    var fulfilled = (value) => {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var rejected = (value) => {\n      try {\n        step(generator.throw(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n    step((generator = generator.apply(__this, __arguments)).next());\n  });\n};\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n  createRouteHandlers: () => createRouteHandlers\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/route-handlers.ts\nvar supportedMethods = [\n  \"GET\",\n  \"POST\",\n  \"PUT\",\n  \"PATCH\",\n  \"DELETE\",\n  \"HEAD\",\n  \"OPTIONS\"\n];\nfunction responseToChain(response, chain) {\n  return __async(this, null, function* () {\n    const { status, headers, body } = response;\n    chain.status(status);\n    headers.forEach((value, key) => {\n      chain.setHeader(key, value);\n    });\n    const reader = body.getReader();\n    while (true) {\n      const { done, value } = yield reader.read();\n      if (done) {\n        chain.end();\n        break;\n      }\n      chain.write(new TextDecoder().decode(value));\n    }\n  });\n}\nfunction createRouteHandlers({ logger }) {\n  return function routeHandlers(handlers) {\n    return function(req, res) {\n      return __async(this, null, function* () {\n        if (!req.method) {\n          res.status(400).json({ message: \"Bad Request\" });\n          return;\n        }\n        if (!supportedMethods.includes(req.method)) {\n          res.status(405).json({ message: \"Method Not Allowed\" });\n          return;\n        }\n        const method = req.method;\n        const handler = handlers[method];\n        if (!handler) {\n          res.status(501).json({ message: \"Not Implemented\" });\n          return;\n        }\n        try {\n          const result = yield handler(req);\n          yield responseToChain(result, res);\n        } catch (e) {\n          const errorMessage = e instanceof Error ? e.message : e;\n          logger.error(`${req.url} message: ${errorMessage}`);\n          res.status(500).json({ message: \"Internal Server Error\" });\n        }\n      });\n    };\n  };\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  createRouteHandlers\n});\n"]}