UNPKG

patchwork-preloadconverter

Version:

A specialized converter for handling preload (.pld) files.

52 lines 4.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PreloadConverter = void 0; const fs_1 = require("fs"); const promises_1 = require("fs/promises"); const LoggerFactory_1 = require("../logging/LoggerFactory"); const readline_1 = require("readline"); const node_os_1 = require("node:os"); const log = LoggerFactory_1.LoggerFactory.createLogger("PreloadConverter"); const preloadRegex = /call Preload\(\s*\"(?<content>.*)\"\s*\)/gm; async function extractPreloadLines(inputPath) { const fileStream = (0, fs_1.createReadStream)(inputPath); const readLine = (0, readline_1.createInterface)({ input: fileStream, crlfDelay: Infinity }); let lineNumber = 0; let startFound = false; const result = []; for await (const line of readLine) { if (line.includes("PreloadEnd")) { break; } if (startFound) { result.push(line); } if (line.includes("PreloadStart")) { startFound = true; } lineNumber++; } fileStream.close(); return result; } function filterPreloadCalls(preloadLines) { return preloadLines.map(it => { preloadRegex.lastIndex = 0; const result = preloadRegex.exec(it); return result?.groups?.content; }).map(it => (it == null) ? "" : it); } async function writeLinesToFile(lines, outputPath) { await (0, promises_1.writeFile)(outputPath, lines.join(node_os_1.EOL)); } exports.PreloadConverter = { async convertPreloadFile(inputPath, outputPath) { log.info(`Converting '${inputPath}' to '${outputPath}'`); const preloadLines = await extractPreloadLines(inputPath); log.info(`Found ${preloadLines.length} lines.`); const contentLines = filterPreloadCalls(preloadLines); await writeLinesToFile(contentLines, outputPath); log.info(`Exported preload content to '${outputPath}'`); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlbG9hZENvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0ZXIvUHJlbG9hZENvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBc0M7QUFDdEMsMENBQXdDO0FBQ3hDLDREQUF5RDtBQUN6RCx1Q0FBMkM7QUFDM0MscUNBQThCO0FBRTlCLE1BQU0sR0FBRyxHQUFHLDZCQUFhLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFM0QsTUFBTSxZQUFZLEdBQUcsNENBQTRDLENBQUM7QUFFbEUsS0FBSyxVQUFVLG1CQUFtQixDQUFDLFNBQWlCO0lBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUEscUJBQWdCLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBZSxFQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM1RSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNO1FBQ1YsQ0FBQztRQUVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLENBQUM7UUFFRCxVQUFVLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRW5CLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFlBQXNCO0lBQzlDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUN6QixZQUFZLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUE7SUFDbEMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxLQUFlLEVBQUUsVUFBa0I7SUFDL0QsTUFBTSxJQUFBLG9CQUFTLEVBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBRyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRVksUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxVQUFrQjtRQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsU0FBUyxTQUFTLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsWUFBWSxDQUFDLE1BQU0sU0FBUyxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsTUFBTSxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakQsR0FBRyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0osQ0FBQSJ9