UNPKG

spamhole

Version:
37 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mailbox_1 = require("./mailbox"); const Chalk = require('chalk'); const Pad = require('pad'); const Ora = require('ora'); const Boxen = require('boxen'); const Hermit = require('hermit'); const Clipboardy = require('clipboardy'); // Constants const SPINNER_TEXT = "Waiting for new emails..."; // Create the mailbox, print info and copy address to clipboard const box = mailbox_1.Mailbox.create(process.argv[2]); Clipboardy.writeSync(box.address); console.log(Boxen(box.address, { padding: 1, borderStyle: 'double', borderColor: 'green' })); console.log(Chalk.bold.yellow('WARNING: Anything sent to this address is public!\n')); // Start spinner and listen for new emails const spinner = Ora({ text: SPINNER_TEXT, color: 'yellow', spinner: 'dots6' }).start(); box.on('newMail', (m) => box.getEmail(m.id).then(printMail).catch(console.error)); // Handler for new emails function printMail(parsedEmail) { const res = typeof parsedEmail.html === 'string' ? parsedEmail.html : parsedEmail.text; spinner.stop(); printBanner(` Subject: ${parsedEmail.subject}`); printBanner(` From: ${parsedEmail.from.text}`); printBanner(` Date: ${parsedEmail.date}`); Hermit(parsedEmail.textAsHtml, (err, res) => { console.log(res); console.log('\n'); spinner.start(SPINNER_TEXT); }); } // Prints text in inversed banner function printBanner(text) { console.log(Chalk.inverse(Pad(text, process.stdout.columns || 80, ' '))); } //# sourceMappingURL=index.js.map