UNPKG

noscrape

Version:
49 lines 1.71 kB
"use strict"; 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