You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
17 KiB

2 years ago
!function(){"use strict";let getModules,modules,defaultGetStoreFunc,pluginNest;window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},e=>{modules=e}]);let webpack={modules:(getModules=()=>modules.c)(),getModules,filter:function(e,t,n=!1){let o,i=[];for(let r in t){let l=t[r].exports;if(l){if(l.default&&l.__esModule&&e(l.default)){if(n){o=l.default;break}i.push(l.default)}else if(e(l)){if(n){o=l;break}i.push(l)}}}return n?o:i},find:e=>webpack.filter(e,webpack.modules,!0),findAll:e=>webpack.filter(e,webpack.modules),findByProps:(...e)=>webpack.find(t=>e.every(e=>void 0!==t[e])),findByPropsAll:(...e)=>webpack.findAll(t=>e.every(e=>void 0!==t[e])),findByDisplayName:e=>webpack.find(t=>t?.displayName===e),findByDisplayNameAll:e=>webpack.findAll(t=>t?.displayName===e),findByStrings:(...e)=>webpack.find(t=>e.every(e=>t.toString().contains(e))),reloadModules(){webpack.modules=getModules()}};function promisifyRequest(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function createStore(e,t){let n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);let o=promisifyRequest(n);return(e,n)=>o.then(o=>n(o.transaction(t,e).objectStore(t)))}function defaultGetStore(){return defaultGetStoreFunc||(defaultGetStoreFunc=createStore("keyval-store","keyval")),defaultGetStoreFunc}function get(e,t=defaultGetStore()){return t("readonly",t=>promisifyRequest(t.get(e)))}function set(e,t,n=defaultGetStore()){return n("readwrite",n=>(n.put(t,e),promisifyRequest(n.transaction)))}function eachCursor(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},promisifyRequest(e.transaction)}var idb=Object.freeze({__proto__:null,clear:function(e=defaultGetStore()){return e("readwrite",e=>(e.clear(),promisifyRequest(e.transaction)))},createStore:createStore,del:function(e,t=defaultGetStore()){return t("readwrite",t=>(t.delete(e),promisifyRequest(t.transaction)))},delMany:function(e,t=defaultGetStore()){return t("readwrite",t=>(e.forEach(e=>t.delete(e)),promisifyRequest(t.transaction)))},entries:function(e=defaultGetStore()){return e("readonly",t=>{if(t.getAll&&t.getAllKeys)return Promise.all([promisifyRequest(t.getAllKeys()),promisifyRequest(t.getAll())]).then(([e,t])=>e.map((e,n)=>[e,t[n]]));let n=[];return e("readonly",e=>eachCursor(e,e=>n.push([e.key,e.value])).then(()=>n))})},get:get,getMany:function(e,t=defaultGetStore()){return t("readonly",t=>Promise.all(e.map(e=>promisifyRequest(t.get(e)))))},keys:function(e=defaultGetStore()){return e("readonly",e=>{if(e.getAllKeys)return promisifyRequest(e.getAllKeys());let t=[];return eachCursor(e,e=>t.push(e.key)).then(()=>t)})},promisifyRequest:promisifyRequest,set:set,setMany:function(e,t=defaultGetStore()){return t("readwrite",t=>(e.forEach(e=>t.put(e[1],e[0])),promisifyRequest(t.transaction)))},update:function(e,t,n=defaultGetStore()){return n("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(promisifyRequest(n.transaction))}catch(r){i(r)}}}))},values:function(e=defaultGetStore()){return e("readonly",e=>{if(e.getAll)return promisifyRequest(e.getAll());let t=[];return eachCursor(e,e=>t.push(e.value)).then(()=>t)})}}),Events=Object.freeze({GET:"GET",SET:"SET",DELETE:"DELETE",UPDATE:"UPDATE"});class EventEmitter{constructor(){for(let e of(this.listeners=Object.values(Events).reduce((e,t)=>(e[t]=new Set,e),{}),this.on=function(e,t){if(this.listeners[e].has(t))throw Error(`This listener on ${e} already exists.`);this.listeners[e].add(t)},this.once=function(e,t){let n=(e,o)=>{this.off(e,n),t(e,o)};this.on(e,n)},this.off=function(e,t){this.listeners[e].delete(t)},this.emit=function(e,t){for(let n of this.listeners[e])n(e,t)},Object.values(Events)))this[e.toLowerCase()]=t=>{this.emit(e,t)}}}function make(e={},{nestArrays:t=!0}={}){let n=new EventEmitter;return Object.assign({store:function e(o,i,r){return new Proxy(o,{get(o,l){let a=[...r,l],s=o[l];return null!=s?(n.get({path:a,value:s}),!t&&Array.isArray(s))?s:"object"==typeof s?e(s,i,a):s: