{"version":3,"sources":["jsdelivr-header.js","/npm/redux-storage-decorator-debounce@1.1.3/build/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CACzC,OAAO,IAGX,IAAI,SAAW,OAAO,QAAU,SAAU,GAAU,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAAE,IAAI,EAAS,UAAU,GAAI,IAAK,IAAI,KAAO,EAAc,OAAO,UAAU,eAAe,KAAK,EAAQ,KAAQ,EAAO,GAAO,EAAO,GAAU,CAAE,OAAO,CAAQ,EAE/P,QAAiB,QAAI,SAAU,EAAQ,GACnC,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,KAElF,GAAgB,OAAZ,GAAoB,EAAK,EACzB,MAAM,IAAI,MAAM,wBAGpB,IAAI,OAAc,EACd,OAAa,EACb,OAAa,EACb,OAAY,EAEZ,GAAY,EAChB,IACI,IAAc,MAClB,CAAE,MAAO,GAET,CAcA,OAbI,GAAa,OAAO,kBACpB,OAAO,iBAAiB,gBAAgB,WAC/B,IAIL,EAAc,aAAa,GAC3B,EAAa,aAAa,GAC1B,EAAa,KACb,EAAO,KAAK,GAChB,IAGG,SAAS,CAAC,EAAG,EAAQ,CACxB,KAAM,SAAc,GAShB,OARA,EAAY,EACZ,EAAc,aAAa,GAEvB,IACA,EAAW,MAAM,oCACjB,EAAa,MAGV,IAAI,SAAQ,SAAU,EAAS,GAClC,IAAI,EAAS,WACT,EAAc,aAAa,GAC3B,EAAa,aAAa,GAC1B,EAAa,KACb,EAAY,KACZ,EAAO,KAAK,GAAO,KAAK,GAAgB,MAAE,EAC9C,EAEA,EAAa,EACb,EAAc,WAAW,EAAQ,GAEjB,OAAZ,GAAqB,IACrB,EAAa,WAAW,EAAQ,GAExC,GACJ,GAER","file":"/npm/redux-storage-decorator-debounce@1.1.3/build/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/redux-storage-decorator-debounce@1.1.3/build/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\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = function (engine, ms) {\n    var maxWait = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n    if (maxWait !== null && ms > maxWait) {\n        throw new Error('maxWait must be > ms');\n    }\n\n    var lastTimeout = void 0;\n    var maxTimeout = void 0;\n    var lastReject = void 0;\n    var lastState = void 0;\n\n    var hasWindow = false;\n    try {\n        hasWindow = !!window;\n    } catch (err) {\n        // ignore error\n    }\n    if (hasWindow && window.addEventListener) {\n        window.addEventListener('beforeunload', function () {\n            if (!lastTimeout) {\n                return;\n            }\n\n            lastTimeout = clearTimeout(lastTimeout);\n            maxTimeout = clearTimeout(maxTimeout);\n            lastReject = null;\n            engine.save(lastState);\n        });\n    }\n\n    return _extends({}, engine, {\n        save: function save(state) {\n            lastState = state;\n            lastTimeout = clearTimeout(lastTimeout);\n\n            if (lastReject) {\n                lastReject(Error('Debounced, newer action pending'));\n                lastReject = null;\n            }\n\n            return new Promise(function (resolve, reject) {\n                var doSave = function doSave() {\n                    lastTimeout = clearTimeout(lastTimeout);\n                    maxTimeout = clearTimeout(maxTimeout);\n                    lastReject = null;\n                    lastState = null;\n                    engine.save(state).then(resolve)['catch'](reject);\n                };\n\n                lastReject = reject;\n                lastTimeout = setTimeout(doSave, ms);\n\n                if (maxWait !== null && !maxTimeout) {\n                    maxTimeout = setTimeout(doSave, maxWait);\n                }\n            });\n        }\n    });\n};"]}