syphonx-core
Version:
SyphonX is a template-driven solution for extracting data from HTML in a highly efficient way. It combines the power of jQuery, Regular Expressions, and Javascript into a declarative template-driven format that extracts and reshapes HTML data into JSON.
46 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unpatch = void 0;
function unpatch(keys) {
var iframe = document.createElement("iframe");
iframe.style.display = "none";
document.body.appendChild(iframe);
if (iframe.contentWindow) {
var contentWindow = iframe.contentWindow;
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
var key = keys_1[_i];
if (!key.includes(".")) {
var obj = contentWindow[key];
if (obj) {
var descriptor = Object.getOwnPropertyDescriptor(contentWindow, key);
if (descriptor)
Object.defineProperty(window, key, descriptor);
}
}
else {
var parts = key.split(".");
var objectType = parts.slice(0, -1).join(".");
var method = parts[parts.length - 1];
var obj = contentWindow;
for (var _a = 0, _b = objectType.split('.'); _a < _b.length; _a++) {
var part = _b[_a];
obj = obj[part];
}
if (obj) {
var descriptor = Object.getOwnPropertyDescriptor(obj, method);
if (descriptor) {
var targetObj = window;
for (var _c = 0, _d = objectType.split('.'); _c < _d.length; _c++) {
var part = _d[_c];
targetObj = targetObj[part];
}
Object.defineProperty(targetObj, method, descriptor);
}
}
}
}
}
document.body.removeChild(iframe);
}
exports.unpatch = unpatch;
//# sourceMappingURL=unpatch.js.map