{"version":3,"sources":["jsdelivr-header.js","/npm/cache-manager-ioredis@2.1.0/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,MAAQ,QAAQ,WAEhB,WAAa,IAAI,KACrB,IAAI,EAAa,KAEjB,GAAI,EAAK,OAAS,GAAK,EAAK,GAAG,cAC7B,EAAa,EAAK,GAAG,mBAChB,GAAI,EAAK,OAAS,GAAK,EAAK,GAAG,cAAe,CACnD,MAAM,MACJ,EAAK,QACL,GACE,EAAK,GAAG,cAEZ,EAAa,IAAI,MAAM,QAAQ,EAAO,GAAW,CAAC,EACpD,MACE,EAAa,IAAI,SAAS,GAG5B,MAAM,EAAY,EAAW,QAE7B,IAAI,EAAO,CACT,KAAM,QACN,iBAAkB,EAAU,kBAAoB,CAAC,GAAS,SAG5D,UAAiB,IAAM,EAEvB,IAAW,CAAC,EAAK,EAAO,EAAS,IAAO,IAClC,SAAQ,CAAC,EAAS,KAWpB,GAVuB,mBAAZ,IACT,EAAK,EACL,EAAU,CAAC,GAEb,EAAU,GAAW,CAAC,EAEjB,IACH,EAAK,CAAC,EAAK,IAAY,EAAM,EAAO,GAAO,EAAQ,KAGhD,EAAK,iBAAiB,GACzB,OAAO,EAAG,IAAI,MAAM,IAAI,gCAG1B,MAAM,EAAO,EAAQ,KAAuB,IAAhB,EAAQ,IAAa,EAAQ,IAAM,EAAU,IACnE,EAAM,KAAK,UAAU,IAAU,cAEjC,EACF,EAAW,MAAM,EAAK,EAAK,EAAK,eAAe,IAE/C,EAAW,IAAI,EAAK,EAAK,eAAe,GAC1C,IAIJ,IAAW,CAAC,EAAK,EAAS,IAAO,IAC3B,SAAQ,CAAC,EAAS,KACG,mBAAZ,IACT,EAAK,GAGF,IACH,EAAK,CAAC,EAAK,IAAY,EAAM,EAAO,GAAO,EAAQ,IAGrD,EAAW,IAAI,EAAK,eAAe,EAAI,CAAE,OAAO,IAAQ,IAI5D,IAAW,CAAC,EAAK,EAAS,KACD,mBAAZ,IACT,EAAK,GAGP,EAAW,IAAI,EAAK,eAAe,GAAI,EAGzC,MAAa,GAAM,EAAW,QAAQ,eAAe,IAErD,KAAY,CAAC,EAAS,IAAO,IACvB,SAAQ,CAAC,EAAS,KACG,mBAAZ,IACT,EAAK,EACL,EAAU,KAGP,IACH,EAAK,CAAC,EAAK,IAAY,EAAM,EAAO,GAAO,EAAQ,IAGrD,EAAW,KAAK,EAAS,eAAe,GAAI,IAIhD,IAAW,CAAC,EAAK,IAAO,EAAW,IAAI,EAAK,eAAe,KAE3D,OAAO,CAAI,EAGb,SAAS,eAAe,EAAI,EAAO,CAAC,GAClC,MAAO,CAAC,EAAK,KACX,GAAI,EACF,OAAO,GAAM,EAAG,GAGlB,GAAI,EAAK,MACP,IACE,EAAS,KAAK,MAAM,EACtB,CAAE,MAAO,GACP,OAAO,GAAM,EAAG,EAClB,CAGF,OAAO,GAAM,EAAG,KAAM,EAAO,CAEjC,CAEA,MAAM,QAAU,CACd,OAAQ,IAAI,IAAS,cAAc,IAGrC,OAAO,QAAU","file":"/npm/cache-manager-ioredis@2.1.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/cache-manager-ioredis@2.1.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';\n\nconst Redis = require('ioredis');\n\nconst redisStore = (...args) => {\n  let redisCache = null;\n\n  if (args.length > 0 && args[0].redisInstance) {\n    redisCache = args[0].redisInstance;\n  } else if (args.length > 0 && args[0].clusterConfig) {\n    const {\n      nodes,\n      options\n    } = args[0].clusterConfig;\n\n    redisCache = new Redis.Cluster(nodes, options || {});\n  } else {\n    redisCache = new Redis(...args);\n  }\n\n  const storeArgs = redisCache.options;\n\n  let self = {\n    name: 'redis',\n    isCacheableValue: storeArgs.isCacheableValue || (value => value !== undefined && value !== null),\n  };\n\n  self.getClient = () => redisCache;\n\n  self.set = (key, value, options, cb) => (\n    new Promise((resolve, reject) => {\n      if (typeof options === 'function') {\n        cb = options;\n        options = {};\n      }\n      options = options || {};\n\n      if (!cb) {\n        cb = (err, result) => (err ? reject(err) : resolve(result));\n      }\n\n      if (!self.isCacheableValue(value)) {\n        return cb(new Error(`\"${value}\" is not a cacheable value`));\n      }\n\n      const ttl = (options.ttl || options.ttl === 0) ? options.ttl : storeArgs.ttl;\n      const val = JSON.stringify(value) || '\"undefined\"';\n\n      if (ttl) {\n        redisCache.setex(key, ttl, val, handleResponse(cb));\n      } else {\n        redisCache.set(key, val, handleResponse(cb));\n      }\n    })\n  );\n\n  self.get = (key, options, cb) => (\n    new Promise((resolve, reject) => {\n      if (typeof options === 'function') {\n        cb = options;\n      }\n\n      if (!cb) {\n        cb = (err, result) => (err ? reject(err) : resolve(result));\n      }\n\n      redisCache.get(key, handleResponse(cb, { parse: true }));\n    })\n  );\n  \n  self.del = (key, options, cb) => {\n    if (typeof options === 'function') {\n      cb = options;\n    }\n\n    redisCache.del(key, handleResponse(cb));\n  };\n\n  self.reset = cb => redisCache.flushdb(handleResponse(cb));\n    \n  self.keys = (pattern, cb) => (\n    new Promise((resolve, reject) => {\n      if (typeof pattern === 'function') {\n        cb = pattern;\n        pattern = '*';\n      }\n\n      if (!cb) {\n        cb = (err, result) => (err ? reject(err) : resolve(result));\n      }\n\n      redisCache.keys(pattern, handleResponse(cb));\n    })\n  );\n\n  self.ttl = (key, cb) => redisCache.ttl(key, handleResponse(cb));\n\n  return self;\n};\n  \nfunction handleResponse(cb, opts = {}) {\n  return (err, result) => {\n    if (err) {\n      return cb && cb(err);\n    }\n\n    if (opts.parse) {\n      try {\n        result = JSON.parse(result);\n      } catch (e) {\n        return cb && cb(e);\n      }\n    }\n\n    return cb && cb(null, result);\n  };\n}\n\nconst methods = {\n  create: (...args) => redisStore(...args),\n};\n\nmodule.exports = methods;\n"]}