[a bunch of stuff] move to demonpatcher npm pkg

master
Drake 2 years ago
parent e1938c3370
commit b85ee0a3f8

3
.gitignore vendored

@ -1 +1,4 @@
node_modules
.pnpm*
pnpm*
package-lock.json

2
dist/build.js vendored

@ -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);})();

@ -8,7 +8,9 @@
},
"author": "Drake",
"license": "BSD-3-Clause",
"dependencies": {
"esbuild": "^0.14.10"
"dependencies": {},
"devDependencies": {
"esbuild": "^0.14.10",
"demonpatcher": "^0.0.2"
}
}

@ -1,13 +1,21 @@
lockfileVersion: 5.3
specifiers:
demonpatcher: ^0.0.2
esbuild: ^0.14.10
dependencies:
esbuild: 0.14.10
devDependencies:
demonpatcher: 0.0.2
packages:
/demonpatcher/0.0.2:
resolution: {integrity: sha512-hOrLXqUgRkpCv6dlbB3RkzEUlnggLnHr0x4rvNGppWzK1/g1bXFiVRHv3Mo/mK12AnDkdQiIG8RnzO5uWGfWnQ==}
dev: true
/esbuild-android-arm64/0.14.10:
resolution: {integrity: sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ==}
cpu: [arm64]

@ -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
}

@ -1,10 +1,10 @@
import * as patcher from "./api/patcher.js"
import demonpatcher from "demonpatcher"
import webpack from "./api/webpack.js"
import common from "./api/common.js"
async function init(obj) {
obj.demon = {
patcher,
patcher: demonpatcher,
webpack,
common
}

Loading…
Cancel
Save