diff options
author | Matthew Somerville <matthew@mysociety.org> | 2020-02-14 17:00:23 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2020-02-14 17:00:23 +0000 |
commit | 52e79b293a5595fa558b080e934cf985c5e1c1b7 (patch) | |
tree | 2838298314783c55bf53d8c9d1b0724325b9fcfa /web | |
parent | 17a3844c49d4769c8d47b50fce4a4a711748bd18 (diff) |
Vendor in idb-keyval.
Easier working with CSP headers.
Diffstat (limited to 'web')
-rw-r--r-- | web/vendor/idb-keyval-iife.min.js | 1 |
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 |