{"version":3,"sources":["jsdelivr-header.js","/npm/secure-storage@0.2.1/lib/main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,GAAK,QAAQ,QACb,QAAU,QAAQ,mBAClB,MAAQ,QAAQ,QAAR,CAAiB,uBAEzB,MAAQ,CAAC,EAAM,IACf,EACK,QAAQ,UAEV,QAAQ,OAAO,GAAG,iBAG3B,IAAI,YAAc,QAAQ,UAE1B,OAAO,QAAU,CAAC,EAAS,EAAU,KACnC,MAAM,EAAS,GAAG,EAAS,EAAU,GAErC,MAAO,CACL,YAAa,CAAC,EAAS,KACrB,MAAM,EAAa,YAChB,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,EAAO,SAClB,MAAM,GACE,QAAQ,YAAY,EAAM,EAAS,KAE3C,OAAO,IACN,MAAM,GACC,QAIX,OADA,YAAc,EACP,CAAU,EAGnB,YAAa,CAAC,EAAS,EAAS,KAC9B,IAAI,EACA,EACJ,MAAM,EAAa,YAChB,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,cAAe,KAChC,MAAK,IAAM,EAAO,SAClB,MAAM,IAAY,EAAO,CAAK,IAC9B,MAAK,IAAM,QAAQ,YAAY,EAAM,EAAS,EAAS,KACvD,MAAM,IAAe,EAAU,CAAQ,IACvC,MAAK,IAAM,GAAW,EAAO,KAAK,KAClC,MAAK,IAAM,IACX,OAAM,KAAM,IAGf,OADA,YAAc,EACP,CAAU,EAGnB,eAAgB,CAAC,EAAS,KACxB,IAAI,EACA,EACJ,MAAM,EAAa,YAChB,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,EAAO,SAClB,MAAM,IAAY,EAAO,CAAK,IAC9B,MAAK,IAAM,QAAQ,eAAe,EAAM,EAAS,KACjD,MAAM,IAAe,EAAU,CAAQ,IACvC,MAAK,IAAM,GAAW,EAAO,KAAK,KAClC,MAAK,IAAM,IACX,OAAM,KAAM,IAGf,OADA,YAAc,EACP,CAAU,EAGnB,gBAAiB,CAAC,EAAS,EAAS,KAClC,IAAI,EACA,EACJ,MAAM,EAAa,YAChB,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,MAAM,cAAe,KAChC,MAAK,IAAM,EAAO,SAClB,MAAM,IAAY,EAAO,CAAK,IAC9B,MAAK,IAAM,QAAQ,gBAAgB,EAAM,EAAS,EAAS,KAC3D,MAAM,IAAe,EAAU,CAAQ,IACvC,MAAK,IAAM,GAAW,EAAO,KAAK,KAClC,MAAK,IAAM,IACX,OAAM,KAAM,IAGf,OADA,YAAc,EACP,CAAU,EAGnB,aAAe,IACb,MAAM,EAAa,YAChB,MAAK,IAAM,MAAM,UAAW,KAC5B,MAAK,IAAM,EAAO,SAClB,MAAM,GAAS,QAAQ,aAAa,EAAM,KAC1C,OAAM,IAAM,OAGf,OADA,YAAc,EACP,CAAU,EAEpB","file":"/npm/secure-storage@0.2.1/lib/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/secure-storage@0.2.1/lib/main.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'; // eslint-disable-line strict\n\nconst io = require('./io');\nconst operate = require('./operateOnData');\nconst debug = require('debug')('secure-storage:main');\n\nconst guard = (name, val) => {\n  if (val) {\n    return Promise.resolve();\n  }\n  return Promise.reject(`${name} is required`);\n};\n\nlet corePromise = Promise.resolve();\n\nmodule.exports = (encPath, password, algorithm) => {\n  const ioImpl = io(encPath, password, algorithm);\n\n  return {\n    getPassword: (service, account) => {\n      const newPromise = corePromise\n        .then(() => guard('service', service))\n        .then(() => guard('account', account))\n        .then(() => ioImpl.load())\n        .then((data) => {\n          return operate.getPassword(data, service, account);\n        })\n        .catch((e) => {\n          debug(e);\n          return null;\n        });\n\n      corePromise = newPromise;\n      return newPromise;\n    },\n\n    setPassword: (service, account, newPassword) => {\n      let data;\n      let success;\n      const newPromise = corePromise\n        .then(() => guard('service', service))\n        .then(() => guard('account', account))\n        .then(() => guard('newPassword', newPassword))\n        .then(() => ioImpl.load())\n        .then((_data) => { data = _data; })\n        .then(() => operate.setPassword(data, service, account, newPassword))\n        .then((_success) => { success = _success; })\n        .then(() => success && ioImpl.save(data))\n        .then(() => success)\n        .catch(() => false);\n\n      corePromise = newPromise;\n      return newPromise;\n    },\n\n    deletePassword: (service, account) => {\n      let data;\n      let success;\n      const newPromise = corePromise\n        .then(() => guard('service', service))\n        .then(() => guard('account', account))\n        .then(() => ioImpl.load())\n        .then((_data) => { data = _data; })\n        .then(() => operate.deletePassword(data, service, account))\n        .then((_success) => { success = _success; })\n        .then(() => success && ioImpl.save(data))\n        .then(() => success)\n        .catch(() => false);\n\n      corePromise = newPromise;\n      return newPromise;\n    },\n\n    replacePassword: (service, account, newPassword) => {\n      let data;\n      let success;\n      const newPromise = corePromise\n        .then(() => guard('service', service))\n        .then(() => guard('account', account))\n        .then(() => guard('newPassword', newPassword))\n        .then(() => ioImpl.load())\n        .then((_data) => { data = _data; })\n        .then(() => operate.replacePassword(data, service, account, newPassword))\n        .then((_success) => { success = _success; })\n        .then(() => success && ioImpl.save(data))\n        .then(() => success)\n        .catch(() => false);\n\n      corePromise = newPromise;\n      return newPromise;\n    },\n\n    findPassword: (service) => {\n      const newPromise = corePromise\n        .then(() => guard('service', service))\n        .then(() => ioImpl.load())\n        .then((data) => operate.findPassword(data, service))\n        .catch(() => null);\n\n      corePromise = newPromise;\n      return newPromise;\n    }\n  };\n};\n"]}