import {PDFDocument} from "pdf-lib"; let [pdfPath, csPath] = Deno.args; while (!pdfPath || !pdfPath.endsWith('.pdf')) pdfPath = prompt("Please provide path to PDF file:") || ""; while (!csPath || !csPath.endsWith('.cs')) csPath = prompt("Please provide path to CS class file:") || ""; const pdfBytes = await Deno.readFile(pdfPath); const pdfDoc = await PDFDocument.load(pdfBytes); const form = pdfDoc.getForm(); const fields = form.getFields(); const csFiles = await Promise.all(csPath.split(",").map(c => Deno.readTextFile(c.trim()))); const fieldNames:string[] = fields.map(f => f.getName()) .filter(f => { const rx = new RegExp(`(? rx.test(c)) }) .filter(f => !f.toLowerCase().includes("signature")); if (fieldNames.length) { console.log("%cThe following field names are not present in the CS code", "color: red") console.log(fieldNames) alert("Your princess is in another castle...") } else { console.log("%cAll form fields present", 'color: lime') alert("Ok!") }