forked from Demon/demoncord
[a bunch of stuff] move to demonpatcher npm pkg
parent
e1938c3370
commit
b85ee0a3f8
@ -1 +1,4 @@
|
||||
node_modules
|
||||
.pnpm*
|
||||
pnpm*
|
||||
package-lock.json
|
||||
|
@ -1 +1 @@
|
||||
(()=>{var I=Object.create;var a=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var P=e=>a(e,"__esModule",{value:!0});var T=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var g=(e,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of A(n))!N.call(e,t)&&(o||t!=="default")&&a(e,t,{get:()=>n[t],enumerable:!(i=k(n,t))||i.enumerable});return e},x=(e,n)=>g(P(a(e!=null?I(B(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var y=T((Y,p)=>{function s(e,n,o){let i=Symbol(),t=o.before===void 0?(...d)=>d:o.before,R=o.instead===void 0?(d,...u)=>d(...u):o.instead,h=o.after===void 0?(d,u)=>u:o.after,S={apply:(d,u,[l,c])=>(t.apply(l,c),res=R(d.bind(l),c),h.apply(l,c.concat([res])))},b=new Proxy(n[e],S),m=n[e];n[e]=function(){return b(this,[arguments])};let _=()=>{n[e]=m};return n[i]={name:e,orig:m,unpatch:_},_}function D(e,n,o){return s(e,n,{before:o})}function L(e,n,o){return s(e,n,{instead:o})}function O(e,n,o){return s(e,n,{after:o})}p.exports={monkeyPatch:s,before:D,instead:L,after:O}});var v=x(y());function M(){let e;return webpackChunkdiscord_app.push([[Math.random().toString(36)],{},n=>{e=n}]),e.c}function U(e,n){let o=[];for(let i in n){let t=n[i].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o}var r={modules:M(),filter:U,find:e=>r.filter(e,r.modules)[0],findAll:e=>r.filter(e,r.modules),findByProps:(...e)=>r.find(n=>e.every(o=>n[o]!==void 0)),findByPropsAll:(...e)=>r.findAll(n=>e.every(o=>n[o]!==void 0))},f=r;var C={React:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")},E=C;async function F(e){e.demon={patcher:v,webpack:f,common:E}}var w=F;window.demon&&delete window.demon;w(window);})();
|
||||
(()=>{var k=Object.create;var a=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var T=e=>a(e,"__esModule",{value:!0});var g=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var x=(e,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of B(n))!P.call(e,t)&&(o||t!=="default")&&a(e,t,{get:()=>n[t],enumerable:!(i=A(n,t))||i.enumerable});return e},D=(e,n)=>x(T(a(e!=null?k(N(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var y=g((Y,_)=>{function l(e,n,o){let i=Symbol(),t=o.before===void 0?(...d)=>d:o.before,h=o.instead===void 0?(d,...u)=>d(...u):o.instead,S=o.after===void 0?(d,u)=>u:o.after,b={apply:(d,u,[s,c])=>(t.apply(s,c),res=h(d.bind(s),c),S.apply(s,c.concat([res])))},I=new Proxy(n[e],b),m=n[e];n[e]=function(){return I(this,[arguments])};let p=()=>{n[e]=m};return n[i]={name:e,orig:m,unpatch:p},p}function L(e,n,o){return l(e,n,{before:o})}function O(e,n,o){return l(e,n,{instead:o})}function M(e,n,o){return l(e,n,{after:o})}_.exports={monkeyPatch:l,before:L,instead:O,after:M}});var w=D(y());function U(){let e;return webpackChunkdiscord_app.push([[Math.random().toString(36)],{},n=>{e=n}]),e.c}function C(e,n){let o=[];for(let i in n){let t=n[i].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o}var r={modules:U(),filter:C,find:e=>r.filter(e,r.modules)[0],findAll:e=>r.filter(e,r.modules),findByProps:(...e)=>r.find(n=>e.every(o=>n[o]!==void 0)),findByPropsAll:(...e)=>r.findAll(n=>e.every(o=>n[o]!==void 0))},f=r;var v={React:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")},E=v;async function F(e){e.demon={patcher:w.default,webpack:f,common:E}}var R=F;window.demon&&delete window.demon;R(window);})();
|
||||
|
@ -1,46 +0,0 @@
|
||||
function monkeyPatch(name, parentObj, patches) {
|
||||
const injId = Symbol()
|
||||
const before = (patches["before"] === undefined) ? (...args)=>args : patches["before"];
|
||||
const instead = (patches["instead"] === undefined) ? (res,...args)=>res(...args) : patches["instead"];
|
||||
const after = (patches["after"] === undefined) ? (args, res)=>res : patches["after"];
|
||||
const handler = {
|
||||
apply: (target, thisArg, [ctx, args]) => {
|
||||
before.apply(ctx, args);
|
||||
res = instead(target.bind(ctx), args)
|
||||
return after.apply(ctx, args.concat([res]));
|
||||
}
|
||||
};
|
||||
const prox = new Proxy(parentObj[name], handler);
|
||||
const orig = parentObj[name];
|
||||
parentObj[name] = function() {
|
||||
return prox(this, [arguments]);
|
||||
};
|
||||
const unpatch = () => {
|
||||
parentObj[name] = orig;
|
||||
}
|
||||
parentObj[injId] = {
|
||||
name: name,
|
||||
orig: orig,
|
||||
unpatch: unpatch
|
||||
};
|
||||
return unpatch;
|
||||
}
|
||||
|
||||
function before(name, parentObj, func) {
|
||||
return monkeyPatch(name, parentObj, {before: func})
|
||||
}
|
||||
|
||||
function instead(name, parentObj, func) {
|
||||
return monkeyPatch(name, parentObj, {instead: func})
|
||||
}
|
||||
|
||||
function after(name, parentObj, func) {
|
||||
return monkeyPatch(name, parentObj, {after: func})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
monkeyPatch,
|
||||
before,
|
||||
instead,
|
||||
after
|
||||
}
|
Loading…
Reference in new issue