@iqx-limited/quick-pdf 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ This project provides a set of utilities for converting various file formats wit
14
14
  ## Requirements
15
15
 
16
16
  - **Node.js**: This project is built with Node.js and uses ES modules. NodeJS > v20 required.
17
- - Firefox Browser installed on machine.
17
+ - Firefox or Chrome (Module Dependant) either remotely or on your machine.
18
18
 
19
19
  # Operations Available in the Package
20
20
 
@@ -62,6 +62,7 @@ Validation occurs on the html string passed. The Error Object returned is:
62
62
  |-----------|----------|--------------------------------------------------|---------|
63
63
  | `base64` | `boolean` | PDF should be returned as a base64 encoded string. |false|
64
64
  | `rules` | `object` | Optional custom validation rules for HTML content - see https://html-validate.org/rules/ for more details. Default is all standard rules enabled. |''|
65
+ | `closeBrowser` | `boolean` | Optional flag to close the browser after conversion. | false |
65
66
 
66
67
  ## 2. `img2pdf`
67
68
 
@@ -84,9 +85,12 @@ img2pdf(input: Buffer | string | URL, options: Options = {})
84
85
  | `header` | `string` | Optional header text to include in the PDF. |undefined|
85
86
  | `footer` | `string` | Optional footer text to include in the PDF. |undefined|
86
87
  | `fontSize` | `number` | Font Size of the header or footer | 10 |
88
+ | `closeBrowser` | `boolean` | Optional flag to close the browser after conversion. | false |
87
89
 
88
90
  ## 3. `pdf2img`
89
91
 
92
+ FIREFOX is a hard requirement. Chrome will not work with this module.
93
+
90
94
  ### Function Signature:
91
95
  ```typescript
92
96
  pdf2img(input: Buffer | string | URL, options: Options = {})
@@ -106,3 +110,19 @@ pdf2img(input: Buffer | string | URL, options: Options = {})
106
110
  | `quality` | `number` | Quality for rendering the PDF pages, not applicable for PNG. Default is 100. |
107
111
  | `password`| `string` | Optional password for decrypting password-protected PDFs. |
108
112
  | `type` | `string` | The mime type to output - "png" | "jpeg" | "webp". Default is "png". |
113
+ | `page` | `number` | Optional page number to return. If not specified, all pages are returned. |
114
+ | `closeBrowser` | `boolean` | Optional flag to close the browser after conversion. Default is false. |
115
+
116
+ ## 3. `browsers`
117
+
118
+ ### Function Signature:
119
+ ```typescript
120
+ launchBrowser(browserType?: "firefox" | "chrome", wsURL?: string)
121
+ closeBrowser()
122
+ ```
123
+
124
+ If no browserType is specified, the first existing instance of a browser will be returned - starting with firefox. If no browser is found, it will try and retrieve the first instance of a browser locally. Where this results in no browser an error will be thrown.
125
+ If a browserType is specified and no cached browser of that type is found, the browser will attempt to launch from your local machine. Include a wsURL to connect to a remote browser instance. An error will be thrown if not found.
126
+
127
+ `closeBrowser()` will close all running browsers, if remote the browser will disconnect.
128
+ On calling a module without a running instance, the browser will be created automatically - starting with firefox. Pass the closeBrowser parameter to your given module to call `closeBrowser()` on completion.
package/dist/index.cjs CHANGED
@@ -4,14 +4,21 @@ var semver = require('semver');
4
4
  var node_url = require('node:url');
5
5
  var node_path = require('node:path');
6
6
  var promises = require('node:fs/promises');
7
- var puppeteer = require('puppeteer');
7
+ var puppeteer = require('puppeteer-core');
8
8
  var imageSize = require('image-size');
9
9
  var PDFDocument = require('pdfkit');
10
10
  var node_fs = require('node:fs');
11
11
  var node = require('html-validate/node');
12
12
 
13
13
  let firefox = null;
14
+ let chrome = null;
15
+ let isRemoteBrowser = false;
14
16
  const BROWSER_PATHS = {
17
+ chrome: {
18
+ linux: "/usr/bin/google-chrome",
19
+ mac: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
20
+ windows: node_path.join("C:", "Program Files", "Google", "Chrome", "Application", "chrome.exe")
21
+ },
15
22
  firefox: {
16
23
  linux: "/usr/bin/firefox",
17
24
  mac: "/Applications/Firefox.app/Contents/MacOS/firefox",
@@ -36,66 +43,125 @@ const isBrowserInstalled = async (browser) => {
36
43
  return false;
37
44
  }
38
45
  };
39
- async function launchBrowser(browserType) {
40
- return new Promise(async (resolve) => {
41
- if (firefox)
42
- return resolve(firefox);
43
- if (!firefox) {
44
- const os = getOS();
45
- const executablePath = BROWSER_PATHS[browserType][os];
46
- if (!(await isBrowserInstalled(browserType))) {
47
- console.error(`${browserType.toUpperCase()} is not installed.`);
48
- process.exit(1);
46
+ let launching = null;
47
+ async function launchBrowser(browserType, wsURL) {
48
+ if (!browserType) {
49
+ if (firefox?.connected) {
50
+ return firefox;
51
+ }
52
+ else if (chrome?.connected) {
53
+ return chrome;
54
+ }
55
+ else {
56
+ const [firefox, chrome] = await Promise.all([
57
+ launchBrowser("firefox", wsURL).catch(() => null),
58
+ launchBrowser("chrome", wsURL).catch(() => null)
59
+ ]);
60
+ if (firefox) {
61
+ return firefox;
62
+ }
63
+ else if (chrome) {
64
+ return chrome;
49
65
  }
50
- const browser = await puppeteer.launch({
66
+ throw new Error("No browser launched yet");
67
+ }
68
+ }
69
+ if (browserType === "firefox" && firefox?.connected) {
70
+ return firefox;
71
+ }
72
+ else if (browserType === "chrome" && chrome?.connected) {
73
+ return chrome;
74
+ }
75
+ if (!(await isBrowserInstalled(browserType))) {
76
+ throw new Error(`${browserType.toUpperCase()} is not installed.`);
77
+ }
78
+ if (launching) {
79
+ await launching;
80
+ return launchBrowser(browserType, wsURL);
81
+ }
82
+ launching = (async () => {
83
+ isRemoteBrowser = !!wsURL;
84
+ let browser;
85
+ if (wsURL) {
86
+ console.log(`Launching remote ${browserType.toUpperCase()} browser...`);
87
+ browser = await puppeteer.connect({
88
+ browserWSEndpoint: wsURL,
89
+ acceptInsecureCerts: true
90
+ });
91
+ }
92
+ else {
93
+ console.log(`Launching local ${browserType.toUpperCase()} browser...`);
94
+ browser = await puppeteer.launch({
51
95
  browser: browserType,
52
96
  headless: "shell",
53
- executablePath,
97
+ executablePath: BROWSER_PATHS[browserType][getOS()],
54
98
  args: ["--no-sandbox", "--disable-setuid-sandbox"]
55
99
  });
56
- {
57
- firefox = browser;
58
- }
59
- return resolve(browser);
60
100
  }
61
- throw new Error(`Browser type ${browserType} is not supported`);
62
- });
101
+ if (browserType === "chrome") {
102
+ chrome = browser;
103
+ chrome.on("disconnected", () => {
104
+ chrome = null;
105
+ });
106
+ }
107
+ else {
108
+ firefox = browser;
109
+ firefox.on("disconnected", () => {
110
+ firefox = null;
111
+ });
112
+ }
113
+ launching = null;
114
+ return browser;
115
+ })();
116
+ return launching;
63
117
  }
64
- async function closeBrowsers() {
118
+ async function closeBrowser() {
65
119
  try {
66
- if (firefox) {
67
- await (await firefox).close();
68
- firefox = null;
120
+ if (chrome?.connected) {
121
+ await chrome.disconnect();
122
+ }
123
+ if (firefox?.connected) {
124
+ await firefox.disconnect();
125
+ }
126
+ if (!isRemoteBrowser) {
127
+ if (chrome) {
128
+ await chrome.close();
129
+ }
130
+ if (firefox) {
131
+ await firefox.close();
132
+ }
69
133
  }
134
+ console.log("Browser closed successfully.");
135
+ chrome = null;
136
+ firefox = null;
70
137
  }
71
138
  catch (err) {
72
139
  console.error("Error closing browsers in @iqx-limited/quick-form:", err);
73
140
  }
74
141
  }
75
142
  process.on("exit", async () => {
76
- await closeBrowsers();
143
+ await closeBrowser();
77
144
  });
78
145
  process.on("SIGINT", async () => {
79
146
  console.log("SIGINT received. Closing browsers...");
80
- await closeBrowsers();
147
+ await closeBrowser();
81
148
  });
82
149
  process.on("SIGTERM", async () => {
83
150
  console.log("SIGTERM received. Closing browsers...");
84
- await closeBrowsers();
151
+ await closeBrowser();
85
152
  });
86
153
 
87
154
  const pagePoolSize$1 = 5;
88
155
  const RESOURCE_LIMIT$1 = 100;
89
156
  let resourceCount$1 = 0;
90
157
  let pagePool$1 = [];
91
- let browser$1 = null;
92
- async function launchPages$1() {
158
+ async function launchPages$1(firefox) {
93
159
  if (pagePool$1.length > 0) {
94
160
  return pagePool$1;
95
161
  }
96
162
  pagePool$1 = await Promise.all(Array.from({ length: pagePoolSize$1 }, async () => {
97
- if (browser$1) {
98
- const page = await browser$1.newPage();
163
+ if (firefox) {
164
+ const page = await firefox.newPage();
99
165
  await page.setRequestInterception(true);
100
166
  await page.setDefaultNavigationTimeout(10000);
101
167
  await page.goto("about:blank");
@@ -118,16 +184,16 @@ async function launchPages$1() {
118
184
  return pagePool$1;
119
185
  }
120
186
  const pdf2img = async (input, options = {}) => {
121
- browser$1 = await launchBrowser("firefox");
122
- if (!browser$1?.connected) {
187
+ const browser = await launchBrowser("firefox");
188
+ if (!browser?.connected) {
123
189
  throw new Error("Browser not available");
124
190
  }
125
- const pagePool = await launchPages$1();
191
+ const pagePool = await launchPages$1(browser);
126
192
  let page = pagePool.pop();
127
193
  let tempPage = false;
128
194
  if (!page) {
129
195
  tempPage = true;
130
- page = await browser$1.newPage();
196
+ page = await browser.newPage();
131
197
  }
132
198
  let path = "";
133
199
  let address = "";
@@ -163,10 +229,6 @@ const pdf2img = async (input, options = {}) => {
163
229
  catch { }
164
230
  }
165
231
  await page.waitForSelector("canvas", { timeout: 5000 });
166
- await page.waitForSelector(".loadingIcon", {
167
- timeout: 5000,
168
- hidden: true
169
- });
170
232
  const imageBuffers = [];
171
233
  const pageCount = await page.evaluate(() => {
172
234
  if (window.PDFViewerApplication) {
@@ -191,41 +253,15 @@ const pdf2img = async (input, options = {}) => {
191
253
  height: pdfPage.height,
192
254
  deviceScaleFactor: 1
193
255
  });
194
- for (let i = 1; i <= pageCount; i++) {
195
- await page.evaluate((pageNum) => {
196
- if (window.PDFViewerApplication) {
197
- window.PDFViewerApplication.page = pageNum;
198
- }
199
- }, i);
200
- const pageBoundingBox = await page.evaluate((pageNum) => {
201
- const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
202
- if (!pageContainer)
203
- throw new Error(`Page container for page ${pageNum} not found`);
204
- const canvas = pageContainer.querySelector("canvas");
205
- if (!canvas)
206
- throw new Error(`Canvas for page ${pageNum} not found`);
207
- const { x, y, width, height } = canvas.getBoundingClientRect();
208
- return { x, y, width, height };
209
- }, i);
210
- const screenshotOptions = {
211
- fullPage: false,
212
- type: options.type ?? "png",
213
- clip: {
214
- x: pageBoundingBox.x,
215
- y: pageBoundingBox.y,
216
- width: pageBoundingBox.width,
217
- height: pageBoundingBox.height
218
- }
219
- };
220
- if (options.type && options.type !== "png") {
221
- screenshotOptions.quality = options.quality ?? 100;
222
- }
223
- try {
224
- const uint8array = await page.screenshot(screenshotOptions);
225
- imageBuffers.push(Buffer.from(uint8array));
256
+ if (options.page) {
257
+ if (options.page < 1 || options.page > pageCount) {
258
+ throw new Error(`Page number ${options.page} is out of bounds. PDF has ${pageCount} pages.`);
226
259
  }
227
- catch {
228
- throw new Error(`Failed to render page ${i} of the PDF`);
260
+ imageBuffers.push(await renderPage(page, options.page, options));
261
+ }
262
+ else {
263
+ for (let i = 1; i <= pageCount; i++) {
264
+ imageBuffers.push(await renderPage(page, i, options));
229
265
  }
230
266
  }
231
267
  if (tempFile) {
@@ -265,6 +301,55 @@ const pdf2img = async (input, options = {}) => {
265
301
  }
266
302
  throw error;
267
303
  }
304
+ finally {
305
+ if (options.closeBrowser) {
306
+ await closeBrowser();
307
+ }
308
+ }
309
+ };
310
+ const renderPage = async (page, pageNumber, options) => {
311
+ await page.evaluate((pageNum) => {
312
+ if (window.PDFViewerApplication) {
313
+ window.PDFViewerApplication.page = pageNum;
314
+ }
315
+ }, pageNumber);
316
+ await page.waitForSelector(`.page[data-page-number="${pageNumber}"]`, { timeout: 5000 });
317
+ await page.waitForFunction((pageNum) => {
318
+ const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
319
+ if (!pageContainer)
320
+ return true;
321
+ return !pageContainer.querySelector(".loadingIcon");
322
+ }, {}, pageNumber);
323
+ const pageBoundingBox = await page.evaluate((pageNum) => {
324
+ const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
325
+ if (!pageContainer)
326
+ throw new Error(`Page container for page ${pageNum} not found`);
327
+ const canvas = pageContainer.querySelector("canvas");
328
+ if (!canvas)
329
+ throw new Error(`Canvas for page ${pageNum} not found`);
330
+ const { x, y, width, height } = canvas.getBoundingClientRect();
331
+ return { x, y, width, height };
332
+ }, pageNumber);
333
+ const screenshotOptions = {
334
+ fullPage: false,
335
+ type: options.type ?? "png",
336
+ clip: {
337
+ x: pageBoundingBox.x,
338
+ y: pageBoundingBox.y,
339
+ width: pageBoundingBox.width,
340
+ height: pageBoundingBox.height
341
+ }
342
+ };
343
+ if (options.type && options.type !== "png") {
344
+ screenshotOptions.quality = options.quality ?? 100;
345
+ }
346
+ try {
347
+ const uint8array = await page.screenshot(screenshotOptions);
348
+ return Buffer.from(uint8array);
349
+ }
350
+ catch {
351
+ throw new Error(`Failed to render page ${pageNumber} of the PDF`);
352
+ }
268
353
  };
269
354
 
270
355
  async function getBuffer(input) {
@@ -355,6 +440,10 @@ const img2pdf = async (input, options = {}) => {
355
440
  doc.end();
356
441
  }).catch((e) => {
357
442
  reject(e);
443
+ }).finally(async () => {
444
+ if (options.closeBrowser) {
445
+ await closeBrowser();
446
+ }
358
447
  });
359
448
  });
360
449
  };
@@ -363,13 +452,12 @@ const pagePoolSize = 5;
363
452
  const RESOURCE_LIMIT = 100;
364
453
  let resourceCount = 0;
365
454
  let pagePool = [];
366
- let browser = null;
367
- async function launchPages() {
455
+ async function launchPages(browser) {
368
456
  if (pagePool.length > 0) {
369
457
  return pagePool;
370
458
  }
371
459
  pagePool = await Promise.all(Array.from({ length: pagePoolSize }, async () => {
372
- if (browser && browser.connected) {
460
+ if (browser?.connected) {
373
461
  const page = await browser.newPage();
374
462
  await page.setRequestInterception(true);
375
463
  await page.setDefaultNavigationTimeout(10000);
@@ -393,6 +481,7 @@ async function launchPages() {
393
481
  return pagePool;
394
482
  }
395
483
  const html2pdf = async (input, options = {}) => {
484
+ const browser = await launchBrowser();
396
485
  const validator = new node.HtmlValidate(options.rules ?? {
397
486
  extends: ["html-validate:standard"],
398
487
  rules: {
@@ -406,11 +495,10 @@ const html2pdf = async (input, options = {}) => {
406
495
  else if (node_fs.existsSync(input)) {
407
496
  htmlContent = await readHtmlFromFilePath(htmlContent);
408
497
  }
409
- browser = await launchBrowser("firefox");
410
498
  if (!browser?.connected) {
411
499
  throw new Error("Browser not available");
412
500
  }
413
- const pagePool = await launchPages();
501
+ const pagePool = await launchPages(browser);
414
502
  let page = pagePool.pop();
415
503
  let tempPage = false;
416
504
  if (!page) {
@@ -471,6 +559,9 @@ const html2pdf = async (input, options = {}) => {
471
559
  });
472
560
  pagePool.push(page);
473
561
  }
562
+ if (options.closeBrowser) {
563
+ await closeBrowser();
564
+ }
474
565
  }
475
566
  };
476
567
 
@@ -480,7 +571,9 @@ if (!semver.satisfies(process.version, requiredVersion)) {
480
571
  process.exit(1);
481
572
  }
482
573
 
574
+ exports.closeBrowser = closeBrowser;
483
575
  exports.html2pdf = html2pdf;
484
576
  exports.img2pdf = img2pdf;
577
+ exports.launchBrowser = launchBrowser;
485
578
  exports.pdf2img = pdf2img;
486
579
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["join","access","pagePoolSize","RESOURCE_LIMIT","resourceCount","pagePool","browser","launchPages","resolve","pathToFileURL","writeFile","unlink","existsSync","readFileSync","imageSize","HtmlValidate","satisfies"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["join","access","pagePoolSize","RESOURCE_LIMIT","resourceCount","pagePool","launchPages","resolve","pathToFileURL","writeFile","unlink","existsSync","readFileSync","imageSize","HtmlValidate","satisfies"],"mappings":";;;;;;;;;;;;AAIA,IAAI,OAAO,GAAmB,IAAI;AAClC,IAAI,MAAM,GAAmB,IAAI;AACjC,IAAI,eAAe,GAAG,KAAK;AAE3B,MAAM,aAAa,GAAG;AACpB,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,wBAAwB;AAC/B,QAAA,GAAG,EAAE,8DAA8D;AACnE,QAAA,OAAO,EAAEA,cAAI,CAAG,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY;AACvF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,GAAG,EAAE,kDAAkD;QACvD,OAAO,EAAEA,cAAI,CAAG,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa;AACxE;CACF;AAGD,MAAM,KAAK,GAAG,MAAM;AAClB,IAAA,IAAK,OAAO,CAAC,QAAQ,KAAK,OAAO;AAAG,QAAA,OAAO,SAAS;AACpD,IAAA,IAAK,OAAO,CAAC,QAAQ,KAAK,QAAQ;AAAG,QAAA,OAAO,KAAK;AACjD,IAAA,OAAO,OAAO;AAChB,CAAC;AAGD,MAAM,kBAAkB,GAAG,OAAQ,OAA6B,KAAK;AACnE,IAAA,MAAM,EAAE,GAAG,KAAK,EAAI;IACpB,MAAM,WAAW,GAAG,aAAa,CAAG,OAAO,CAAE,CAAG,EAAE,CAAE;AACpD,IAAA,IAAI;AACF,QAAA,MAAMC,eAAM,CAAG,WAAW,CAAE;AAC5B,QAAA,OAAO,IAAI;;AACX,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;;AAEhB,CAAC;AAGD,IAAI,SAAS,GAA4B,IAAI;AAE7C,eAAe,aAAa,CAAG,WAAkC,EAAE,KAAc,EAAA;IAC/E,IAAK,CAAC,WAAW,EAAG;AAClB,QAAA,IAAK,OAAO,EAAE,SAAS,EAAG;AACxB,YAAA,OAAO,OAAO;;AACT,aAAA,IAAK,MAAM,EAAE,SAAS,EAAG;AAC9B,YAAA,OAAO,MAAM;;aACR;YACL,MAAM,CAAE,OAAO,EAAE,MAAM,CAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAG;AAC9C,gBAAA,aAAa,CAAG,SAAS,EAAE,KAAK,CAAE,CAAC,KAAK,CAAG,MAAO,IAAI,CAAE;AACxD,gBAAA,aAAa,CAAG,QAAQ,EAAE,KAAK,CAAE,CAAC,KAAK,CAAG,MAAO,IAAI;AACtD,aAAA,CAAE;YACH,IAAK,OAAO,EAAG;AACb,gBAAA,OAAO,OAAO;;iBACT,IAAK,MAAM,EAAG;AACnB,gBAAA,OAAO,MAAM;;AAEf,YAAA,MAAM,IAAI,KAAK,CAAG,yBAAyB,CAAE;;;IAIjD,IAAK,WAAW,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,EAAG;AACrD,QAAA,OAAO,OAAO;;SACT,IAAK,WAAW,KAAK,QAAQ,IAAI,MAAM,EAAE,SAAS,EAAG;AAC1D,QAAA,OAAO,MAAM;;IAGf,IAAK,EAAG,MAAM,kBAAkB,CAAG,WAAW,CAAE,CAAE,EAAG;QACnD,MAAM,IAAI,KAAK,CAAG,CAAG,EAAA,WAAW,CAAC,WAAW,EAAI,CAAoB,kBAAA,CAAA,CAAE;;IAGxE,IAAK,SAAS,EAAG;AACf,QAAA,MAAM,SAAS;AACf,QAAA,OAAO,aAAa,CAAG,WAAW,EAAE,KAAK,CAAE;;AAG7C,IAAA,SAAS,GAAG,CAAE,YAAY;AACxB,QAAA,eAAe,GAAG,CAAC,CAAC,KAAK;AACzB,QAAA,IAAI,OAAgB;QACpB,IAAK,KAAK,EAAG;YACX,OAAO,CAAC,GAAG,CAAG,CAAoB,iBAAA,EAAA,WAAW,CAAC,WAAW,EAAI,CAAa,WAAA,CAAA,CAAE;AAC5E,YAAA,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAG;AAClC,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,mBAAmB,EAAE;AACtB,aAAA,CAAE;;aACE;YACL,OAAO,CAAC,GAAG,CAAG,CAAmB,gBAAA,EAAA,WAAW,CAAC,WAAW,EAAI,CAAa,WAAA,CAAA,CAAE;AAC3E,YAAA,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAG;AACjC,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,aAAa,CAAG,WAAW,CAAE,CAAG,KAAK,EAAI,CAAE;AAC3D,gBAAA,IAAI,EAAE,CAAE,cAAc,EAAE,0BAA0B;AACnD,aAAA,CAAE;;AAGL,QAAA,IAAK,WAAW,KAAK,QAAQ,EAAG;YAC9B,MAAM,GAAG,OAAO;AAChB,YAAA,MAAM,CAAC,EAAE,CAAG,cAAc,EAAE,MAAM;gBAChC,MAAM,GAAG,IAAI;AACf,aAAC,CAAE;;aACE;YACL,OAAO,GAAG,OAAO;AACjB,YAAA,OAAO,CAAC,EAAE,CAAG,cAAc,EAAE,MAAM;gBACjC,OAAO,GAAG,IAAI;AAChB,aAAC,CAAE;;QAGL,SAAS,GAAG,IAAI;AAChB,QAAA,OAAO,OAAO;KACf,GAAM;AAEP,IAAA,OAAO,SAAS;AAClB;AAGA,eAAe,YAAY,GAAA;AACzB,IAAA,IAAI;AACF,QAAA,IAAK,MAAM,EAAE,SAAS,EAAG;AACvB,YAAA,MAAM,MAAM,CAAC,UAAU,EAAI;;AAE7B,QAAA,IAAK,OAAO,EAAE,SAAS,EAAG;AACxB,YAAA,MAAM,OAAO,CAAC,UAAU,EAAI;;QAG9B,IAAK,CAAC,eAAe,EAAG;YACtB,IAAK,MAAM,EAAG;AACZ,gBAAA,MAAM,MAAM,CAAC,KAAK,EAAI;;YAExB,IAAK,OAAO,EAAG;AACb,gBAAA,MAAM,OAAO,CAAC,KAAK,EAAI;;;AAG3B,QAAA,OAAO,CAAC,GAAG,CAAG,8BAA8B,CAAE;QAC9C,MAAM,GAAG,IAAI;QACb,OAAO,GAAG,IAAI;;IACd,OAAQ,GAAG,EAAG;AACd,QAAA,OAAO,CAAC,KAAK,CAAG,oDAAoD,EAAE,GAAG,CAAE;;AAE/E;AAGA,OAAO,CAAC,EAAE,CAAG,MAAM,EAAE,YAAY;IAC/B,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;AAGH,OAAO,CAAC,EAAE,CAAG,QAAQ,EAAE,YAAY;AACjC,IAAA,OAAO,CAAC,GAAG,CAAG,sCAAsC,CAAE;IACtD,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;AAEH,OAAO,CAAC,EAAE,CAAG,SAAS,EAAE,YAAY;AAClC,IAAA,OAAO,CAAC,GAAG,CAAG,uCAAuC,CAAE;IACvD,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;;AClJH,MAAMC,cAAY,GAAG,CAAC;AACtB,MAAMC,gBAAc,GAAG,GAAG;AAC1B,IAAIC,eAAa,GAAG,CAAC;AACrB,IAAIC,UAAQ,GAAa,EAAG;AAE5B,eAAeC,aAAW,CAAG,OAAgB,EAAA;AAC3C,IAAA,IAAKD,UAAQ,CAAC,MAAM,GAAG,CAAC,EAAG;AACzB,QAAA,OAAOA,UAAQ;;AAGjB,IAAAA,UAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAG,KAAK,CAAC,IAAI,CAAG,EAAE,MAAM,EAAEH,cAAY,EAAE,EAAE,YAAY;QAChF,IAAK,OAAO,EAAG;AACb,YAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAI;AACtC,YAAA,MAAM,IAAI,CAAC,sBAAsB,CAAG,IAAI,CAAE;AAC1C,YAAA,MAAM,IAAI,CAAC,2BAA2B,CAAG,KAAK,CAAE;AAChD,YAAA,MAAM,IAAI,CAAC,IAAI,CAAG,aAAa,CAAE;AACjC,YAAA,IAAI,CAAC,EAAE,CAAG,SAAS,EAAE,OAAO,IAAG;AAC7B,gBAAAE,eAAa,EAAE;AACf,gBAAA,IAAKA,eAAa,GAAGD,gBAAc,EAAG;oBACpC,IAAI,CAAC,MAAM,EAAI;oBACfC,eAAa,GAAG,CAAC;;qBACZ;oBACL,OAAO,CAAC,QAAQ,EAAI;;AAExB,aAAC,CAAE;AACH,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;;KAE9C,CAAE,CAAE;AACL,IAAA,OAAOC,UAAQ;AACjB;AAuCa,MAAA,OAAO,GAAG,OACrB,KAA4B,EAC5B,OAAA,GAAmB,EAAG,KACpB;AACF,IAAA,MAAM,OAAO,GAAG,MAAM,aAAa,CAAG,SAAS,CAAE;AAEjD,IAAA,IAAK,CAAC,OAAO,EAAE,SAAS,EAAG;AACzB,QAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;;AAG7C,IAAA,MAAM,QAAQ,GAAG,MAAMC,aAAW,CAAG,OAAO,CAAE;AAE9C,IAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAI;IAC3B,IAAI,QAAQ,GAAG,KAAK;IACpB,IAAK,CAAC,IAAI,EAAG;QACX,QAAQ,GAAG,IAAI;AACf,QAAA,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAI;;IAGlC,IAAI,IAAI,GAAW,EAAE;IACrB,IAAI,OAAO,GAAW,EAAE;IACxB,IAAI,QAAQ,GAAY,KAAK;AAE7B,IAAA,IAAK,MAAM,CAAC,QAAQ,CAAG,KAAK,CAAE,EAAG;QAC/B,IAAI,GAAGC,iBAAO,CAAG,OAAO,CAAC,GAAG,EAAI,EAAE,UAAU,CAAE;QAC9C,OAAO,GAAGC,sBAAa,CAAG,IAAI,CAAE,CAAC,QAAQ,EAAI;QAC7C,QAAQ,GAAG,IAAI;AACf,QAAA,MAAMC,kBAAS,CAAG,IAAI,EAAE,KAAK,CAAE;;SAC1B;AACL,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAG,MAAM,CAAE,EAAG;YAC9D,IAAI,GAAG,KAAK;YACZ,OAAO,GAAG,IAAI;;aACT;YACL,IAAI,GAAGF,iBAAO,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE;YACrC,OAAO,GAAGC,sBAAa,CAAG,IAAI,CAAE,CAAC,QAAQ,EAAI;;;AAIjD,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,CAAC,IAAI,CAAG,OAAO,CAAE;AAE3B,QAAA,IAAK,OAAO,CAAC,QAAQ,EAAG;AACtB,YAAA,IAAI;AAEF,gBAAA,MAAM,IAAI,CAAC,eAAe,CAAG,wBAAwB,EAAE;AACrD,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE;AACV,iBAAA,CAAE;AAGH,gBAAA,OAAO,CAAC,GAAG,CAAG,gDAAgD,CAAE;AAChE,gBAAA,MAAM,IAAI,CAAC,IAAI,CAAG,wBAAwB,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAE;gBACpE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAG,OAAO,CAAE;;YACrC,MAAM;;AAGV,QAAA,MAAM,IAAI,CAAC,eAAe,CAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAE;QAE1D,MAAM,YAAY,GAAG,EAAG;QAExB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;AAC5C,YAAA,IAAO,MAAe,CAAC,oBAAoB,EAAG;AAC5C,gBAAA,OAAS,MAAe,CAAC,oBAAoB,CAAC,UAAU;;AAE1D,YAAA,OAAO,CAAC;AACV,SAAC,CAAE;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;AAC3C,YAAA,MAAM,GAAG,GAAK,MAAe,CAAC,oBAAoB;AAClD,YAAA,IAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAG;AAC5B,gBAAA,OAAO,GAAG,CAAC,YAAY,IAAI,EAAG;;AAEhC,YAAA,OAAO,EAAG;AACZ,SAAC,CAAE;QAGH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;YAC1C,MAAM,MAAM,GAAQ,QAAQ,CAAC,aAAa,CAAG,QAAQ,CAAE;YACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAI;AAC1D,YAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AAC1B,SAAC,CAAE;QAGH,MAAM,IAAI,CAAC,WAAW,CAAG;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,YAAA,iBAAiB,EAAE;AACpB,SAAA,CAAE;AAEH,QAAA,IAAK,OAAO,CAAC,IAAI,EAAG;AAClB,YAAA,IAAK,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,EAAG;gBAClD,MAAM,IAAI,KAAK,CAAG,CAAe,YAAA,EAAA,OAAO,CAAC,IAAI,CAA8B,2BAAA,EAAA,SAAS,CAAS,OAAA,CAAA,CAAE;;AAEjG,YAAA,YAAY,CAAC,IAAI,CAAG,MAAM,UAAU,CAAG,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAE,CAAE;;aACjE;AACL,YAAA,KAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAG;AACrC,gBAAA,YAAY,CAAC,IAAI,CAAG,MAAM,UAAU,CAAG,IAAI,EAAE,CAAC,EAAE,OAAO,CAAE,CAAE;;;QAI/D,IAAK,QAAQ,EAAG;AACd,YAAA,MAAME,eAAM,CAAG,IAAI,CAAE;;QAGvB,IAAK,QAAQ,EAAG;YACd,IAAI,CAAC,KAAK,EAAI;;aACT;YACL,MAAM,IAAI,CAAC,WAAW,CAAG;AACvB,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,iBAAiB,EAAE;AACpB,aAAA,CAAE;AACH,YAAA,QAAQ,CAAC,IAAI,CAAG,IAAI,CAAE;;QAIxB,OAAO;AACL,YAAA,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACvB,YAAA,KAAK,EAAE;SACR;;IACD,OAAQ,KAAK,EAAG;QAChB,IAAK,QAAQ,EAAG;AACd,YAAA,MAAMA,eAAM,CAAG,IAAI,CAAE;;QAGvB,IAAK,QAAQ,EAAG;YACd,IAAI,CAAC,KAAK,EAAI;;aACT;YACL,MAAM,IAAI,CAAC,WAAW,CAAG;AACvB,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,iBAAiB,EAAE;AACpB,aAAA,CAAE;AACH,YAAA,QAAQ,CAAC,IAAI,CAAG,IAAI,CAAE;;AAGxB,QAAA,MAAM,KAAK;;YACH;AACR,QAAA,IAAK,OAAO,CAAC,YAAY,EAAG;YAC1B,MAAM,YAAY,EAAI;;;AAG5B;AAEA,MAAM,UAAU,GAAG,OAAQ,IAAU,EAAE,UAAkB,EAAE,OAAgB,KAAsB;AAE/F,IAAA,MAAM,IAAI,CAAC,QAAQ,CAAG,CAAE,OAAO,KAAK;AAClC,QAAA,IAAO,MAAe,CAAC,oBAAoB,EAAG;AAC1C,YAAA,MAAe,CAAC,oBAAoB,CAAC,IAAI,GAAG,OAAO;;KAExD,EAAE,UAAU,CAAE;AAEf,IAAA,MAAM,IAAI,CAAC,eAAe,CAAG,2BAA2B,UAAU,CAAA,EAAA,CAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAE;AAE3F,IAAA,MAAM,IAAI,CAAC,eAAe,CAAG,CAAE,OAAO,KAAK;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAG,CAA2B,wBAAA,EAAA,OAAO,CAAI,EAAA,CAAA,CAAE;AACvF,QAAA,IAAK,CAAC,aAAa;AAAG,YAAA,OAAO,IAAI;AACjC,QAAA,OAAO,CAAC,aAAa,CAAC,aAAa,CAAG,cAAc,CAAE;AACxD,KAAC,EAAE,EAAE,EAAE,UAAU,CAAE;IAEnB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,CAAE,OAAO,KAAK;QAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAG,CAA2B,wBAAA,EAAA,OAAO,CAAI,EAAA,CAAA,CAAE;AACvF,QAAA,IAAK,CAAC,aAAa;AAAG,YAAA,MAAM,IAAI,KAAK,CAAG,2BAA2B,OAAO,CAAA,UAAA,CAAY,CAAE;QACxF,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAG,QAAQ,CAAE;AACvD,QAAA,IAAK,CAAC,MAAM;AAAG,YAAA,MAAM,IAAI,KAAK,CAAG,mBAAmB,OAAO,CAAA,UAAA,CAAY,CAAE;AACzE,QAAA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAI;QAChE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;KAC/B,EAAE,UAAU,CAAE;AAEf,IAAA,MAAM,iBAAiB,GAAsB;AAC3C,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;AAC3B,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC;AACzB;KACF;IAED,IAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAG;QAC5C,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG;;AAGpD,IAAA,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAG,iBAAiB,CAAE;AAE9D,QAAA,OAAO,MAAM,CAAC,IAAI,CAAG,UAAU,CAAE;;AACjC,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAG,yBAAyB,UAAU,CAAA,WAAA,CAAa,CAAE;;AAExE,CAAC;;AChQM,eAAe,SAAS,CAAG,KAA4B,EAAA;AAC5D,IAAA,IAAK,KAAK,YAAY,MAAM,EAAG;AAC7B,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,KAAK,CAAG,KAAK,CAAC,QAAQ,EAAI;SAC9B,IAAI,CAAG,GAAG,IAAG;AACZ,QAAA,IAAK,GAAG,CAAC,EAAE,EAAG;AACZ,YAAA,OAAO,GAAG,CAAC,WAAW,EAAI;;aACrB;AACL,YAAA,MAAM,IAAI,KAAK,CAAG,0BAA0B,CAAE;;AAElD,KAAC;SACA,IAAI,CAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAG,KAAK,CAAE;SACrC,KAAK,CAAG,MAAM;QACb,IAAKC,kBAAU,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE,EAAG;AACvC,YAAA,OAAOC,oBAAY,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE;;AAE5C,QAAA,MAAM,IAAI,KAAK,CAAG,0BAA0B,CAAE;AAChD,KAAC,CAAE;AACP;AASO,MAAM,gBAAgB,GAAG,OAAQ,GAAW,KAAK;AACtD,IAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAG,GAAG,CAAE;AACpC,IAAA,IAAK,CAAC,QAAQ,CAAC,EAAE,EAAG;AAClB,QAAA,MAAM,IAAI,KAAK,CAAG,qCAAqC,GAAG,CAAA,CAAE,CAAE;;AAEhE,IAAA,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAI;AAChC,CAAC;AASM,MAAM,oBAAoB,GAAG,OAAQ,QAAgB,KAAK;AAC/D,IAAA,OAAOA,oBAAY,CAAG,QAAQ,EAAE,OAAO,CAAE;AAC3C,CAAC;;ACtBY,MAAA,OAAO,GAAG,OACrB,KAA4B,EAC5B,OAAA,GAAmB,EAAE,KACnB;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,OAAS,WAAW,CAAE;IAC3D,OAAO,IAAI,OAAO,CAAW,CAAE,OAAO,EAAE,MAAM,KAAK;QACjD,SAAS,CAAG,KAAK,CAAE,CAAC,IAAI,CAAG,OAAQ,GAAG,KAAK;AACzC,YAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAG,GAAG,CAAE;AAC7C,YAAA,IAAK,IAAI,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAG;AAC/D,gBAAA,MAAM,IAAI,KAAK,CAAG,uCAAuC,CAAE;;YAG7D,MAAM,UAAU,GAAU,EAAE;AAC5B,YAAA,MAAM,OAAO,GAAGC,mBAAS,CAAG,GAAG,CAAE;YACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;AAE1F,YAAA,MAAM,GAAG,GAAG,IAAI,WAAW,CAAG;AAC5B,gBAAA,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU;AAC5C,gBAAA,OAAO,EAAE;AACP,oBAAA,GAAG,EAAE,CAAC;AACN,oBAAA,MAAM,EAAE,CAAC;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,KAAK,EAAE;AACR;AACF,aAAA,CAAE;YAEH,GAAG,CAAC,EAAE,CAAG,MAAM,EAAE,CAAE,IAAI,KAAK;AAC1B,gBAAA,UAAU,CAAC,IAAI,CAAG,IAAI,CAAE;AAC1B,aAAC,CAAE;AAEH,YAAA,GAAG,CAAC,EAAE,CAAG,KAAK,EAAE,MAAK;gBACnB,OAAO,CAAG,MAAM,CAAC,MAAM,CAAG,UAAU,CAAE,CAAE;AAC1C,aAAC,CAAE;YAEH,GAAG,CAAC,QAAQ,CAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAE;AAEvC,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC;AACzC,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC;YAC5C,MAAM,WAAW,GAAG,EAAE;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,YAAY;AAE9D,YAAA,IAAK,OAAO,CAAC,MAAM,EAAG;AACpB,gBAAA,GAAG,CAAC,IAAI,CAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE;AACzD,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;oBACvC,MAAM,EAAE,SAAS,GAAG,CAAC;AACrB,oBAAA,QAAQ,EAAE;AACX,iBAAA,CAAE,CAAC,QAAQ,CAAG,GAAG,CAAE;;YAGtB,GAAG,CAAC,KAAK,CAAG,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7B,gBAAA,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;AACrB,gBAAA,MAAM,EAAE;AACT,aAAA,CAAE;AAEH,YAAA,IAAK,OAAO,CAAC,MAAM,EAAG;gBACpB,GAAG,CAAC,IAAI,CAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE;AAC9E,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;oBACvC,MAAM,EAAE,YAAY,GAAG,CAAC;AACxB,oBAAA,QAAQ,EAAE;AACX,iBAAA,CAAE;;YAGL,GAAG,CAAC,GAAG,EAAG;AACZ,SAAC,CAAE,CAAC,KAAK,CAAG,CAAE,CAAC,KAAK;YAClB,MAAM,CAAG,CAAC,CAAE;AACd,SAAC,CAAE,CAAC,OAAO,CAAG,YAAY;AACxB,YAAA,IAAK,OAAO,CAAC,YAAY,EAAG;gBAC1B,MAAM,YAAY,EAAI;;AAE1B,SAAC,CAAE;AACL,KAAC,CAAE;AACL;;ACjFA,MAAM,YAAY,GAAG,CAAC;AACtB,MAAM,cAAc,GAAG,GAAG;AAC1B,IAAI,aAAa,GAAG,CAAC;AACrB,IAAI,QAAQ,GAAa,EAAG;AAE5B,eAAe,WAAW,CAAG,OAAgB,EAAA;AAC3C,IAAA,IAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAG;AACzB,QAAA,OAAO,QAAQ;;AAGjB,IAAA,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAG,KAAK,CAAC,IAAI,CAAG,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,YAAY;AAChF,QAAA,IAAK,OAAO,EAAE,SAAS,EAAG;AACxB,YAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAI;AACtC,YAAA,MAAM,IAAI,CAAC,sBAAsB,CAAG,IAAI,CAAE;AAC1C,YAAA,MAAM,IAAI,CAAC,2BAA2B,CAAG,KAAK,CAAE;AAChD,YAAA,MAAM,IAAI,CAAC,IAAI,CAAG,aAAa,CAAE;AACjC,YAAA,IAAI,CAAC,EAAE,CAAG,SAAS,EAAE,OAAO,IAAG;AAC7B,gBAAA,aAAa,EAAE;AACf,gBAAA,IAAK,aAAa,GAAG,cAAc,EAAG;oBACpC,IAAI,CAAC,MAAM,EAAI;oBACf,aAAa,GAAG,CAAC;;qBACZ;oBACL,OAAO,CAAC,QAAQ,EAAI;;AAExB,aAAC,CAAE;AACH,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;;KAE9C,CAAE,CAAE;AACL,IAAA,OAAO,QAAQ;AACjB;AASa,MAAA,QAAQ,GAAG,OACtB,KAAmB,EACnB,OAAA,GAAmB,EAAG,KACpB;AACF,IAAA,MAAM,OAAO,GAAG,MAAM,aAAa,EAAI;IAEvC,MAAM,SAAS,GAAG,IAAIC,iBAAY,CAAG,OAAO,CAAC,KAAK,IAAI;QACpD,OAAO,EAAE,CAAE,wBAAwB,CAAE;AACrC,QAAA,KAAK,EAAE;AACL,YAAA,wBAAwB,EAAE;AAC3B;AACF,KAAA,CAAE;AAEH,IAAA,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAI;AAGpC,IAAA,IAAK,WAAW,CAAC,UAAU,CAAG,SAAS,CAAE,IAAI,WAAW,CAAC,UAAU,CAAG,UAAU,CAAE,EAAG;AACnF,QAAA,WAAW,GAAG,MAAM,gBAAgB,CAAG,WAAW,CAAE;;AAGjD,SAAA,IAAKH,kBAAU,CAAG,KAAK,CAAE,EAAG;AAC/B,QAAA,WAAW,GAAG,MAAM,oBAAoB,CAAG,WAAW,CAAE;;AAG1D,IAAA,IAAK,CAAC,OAAO,EAAE,SAAS,EAAG;AACzB,QAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;;AAG7C,IAAA,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAG,OAAO,CAAE;AAE9C,IAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAI;IAC3B,IAAI,QAAQ,GAAG,KAAK;IACpB,IAAK,CAAC,IAAI,EAAG;QACX,QAAQ,GAAG,IAAI;AACf,QAAA,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAI;;IAGlC,MAAM,UAAU,IAAK,OAAO,CAAC,UAAU,IAAI,IAAI,CAAE;AACjD,IAAA,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAG,WAAW,CAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;AACzF,QAAA,IAAK,GAAG,CAAC,KAAK,EAAG;AACf,YAAA,MAAM,IAAI,CAAC,UAAU,CAAG,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAE;AAC5D,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAG;AAC3B,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,eAAe,EAAE;AAClB,aAAA,CAAE;YAEH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAG,GAAG,CAAE;AACrC,YAAA,IAAK,OAAO,CAAC,MAAM,IAAI,KAAK,EAAG;AAC7B,gBAAA,OAAO,SAAS,CAAC,QAAQ,CAAG,QAAQ,CAAE;;AAExC,YAAA,OAAO,SAAS;;aACX;YAEL,MAAM;AACJ,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE;oBACL,MAAM,EAAI,GAAe,CAAC,UAAU;oBACpC,QAAQ,EAAI,GAAe,CAAC;AAC7B,iBAAA;gBACD,UAAU,EAAI,GAAe,CAAC,OAAO,CAAC,GAAG,CAAG,GAAG,IAAG;oBAChD,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ;AAClB,wBAAA,KAAK,EAAE;4BACL,MAAM,EAAE,GAAG,CAAC,UAAU;4BACtB,QAAQ,EAAE,GAAG,CAAC;AACf,yBAAA;wBACD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAG,GAAG,IAAG;4BACjC,OAAO;gCACL,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,MAAM,EAAE,GAAG,CAAC;6BACb;AACH,yBAAC;qBACF;AACH,iBAAC;aACF;;;YAEK;QACR,IAAK,QAAQ,EAAG;YACd,IAAI,CAAC,KAAK,EAAI;;aACT;YACL,MAAM,IAAI,CAAC,WAAW,CAAG;AACvB,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,iBAAiB,EAAE;AACpB,aAAA,CAAE;AACH,YAAA,QAAQ,CAAC,IAAI,CAAG,IAAI,CAAE;;AAExB,QAAA,IAAK,OAAO,CAAC,YAAY,EAAG;YAC1B,MAAM,YAAY,EAAI;;;AAG5B;;ACtKA,MAAM,eAAe,GAAG,UAAU;AAElC,IAAK,CAACI,gBAAS,CAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAE,EAAG;IACrD,OAAO,CAAC,KAAK,CACX,CAA4B,yBAAA,EAAA,eAAe,CAA+B,4BAAA,EAAA,OAAO,CAAC,OAAO,CAAK,GAAA,CAAA,CAC/F;AACD,IAAA,OAAO,CAAC,IAAI,CAAG,CAAC,CAAE;AACpB;;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -2,14 +2,21 @@ import { satisfies } from 'semver';
2
2
  import { pathToFileURL } from 'node:url';
3
3
  import { join, resolve } from 'node:path';
4
4
  import { access, writeFile, unlink } from 'node:fs/promises';
5
- import puppeteer from 'puppeteer';
5
+ import puppeteer from 'puppeteer-core';
6
6
  import { imageSize } from 'image-size';
7
7
  import PDFDocument from 'pdfkit';
8
8
  import { existsSync, readFileSync } from 'node:fs';
9
9
  import { HtmlValidate } from 'html-validate/node';
10
10
 
11
11
  let firefox = null;
12
+ let chrome = null;
13
+ let isRemoteBrowser = false;
12
14
  const BROWSER_PATHS = {
15
+ chrome: {
16
+ linux: "/usr/bin/google-chrome",
17
+ mac: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
18
+ windows: join("C:", "Program Files", "Google", "Chrome", "Application", "chrome.exe")
19
+ },
13
20
  firefox: {
14
21
  linux: "/usr/bin/firefox",
15
22
  mac: "/Applications/Firefox.app/Contents/MacOS/firefox",
@@ -34,66 +41,125 @@ const isBrowserInstalled = async (browser) => {
34
41
  return false;
35
42
  }
36
43
  };
37
- async function launchBrowser(browserType) {
38
- return new Promise(async (resolve) => {
39
- if (firefox)
40
- return resolve(firefox);
41
- if (!firefox) {
42
- const os = getOS();
43
- const executablePath = BROWSER_PATHS[browserType][os];
44
- if (!(await isBrowserInstalled(browserType))) {
45
- console.error(`${browserType.toUpperCase()} is not installed.`);
46
- process.exit(1);
44
+ let launching = null;
45
+ async function launchBrowser(browserType, wsURL) {
46
+ if (!browserType) {
47
+ if (firefox?.connected) {
48
+ return firefox;
49
+ }
50
+ else if (chrome?.connected) {
51
+ return chrome;
52
+ }
53
+ else {
54
+ const [firefox, chrome] = await Promise.all([
55
+ launchBrowser("firefox", wsURL).catch(() => null),
56
+ launchBrowser("chrome", wsURL).catch(() => null)
57
+ ]);
58
+ if (firefox) {
59
+ return firefox;
60
+ }
61
+ else if (chrome) {
62
+ return chrome;
47
63
  }
48
- const browser = await puppeteer.launch({
64
+ throw new Error("No browser launched yet");
65
+ }
66
+ }
67
+ if (browserType === "firefox" && firefox?.connected) {
68
+ return firefox;
69
+ }
70
+ else if (browserType === "chrome" && chrome?.connected) {
71
+ return chrome;
72
+ }
73
+ if (!(await isBrowserInstalled(browserType))) {
74
+ throw new Error(`${browserType.toUpperCase()} is not installed.`);
75
+ }
76
+ if (launching) {
77
+ await launching;
78
+ return launchBrowser(browserType, wsURL);
79
+ }
80
+ launching = (async () => {
81
+ isRemoteBrowser = !!wsURL;
82
+ let browser;
83
+ if (wsURL) {
84
+ console.log(`Launching remote ${browserType.toUpperCase()} browser...`);
85
+ browser = await puppeteer.connect({
86
+ browserWSEndpoint: wsURL,
87
+ acceptInsecureCerts: true
88
+ });
89
+ }
90
+ else {
91
+ console.log(`Launching local ${browserType.toUpperCase()} browser...`);
92
+ browser = await puppeteer.launch({
49
93
  browser: browserType,
50
94
  headless: "shell",
51
- executablePath,
95
+ executablePath: BROWSER_PATHS[browserType][getOS()],
52
96
  args: ["--no-sandbox", "--disable-setuid-sandbox"]
53
97
  });
54
- {
55
- firefox = browser;
56
- }
57
- return resolve(browser);
58
98
  }
59
- throw new Error(`Browser type ${browserType} is not supported`);
60
- });
99
+ if (browserType === "chrome") {
100
+ chrome = browser;
101
+ chrome.on("disconnected", () => {
102
+ chrome = null;
103
+ });
104
+ }
105
+ else {
106
+ firefox = browser;
107
+ firefox.on("disconnected", () => {
108
+ firefox = null;
109
+ });
110
+ }
111
+ launching = null;
112
+ return browser;
113
+ })();
114
+ return launching;
61
115
  }
62
- async function closeBrowsers() {
116
+ async function closeBrowser() {
63
117
  try {
64
- if (firefox) {
65
- await (await firefox).close();
66
- firefox = null;
118
+ if (chrome?.connected) {
119
+ await chrome.disconnect();
120
+ }
121
+ if (firefox?.connected) {
122
+ await firefox.disconnect();
123
+ }
124
+ if (!isRemoteBrowser) {
125
+ if (chrome) {
126
+ await chrome.close();
127
+ }
128
+ if (firefox) {
129
+ await firefox.close();
130
+ }
67
131
  }
132
+ console.log("Browser closed successfully.");
133
+ chrome = null;
134
+ firefox = null;
68
135
  }
69
136
  catch (err) {
70
137
  console.error("Error closing browsers in @iqx-limited/quick-form:", err);
71
138
  }
72
139
  }
73
140
  process.on("exit", async () => {
74
- await closeBrowsers();
141
+ await closeBrowser();
75
142
  });
76
143
  process.on("SIGINT", async () => {
77
144
  console.log("SIGINT received. Closing browsers...");
78
- await closeBrowsers();
145
+ await closeBrowser();
79
146
  });
80
147
  process.on("SIGTERM", async () => {
81
148
  console.log("SIGTERM received. Closing browsers...");
82
- await closeBrowsers();
149
+ await closeBrowser();
83
150
  });
84
151
 
85
152
  const pagePoolSize$1 = 5;
86
153
  const RESOURCE_LIMIT$1 = 100;
87
154
  let resourceCount$1 = 0;
88
155
  let pagePool$1 = [];
89
- let browser$1 = null;
90
- async function launchPages$1() {
156
+ async function launchPages$1(firefox) {
91
157
  if (pagePool$1.length > 0) {
92
158
  return pagePool$1;
93
159
  }
94
160
  pagePool$1 = await Promise.all(Array.from({ length: pagePoolSize$1 }, async () => {
95
- if (browser$1) {
96
- const page = await browser$1.newPage();
161
+ if (firefox) {
162
+ const page = await firefox.newPage();
97
163
  await page.setRequestInterception(true);
98
164
  await page.setDefaultNavigationTimeout(10000);
99
165
  await page.goto("about:blank");
@@ -116,16 +182,16 @@ async function launchPages$1() {
116
182
  return pagePool$1;
117
183
  }
118
184
  const pdf2img = async (input, options = {}) => {
119
- browser$1 = await launchBrowser("firefox");
120
- if (!browser$1?.connected) {
185
+ const browser = await launchBrowser("firefox");
186
+ if (!browser?.connected) {
121
187
  throw new Error("Browser not available");
122
188
  }
123
- const pagePool = await launchPages$1();
189
+ const pagePool = await launchPages$1(browser);
124
190
  let page = pagePool.pop();
125
191
  let tempPage = false;
126
192
  if (!page) {
127
193
  tempPage = true;
128
- page = await browser$1.newPage();
194
+ page = await browser.newPage();
129
195
  }
130
196
  let path = "";
131
197
  let address = "";
@@ -161,10 +227,6 @@ const pdf2img = async (input, options = {}) => {
161
227
  catch { }
162
228
  }
163
229
  await page.waitForSelector("canvas", { timeout: 5000 });
164
- await page.waitForSelector(".loadingIcon", {
165
- timeout: 5000,
166
- hidden: true
167
- });
168
230
  const imageBuffers = [];
169
231
  const pageCount = await page.evaluate(() => {
170
232
  if (window.PDFViewerApplication) {
@@ -189,41 +251,15 @@ const pdf2img = async (input, options = {}) => {
189
251
  height: pdfPage.height,
190
252
  deviceScaleFactor: 1
191
253
  });
192
- for (let i = 1; i <= pageCount; i++) {
193
- await page.evaluate((pageNum) => {
194
- if (window.PDFViewerApplication) {
195
- window.PDFViewerApplication.page = pageNum;
196
- }
197
- }, i);
198
- const pageBoundingBox = await page.evaluate((pageNum) => {
199
- const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
200
- if (!pageContainer)
201
- throw new Error(`Page container for page ${pageNum} not found`);
202
- const canvas = pageContainer.querySelector("canvas");
203
- if (!canvas)
204
- throw new Error(`Canvas for page ${pageNum} not found`);
205
- const { x, y, width, height } = canvas.getBoundingClientRect();
206
- return { x, y, width, height };
207
- }, i);
208
- const screenshotOptions = {
209
- fullPage: false,
210
- type: options.type ?? "png",
211
- clip: {
212
- x: pageBoundingBox.x,
213
- y: pageBoundingBox.y,
214
- width: pageBoundingBox.width,
215
- height: pageBoundingBox.height
216
- }
217
- };
218
- if (options.type && options.type !== "png") {
219
- screenshotOptions.quality = options.quality ?? 100;
220
- }
221
- try {
222
- const uint8array = await page.screenshot(screenshotOptions);
223
- imageBuffers.push(Buffer.from(uint8array));
254
+ if (options.page) {
255
+ if (options.page < 1 || options.page > pageCount) {
256
+ throw new Error(`Page number ${options.page} is out of bounds. PDF has ${pageCount} pages.`);
224
257
  }
225
- catch {
226
- throw new Error(`Failed to render page ${i} of the PDF`);
258
+ imageBuffers.push(await renderPage(page, options.page, options));
259
+ }
260
+ else {
261
+ for (let i = 1; i <= pageCount; i++) {
262
+ imageBuffers.push(await renderPage(page, i, options));
227
263
  }
228
264
  }
229
265
  if (tempFile) {
@@ -263,6 +299,55 @@ const pdf2img = async (input, options = {}) => {
263
299
  }
264
300
  throw error;
265
301
  }
302
+ finally {
303
+ if (options.closeBrowser) {
304
+ await closeBrowser();
305
+ }
306
+ }
307
+ };
308
+ const renderPage = async (page, pageNumber, options) => {
309
+ await page.evaluate((pageNum) => {
310
+ if (window.PDFViewerApplication) {
311
+ window.PDFViewerApplication.page = pageNum;
312
+ }
313
+ }, pageNumber);
314
+ await page.waitForSelector(`.page[data-page-number="${pageNumber}"]`, { timeout: 5000 });
315
+ await page.waitForFunction((pageNum) => {
316
+ const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
317
+ if (!pageContainer)
318
+ return true;
319
+ return !pageContainer.querySelector(".loadingIcon");
320
+ }, {}, pageNumber);
321
+ const pageBoundingBox = await page.evaluate((pageNum) => {
322
+ const pageContainer = document.querySelector(`.page[data-page-number="${pageNum}"]`);
323
+ if (!pageContainer)
324
+ throw new Error(`Page container for page ${pageNum} not found`);
325
+ const canvas = pageContainer.querySelector("canvas");
326
+ if (!canvas)
327
+ throw new Error(`Canvas for page ${pageNum} not found`);
328
+ const { x, y, width, height } = canvas.getBoundingClientRect();
329
+ return { x, y, width, height };
330
+ }, pageNumber);
331
+ const screenshotOptions = {
332
+ fullPage: false,
333
+ type: options.type ?? "png",
334
+ clip: {
335
+ x: pageBoundingBox.x,
336
+ y: pageBoundingBox.y,
337
+ width: pageBoundingBox.width,
338
+ height: pageBoundingBox.height
339
+ }
340
+ };
341
+ if (options.type && options.type !== "png") {
342
+ screenshotOptions.quality = options.quality ?? 100;
343
+ }
344
+ try {
345
+ const uint8array = await page.screenshot(screenshotOptions);
346
+ return Buffer.from(uint8array);
347
+ }
348
+ catch {
349
+ throw new Error(`Failed to render page ${pageNumber} of the PDF`);
350
+ }
266
351
  };
267
352
 
268
353
  async function getBuffer(input) {
@@ -353,6 +438,10 @@ const img2pdf = async (input, options = {}) => {
353
438
  doc.end();
354
439
  }).catch((e) => {
355
440
  reject(e);
441
+ }).finally(async () => {
442
+ if (options.closeBrowser) {
443
+ await closeBrowser();
444
+ }
356
445
  });
357
446
  });
358
447
  };
@@ -361,13 +450,12 @@ const pagePoolSize = 5;
361
450
  const RESOURCE_LIMIT = 100;
362
451
  let resourceCount = 0;
363
452
  let pagePool = [];
364
- let browser = null;
365
- async function launchPages() {
453
+ async function launchPages(browser) {
366
454
  if (pagePool.length > 0) {
367
455
  return pagePool;
368
456
  }
369
457
  pagePool = await Promise.all(Array.from({ length: pagePoolSize }, async () => {
370
- if (browser && browser.connected) {
458
+ if (browser?.connected) {
371
459
  const page = await browser.newPage();
372
460
  await page.setRequestInterception(true);
373
461
  await page.setDefaultNavigationTimeout(10000);
@@ -391,6 +479,7 @@ async function launchPages() {
391
479
  return pagePool;
392
480
  }
393
481
  const html2pdf = async (input, options = {}) => {
482
+ const browser = await launchBrowser();
394
483
  const validator = new HtmlValidate(options.rules ?? {
395
484
  extends: ["html-validate:standard"],
396
485
  rules: {
@@ -404,11 +493,10 @@ const html2pdf = async (input, options = {}) => {
404
493
  else if (existsSync(input)) {
405
494
  htmlContent = await readHtmlFromFilePath(htmlContent);
406
495
  }
407
- browser = await launchBrowser("firefox");
408
496
  if (!browser?.connected) {
409
497
  throw new Error("Browser not available");
410
498
  }
411
- const pagePool = await launchPages();
499
+ const pagePool = await launchPages(browser);
412
500
  let page = pagePool.pop();
413
501
  let tempPage = false;
414
502
  if (!page) {
@@ -469,6 +557,9 @@ const html2pdf = async (input, options = {}) => {
469
557
  });
470
558
  pagePool.push(page);
471
559
  }
560
+ if (options.closeBrowser) {
561
+ await closeBrowser();
562
+ }
472
563
  }
473
564
  };
474
565
 
@@ -478,5 +569,5 @@ if (!satisfies(process.version, requiredVersion)) {
478
569
  process.exit(1);
479
570
  }
480
571
 
481
- export { html2pdf, img2pdf, pdf2img };
572
+ export { closeBrowser, html2pdf, img2pdf, launchBrowser, pdf2img };
482
573
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["pagePoolSize","RESOURCE_LIMIT","resourceCount","pagePool","browser","launchPages"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["pagePoolSize","RESOURCE_LIMIT","resourceCount","pagePool","launchPages"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import { Browser } from "puppeteer";
2
- declare function launchBrowser(browserType: "firefox"): Promise<Browser>;
3
- export { launchBrowser };
1
+ import { Browser } from "puppeteer-core";
2
+ declare function launchBrowser(browserType?: "firefox" | "chrome", wsURL?: string): Promise<Browser>;
3
+ declare function closeBrowser(): Promise<void>;
4
+ export { launchBrowser, closeBrowser };
@@ -1,3 +1,4 @@
1
1
  export * from "./modules/pdf2img.js";
2
2
  export * from "./modules/img2pdf.js";
3
3
  export * from "./modules/html2pdf.js";
4
+ export { launchBrowser, closeBrowser } from "./browsers.js";
@@ -2,5 +2,6 @@ export type Options = {
2
2
  base64?: boolean;
3
3
  rules?: object;
4
4
  validation?: boolean;
5
+ closeBrowser?: boolean;
5
6
  };
6
7
  export declare const html2pdf: (input: string | URL, options?: Options) => Promise<string | Buffer<ArrayBuffer>>;
@@ -2,6 +2,7 @@ type Options = {
2
2
  header?: string;
3
3
  footer?: string;
4
4
  fontSize?: number;
5
+ closeBrowser?: boolean;
5
6
  };
6
7
  export declare const img2pdf: (input: Buffer | string | URL, options?: Options) => Promise<Buffer<ArrayBufferLike>>;
7
8
  export {};
@@ -2,10 +2,12 @@ type Options = {
2
2
  quality?: number;
3
3
  password?: string;
4
4
  type?: "png" | "jpeg" | "webp";
5
+ page?: number;
6
+ closeBrowser?: boolean;
5
7
  };
6
8
  export declare const pdf2img: (input: Buffer | string | URL, options?: Options) => Promise<{
7
9
  length: any;
8
10
  metadata: any;
9
- pages: Buffer<ArrayBuffer>[];
11
+ pages: Buffer<ArrayBufferLike>[];
10
12
  }>;
11
13
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iqx-limited/quick-pdf",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "author": "IQX",
5
5
  "description": "Converting PDFs to images (📃 to 📸)",
6
6
  "type": "module",
@@ -49,7 +49,7 @@
49
49
  "image-size": "^2.0.2",
50
50
  "path2d-polyfill": "^3.1.3",
51
51
  "pdfkit": "^0.17.1",
52
- "puppeteer": "^24.10.0",
52
+ "puppeteer-core": "^24.10.0",
53
53
  "rollup-plugin-node-externals": "^8.0.0",
54
54
  "semver": "^7.7.2"
55
55
  },
@@ -63,7 +63,7 @@
63
63
  "@types/pdfkit": "^0.13.9",
64
64
  "@types/semver": "^7.7.0",
65
65
  "eslint": "^9.28.0",
66
- "rollup": "^4.41.2",
66
+ "rollup": "^4.42.0",
67
67
  "typescript": "^5.8.3",
68
68
  "typescript-eslint": "^8.33.1"
69
69
  }