UNPKG

html-pdf-chrome

Version:

HTML to PDF and image converter via Chrome/Chromium

40 lines 1.35 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Event = void 0; const CompletionTrigger_1 = require("./CompletionTrigger"); /** * Waits for an Event to fire. * * @export * @class Event * @extends {CompletionTrigger} */ class Event extends CompletionTrigger_1.CompletionTrigger { /** * Creates an instance of the Event CompletionTrigger. * @param {string} event the name of the event to listen for. * @param {string} [cssSelector] the CSS selector of the element to listen on. * Defaults to body. * @param {number} [timeout] ms to wait until timing out. * @memberof Event */ constructor(event, cssSelector, timeout) { super(timeout); this.event = event; this.cssSelector = cssSelector; } async wait(client) { const { Runtime } = client; const selector = this.cssSelector ? `querySelector('${this.cssSelector}')` : 'body'; return Runtime.evaluate({ awaitPromise: true, expression: ` new Promise((resolve, reject) => { document.${selector}.addEventListener('${this.event}', resolve, { once: true }); setTimeout(() => reject('${this.timeoutMessage}'), ${this.timeout}); })`, }); } } exports.Event = Event; //# sourceMappingURL=Event.js.map