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.
demoncord-rewrite/dist/build.js

2 lines
9.6 KiB

!function(){"use strict";function e(){let t={};return window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},e=>{t=e}]),t.c}let n={modules:e(),filter:function(e,t){let n=[];for(const r in t){var o=t[r].exports;o&&(o.default&&o.__esModule&&e(o.default)?n.push(o.default):e(o)&&n.push(o))}return n},find:e=>n.filter(e,n.modules)[0],findAll:e=>n.filter(e,n.modules),findByProps:(...e)=>n.find(t=>e.every(e=>void 0!==t[e])),findByPropsAll:(...e)=>n.findAll(t=>e.every(e=>void 0!==t[e])),findByDisplayName:t=>n.find(e=>function(e){let t=void 0,n=e[0],o=1;for(;o<e.length;){var r=e[o];const i=e[o+1];if(o+=2,("optionalAccess"===r||"optionalCall"===r)&&null==n)return;"access"===r||"optionalAccess"===r?(t=n,n=i(n)):"call"!==r&&"optionalCall"!==r||(n=i((...e)=>n.call(t,...e)),t=void 0)}return n}([e,"optionalAccess",e=>e.default,"optionalAccess",e=>e.displayName])===t),findByStrings:(...e)=>n.find(t=>e.every(e=>t.toString().contains(e))),reloadModules:()=>{n.modules=e()}};function i(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}function t(t,o){const e=(!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){function t(){return indexedDB.databases().finally(e)}n=setInterval(t,100),t()}).finally(function(){return clearInterval(n)}):Promise.resolve()).then(()=>{const e=indexedDB.open(t);return e.onupgradeneeded=()=>e.result.createObjectStore(o),i(e)});var n;return(t,n)=>e.then(e=>n(e.transaction(o,t).objectStore(o)))}let o;function s(){return o=o||t("keyval-store","keyval")}function r(t,e=s()){return e("readonly",e=>i(e.get(t)))}function a(t,n,e=s()){return e("readwrite",e=>(e.put(n,t),i(e.transaction)))}function l(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},i(e.transaction)}var c=Object.freeze({__proto__:null,clear:function(e=s()){return e("readwrite",e=>(e.clear(),i(e.transaction)))},createStore:t,del:function(t,e=s()){return e("readwrite",e=>(e.delete(t),i(e.transaction)))},delMany:function(e,t=s()){return t("readwrite",t=>(e.forEach(e=>t.delete(e)),i(t.transaction)))},entries:function(n=s()){return n("readonly",e=>{if(e.getAll&&e.getAllKeys)return Promise.all([i(e.getAllKeys()),i(e.getAll())]).then(([e,n])=>e.map((e,t)=>[e,n[t]]));const t=[];return n("readonly",e=>l(e,e=>t.push([e.key,e.value])).then(()=>t))})},get:r,getMany:function(e,t=s()){return t("readonly",t=>Promise.all(e.map(e=>i(t.get(e)))))},keys:function(e=s()){return e("readonly",e=>{if(e.getAllKeys)return i(e.getAllKeys());const t=[];return l(e,e=>t.push(e.key)).then(()=>t)})},promisifyRequest:i,set:a,setMany:function(e,t=s()){return t("readwrite",t=>(e.forEach(e=>t.put(e[1],e[0])),i(t.transaction)))},update:function(o,r,e=s()){return e("readwrite",n=>new Promise((e,t)=>{n.get(o).onsuccess=function(){try{n.put(r(this.result),o),e(i(n.transaction))}catch(e){t(e)}}}))},values:function(e=s()){return e("readonly",e=>{if(e.getAll)return i(e.getAll());const t=[];return l(e,e=>t.push(e.value)).then(()=>t)})}}),u=Object.freeze({GET:"GET",SET:"SET",DELETE:"DELETE",UPDATE:"UPDATE"});class d{constructor(){this.listeners=Object.values(u).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,n){const o=(e,t)=>{this.off(e,o),n(e,t)};this.on(e,o)},this.off=function(e,t){this.listeners[e].delete(t)},this.emit=function(e,t){for(const n of this.listeners[e])n(e,t)};for(const t of Object.values(u))this[t.toLowerCase()]=e=>{this.emit(t,e)}}}function f(e={},{nestArrays:a=!0}={}){const l=new d;return Object.assign({store:function r(e,i,s){return new Proxy(e,{get(e,t){var n=[...s,t],o=e[t];return null!=o?(l.get({path:n,value:o}),!a&&Array.isArray(o)||"object"!=typeof o?o:r(o,i,n)):r(e[t]={},i,n)},set(e,t,n){return e[t]=n,l.set({path:[...s,t],value:n}),!0},deleteProperty(e,t){return delete e[t]&&(l.delete({path:[...s,t]}),!0)},has(e,t){return("object"!=typeof e[t]||0!==Object.keys(e[t]).length)&&t in e}})}(e,e,[]),ghost:e},l)}var p=Object.freeze({__proto__:null,Events:u,make:f});const m=n["findByProps"],g=m("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement");c={React:g,ReactDOM:m("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate"),dispatch:m("dirtyDispatch").__proto__,idb:c,nests:p};function y(i,s=!1){return function(e,...t){t=t.join(""),void 0===e&&(e=["Default"],y("warn")("Requested hierarchy has not been passed to logger function, defaulting to default string",["Logger"])),"string"==typeof e&&(t=e,e=["Default"]);let n=["Demoncord",...e,t],o=[],r="";s&&n.splice(0,1);for(let e=0;e<n.length;e++)e===n.length-1?(r+="%c"+n[e],o.push("\n\n@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@700&display=swap');\nfont-family: 'IBM Plex Mono', monospace;\n\ncolor: #E2EECE;\nfont-weight: 500;\nfont-size: 0.9em;\n")):(r+="%c"+n[e]+"%c ",o.push("\n\n@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@700&display=swap');\nfont-family: 'IBM Plex Mono', monospace;\n\ncolor: #1d1131;\nbackground-color: #aa8dd8;\nfont-weight: 600;\nfont-size: 0.9em;\npadding: 0px 5px 1px 5px;\nborder-radius: 5px;\n",""));i(r,...o)}}p={logger:{log:y(console.log),warn:y(console.warn),error:y(console.error),trace:y(console.trace),makeLogger:y}};const h=f();var v={init:async function(){const e=demon.require("internal/nest"),o=(window.__demon||(window.__demon={}),await r("demon")||await a("demon",{status:{},plugins:{}}),await r("demon"));o.status={},Object.keys(o.plugins).forEach(e=>{e=o.plugins[e];const t=(0,eval)(e.initialize);var n=t.onStart();h.store[e.meta.name].ctx=n,o.status[e.meta.name]={running:!0}}),e.store.pluginsList=o.plugins,await a("demon",o)},add:async function(e,t){const n=await r("demon");n.plugins[t.name]={initialize:e,meta:t},extNest.store.pluginsList=n.plugins,await a("demon",n)},del:async function(e){const t=await r("demon");var n;t.plugins[e]&&t.status[e].running&&(n=h.store[e].ctx,(0,eval)(t.plugins[e].initialize).onStop(n)),delete t.status[e],delete t.plugins[e],extNest.store.pluginsList=t.plugins,await a("demon",t)},toggle:async function(t){const e=await r("demon");var n;e.plugins[t]&&(!function(e){let t=void 0,n=e[0],o=1;for(;o<e.length;){var r=e[o];const i=e[o+1];if(o+=2,("optionalAccess"===r||"optionalCall"===r)&&null==n)return;"access"===r||"optionalAccess"===r?(t=n,n=i(n)):"call"!==r&&"optionalCall"!==r||(n=i((...e)=>n.call(t,...e)),t=void 0)}return n}([e,"access",e=>e.status,"access",e=>e[t],"optionalAccess",e=>e.running])?(n=(0,eval)(e.plugins[t].initialize).onStart(),h.store[t].ctx=n,e.status[t]={running:!0}):(console.log(e.status[t].ctx),n=h.store[t].ctx,(0,eval)(e.plugins[t].initialize).onStop(n),e.status[t].running=!1)),await a("demon",e)}};const _=["a","b","i"],w=new Map;var E;E="a";const b=(s,a,e,o=!1)=>{if("function"!=typeof a[s])throw new Error(s+" is not a function in "+a.constructor.name);w.has(a)||w.set(a,{});const t=w.get(a);if(!t[s]){const i=a[s],c=(t[s]={o:i,b:new Map,i:new Map,a:new Map},(e,t,n)=>{t=function(e,t,n,o,r){const i=w.get(t)?.[e];if(!i)return r?Reflect.construct(t[e],n,o):t[e].apply(o,n);for(const c of i.b.values()){var s=c.call(o,n);Array.isArray(s)&&(n=s)}let a=(...e)=>r?Reflect.construct(i.o,e,o):i.o.apply(o,e);for(const u of i.i.values()){const d=a;a=(...e)=>u.call(o,e,d)}let l=a(...n);for(const f of i.a.values())l=f.call(o,n,l)??l;return l}(s,a,t,e,n);return o&&r(),t});var n=new Proxy(i,{apply:(e,t,n)=>c(t,n,!1),construct:(e,t)=>c(i,t,!0),get:(e,t,n)=>"toString"==t?i.toString.bind(i):Reflect.get(e,t,n)});Reflect.defineProperty(a,s,{value:n,configurable:!0,writable:!0})||(a[s]=n)}const l=Symbol(),r=()=>{{var e=a,t=s,n=l,o=E;const r=w.get(e),i=r?.[t];return!!i?.[o].has(n)&&(i[o].delete(n),_.every(e=>0===i[e].size)&&(Reflect.defineProperty(e,t,{value:i.o,writable:!0,configurable:!0})||(e[t]=i.o),delete r[t]),0==Object.keys(r).length&&w.delete(e),!0)}};return t[s][E].set(l,e),r},S="/home/ruthenic/Coding/Javascript/demoncord/demoncord-rewrite/src/api/ui/settings/plugincard.jsx",D=n.findByProps("Sizes","Tags"),A=n.findByDisplayName("Card"),x=(n.findByDisplayName("FormText"),n.findByProps("BorderColors","Colors"));var N=e=>g.createElement(g.Fragment,null,g.createElement(A,{type:"cardPrimary",outline:!1,editable:!1,__self:void 0,__source:{fileName:S,lineNumber:11}},g.createElement(D,{size:D.Sizes.SIZE_5,__self:void 0,__source:{fileName:S,lineNumber:12}},e.name),g.createElement(x,{color:x.Colors.RED,onClick:()=>{Start,Stop},__self:void 0,__source:{fileName:S,lineNumber:15}})));const P="/home/ruthenic/Coding/Javascript/demoncord/demoncord-rewrite/src/api/ui/settings/plugins.jsx",B=n.findByProps("Sizes","Tags");n.findByDisplayName("FormTitle"),n.findByDisplayName("FormSection"),n.findByDisplayName("FormDivider");var M=()=>{const t=demon.require("internal/nest").ghost.pluginsList;return g.createElement(g.Fragment,null,g.createElement(B,{size:B.Sizes.SIZE_20,__self:void 0,__source:{fileName:P,lineNumber:14}},"Plugins"),Object.keys(t).map(e=>g.createElement(N,{name:t[e].meta.name,__self:void 0,__source:{fileName:P,lineNumber:17}})))};const O=n.findByDisplayName("SettingsView");var R={init:function(){b("getPredicateSections",O.default.prototype,(e,t)=>(t.unshift({section:"HEADER",label:"Demoncord"},{section:"demoncord",label:"Plugins",element:M},{section:"DIVIDER"}),t))}};if(!window.DiscordNative)throw new Error("Sorry, Demoncord cannot be used on web!");const T={modules:{webpack:n,common:c},utils:p,plugins:v,internal:{nest:c.nests.make()}};window.demon={require:function(e){const t=e.split("/");let n=T;return t.forEach(e=>{if(!(e in n))throw new Error("Module does not exist!");n=n[e]}),n}},v.init(),R.init()}();