@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.
- package/dist/converters.cjs +149 -115
- package/dist/converters.cjs.map +1 -1
- package/dist/converters.d.ts +2 -1
- package/dist/converters.js +143 -86
- package/dist/converters.js.map +1 -1
- package/dist/index.cjs +5362 -5978
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1479 -6
- package/dist/index.js +5399 -356
- package/dist/index.js.map +1 -1
- package/dist/pdfium-direct-engine.cjs +4037 -0
- package/dist/pdfium-direct-engine.cjs.map +1 -0
- package/dist/{pdfium.d.cts → pdfium-direct-engine.d.ts} +4 -96
- package/dist/pdfium-direct-engine.js +4035 -0
- package/dist/pdfium-direct-engine.js.map +1 -0
- package/dist/pdfium-worker-engine.cjs +800 -0
- package/dist/pdfium-worker-engine.cjs.map +1 -0
- package/dist/{worker.d.cts → pdfium-worker-engine.d.ts} +36 -4
- package/dist/pdfium-worker-engine.js +798 -0
- package/dist/pdfium-worker-engine.js.map +1 -0
- package/dist/pdfium.cjs +4243 -5647
- package/dist/pdfium.cjs.map +1 -1
- package/dist/pdfium.d.ts +131 -3
- package/dist/pdfium.js +4288 -21
- package/dist/pdfium.js.map +1 -1
- package/dist/preact.cjs +39 -0
- package/dist/preact.cjs.map +1 -0
- package/dist/preact.d.ts +13 -0
- package/dist/preact.js +37 -0
- package/dist/preact.js.map +1 -0
- package/dist/react.cjs +39 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.ts +13 -0
- package/dist/react.js +37 -0
- package/dist/react.js.map +1 -0
- package/dist/worker.cjs +771 -1104
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.ts +30 -4
- package/dist/worker.js +786 -11
- package/dist/worker.js.map +1 -1
- package/package.json +42 -8
- package/dist/chunk-FXQUMVH5.js +0 -4599
- package/dist/chunk-FXQUMVH5.js.map +0 -1
- package/dist/chunk-YZLT3A2D.js +0 -1101
- package/dist/chunk-YZLT3A2D.js.map +0 -1
- package/dist/converters.d.cts +0 -69
- package/dist/index.d.cts +0 -32
- package/dist/runner-BvRtPCKL.d.cts +0 -131
- package/dist/runner-BvRtPCKL.d.ts +0 -131
package/dist/preact.cjs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var hooks = require('preact/hooks');
|
|
4
|
+
|
|
5
|
+
function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
6
|
+
const [engine, setEngine] = hooks.useState(null);
|
|
7
|
+
const [loading, setLoading] = hooks.useState(true);
|
|
8
|
+
const [error, setError] = hooks.useState(null);
|
|
9
|
+
const engineRef = hooks.useRef(null);
|
|
10
|
+
hooks.useEffect(() => {
|
|
11
|
+
let cancelled = false;
|
|
12
|
+
(async () => {
|
|
13
|
+
try {
|
|
14
|
+
const { createPdfiumEngine } = worker
|
|
15
|
+
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
16
|
+
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
17
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
18
|
+
engineRef.current = pdfEngine;
|
|
19
|
+
setEngine(pdfEngine);
|
|
20
|
+
setLoading(false);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
if (!cancelled) {
|
|
24
|
+
setError(e);
|
|
25
|
+
setLoading(false);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
29
|
+
return () => {
|
|
30
|
+
cancelled = true;
|
|
31
|
+
engineRef.current?.destroy();
|
|
32
|
+
engineRef.current = null;
|
|
33
|
+
};
|
|
34
|
+
}, [wasmUrl, worker]);
|
|
35
|
+
return { engine, isLoading: loading, error };
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.usePdfiumEngine = usePdfiumEngine;
|
|
39
|
+
//# sourceMappingURL=preact.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preact.cjs","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl: string;\n worker?: boolean;\n}\n\nexport function usePdfiumEngine({ wasmUrl, worker = true }: UsePdfiumEngineProps) {\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":["useState","useRef","useEffect"],"mappings":";;;;AAQM,SAAU,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAwB,EAAA;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAGC,YAAM,CAA6B,IAAI,CAAC,CAAC;IAE3DC,eAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;AAE3D,gBAAA,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACpD,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/preact.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PdfEngine } from '@embedpdf/models';
|
|
2
|
+
|
|
3
|
+
interface UsePdfiumEngineProps {
|
|
4
|
+
wasmUrl: string;
|
|
5
|
+
worker?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare function usePdfiumEngine({ wasmUrl, worker }: UsePdfiumEngineProps): {
|
|
8
|
+
engine: PdfEngine<Blob> | null;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
error: Error | null;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { usePdfiumEngine };
|
package/dist/preact.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'preact/hooks';
|
|
2
|
+
|
|
3
|
+
function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
4
|
+
const [engine, setEngine] = useState(null);
|
|
5
|
+
const [loading, setLoading] = useState(true);
|
|
6
|
+
const [error, setError] = useState(null);
|
|
7
|
+
const engineRef = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
let cancelled = false;
|
|
10
|
+
(async () => {
|
|
11
|
+
try {
|
|
12
|
+
const { createPdfiumEngine } = worker
|
|
13
|
+
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
14
|
+
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
15
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
16
|
+
engineRef.current = pdfEngine;
|
|
17
|
+
setEngine(pdfEngine);
|
|
18
|
+
setLoading(false);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
if (!cancelled) {
|
|
22
|
+
setError(e);
|
|
23
|
+
setLoading(false);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
})();
|
|
27
|
+
return () => {
|
|
28
|
+
cancelled = true;
|
|
29
|
+
engineRef.current?.destroy();
|
|
30
|
+
engineRef.current = null;
|
|
31
|
+
};
|
|
32
|
+
}, [wasmUrl, worker]);
|
|
33
|
+
return { engine, isLoading: loading, error };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { usePdfiumEngine };
|
|
37
|
+
//# sourceMappingURL=preact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preact.js","sources":["../src/preact/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'preact/hooks';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl: string;\n worker?: boolean;\n}\n\nexport function usePdfiumEngine({ wasmUrl, worker = true }: UsePdfiumEngineProps) {\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":[],"mappings":";;AAQM,SAAU,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAwB,EAAA;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;AAE3D,gBAAA,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACpD,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/react.cjs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
6
|
+
const [engine, setEngine] = react.useState(null);
|
|
7
|
+
const [loading, setLoading] = react.useState(true);
|
|
8
|
+
const [error, setError] = react.useState(null);
|
|
9
|
+
const engineRef = react.useRef(null);
|
|
10
|
+
react.useEffect(() => {
|
|
11
|
+
let cancelled = false;
|
|
12
|
+
(async () => {
|
|
13
|
+
try {
|
|
14
|
+
const { createPdfiumEngine } = worker
|
|
15
|
+
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
16
|
+
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
17
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
18
|
+
engineRef.current = pdfEngine;
|
|
19
|
+
setEngine(pdfEngine);
|
|
20
|
+
setLoading(false);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
if (!cancelled) {
|
|
24
|
+
setError(e);
|
|
25
|
+
setLoading(false);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
29
|
+
return () => {
|
|
30
|
+
cancelled = true;
|
|
31
|
+
engineRef.current?.destroy();
|
|
32
|
+
engineRef.current = null;
|
|
33
|
+
};
|
|
34
|
+
}, [wasmUrl, worker]);
|
|
35
|
+
return { engine, isLoading: loading, error };
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.usePdfiumEngine = usePdfiumEngine;
|
|
39
|
+
//# sourceMappingURL=react.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.cjs","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl: string;\n worker?: boolean;\n}\n\nexport function usePdfiumEngine({ wasmUrl, worker = true }: UsePdfiumEngineProps) {\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":["useState","useRef","useEffect"],"mappings":";;;;AAQM,SAAU,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAwB,EAAA;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAGC,YAAM,CAA6B,IAAI,CAAC,CAAC;IAE3DC,eAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;AAE3D,gBAAA,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACpD,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PdfEngine } from '@embedpdf/models';
|
|
2
|
+
|
|
3
|
+
interface UsePdfiumEngineProps {
|
|
4
|
+
wasmUrl: string;
|
|
5
|
+
worker?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare function usePdfiumEngine({ wasmUrl, worker }: UsePdfiumEngineProps): {
|
|
8
|
+
engine: PdfEngine<Blob> | null;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
error: Error | null;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { usePdfiumEngine };
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function usePdfiumEngine({ wasmUrl, worker = true }) {
|
|
4
|
+
const [engine, setEngine] = useState(null);
|
|
5
|
+
const [loading, setLoading] = useState(true);
|
|
6
|
+
const [error, setError] = useState(null);
|
|
7
|
+
const engineRef = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
let cancelled = false;
|
|
10
|
+
(async () => {
|
|
11
|
+
try {
|
|
12
|
+
const { createPdfiumEngine } = worker
|
|
13
|
+
? await import('@embedpdf/engines/pdfium-worker-engine')
|
|
14
|
+
: await import('@embedpdf/engines/pdfium-direct-engine');
|
|
15
|
+
const pdfEngine = await createPdfiumEngine(wasmUrl);
|
|
16
|
+
engineRef.current = pdfEngine;
|
|
17
|
+
setEngine(pdfEngine);
|
|
18
|
+
setLoading(false);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
if (!cancelled) {
|
|
22
|
+
setError(e);
|
|
23
|
+
setLoading(false);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
})();
|
|
27
|
+
return () => {
|
|
28
|
+
cancelled = true;
|
|
29
|
+
engineRef.current?.destroy();
|
|
30
|
+
engineRef.current = null;
|
|
31
|
+
};
|
|
32
|
+
}, [wasmUrl, worker]);
|
|
33
|
+
return { engine, isLoading: loading, error };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { usePdfiumEngine };
|
|
37
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sources":["../src/react/hooks/use-pdfium-engine.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { PdfEngine } from '@embedpdf/models';\n\ninterface UsePdfiumEngineProps {\n wasmUrl: string;\n worker?: boolean;\n}\n\nexport function usePdfiumEngine({ wasmUrl, worker = true }: UsePdfiumEngineProps) {\n const [engine, setEngine] = useState<PdfEngine | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const engineRef = useRef<{ destroy(): void } | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n (async () => {\n try {\n const { createPdfiumEngine } = worker\n ? await import('@embedpdf/engines/pdfium-worker-engine')\n : await import('@embedpdf/engines/pdfium-direct-engine');\n\n const pdfEngine = await createPdfiumEngine(wasmUrl);\n engineRef.current = pdfEngine;\n setEngine(pdfEngine);\n setLoading(false);\n } catch (e) {\n if (!cancelled) {\n setError(e as Error);\n setLoading(false);\n }\n }\n })();\n\n return () => {\n cancelled = true;\n engineRef.current?.destroy();\n engineRef.current = null;\n };\n }, [wasmUrl, worker]);\n\n return { engine, isLoading: loading, error };\n}\n"],"names":[],"mappings":";;AAQM,SAAU,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAwB,EAAA;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,YAAW;AACV,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM;AACnC,sBAAE,MAAM,OAAO,wCAAwC,CAAC;AACxD,sBAAE,MAAM,OAAO,wCAAwC,CAAC,CAAC;AAE3D,gBAAA,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACpD,gBAAA,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,EAAE;oBACd,QAAQ,CAAC,CAAU,CAAC,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnB;aACF;SACF,GAAG,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,YAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C;;;;"}
|