noscrape
Version:
obfuscate your content
49 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Noscrape = void 0;
const get_binary_path_1 = require("./get_binary_path");
const node_fs_1 = require("node:fs");
const node_child_process_1 = require("node:child_process");
const obfuscateString_1 = require("./obfuscateString");
class Noscrape {
constructor(fontPath) {
this.mapping = {};
this.fontPath = fontPath;
this.binaryPath = (0, get_binary_path_1.getBinaryPath)();
if (!(0, node_fs_1.existsSync)(this.fontPath)) {
throw new Error("could not read font-file");
}
}
obfuscate(data) {
if (typeof data === "string") {
return (0, obfuscateString_1.obfuscateString)(data, this.mapping);
}
if (typeof data === "number") {
return (0, obfuscateString_1.obfuscateString)(`${data}`, this.mapping);
}
const newData = {};
for (const [key, value] of Object.entries(data)) {
newData[key] = this.obfuscate(value);
}
return newData;
}
async render() {
return new Promise((resolve, reject) => {
const options = JSON.stringify({
font: this.fontPath,
translation: this.mapping,
});
(0, node_child_process_1.exec)(`${this.binaryPath} '${options}'`, (err, stdout, stderr) => {
if (err) {
reject(err);
}
if (stderr) {
reject(err);
}
resolve(Buffer.from(stdout, "base64"));
});
});
}
}
exports.Noscrape = Noscrape;
//# sourceMappingURL=noscrape.js.map