safeer-pdf-generator
Version:
Framework-agnostic PDF generation library with chunking, merging, S3 upload, and email delivery
44 lines • 1.1 kB
JavaScript
import { EventEmitter } from 'events';
/**
* Typed event emitter for PDF lifecycle events.
*
* @example
* ```typescript
* const events = new PdfEventEmitter();
*
* events.on('generation:started', ({ title, rowCount }) => {
* console.log(`Generating PDF: ${title} with ${rowCount} rows`);
* });
*
* events.on('s3:upload:complete', ({ url }) => {
* notifyClient(url);
* });
*
* events.on('error', ({ error, phase }) => {
* alertOps(`PDF failed at ${phase}: ${error.message}`);
* });
*
* await generatePdf({ title: 'Report', data, columns, events });
* ```
*/
export class PdfEventEmitter extends EventEmitter {
/**
* Emit a typed lifecycle event
*/
emitEvent(event, payload) {
return this.emit(event, payload);
}
/**
* Listen for a typed lifecycle event
*/
onEvent(event, listener) {
return this.on(event, listener);
}
/**
* Listen for a typed lifecycle event (once)
*/
onceEvent(event, listener) {
return this.once(event, listener);
}
}
//# sourceMappingURL=PdfEventEmitter.js.map