This is a fork of
lolcatjs
, which itself is a Node port of thelolcat
Ruby gem.
npm install --global @darkobits/lolcatjs
If you just want to synchronously transform a plain string, use the static fromString
method on the
Printer
class:
import Printer from '@darkobits/lolcatjs';
const input = 'The quick brown fox\njumps over the\nlazy dog.';
const transformed = Printer.fromString(input);
If you need to do more exotic things, like transform streams and/or files, you'll want to instantiate a
new Printer
:
import Printer from '@darkobits/lolcatjs';
// Create a new printer.
const printer = new Printer();
// The printer can accept input from strings:
printer.fromString('The quick brown fox jumps over the lazy dog.');
// Or streams (async):
await printer.fromStream(getReadableStreamSomehow());
// Or files (async):
await printer.fromFile('/path/to/muh/file.txt');
// (Or all of the above, in any combination.)
// Output can be read by calling toString():
console.log(printer.toString());
// Or by using the printer in an interpolated string literal:
console.log(`Output: ${printer}`);
// Or, you can pipe it to a writable stream:
printer.stream.pipe(process.stdout);