Merge pull request #86 from LavaSquids/patch-patcher

Patched function will have same name as original function
pull/88/head
dperolio 3 years ago committed by GitHub
commit d0122d0efa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -23,27 +23,29 @@ export function runPatches (patches, type, returnValue, _this, args) {
}
export function makeOverride (patch) {
return function (...args) {
let returnValue;
if (!patch.childs.length) return patch.originalFunction.apply(this, args);
return {
[patch.originalFunction.name] (...args) {
let returnValue;
if (!patch.childs.length) return patch.originalFunction.apply(this, args);
try {
let tempReturn = runPatches(patch.childs, 'before', returnValue, this, args);
try {
let tempReturn = runPatches(patch.childs, 'before', returnValue, this, args);
if (Array.isArray(tempReturn)) args = tempReturn;
if (Array.isArray(tempReturn)) args = tempReturn;
tempReturn = void 0;
returnValue = patch.originalFunction.apply(this, args);
tempReturn = void 0;
returnValue = patch.originalFunction.apply(this, args);
tempReturn = runPatches(patch.childs, 'after', returnValue, this, args);
tempReturn = runPatches(patch.childs, 'after', returnValue, this, args);
if (typeof tempReturn !== 'undefined') returnValue = tempReturn;
} catch (err) {
error({ labels: _labels, message: [ err ] });
}
if (typeof tempReturn !== 'undefined') returnValue = tempReturn;
} catch (err) {
error({ labels: _labels, message: [ err ] });
}
return returnValue;
};
return returnValue;
}
}[patch.originalFunction.name];
}
export function createPatch (id, moduleToPatch, functionName) {

Loading…
Cancel
Save