@embedpdf/engines 1.0.3 → 1.0.4

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.
Files changed (49) hide show
  1. package/dist/converters.cjs +149 -115
  2. package/dist/converters.cjs.map +1 -1
  3. package/dist/converters.d.ts +2 -1
  4. package/dist/converters.js +143 -86
  5. package/dist/converters.js.map +1 -1
  6. package/dist/index.cjs +5362 -5978
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.ts +1479 -6
  9. package/dist/index.js +5399 -356
  10. package/dist/index.js.map +1 -1
  11. package/dist/pdfium-direct-engine.cjs +4037 -0
  12. package/dist/pdfium-direct-engine.cjs.map +1 -0
  13. package/dist/{pdfium.d.cts → pdfium-direct-engine.d.ts} +4 -96
  14. package/dist/pdfium-direct-engine.js +4035 -0
  15. package/dist/pdfium-direct-engine.js.map +1 -0
  16. package/dist/pdfium-worker-engine.cjs +800 -0
  17. package/dist/pdfium-worker-engine.cjs.map +1 -0
  18. package/dist/{worker.d.cts → pdfium-worker-engine.d.ts} +36 -4
  19. package/dist/pdfium-worker-engine.js +798 -0
  20. package/dist/pdfium-worker-engine.js.map +1 -0
  21. package/dist/pdfium.cjs +4243 -5647
  22. package/dist/pdfium.cjs.map +1 -1
  23. package/dist/pdfium.d.ts +131 -3
  24. package/dist/pdfium.js +4288 -21
  25. package/dist/pdfium.js.map +1 -1
  26. package/dist/preact.cjs +39 -0
  27. package/dist/preact.cjs.map +1 -0
  28. package/dist/preact.d.ts +13 -0
  29. package/dist/preact.js +37 -0
  30. package/dist/preact.js.map +1 -0
  31. package/dist/react.cjs +39 -0
  32. package/dist/react.cjs.map +1 -0
  33. package/dist/react.d.ts +13 -0
  34. package/dist/react.js +37 -0
  35. package/dist/react.js.map +1 -0
  36. package/dist/worker.cjs +771 -1104
  37. package/dist/worker.cjs.map +1 -1
  38. package/dist/worker.d.ts +30 -4
  39. package/dist/worker.js +786 -11
  40. package/dist/worker.js.map +1 -1
  41. package/package.json +42 -8
  42. package/dist/chunk-FXQUMVH5.js +0 -4599
  43. package/dist/chunk-FXQUMVH5.js.map +0 -1
  44. package/dist/chunk-YZLT3A2D.js +0 -1101
  45. package/dist/chunk-YZLT3A2D.js.map +0 -1
  46. package/dist/converters.d.cts +0 -69
  47. package/dist/index.d.cts +0 -32
  48. package/dist/runner-BvRtPCKL.d.cts +0 -131
  49. package/dist/runner-BvRtPCKL.d.ts +0 -131
@@ -1,124 +1,158 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
19
2
 
20
- // src/converters/index.ts
21
- var converters_exports = {};
22
- __export(converters_exports, {
23
- browserImageDataToBlobConverter: () => browserImageDataToBlobConverter,
24
- createBrowserImageDataToBlobConverter: () => createBrowserImageDataToBlobConverter,
25
- createCustomImageDataToBlobConverter: () => createCustomImageDataToBlobConverter,
26
- createCustomImageDataToBufferConverter: () => createCustomImageDataToBufferConverter,
27
- createNodeCanvasImageDataToBlobConverter: () => createNodeCanvasImageDataToBlobConverter,
28
- createNodeImageDataToBufferConverter: () => createNodeImageDataToBufferConverter
29
- });
30
- module.exports = __toCommonJS(converters_exports);
31
- var browserImageDataToBlobConverter = (imageData) => {
32
- if (typeof OffscreenCanvas === "undefined") {
33
- throw new Error(
34
- "OffscreenCanvas is not available in this environment. This converter is intended for browser use only. Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js."
35
- );
36
- }
37
- const off = new OffscreenCanvas(imageData.width, imageData.height);
38
- off.getContext("2d").putImageData(imageData, 0, 0);
39
- return off.convertToBlob({ type: "image/webp" });
40
- };
41
- function createBrowserImageDataToBlobConverter(imageType = "image/webp") {
42
- return (imageData) => {
43
- if (typeof OffscreenCanvas === "undefined") {
44
- throw new Error(
45
- "OffscreenCanvas is not available in this environment. This converter is intended for browser use only. Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js."
46
- );
3
+ /**
4
+ * Browser implementation using OffscreenCanvas
5
+ * This is the default implementation used in browser environments
6
+ */
7
+ const browserImageDataToBlobConverter = (imageData) => {
8
+ // Check if we're in a browser environment
9
+ if (typeof OffscreenCanvas === 'undefined') {
10
+ throw new Error('OffscreenCanvas is not available in this environment. ' +
11
+ 'This converter is intended for browser use only. ' +
12
+ 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.');
47
13
  }
48
14
  const off = new OffscreenCanvas(imageData.width, imageData.height);
49
- off.getContext("2d").putImageData(imageData, 0, 0);
50
- return off.convertToBlob({ type: imageType });
51
- };
15
+ off.getContext('2d').putImageData(imageData, 0, 0);
16
+ return off.convertToBlob({ type: 'image/webp' });
17
+ };
18
+ /**
19
+ * Create a browser implementation with custom image type
20
+ */
21
+ function createBrowserImageDataToBlobConverter(imageType = 'image/webp') {
22
+ return (imageData) => {
23
+ // Check if we're in a browser environment
24
+ if (typeof OffscreenCanvas === 'undefined') {
25
+ throw new Error('OffscreenCanvas is not available in this environment. ' +
26
+ 'This converter is intended for browser use only. ' +
27
+ 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.');
28
+ }
29
+ const off = new OffscreenCanvas(imageData.width, imageData.height);
30
+ off.getContext('2d').putImageData(imageData, 0, 0);
31
+ return off.convertToBlob({ type: imageType });
32
+ };
52
33
  }
53
- function createNodeImageDataToBufferConverter(sharp, imageType = "image/webp") {
54
- return async (imageData) => {
55
- const { width, height, data } = imageData;
56
- let sharpInstance = sharp(Buffer.from(data), {
57
- raw: {
58
- width,
59
- height,
60
- channels: 4
61
- // RGBA
62
- }
63
- });
64
- let buffer;
65
- switch (imageType) {
66
- case "image/webp":
67
- buffer = await sharpInstance.webp().toBuffer();
68
- break;
69
- case "image/png":
70
- buffer = await sharpInstance.png().toBuffer();
71
- break;
72
- case "image/jpeg":
73
- buffer = await sharpInstance.flatten({ background: { r: 255, g: 255, b: 255 } }).jpeg().toBuffer();
74
- break;
75
- default:
76
- throw new Error(`Unsupported image type: ${imageType}`);
77
- }
78
- return buffer;
79
- };
34
+ /**
35
+ * Node.js implementation using Sharp
36
+ * This requires the 'sharp' package to be installed
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import sharp from 'sharp';
41
+ * import { createNodeImageDataToBufferConverter } from '@embedpdf/engines/pdfium/image-converters';
42
+ *
43
+ * const converter = createNodeImageDataToBufferConverter(sharp);
44
+ * const engine = new PdfiumEngine(pdfiumModule, logger, converter);
45
+ * ```
46
+ */
47
+ function createNodeImageDataToBufferConverter(sharp, // Using 'any' to avoid requiring sharp as a dependency
48
+ imageType = 'image/webp') {
49
+ return async (imageData) => {
50
+ const { width, height, data } = imageData;
51
+ // Convert ImageData to Sharp format
52
+ // ImageData uses RGBA format, Sharp expects the same
53
+ let sharpInstance = sharp(Buffer.from(data), {
54
+ raw: {
55
+ width,
56
+ height,
57
+ channels: 4, // RGBA
58
+ },
59
+ });
60
+ // Apply the appropriate format conversion based on imageType
61
+ let buffer;
62
+ switch (imageType) {
63
+ case 'image/webp':
64
+ buffer = await sharpInstance.webp().toBuffer();
65
+ break;
66
+ case 'image/png':
67
+ buffer = await sharpInstance.png().toBuffer();
68
+ break;
69
+ case 'image/jpeg':
70
+ // JPEG doesn't support transparency, so we need to composite onto a white background
71
+ buffer = await sharpInstance
72
+ .flatten({ background: { r: 255, g: 255, b: 255 } }) // Remove alpha channel with white background
73
+ .jpeg()
74
+ .toBuffer();
75
+ break;
76
+ default:
77
+ throw new Error(`Unsupported image type: ${imageType}`);
78
+ }
79
+ return buffer;
80
+ };
80
81
  }
81
- function createNodeCanvasImageDataToBlobConverter(createCanvas, imageType = "image/webp") {
82
- return async (imageData) => {
83
- const { width, height } = imageData;
84
- const canvas = createCanvas(width, height);
85
- const ctx = canvas.getContext("2d");
86
- ctx.putImageData(imageData, 0, 0);
87
- let buffer;
88
- switch (imageType) {
89
- case "image/webp":
90
- buffer = canvas.toBuffer("image/webp");
91
- break;
92
- case "image/png":
93
- buffer = canvas.toBuffer("image/png");
94
- break;
95
- case "image/jpeg":
96
- buffer = canvas.toBuffer("image/jpeg");
97
- break;
98
- default:
99
- throw new Error(`Unsupported image type: ${imageType}`);
100
- }
101
- return buffer;
102
- };
82
+ /**
83
+ * Alternative Node.js implementation using canvas (node-canvas)
84
+ * This requires the 'canvas' package to be installed
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * import { createCanvas } from 'canvas';
89
+ * import { createNodeCanvasImageDataToBlobConverter } from '@embedpdf/engines/pdfium/image-converters';
90
+ *
91
+ * const converter = createNodeCanvasImageDataToBlobConverter(createCanvas, 'image/png');
92
+ * const engine = new PdfiumEngine(pdfiumModule, logger, converter);
93
+ * ```
94
+ */
95
+ function createNodeCanvasImageDataToBlobConverter(createCanvas, // Using 'any' to avoid requiring canvas as a dependency
96
+ imageType = 'image/webp') {
97
+ return async (imageData) => {
98
+ const { width, height } = imageData;
99
+ // Create a canvas and put the image data
100
+ const canvas = createCanvas(width, height);
101
+ const ctx = canvas.getContext('2d');
102
+ ctx.putImageData(imageData, 0, 0);
103
+ // Convert to buffer and create blob based on the requested type
104
+ let buffer;
105
+ switch (imageType) {
106
+ case 'image/webp':
107
+ buffer = canvas.toBuffer('image/webp');
108
+ break;
109
+ case 'image/png':
110
+ buffer = canvas.toBuffer('image/png');
111
+ break;
112
+ case 'image/jpeg':
113
+ buffer = canvas.toBuffer('image/jpeg');
114
+ break;
115
+ default:
116
+ throw new Error(`Unsupported image type: ${imageType}`);
117
+ }
118
+ return buffer;
119
+ };
103
120
  }
104
- function createCustomImageDataToBlobConverter(processor, imageType = "image/webp") {
105
- return async (imageData) => {
106
- const buffer = await processor(imageData);
107
- return new Blob([buffer], { type: imageType });
108
- };
121
+ /**
122
+ * Generic Node.js implementation that works with any image processing library
123
+ * that can handle raw RGBA data
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const converter = createCustomImageDataToBlobConverter(async (imageData) => {
128
+ * // Your custom image processing logic here
129
+ * // Return a Buffer that will be wrapped in a Blob
130
+ * return processImageWithYourLibrary(imageData);
131
+ * });
132
+ * ```
133
+ */
134
+ function createCustomImageDataToBlobConverter(processor, imageType = 'image/webp') {
135
+ return async (imageData) => {
136
+ const buffer = await processor(imageData);
137
+ return new Blob([buffer], { type: imageType });
138
+ };
109
139
  }
140
+ /**
141
+ * Create a custom converter that returns a Buffer
142
+ * @param processor - function to process the image data
143
+ * @param imageType - image type
144
+ * @returns ImageDataToBlobConverter<Buffer>
145
+ */
110
146
  function createCustomImageDataToBufferConverter(processor) {
111
- return async (imageData) => {
112
- return await processor(imageData);
113
- };
147
+ return async (imageData) => {
148
+ return await processor(imageData);
149
+ };
114
150
  }
115
- // Annotate the CommonJS export names for ESM import in node:
116
- 0 && (module.exports = {
117
- browserImageDataToBlobConverter,
118
- createBrowserImageDataToBlobConverter,
119
- createCustomImageDataToBlobConverter,
120
- createCustomImageDataToBufferConverter,
121
- createNodeCanvasImageDataToBlobConverter,
122
- createNodeImageDataToBufferConverter
123
- });
124
- //# sourceMappingURL=converters.cjs.map
151
+
152
+ exports.browserImageDataToBlobConverter = browserImageDataToBlobConverter;
153
+ exports.createBrowserImageDataToBlobConverter = createBrowserImageDataToBlobConverter;
154
+ exports.createCustomImageDataToBlobConverter = createCustomImageDataToBlobConverter;
155
+ exports.createCustomImageDataToBufferConverter = createCustomImageDataToBufferConverter;
156
+ exports.createNodeCanvasImageDataToBlobConverter = createNodeCanvasImageDataToBlobConverter;
157
+ exports.createNodeImageDataToBufferConverter = createNodeImageDataToBufferConverter;
158
+ //# sourceMappingURL=converters.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/converters/index.ts"],"sourcesContent":["/**\n * Function type for converting ImageData to Blob\n * In browser: uses OffscreenCanvas\n * In Node.js: can use Sharp or other image processing libraries\n */\nexport type ImageDataConverter<T = Blob> = (imageData: ImageData) => Promise<T>;\n\nexport type ImageConversionTypes = 'image/webp' | 'image/png' | 'image/jpeg';\n/**\n * Browser implementation using OffscreenCanvas\n * This is the default implementation used in browser environments\n */\nexport const browserImageDataToBlobConverter: ImageDataConverter = (\n imageData: ImageData,\n): Promise<Blob> => {\n // Check if we're in a browser environment\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error(\n 'OffscreenCanvas is not available in this environment. ' +\n 'This converter is intended for browser use only. ' +\n 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.',\n );\n }\n\n const off = new OffscreenCanvas(imageData.width, imageData.height);\n off.getContext('2d')!.putImageData(imageData, 0, 0);\n return off.convertToBlob({ type: 'image/webp' });\n};\n\n/**\n * Create a browser implementation with custom image type\n */\nexport function createBrowserImageDataToBlobConverter(\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter {\n return (imageData: ImageData): Promise<Blob> => {\n // Check if we're in a browser environment\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error(\n 'OffscreenCanvas is not available in this environment. ' +\n 'This converter is intended for browser use only. ' +\n 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.',\n );\n }\n\n const off = new OffscreenCanvas(imageData.width, imageData.height);\n off.getContext('2d')!.putImageData(imageData, 0, 0);\n return off.convertToBlob({ type: imageType });\n };\n}\n\n/**\n * Node.js implementation using Sharp\n * This requires the 'sharp' package to be installed\n *\n * @example\n * ```typescript\n * import sharp from 'sharp';\n * import { createNodeImageDataToBufferConverter } from '@embedpdf/engines/pdfium/image-converters';\n *\n * const converter = createNodeImageDataToBufferConverter(sharp);\n * const engine = new PdfiumEngine(pdfiumModule, logger, converter);\n * ```\n */\nexport function createNodeImageDataToBufferConverter(\n sharp: any, // Using 'any' to avoid requiring sharp as a dependency\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n const { width, height, data } = imageData;\n\n // Convert ImageData to Sharp format\n // ImageData uses RGBA format, Sharp expects the same\n let sharpInstance = sharp(Buffer.from(data), {\n raw: {\n width,\n height,\n channels: 4, // RGBA\n },\n });\n\n // Apply the appropriate format conversion based on imageType\n let buffer: Buffer;\n switch (imageType) {\n case 'image/webp':\n buffer = await sharpInstance.webp().toBuffer();\n break;\n case 'image/png':\n buffer = await sharpInstance.png().toBuffer();\n break;\n case 'image/jpeg':\n // JPEG doesn't support transparency, so we need to composite onto a white background\n buffer = await sharpInstance\n .flatten({ background: { r: 255, g: 255, b: 255 } }) // Remove alpha channel with white background\n .jpeg()\n .toBuffer();\n break;\n default:\n throw new Error(`Unsupported image type: ${imageType}`);\n }\n\n return buffer;\n };\n}\n\n/**\n * Alternative Node.js implementation using canvas (node-canvas)\n * This requires the 'canvas' package to be installed\n *\n * @example\n * ```typescript\n * import { createCanvas } from 'canvas';\n * import { createNodeCanvasImageDataToBlobConverter } from '@embedpdf/engines/pdfium/image-converters';\n *\n * const converter = createNodeCanvasImageDataToBlobConverter(createCanvas, 'image/png');\n * const engine = new PdfiumEngine(pdfiumModule, logger, converter);\n * ```\n */\nexport function createNodeCanvasImageDataToBlobConverter(\n createCanvas: any, // Using 'any' to avoid requiring canvas as a dependency\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n const { width, height } = imageData;\n\n // Create a canvas and put the image data\n const canvas = createCanvas(width, height);\n const ctx = canvas.getContext('2d');\n ctx.putImageData(imageData, 0, 0);\n\n // Convert to buffer and create blob based on the requested type\n let buffer: Buffer;\n switch (imageType) {\n case 'image/webp':\n buffer = canvas.toBuffer('image/webp');\n break;\n case 'image/png':\n buffer = canvas.toBuffer('image/png');\n break;\n case 'image/jpeg':\n buffer = canvas.toBuffer('image/jpeg');\n break;\n default:\n throw new Error(`Unsupported image type: ${imageType}`);\n }\n\n return buffer;\n };\n}\n\n/**\n * Generic Node.js implementation that works with any image processing library\n * that can handle raw RGBA data\n *\n * @example\n * ```typescript\n * const converter = createCustomImageDataToBlobConverter(async (imageData) => {\n * // Your custom image processing logic here\n * // Return a Buffer that will be wrapped in a Blob\n * return processImageWithYourLibrary(imageData);\n * });\n * ```\n */\nexport function createCustomImageDataToBlobConverter(\n processor: (imageData: ImageData) => Promise<Buffer>,\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter {\n return async (imageData: ImageData): Promise<Blob> => {\n const buffer = await processor(imageData);\n return new Blob([buffer], { type: imageType });\n };\n}\n\n/**\n * Create a custom converter that returns a Buffer\n * @param processor - function to process the image data\n * @param imageType - image type\n * @returns ImageDataToBlobConverter<Buffer>\n */\nexport function createCustomImageDataToBufferConverter(\n processor: (imageData: ImageData) => Promise<Buffer>,\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n return await processor(imageData);\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,IAAM,kCAAsD,CACjE,cACkB;AAElB,MAAI,OAAO,oBAAoB,aAAa;AAC1C,UAAM,IAAI;AAAA,MACR;AAAA,IAGF;AAAA,EACF;AAEA,QAAM,MAAM,IAAI,gBAAgB,UAAU,OAAO,UAAU,MAAM;AACjE,MAAI,WAAW,IAAI,EAAG,aAAa,WAAW,GAAG,CAAC;AAClD,SAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjD;AAKO,SAAS,sCACd,YAAkC,cACd;AACpB,SAAO,CAAC,cAAwC;AAE9C,QAAI,OAAO,oBAAoB,aAAa;AAC1C,YAAM,IAAI;AAAA,QACR;AAAA,MAGF;AAAA,IACF;AAEA,UAAM,MAAM,IAAI,gBAAgB,UAAU,OAAO,UAAU,MAAM;AACjE,QAAI,WAAW,IAAI,EAAG,aAAa,WAAW,GAAG,CAAC;AAClD,WAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAAA,EAC9C;AACF;AAeO,SAAS,qCACd,OACA,YAAkC,cACN;AAC5B,SAAO,OAAO,cAA0C;AACtD,UAAM,EAAE,OAAO,QAAQ,KAAK,IAAI;AAIhC,QAAI,gBAAgB,MAAM,OAAO,KAAK,IAAI,GAAG;AAAA,MAC3C,KAAK;AAAA,QACH;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,MACZ;AAAA,IACF,CAAC;AAGD,QAAI;AACJ,YAAQ,WAAW;AAAA,MACjB,KAAK;AACH,iBAAS,MAAM,cAAc,KAAK,EAAE,SAAS;AAC7C;AAAA,MACF,KAAK;AACH,iBAAS,MAAM,cAAc,IAAI,EAAE,SAAS;AAC5C;AAAA,MACF,KAAK;AAEH,iBAAS,MAAM,cACZ,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,EAClD,KAAK,EACL,SAAS;AACZ;AAAA,MACF;AACE,cAAM,IAAI,MAAM,2BAA2B,SAAS,EAAE;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AACF;AAeO,SAAS,yCACd,cACA,YAAkC,cACN;AAC5B,SAAO,OAAO,cAA0C;AACtD,UAAM,EAAE,OAAO,OAAO,IAAI;AAG1B,UAAM,SAAS,aAAa,OAAO,MAAM;AACzC,UAAM,MAAM,OAAO,WAAW,IAAI;AAClC,QAAI,aAAa,WAAW,GAAG,CAAC;AAGhC,QAAI;AACJ,YAAQ,WAAW;AAAA,MACjB,KAAK;AACH,iBAAS,OAAO,SAAS,YAAY;AACrC;AAAA,MACF,KAAK;AACH,iBAAS,OAAO,SAAS,WAAW;AACpC;AAAA,MACF,KAAK;AACH,iBAAS,OAAO,SAAS,YAAY;AACrC;AAAA,MACF;AACE,cAAM,IAAI,MAAM,2BAA2B,SAAS,EAAE;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AACF;AAeO,SAAS,qCACd,WACA,YAAkC,cACd;AACpB,SAAO,OAAO,cAAwC;AACpD,UAAM,SAAS,MAAM,UAAU,SAAS;AACxC,WAAO,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,UAAU,CAAC;AAAA,EAC/C;AACF;AAQO,SAAS,uCACd,WAC4B;AAC5B,SAAO,OAAO,cAA0C;AACtD,WAAO,MAAM,UAAU,SAAS;AAAA,EAClC;AACF;","names":[]}
1
+ {"version":3,"file":"converters.cjs","sources":["../src/lib/converters/index.ts"],"sourcesContent":["/**\n * Function type for converting ImageData to Blob\n * In browser: uses OffscreenCanvas\n * In Node.js: can use Sharp or other image processing libraries\n */\nexport type ImageDataConverter<T = Blob> = (imageData: ImageData) => Promise<T>;\n\nexport type ImageConversionTypes = 'image/webp' | 'image/png' | 'image/jpeg';\n/**\n * Browser implementation using OffscreenCanvas\n * This is the default implementation used in browser environments\n */\nexport const browserImageDataToBlobConverter: ImageDataConverter = (\n imageData: ImageData,\n): Promise<Blob> => {\n // Check if we're in a browser environment\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error(\n 'OffscreenCanvas is not available in this environment. ' +\n 'This converter is intended for browser use only. ' +\n 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.',\n );\n }\n\n const off = new OffscreenCanvas(imageData.width, imageData.height);\n off.getContext('2d')!.putImageData(imageData, 0, 0);\n return off.convertToBlob({ type: 'image/webp' });\n};\n\n/**\n * Create a browser implementation with custom image type\n */\nexport function createBrowserImageDataToBlobConverter(\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter {\n return (imageData: ImageData): Promise<Blob> => {\n // Check if we're in a browser environment\n if (typeof OffscreenCanvas === 'undefined') {\n throw new Error(\n 'OffscreenCanvas is not available in this environment. ' +\n 'This converter is intended for browser use only. ' +\n 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.',\n );\n }\n\n const off = new OffscreenCanvas(imageData.width, imageData.height);\n off.getContext('2d')!.putImageData(imageData, 0, 0);\n return off.convertToBlob({ type: imageType });\n };\n}\n\n/**\n * Node.js implementation using Sharp\n * This requires the 'sharp' package to be installed\n *\n * @example\n * ```typescript\n * import sharp from 'sharp';\n * import { createNodeImageDataToBufferConverter } from '@embedpdf/engines/pdfium/image-converters';\n *\n * const converter = createNodeImageDataToBufferConverter(sharp);\n * const engine = new PdfiumEngine(pdfiumModule, logger, converter);\n * ```\n */\nexport function createNodeImageDataToBufferConverter(\n sharp: any, // Using 'any' to avoid requiring sharp as a dependency\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n const { width, height, data } = imageData;\n\n // Convert ImageData to Sharp format\n // ImageData uses RGBA format, Sharp expects the same\n let sharpInstance = sharp(Buffer.from(data), {\n raw: {\n width,\n height,\n channels: 4, // RGBA\n },\n });\n\n // Apply the appropriate format conversion based on imageType\n let buffer: Buffer;\n switch (imageType) {\n case 'image/webp':\n buffer = await sharpInstance.webp().toBuffer();\n break;\n case 'image/png':\n buffer = await sharpInstance.png().toBuffer();\n break;\n case 'image/jpeg':\n // JPEG doesn't support transparency, so we need to composite onto a white background\n buffer = await sharpInstance\n .flatten({ background: { r: 255, g: 255, b: 255 } }) // Remove alpha channel with white background\n .jpeg()\n .toBuffer();\n break;\n default:\n throw new Error(`Unsupported image type: ${imageType}`);\n }\n\n return buffer;\n };\n}\n\n/**\n * Alternative Node.js implementation using canvas (node-canvas)\n * This requires the 'canvas' package to be installed\n *\n * @example\n * ```typescript\n * import { createCanvas } from 'canvas';\n * import { createNodeCanvasImageDataToBlobConverter } from '@embedpdf/engines/pdfium/image-converters';\n *\n * const converter = createNodeCanvasImageDataToBlobConverter(createCanvas, 'image/png');\n * const engine = new PdfiumEngine(pdfiumModule, logger, converter);\n * ```\n */\nexport function createNodeCanvasImageDataToBlobConverter(\n createCanvas: any, // Using 'any' to avoid requiring canvas as a dependency\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n const { width, height } = imageData;\n\n // Create a canvas and put the image data\n const canvas = createCanvas(width, height);\n const ctx = canvas.getContext('2d');\n ctx.putImageData(imageData, 0, 0);\n\n // Convert to buffer and create blob based on the requested type\n let buffer: Buffer;\n switch (imageType) {\n case 'image/webp':\n buffer = canvas.toBuffer('image/webp');\n break;\n case 'image/png':\n buffer = canvas.toBuffer('image/png');\n break;\n case 'image/jpeg':\n buffer = canvas.toBuffer('image/jpeg');\n break;\n default:\n throw new Error(`Unsupported image type: ${imageType}`);\n }\n\n return buffer;\n };\n}\n\n/**\n * Generic Node.js implementation that works with any image processing library\n * that can handle raw RGBA data\n *\n * @example\n * ```typescript\n * const converter = createCustomImageDataToBlobConverter(async (imageData) => {\n * // Your custom image processing logic here\n * // Return a Buffer that will be wrapped in a Blob\n * return processImageWithYourLibrary(imageData);\n * });\n * ```\n */\nexport function createCustomImageDataToBlobConverter(\n processor: (imageData: ImageData) => Promise<Buffer>,\n imageType: ImageConversionTypes = 'image/webp',\n): ImageDataConverter {\n return async (imageData: ImageData): Promise<Blob> => {\n const buffer = await processor(imageData);\n return new Blob([buffer], { type: imageType });\n };\n}\n\n/**\n * Create a custom converter that returns a Buffer\n * @param processor - function to process the image data\n * @param imageType - image type\n * @returns ImageDataToBlobConverter<Buffer>\n */\nexport function createCustomImageDataToBufferConverter(\n processor: (imageData: ImageData) => Promise<Buffer>,\n): ImageDataConverter<Buffer> {\n return async (imageData: ImageData): Promise<Buffer> => {\n return await processor(imageData);\n };\n}\n"],"names":[],"mappings":";;AAQA;;;AAGG;AACU,MAAA,+BAA+B,GAAuB,CACjE,SAAoB,KACH;;AAEjB,IAAA,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,wDAAwD;YACtD,mDAAmD;AACnD,YAAA,4GAA4G,CAC/G,CAAC;KACH;AAED,IAAA,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACnE,IAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACnD,EAAE;AAEF;;AAEG;AACa,SAAA,qCAAqC,CACnD,SAAA,GAAkC,YAAY,EAAA;IAE9C,OAAO,CAAC,SAAoB,KAAmB;;AAE7C,QAAA,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;YAC1C,MAAM,IAAI,KAAK,CACb,wDAAwD;gBACtD,mDAAmD;AACnD,gBAAA,4GAA4G,CAC/G,CAAC;SACH;AAED,QAAA,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACnE,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAChD,KAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;AAYG;AACa,SAAA,oCAAoC,CAClD,KAAU;AACV,SAAA,GAAkC,YAAY,EAAA;AAE9C,IAAA,OAAO,OAAO,SAAoB,KAAqB;QACrD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;;;QAI1C,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC3C,YAAA,GAAG,EAAE;gBACH,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,CAAC;AACZ,aAAA;AACF,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,MAAc,CAAC;QACnB,QAAQ,SAAS;AACf,YAAA,KAAK,YAAY;gBACf,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM;AACR,YAAA,KAAK,WAAW;gBACd,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC9C,MAAM;AACR,YAAA,KAAK,YAAY;;gBAEf,MAAM,GAAG,MAAM,aAAa;qBACzB,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AACnD,qBAAA,IAAI,EAAE;AACN,qBAAA,QAAQ,EAAE,CAAC;gBACd,MAAM;AACR,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAA,CAAE,CAAC,CAAC;SAC3D;AAED,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;AAYG;AACa,SAAA,wCAAwC,CACtD,YAAiB;AACjB,SAAA,GAAkC,YAAY,EAAA;AAE9C,IAAA,OAAO,OAAO,SAAoB,KAAqB;AACrD,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;;QAGpC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;AAGlC,QAAA,IAAI,MAAc,CAAC;QACnB,QAAQ,SAAS;AACf,YAAA,KAAK,YAAY;AACf,gBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvC,MAAM;AACR,YAAA,KAAK,WAAW;AACd,gBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtC,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvC,MAAM;AACR,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAA,CAAE,CAAC,CAAC;SAC3D;AAED,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;AAYG;SACa,oCAAoC,CAClD,SAAoD,EACpD,YAAkC,YAAY,EAAA;AAE9C,IAAA,OAAO,OAAO,SAAoB,KAAmB;AACnD,QAAA,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AACjD,KAAC,CAAC;AACJ,CAAC;AAED;;;;;AAKG;AACG,SAAU,sCAAsC,CACpD,SAAoD,EAAA;AAEpD,IAAA,OAAO,OAAO,SAAoB,KAAqB;AACrD,QAAA,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;AACpC,KAAC,CAAC;AACJ;;;;;;;;;"}
@@ -66,4 +66,5 @@ declare function createCustomImageDataToBlobConverter(processor: (imageData: Ima
66
66
  */
67
67
  declare function createCustomImageDataToBufferConverter(processor: (imageData: ImageData) => Promise<Buffer>): ImageDataConverter<Buffer>;
68
68
 
69
- export { type ImageConversionTypes, type ImageDataConverter, browserImageDataToBlobConverter, createBrowserImageDataToBlobConverter, createCustomImageDataToBlobConverter, createCustomImageDataToBufferConverter, createNodeCanvasImageDataToBlobConverter, createNodeImageDataToBufferConverter };
69
+ export { browserImageDataToBlobConverter, createBrowserImageDataToBlobConverter, createCustomImageDataToBlobConverter, createCustomImageDataToBufferConverter, createNodeCanvasImageDataToBlobConverter, createNodeImageDataToBufferConverter };
70
+ export type { ImageConversionTypes, ImageDataConverter };
@@ -1,94 +1,151 @@
1
- // src/converters/index.ts
2
- var browserImageDataToBlobConverter = (imageData) => {
3
- if (typeof OffscreenCanvas === "undefined") {
4
- throw new Error(
5
- "OffscreenCanvas is not available in this environment. This converter is intended for browser use only. Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js."
6
- );
7
- }
8
- const off = new OffscreenCanvas(imageData.width, imageData.height);
9
- off.getContext("2d").putImageData(imageData, 0, 0);
10
- return off.convertToBlob({ type: "image/webp" });
11
- };
12
- function createBrowserImageDataToBlobConverter(imageType = "image/webp") {
13
- return (imageData) => {
14
- if (typeof OffscreenCanvas === "undefined") {
15
- throw new Error(
16
- "OffscreenCanvas is not available in this environment. This converter is intended for browser use only. Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js."
17
- );
1
+ /**
2
+ * Browser implementation using OffscreenCanvas
3
+ * This is the default implementation used in browser environments
4
+ */
5
+ const browserImageDataToBlobConverter = (imageData) => {
6
+ // Check if we're in a browser environment
7
+ if (typeof OffscreenCanvas === 'undefined') {
8
+ throw new Error('OffscreenCanvas is not available in this environment. ' +
9
+ 'This converter is intended for browser use only. ' +
10
+ 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.');
18
11
  }
19
12
  const off = new OffscreenCanvas(imageData.width, imageData.height);
20
- off.getContext("2d").putImageData(imageData, 0, 0);
21
- return off.convertToBlob({ type: imageType });
22
- };
13
+ off.getContext('2d').putImageData(imageData, 0, 0);
14
+ return off.convertToBlob({ type: 'image/webp' });
15
+ };
16
+ /**
17
+ * Create a browser implementation with custom image type
18
+ */
19
+ function createBrowserImageDataToBlobConverter(imageType = 'image/webp') {
20
+ return (imageData) => {
21
+ // Check if we're in a browser environment
22
+ if (typeof OffscreenCanvas === 'undefined') {
23
+ throw new Error('OffscreenCanvas is not available in this environment. ' +
24
+ 'This converter is intended for browser use only. ' +
25
+ 'Please use createNodeImageDataToBlobConverter() or createNodeCanvasImageDataToBlobConverter() for Node.js.');
26
+ }
27
+ const off = new OffscreenCanvas(imageData.width, imageData.height);
28
+ off.getContext('2d').putImageData(imageData, 0, 0);
29
+ return off.convertToBlob({ type: imageType });
30
+ };
23
31
  }
24
- function createNodeImageDataToBufferConverter(sharp, imageType = "image/webp") {
25
- return async (imageData) => {
26
- const { width, height, data } = imageData;
27
- let sharpInstance = sharp(Buffer.from(data), {
28
- raw: {
29
- width,
30
- height,
31
- channels: 4
32
- // RGBA
33
- }
34
- });
35
- let buffer;
36
- switch (imageType) {
37
- case "image/webp":
38
- buffer = await sharpInstance.webp().toBuffer();
39
- break;
40
- case "image/png":
41
- buffer = await sharpInstance.png().toBuffer();
42
- break;
43
- case "image/jpeg":
44
- buffer = await sharpInstance.flatten({ background: { r: 255, g: 255, b: 255 } }).jpeg().toBuffer();
45
- break;
46
- default:
47
- throw new Error(`Unsupported image type: ${imageType}`);
48
- }
49
- return buffer;
50
- };
32
+ /**
33
+ * Node.js implementation using Sharp
34
+ * This requires the 'sharp' package to be installed
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import sharp from 'sharp';
39
+ * import { createNodeImageDataToBufferConverter } from '@embedpdf/engines/pdfium/image-converters';
40
+ *
41
+ * const converter = createNodeImageDataToBufferConverter(sharp);
42
+ * const engine = new PdfiumEngine(pdfiumModule, logger, converter);
43
+ * ```
44
+ */
45
+ function createNodeImageDataToBufferConverter(sharp, // Using 'any' to avoid requiring sharp as a dependency
46
+ imageType = 'image/webp') {
47
+ return async (imageData) => {
48
+ const { width, height, data } = imageData;
49
+ // Convert ImageData to Sharp format
50
+ // ImageData uses RGBA format, Sharp expects the same
51
+ let sharpInstance = sharp(Buffer.from(data), {
52
+ raw: {
53
+ width,
54
+ height,
55
+ channels: 4, // RGBA
56
+ },
57
+ });
58
+ // Apply the appropriate format conversion based on imageType
59
+ let buffer;
60
+ switch (imageType) {
61
+ case 'image/webp':
62
+ buffer = await sharpInstance.webp().toBuffer();
63
+ break;
64
+ case 'image/png':
65
+ buffer = await sharpInstance.png().toBuffer();
66
+ break;
67
+ case 'image/jpeg':
68
+ // JPEG doesn't support transparency, so we need to composite onto a white background
69
+ buffer = await sharpInstance
70
+ .flatten({ background: { r: 255, g: 255, b: 255 } }) // Remove alpha channel with white background
71
+ .jpeg()
72
+ .toBuffer();
73
+ break;
74
+ default:
75
+ throw new Error(`Unsupported image type: ${imageType}`);
76
+ }
77
+ return buffer;
78
+ };
51
79
  }
52
- function createNodeCanvasImageDataToBlobConverter(createCanvas, imageType = "image/webp") {
53
- return async (imageData) => {
54
- const { width, height } = imageData;
55
- const canvas = createCanvas(width, height);
56
- const ctx = canvas.getContext("2d");
57
- ctx.putImageData(imageData, 0, 0);
58
- let buffer;
59
- switch (imageType) {
60
- case "image/webp":
61
- buffer = canvas.toBuffer("image/webp");
62
- break;
63
- case "image/png":
64
- buffer = canvas.toBuffer("image/png");
65
- break;
66
- case "image/jpeg":
67
- buffer = canvas.toBuffer("image/jpeg");
68
- break;
69
- default:
70
- throw new Error(`Unsupported image type: ${imageType}`);
71
- }
72
- return buffer;
73
- };
80
+ /**
81
+ * Alternative Node.js implementation using canvas (node-canvas)
82
+ * This requires the 'canvas' package to be installed
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * import { createCanvas } from 'canvas';
87
+ * import { createNodeCanvasImageDataToBlobConverter } from '@embedpdf/engines/pdfium/image-converters';
88
+ *
89
+ * const converter = createNodeCanvasImageDataToBlobConverter(createCanvas, 'image/png');
90
+ * const engine = new PdfiumEngine(pdfiumModule, logger, converter);
91
+ * ```
92
+ */
93
+ function createNodeCanvasImageDataToBlobConverter(createCanvas, // Using 'any' to avoid requiring canvas as a dependency
94
+ imageType = 'image/webp') {
95
+ return async (imageData) => {
96
+ const { width, height } = imageData;
97
+ // Create a canvas and put the image data
98
+ const canvas = createCanvas(width, height);
99
+ const ctx = canvas.getContext('2d');
100
+ ctx.putImageData(imageData, 0, 0);
101
+ // Convert to buffer and create blob based on the requested type
102
+ let buffer;
103
+ switch (imageType) {
104
+ case 'image/webp':
105
+ buffer = canvas.toBuffer('image/webp');
106
+ break;
107
+ case 'image/png':
108
+ buffer = canvas.toBuffer('image/png');
109
+ break;
110
+ case 'image/jpeg':
111
+ buffer = canvas.toBuffer('image/jpeg');
112
+ break;
113
+ default:
114
+ throw new Error(`Unsupported image type: ${imageType}`);
115
+ }
116
+ return buffer;
117
+ };
74
118
  }
75
- function createCustomImageDataToBlobConverter(processor, imageType = "image/webp") {
76
- return async (imageData) => {
77
- const buffer = await processor(imageData);
78
- return new Blob([buffer], { type: imageType });
79
- };
119
+ /**
120
+ * Generic Node.js implementation that works with any image processing library
121
+ * that can handle raw RGBA data
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const converter = createCustomImageDataToBlobConverter(async (imageData) => {
126
+ * // Your custom image processing logic here
127
+ * // Return a Buffer that will be wrapped in a Blob
128
+ * return processImageWithYourLibrary(imageData);
129
+ * });
130
+ * ```
131
+ */
132
+ function createCustomImageDataToBlobConverter(processor, imageType = 'image/webp') {
133
+ return async (imageData) => {
134
+ const buffer = await processor(imageData);
135
+ return new Blob([buffer], { type: imageType });
136
+ };
80
137
  }
138
+ /**
139
+ * Create a custom converter that returns a Buffer
140
+ * @param processor - function to process the image data
141
+ * @param imageType - image type
142
+ * @returns ImageDataToBlobConverter<Buffer>
143
+ */
81
144
  function createCustomImageDataToBufferConverter(processor) {
82
- return async (imageData) => {
83
- return await processor(imageData);
84
- };
145
+ return async (imageData) => {
146
+ return await processor(imageData);
147
+ };
85
148
  }
86
- export {
87
- browserImageDataToBlobConverter,
88
- createBrowserImageDataToBlobConverter,
89
- createCustomImageDataToBlobConverter,
90
- createCustomImageDataToBufferConverter,
91
- createNodeCanvasImageDataToBlobConverter,
92
- createNodeImageDataToBufferConverter
93
- };
94
- //# sourceMappingURL=converters.js.map
149
+
150
+ export { browserImageDataToBlobConverter, createBrowserImageDataToBlobConverter, createCustomImageDataToBlobConverter, createCustomImageDataToBufferConverter, createNodeCanvasImageDataToBlobConverter, createNodeImageDataToBufferConverter };
151
+ //# sourceMappingURL=converters.js.map