aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2020-02-14 17:00:23 +0000
committerMatthew Somerville <matthew@mysociety.org>2020-02-14 17:00:23 +0000
commit52e79b293a5595fa558b080e934cf985c5e1c1b7 (patch)
tree2838298314783c55bf53d8c9d1b0724325b9fcfa /web
parent17a3844c49d4769c8d47b50fce4a4a711748bd18 (diff)
Vendor in idb-keyval.
Easier working with CSP headers.
Diffstat (limited to 'web')
-rw-r--r--web/vendor/idb-keyval-iife.min.js1
1 files changed, 1 insertions, 0 deletions
diff --git a/web/vendor/idb-keyval-iife.min.js b/web/vendor/idb-keyval-iife.min.js
new file mode 100644
index 000000000..067a966f6
--- /dev/null
+++ b/web/vendor/idb-keyval-iife.min.js
@@ -0,0 +1 @@
+var idbKeyval=function(e){"use strict";class t{constructor(e="keyval-store",t="keyval"){this.storeName=t,this._dbp=new Promise((r,n)=>{const o=indexedDB.open(e,1);o.onerror=(()=>n(o.error)),o.onsuccess=(()=>r(o.result)),o.onupgradeneeded=(()=>{o.result.createObjectStore(t)})})}_withIDBStore(e,t){return this._dbp.then(r=>new Promise((n,o)=>{const s=r.transaction(this.storeName,e);s.oncomplete=(()=>n()),s.onabort=s.onerror=(()=>o(s.error)),t(s.objectStore(this.storeName))}))}}let r;function n(){return r||(r=new t),r}return e.Store=t,e.get=function(e,t=n()){let r;return t._withIDBStore("readonly",t=>{r=t.get(e)}).then(()=>r.result)},e.set=function(e,t,r=n()){return r._withIDBStore("readwrite",r=>{r.put(t,e)})},e.del=function(e,t=n()){return t._withIDBStore("readwrite",t=>{t.delete(e)})},e.clear=function(e=n()){return e._withIDBStore("readwrite",e=>{e.clear()})},e.keys=function(e=n()){const t=[];return e._withIDBStore("readonly",e=>{(e.openKeyCursor||e.openCursor).call(e).onsuccess=function(){this.result&&(t.push(this.result.key),this.result.continue())}}).then(()=>t)},e}({}); \ No newline at end of file