pdf-oxide 0.3.24 → 0.3.28
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/lib/builders/annotation-builder.d.ts +199 -0
- package/lib/builders/annotation-builder.d.ts.map +1 -0
- package/lib/builders/annotation-builder.js +318 -0
- package/lib/builders/annotation-builder.js.map +1 -0
- package/lib/builders/conversion-options-builder.d.ts +107 -0
- package/lib/builders/conversion-options-builder.d.ts.map +1 -0
- package/lib/builders/conversion-options-builder.js +215 -0
- package/lib/builders/conversion-options-builder.js.map +1 -0
- package/{src/builders/index.ts → lib/builders/index.d.ts} +1 -1
- package/lib/builders/index.d.ts.map +1 -0
- package/lib/builders/index.js +12 -0
- package/lib/builders/index.js.map +1 -0
- package/lib/builders/metadata-builder.d.ts +202 -0
- package/lib/builders/metadata-builder.d.ts.map +1 -0
- package/lib/builders/metadata-builder.js +286 -0
- package/lib/builders/metadata-builder.js.map +1 -0
- package/lib/builders/pdf-builder.d.ts +215 -0
- package/lib/builders/pdf-builder.d.ts.map +1 -0
- package/lib/builders/pdf-builder.js +339 -0
- package/lib/builders/pdf-builder.js.map +1 -0
- package/lib/builders/search-options-builder.d.ts +74 -0
- package/lib/builders/search-options-builder.d.ts.map +1 -0
- package/lib/builders/search-options-builder.js +130 -0
- package/lib/builders/search-options-builder.js.map +1 -0
- package/lib/document-editor-manager.d.ts +140 -0
- package/lib/document-editor-manager.d.ts.map +1 -0
- package/lib/document-editor-manager.js +257 -0
- package/lib/document-editor-manager.js.map +1 -0
- package/lib/errors.d.ts +383 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +1117 -0
- package/lib/errors.js.map +1 -0
- package/lib/form-field-manager.d.ts +300 -0
- package/lib/form-field-manager.d.ts.map +1 -0
- package/lib/form-field-manager.js +567 -0
- package/lib/form-field-manager.js.map +1 -0
- package/lib/hybrid-ml-manager.d.ts +143 -0
- package/lib/hybrid-ml-manager.d.ts.map +1 -0
- package/lib/hybrid-ml-manager.js +209 -0
- package/lib/hybrid-ml-manager.js.map +1 -0
- package/lib/index.d.ts +23 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +280 -0
- package/lib/index.js.map +1 -0
- package/lib/managers/accessibility-manager.d.ts +149 -0
- package/lib/managers/accessibility-manager.d.ts.map +1 -0
- package/lib/managers/accessibility-manager.js +224 -0
- package/lib/managers/accessibility-manager.js.map +1 -0
- package/lib/managers/annotation-manager.d.ts +220 -0
- package/lib/managers/annotation-manager.d.ts.map +1 -0
- package/lib/managers/annotation-manager.js +360 -0
- package/lib/managers/annotation-manager.js.map +1 -0
- package/lib/managers/barcode-manager.d.ts +80 -0
- package/lib/managers/barcode-manager.d.ts.map +1 -0
- package/lib/managers/barcode-manager.js +226 -0
- package/lib/managers/barcode-manager.js.map +1 -0
- package/lib/managers/batch-manager.d.ts +186 -0
- package/lib/managers/batch-manager.d.ts.map +1 -0
- package/lib/managers/batch-manager.js +389 -0
- package/lib/managers/batch-manager.js.map +1 -0
- package/lib/managers/cache-manager.d.ts +182 -0
- package/lib/managers/cache-manager.d.ts.map +1 -0
- package/lib/managers/cache-manager.js +387 -0
- package/lib/managers/cache-manager.js.map +1 -0
- package/lib/managers/compliance-manager.d.ts +104 -0
- package/lib/managers/compliance-manager.d.ts.map +1 -0
- package/lib/managers/compliance-manager.js +415 -0
- package/lib/managers/compliance-manager.js.map +1 -0
- package/lib/managers/content-manager.d.ts +121 -0
- package/lib/managers/content-manager.d.ts.map +1 -0
- package/lib/managers/content-manager.js +295 -0
- package/lib/managers/content-manager.js.map +1 -0
- package/lib/managers/document-utility-manager.d.ts +370 -0
- package/lib/managers/document-utility-manager.d.ts.map +1 -0
- package/lib/managers/document-utility-manager.js +731 -0
- package/lib/managers/document-utility-manager.js.map +1 -0
- package/lib/managers/dom-pdf-creator.d.ts +105 -0
- package/lib/managers/dom-pdf-creator.d.ts.map +1 -0
- package/lib/managers/dom-pdf-creator.js +300 -0
- package/lib/managers/dom-pdf-creator.js.map +1 -0
- package/lib/managers/editing-manager.d.ts +249 -0
- package/lib/managers/editing-manager.d.ts.map +1 -0
- package/lib/managers/editing-manager.js +388 -0
- package/lib/managers/editing-manager.js.map +1 -0
- package/lib/managers/enterprise-manager.d.ts +193 -0
- package/lib/managers/enterprise-manager.d.ts.map +1 -0
- package/lib/managers/enterprise-manager.js +305 -0
- package/lib/managers/enterprise-manager.js.map +1 -0
- package/lib/managers/extended-managers.d.ts +123 -0
- package/lib/managers/extended-managers.d.ts.map +1 -0
- package/lib/managers/extended-managers.js +658 -0
- package/lib/managers/extended-managers.js.map +1 -0
- package/lib/managers/extraction-manager.d.ts +247 -0
- package/lib/managers/extraction-manager.d.ts.map +1 -0
- package/lib/managers/extraction-manager.js +478 -0
- package/lib/managers/extraction-manager.js.map +1 -0
- package/lib/managers/final-utilities.d.ts +128 -0
- package/lib/managers/final-utilities.d.ts.map +1 -0
- package/lib/managers/final-utilities.js +653 -0
- package/lib/managers/final-utilities.js.map +1 -0
- package/lib/managers/hybrid-ml-advanced.d.ts +137 -0
- package/lib/managers/hybrid-ml-advanced.d.ts.map +1 -0
- package/lib/managers/hybrid-ml-advanced.js +707 -0
- package/lib/managers/hybrid-ml-advanced.js.map +1 -0
- package/lib/managers/index.d.ts +65 -0
- package/lib/managers/index.d.ts.map +1 -0
- package/lib/managers/index.js +70 -0
- package/lib/managers/index.js.map +1 -0
- package/lib/managers/layer-manager.d.ts +204 -0
- package/lib/managers/layer-manager.d.ts.map +1 -0
- package/lib/managers/layer-manager.js +403 -0
- package/lib/managers/layer-manager.js.map +1 -0
- package/lib/managers/metadata-manager.d.ts +149 -0
- package/lib/managers/metadata-manager.d.ts.map +1 -0
- package/lib/managers/metadata-manager.js +281 -0
- package/lib/managers/metadata-manager.js.map +1 -0
- package/lib/managers/ocr-manager.d.ts +195 -0
- package/lib/managers/ocr-manager.d.ts.map +1 -0
- package/lib/managers/ocr-manager.js +583 -0
- package/lib/managers/ocr-manager.js.map +1 -0
- package/lib/managers/optimization-manager.d.ts +103 -0
- package/lib/managers/optimization-manager.d.ts.map +1 -0
- package/lib/managers/optimization-manager.js +194 -0
- package/lib/managers/optimization-manager.js.map +1 -0
- package/lib/managers/outline-manager.d.ts +102 -0
- package/lib/managers/outline-manager.d.ts.map +1 -0
- package/lib/managers/outline-manager.js +170 -0
- package/lib/managers/outline-manager.js.map +1 -0
- package/lib/managers/page-manager.d.ts +143 -0
- package/lib/managers/page-manager.d.ts.map +1 -0
- package/lib/managers/page-manager.js +237 -0
- package/lib/managers/page-manager.js.map +1 -0
- package/lib/managers/pattern-detection.d.ts +170 -0
- package/lib/managers/pattern-detection.d.ts.map +1 -0
- package/lib/managers/pattern-detection.js +325 -0
- package/lib/managers/pattern-detection.js.map +1 -0
- package/lib/managers/rendering-manager.d.ts +354 -0
- package/lib/managers/rendering-manager.d.ts.map +1 -0
- package/lib/managers/rendering-manager.js +680 -0
- package/lib/managers/rendering-manager.js.map +1 -0
- package/lib/managers/search-manager.d.ts +236 -0
- package/lib/managers/search-manager.d.ts.map +1 -0
- package/lib/managers/search-manager.js +330 -0
- package/lib/managers/search-manager.js.map +1 -0
- package/lib/managers/security-manager.d.ts +162 -0
- package/lib/managers/security-manager.d.ts.map +1 -0
- package/lib/managers/security-manager.js +293 -0
- package/lib/managers/security-manager.js.map +1 -0
- package/lib/managers/signature-manager.d.ts +725 -0
- package/lib/managers/signature-manager.d.ts.map +1 -0
- package/lib/managers/signature-manager.js +1365 -0
- package/lib/managers/signature-manager.js.map +1 -0
- package/lib/managers/streams.d.ts +263 -0
- package/lib/managers/streams.d.ts.map +1 -0
- package/lib/managers/streams.js +472 -0
- package/lib/managers/streams.js.map +1 -0
- package/lib/managers/xfa-manager.d.ts +228 -0
- package/lib/managers/xfa-manager.d.ts.map +1 -0
- package/lib/managers/xfa-manager.js +490 -0
- package/lib/managers/xfa-manager.js.map +1 -0
- package/lib/pdf-creator-manager.d.ts +201 -0
- package/lib/pdf-creator-manager.d.ts.map +1 -0
- package/lib/pdf-creator-manager.js +379 -0
- package/lib/pdf-creator-manager.js.map +1 -0
- package/lib/properties.d.ts +80 -0
- package/lib/properties.d.ts.map +1 -0
- package/lib/properties.js +455 -0
- package/lib/properties.js.map +1 -0
- package/lib/result-accessors-manager.d.ts +347 -0
- package/lib/result-accessors-manager.d.ts.map +1 -0
- package/lib/result-accessors-manager.js +705 -0
- package/lib/result-accessors-manager.js.map +1 -0
- package/lib/thumbnail-manager.d.ts +122 -0
- package/lib/thumbnail-manager.d.ts.map +1 -0
- package/lib/thumbnail-manager.js +206 -0
- package/lib/thumbnail-manager.js.map +1 -0
- package/lib/types/common.d.ts +93 -0
- package/lib/types/common.d.ts.map +1 -0
- package/lib/types/common.js +5 -0
- package/lib/types/common.js.map +1 -0
- package/lib/types/document-types.d.ts +353 -0
- package/lib/types/document-types.d.ts.map +1 -0
- package/lib/types/document-types.js +83 -0
- package/lib/types/document-types.js.map +1 -0
- package/{src/types/index.ts → lib/types/index.d.ts} +1 -1
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +6 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/manager-types.d.ts +180 -0
- package/lib/types/manager-types.d.ts.map +1 -0
- package/lib/types/manager-types.js +99 -0
- package/lib/types/manager-types.js.map +1 -0
- package/lib/types/native-bindings.d.ts +440 -0
- package/lib/types/native-bindings.d.ts.map +1 -0
- package/lib/types/native-bindings.js +8 -0
- package/lib/types/native-bindings.js.map +1 -0
- package/{src/workers/index.ts → lib/workers/index.d.ts} +1 -1
- package/lib/workers/index.d.ts.map +1 -0
- package/lib/workers/index.js +6 -0
- package/lib/workers/index.js.map +1 -0
- package/lib/workers/pool.d.ts +65 -0
- package/lib/workers/pool.d.ts.map +1 -0
- package/lib/workers/pool.js +195 -0
- package/lib/workers/pool.js.map +1 -0
- package/lib/workers/worker.d.ts +6 -0
- package/lib/workers/worker.d.ts.map +1 -0
- package/lib/workers/worker.js +100 -0
- package/lib/workers/worker.js.map +1 -0
- package/package.json +12 -22
- package/prebuilds/darwin-arm64/pdf_oxide.node +0 -0
- package/prebuilds/darwin-x64/pdf_oxide.node +0 -0
- package/prebuilds/linux-arm64/pdf_oxide.node +0 -0
- package/prebuilds/linux-x64/pdf_oxide.node +0 -0
- package/prebuilds/win32-x64/pdf_oxide.node +0 -0
- package/binding.gyp +0 -35
- package/src/builders/annotation-builder.ts +0 -367
- package/src/builders/conversion-options-builder.ts +0 -257
- package/src/builders/metadata-builder.ts +0 -317
- package/src/builders/pdf-builder.ts +0 -386
- package/src/builders/search-options-builder.ts +0 -151
- package/src/document-editor-manager.ts +0 -318
- package/src/errors.ts +0 -1629
- package/src/form-field-manager.ts +0 -666
- package/src/hybrid-ml-manager.ts +0 -283
- package/src/index.ts +0 -453
- package/src/managers/accessibility-manager.ts +0 -338
- package/src/managers/annotation-manager.ts +0 -439
- package/src/managers/barcode-manager.ts +0 -235
- package/src/managers/batch-manager.ts +0 -533
- package/src/managers/cache-manager.ts +0 -486
- package/src/managers/compliance-manager.ts +0 -375
- package/src/managers/content-manager.ts +0 -339
- package/src/managers/document-utility-manager.ts +0 -922
- package/src/managers/dom-pdf-creator.ts +0 -365
- package/src/managers/editing-manager.ts +0 -514
- package/src/managers/enterprise-manager.ts +0 -478
- package/src/managers/extended-managers.ts +0 -437
- package/src/managers/extraction-manager.ts +0 -583
- package/src/managers/final-utilities.ts +0 -429
- package/src/managers/hybrid-ml-advanced.ts +0 -479
- package/src/managers/index.ts +0 -239
- package/src/managers/layer-manager.ts +0 -500
- package/src/managers/metadata-manager.ts +0 -303
- package/src/managers/ocr-manager.ts +0 -756
- package/src/managers/optimization-manager.ts +0 -262
- package/src/managers/outline-manager.ts +0 -196
- package/src/managers/page-manager.ts +0 -289
- package/src/managers/pattern-detection.ts +0 -440
- package/src/managers/rendering-manager.ts +0 -863
- package/src/managers/search-manager.ts +0 -385
- package/src/managers/security-manager.ts +0 -345
- package/src/managers/signature-manager.ts +0 -1664
- package/src/managers/streams.ts +0 -618
- package/src/managers/xfa-manager.ts +0 -500
- package/src/pdf-creator-manager.ts +0 -494
- package/src/properties.ts +0 -522
- package/src/result-accessors-manager.ts +0 -867
- package/src/tests/advanced-features.test.ts +0 -414
- package/src/tests/advanced.test.ts +0 -266
- package/src/tests/extended-managers.test.ts +0 -316
- package/src/tests/final-utilities.test.ts +0 -455
- package/src/tests/foundation.test.ts +0 -315
- package/src/tests/high-demand.test.ts +0 -257
- package/src/tests/specialized.test.ts +0 -97
- package/src/thumbnail-manager.ts +0 -272
- package/src/types/common.ts +0 -142
- package/src/types/document-types.ts +0 -457
- package/src/types/manager-types.ts +0 -284
- package/src/types/native-bindings.ts +0 -517
- package/src/workers/pool.ts +0 -274
- package/src/workers/worker.ts +0 -131
package/lib/index.js
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
// PDF Oxide Node.js bindings - Native module loader
|
|
2
|
+
import { platform, arch } from 'node:process';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { dirname } from 'node:path';
|
|
6
|
+
import { PdfException, ParseException, IoException, EncryptionException, UnsupportedFeatureException, InvalidStateException, ValidationException, RenderingException, SearchException, ComplianceException, OcrException, SignatureException, CertificateLoadFailed, SigningFailed, RedactionException, AccessibilityException, OptimizationException, UnknownError, ErrorCategory, ErrorSeverity, wrapError, wrapMethod, wrapAsyncMethod, mapFfiErrorCode, } from './errors.js';
|
|
7
|
+
import { PdfBuilder, ConversionOptionsBuilder, MetadataBuilder, AnnotationBuilder, SearchOptionsBuilder, } from './builders/index.js';
|
|
8
|
+
import { OutlineManager, MetadataManager, ExtractionManager, SearchManager, SecurityManager, AnnotationManager, LayerManager, RenderingManager, SearchStream, ExtractionStream, MetadataStream, createSearchStream, createExtractionStream, createMetadataStream, BatchManager, } from './managers/index.js';
|
|
9
|
+
import { WorkerPool, workerPool } from './workers/index.js';
|
|
10
|
+
// Create require function for CommonJS modules
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
const require = createRequire(import.meta.url);
|
|
14
|
+
// Phase 4+ managers (compiled JavaScript - use require for dynamic import)
|
|
15
|
+
// Phase 9: Now imports from canonical consolidated managers in managers/
|
|
16
|
+
const { OcrManager, OcrManager: OCRManager, OcrDetectionMode: OCRDetectionMode, ComplianceManager, PdfALevel, PdfXLevel, PdfUALevel, ComplianceIssueType, IssueSeverity, SignatureManager, SignatureAlgorithm, DigestAlgorithm, BarcodeManager, BarcodeFormat, BarcodeErrorCorrection, FormFieldManager, FormFieldType, FieldVisibility, ResultAccessorsManager, SearchResultProperties, FontProperties, ImageProperties, AnnotationProperties, ThumbnailManager, ThumbnailSize, ImageFormat, HybridMLManager, PageComplexity, ContentType, XfaManager, XfaFormType, XfaFieldType, CacheManager, EditingManager, AccessibilityManager, OptimizationManager, EnterpriseManager, } = require('../lib/managers/index.js');
|
|
17
|
+
// OcrLanguage re-exported from canonical OcrManager
|
|
18
|
+
const { OcrLanguage: OCRLanguage } = require('../lib/managers/ocr-manager.js');
|
|
19
|
+
/**
|
|
20
|
+
* Platform-specific prebuild paths (relative to compiled lib/index.js).
|
|
21
|
+
* At runtime lib/index.js lives at js/lib/index.js, so ../prebuilds/
|
|
22
|
+
* resolves to js/prebuilds/.
|
|
23
|
+
*/
|
|
24
|
+
const PLATFORMS = {
|
|
25
|
+
'darwin': {
|
|
26
|
+
'x64': '../prebuilds/darwin-x64/pdf_oxide.node',
|
|
27
|
+
'arm64': '../prebuilds/darwin-arm64/pdf_oxide.node',
|
|
28
|
+
},
|
|
29
|
+
'linux': {
|
|
30
|
+
'x64': '../prebuilds/linux-x64/pdf_oxide.node',
|
|
31
|
+
'arm64': '../prebuilds/linux-arm64/pdf_oxide.node',
|
|
32
|
+
},
|
|
33
|
+
'win32': {
|
|
34
|
+
'x64': '../prebuilds/win32-x64/pdf_oxide.node',
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Gets the prebuild path for the current platform and architecture
|
|
39
|
+
* @returns Path to the prebuild .node file (relative to lib/index.js)
|
|
40
|
+
* @throws Error if platform or architecture is not supported
|
|
41
|
+
*/
|
|
42
|
+
function getPrebuildPath() {
|
|
43
|
+
const osPaths = PLATFORMS[platform];
|
|
44
|
+
if (!osPaths) {
|
|
45
|
+
throw new Error(`Unsupported platform: ${platform}. Supported platforms: ${Object.keys(PLATFORMS).join(', ')}`);
|
|
46
|
+
}
|
|
47
|
+
const prebuildPath = osPaths[arch];
|
|
48
|
+
if (!prebuildPath) {
|
|
49
|
+
throw new Error(`Unsupported architecture: ${arch} for ${platform}. Supported architectures: ${Object.keys(osPaths).join(', ')}`);
|
|
50
|
+
}
|
|
51
|
+
return prebuildPath;
|
|
52
|
+
}
|
|
53
|
+
let nativeModule;
|
|
54
|
+
/**
|
|
55
|
+
* Loads the native module dynamically based on platform and architecture.
|
|
56
|
+
* Prebuilt .node files are bundled under prebuilds/<triple>/ in the package.
|
|
57
|
+
* @returns Native module
|
|
58
|
+
* @throws Error if native module cannot be loaded
|
|
59
|
+
*/
|
|
60
|
+
function loadNativeModule() {
|
|
61
|
+
if (nativeModule) {
|
|
62
|
+
return nativeModule;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const prebuildPath = getPrebuildPath();
|
|
66
|
+
try {
|
|
67
|
+
// Load the bundled prebuild .node file
|
|
68
|
+
nativeModule = require(prebuildPath);
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
// Fallback to local build output if in development
|
|
72
|
+
if (process.env.NODE_ENV === 'development' || process.env.NAPI_DEV) {
|
|
73
|
+
try {
|
|
74
|
+
nativeModule = require('./pdf-oxide');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
throw e;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return nativeModule;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
throw new Error(`Failed to load native module: ${error.message}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Load native module
|
|
91
|
+
const native = loadNativeModule();
|
|
92
|
+
/**
|
|
93
|
+
* Wraps native class methods to convert errors to proper JavaScript Error subclasses.
|
|
94
|
+
* This ensures that errors thrown from native code are instanceof the appropriate Error class.
|
|
95
|
+
* @param nativeClass - The native class to wrap
|
|
96
|
+
* @param asyncMethods - Names of async methods to wrap specially
|
|
97
|
+
* @returns Wrapped class with error-handling methods
|
|
98
|
+
*/
|
|
99
|
+
function wrapNativeClass(nativeClass, asyncMethods = []) {
|
|
100
|
+
if (!nativeClass)
|
|
101
|
+
return nativeClass;
|
|
102
|
+
// For static methods like PdfDocument.open()
|
|
103
|
+
for (const key of Object.getOwnPropertyNames(nativeClass)) {
|
|
104
|
+
if (key !== 'prototype' && key !== 'length' && key !== 'name' && typeof nativeClass[key] === 'function') {
|
|
105
|
+
const isAsync = asyncMethods.includes(key);
|
|
106
|
+
if (isAsync) {
|
|
107
|
+
nativeClass[key] = wrapAsyncMethod(nativeClass[key], nativeClass);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
nativeClass[key] = wrapMethod(nativeClass[key], nativeClass);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// For instance methods, wrap the prototype
|
|
115
|
+
if (nativeClass.prototype) {
|
|
116
|
+
for (const key of Object.getOwnPropertyNames(nativeClass.prototype)) {
|
|
117
|
+
if (key !== 'constructor' && typeof nativeClass.prototype[key] === 'function') {
|
|
118
|
+
const isAsync = asyncMethods.includes(key);
|
|
119
|
+
const descriptor = Object.getOwnPropertyDescriptor(nativeClass.prototype, key);
|
|
120
|
+
if (descriptor && descriptor.writable) {
|
|
121
|
+
if (isAsync) {
|
|
122
|
+
nativeClass.prototype[key] = wrapAsyncMethod(nativeClass.prototype[key]);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
nativeClass.prototype[key] = wrapMethod(nativeClass.prototype[key]);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return nativeClass;
|
|
132
|
+
}
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
// JS wrapper classes around native loose-function exports.
|
|
135
|
+
//
|
|
136
|
+
// The binding.cc addon exports flat C functions (openDocument, extractText,
|
|
137
|
+
// pdfFromMarkdown, …) not N-API class constructors. These TS classes provide
|
|
138
|
+
// the idiomatic JS/TS API that users import. They mirror the Go binding's
|
|
139
|
+
// PdfDocument / PdfCreator / DocumentEditor pattern exactly — a handle-based
|
|
140
|
+
// lifecycle wrapping the same FFI surface.
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
class PdfDocumentImpl {
|
|
143
|
+
constructor(handle) {
|
|
144
|
+
this._closed = false;
|
|
145
|
+
if (!handle)
|
|
146
|
+
throw new Error('Failed to open document');
|
|
147
|
+
this._handle = handle;
|
|
148
|
+
}
|
|
149
|
+
static open(path) {
|
|
150
|
+
const handle = native.openDocument(path);
|
|
151
|
+
return new PdfDocumentImpl(handle);
|
|
152
|
+
}
|
|
153
|
+
static openFromBuffer(buffer) {
|
|
154
|
+
const handle = native.openFromBuffer(buffer);
|
|
155
|
+
return new PdfDocumentImpl(handle);
|
|
156
|
+
}
|
|
157
|
+
static openWithPassword(path, password) {
|
|
158
|
+
const handle = native.openWithPassword(path, password);
|
|
159
|
+
return new PdfDocumentImpl(handle);
|
|
160
|
+
}
|
|
161
|
+
ensureOpen() {
|
|
162
|
+
if (this._closed)
|
|
163
|
+
throw new Error('Document is closed');
|
|
164
|
+
}
|
|
165
|
+
get handle() { return this._handle; }
|
|
166
|
+
pageCount() { this.ensureOpen(); return native.getPageCount(this._handle); }
|
|
167
|
+
getPageCount() { return this.pageCount(); }
|
|
168
|
+
get PageCount() { return this.pageCount(); }
|
|
169
|
+
extractText(pageIndex) { this.ensureOpen(); return native.extractText(this._handle, pageIndex); }
|
|
170
|
+
toMarkdown(pageIndex) { this.ensureOpen(); return native.toMarkdown(this._handle, pageIndex); }
|
|
171
|
+
toHtml(pageIndex) { this.ensureOpen(); return native.toHtml(this._handle, pageIndex); }
|
|
172
|
+
toPlainText(pageIndex) { this.ensureOpen(); return native.toPlainText(this._handle, pageIndex); }
|
|
173
|
+
toMarkdownAll() { this.ensureOpen(); return native.toMarkdownAll(this._handle); }
|
|
174
|
+
extractAllText() { this.ensureOpen(); return native.extractAllText(this._handle); }
|
|
175
|
+
toHtmlAll() { this.ensureOpen(); return native.toHtmlAll(this._handle); }
|
|
176
|
+
toPlainTextAll() { this.ensureOpen(); return native.toPlainTextAll(this._handle); }
|
|
177
|
+
getVersion() { this.ensureOpen(); return native.getVersion(this._handle); }
|
|
178
|
+
hasStructureTree() { this.ensureOpen(); return native.hasStructureTree(this._handle); }
|
|
179
|
+
hasXFA() { this.ensureOpen(); return native.hasXFA(this._handle); }
|
|
180
|
+
getPageWidth(pageIndex) { this.ensureOpen(); return native.getPageWidth(this._handle, pageIndex); }
|
|
181
|
+
getPageHeight(pageIndex) { this.ensureOpen(); return native.getPageHeight(this._handle, pageIndex); }
|
|
182
|
+
getPageRotation(pageIndex) { this.ensureOpen(); return native.getPageRotation(this._handle, pageIndex); }
|
|
183
|
+
searchPage(pageIndex, query, caseSensitive = false) {
|
|
184
|
+
this.ensureOpen();
|
|
185
|
+
return native.searchPage(this._handle, pageIndex, query, caseSensitive);
|
|
186
|
+
}
|
|
187
|
+
searchAll(query, caseSensitive = false) {
|
|
188
|
+
this.ensureOpen();
|
|
189
|
+
return native.searchAll(this._handle, query, caseSensitive);
|
|
190
|
+
}
|
|
191
|
+
getFormFields() { this.ensureOpen(); return native.getFormFields(this._handle); }
|
|
192
|
+
getOutline() { this.ensureOpen(); return native.getOutline(this._handle); }
|
|
193
|
+
getPageAnnotations(pageIndex) { this.ensureOpen(); return native.getPageAnnotations(this._handle, pageIndex); }
|
|
194
|
+
getEmbeddedFonts(pageIndex) { this.ensureOpen(); return native.getEmbeddedFonts(this._handle, pageIndex); }
|
|
195
|
+
getEmbeddedImages(pageIndex) { this.ensureOpen(); return native.getEmbeddedImages(this._handle, pageIndex); }
|
|
196
|
+
close() {
|
|
197
|
+
if (!this._closed && this._handle) {
|
|
198
|
+
native.closeDocument(this._handle);
|
|
199
|
+
this._closed = true;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
[Symbol.dispose]() { this.close(); }
|
|
203
|
+
}
|
|
204
|
+
class PdfImpl {
|
|
205
|
+
constructor(handle) {
|
|
206
|
+
this._closed = false;
|
|
207
|
+
if (!handle)
|
|
208
|
+
throw new Error('Failed to create PDF');
|
|
209
|
+
this._handle = handle;
|
|
210
|
+
}
|
|
211
|
+
static fromMarkdown(markdown) {
|
|
212
|
+
return new PdfImpl(native.pdfFromMarkdown(markdown));
|
|
213
|
+
}
|
|
214
|
+
static fromHtml(html) {
|
|
215
|
+
return new PdfImpl(native.pdfFromHtml(html));
|
|
216
|
+
}
|
|
217
|
+
static fromText(text) {
|
|
218
|
+
return new PdfImpl(native.pdfFromText(text));
|
|
219
|
+
}
|
|
220
|
+
static fromImage(path) {
|
|
221
|
+
return new PdfImpl(native.pdfFromImage(path));
|
|
222
|
+
}
|
|
223
|
+
static fromImageBytes(data) {
|
|
224
|
+
return new PdfImpl(native.pdfFromImageBytes(data));
|
|
225
|
+
}
|
|
226
|
+
ensureOpen() {
|
|
227
|
+
if (this._closed)
|
|
228
|
+
throw new Error('PDF handle is closed');
|
|
229
|
+
}
|
|
230
|
+
save(path) { this.ensureOpen(); native.pdfSave(this._handle, path); }
|
|
231
|
+
saveToBytes() { this.ensureOpen(); return native.pdfSaveToBytes(this._handle); }
|
|
232
|
+
pageCount() { this.ensureOpen(); return native.pdfGetPageCount(this._handle); }
|
|
233
|
+
close() {
|
|
234
|
+
if (!this._closed && this._handle) {
|
|
235
|
+
native.pdfFree(this._handle);
|
|
236
|
+
this._closed = true;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
[Symbol.dispose]() { this.close(); }
|
|
240
|
+
}
|
|
241
|
+
// Export as ES module
|
|
242
|
+
const getVersion = native.getVersion;
|
|
243
|
+
const getPdfOxideVersion = native.getPdfOxideVersion;
|
|
244
|
+
const PdfDocument = PdfDocumentImpl;
|
|
245
|
+
const Pdf = PdfImpl;
|
|
246
|
+
const PdfError = PdfException;
|
|
247
|
+
const PageSize = native.PageSize;
|
|
248
|
+
const Rect = native.Rect;
|
|
249
|
+
const Point = native.Point;
|
|
250
|
+
const Color = native.Color;
|
|
251
|
+
const ConversionOptions = native.ConversionOptions;
|
|
252
|
+
const SearchOptions = native.SearchOptions;
|
|
253
|
+
const SearchResult = native.SearchResult;
|
|
254
|
+
const TextSearcher = native.TextSearcher;
|
|
255
|
+
export {
|
|
256
|
+
// Version info
|
|
257
|
+
getVersion, getPdfOxideVersion,
|
|
258
|
+
// Main classes
|
|
259
|
+
PdfDocument, Pdf,
|
|
260
|
+
// Error types
|
|
261
|
+
PdfError, PdfException, ParseException, IoException, EncryptionException, UnsupportedFeatureException, InvalidStateException, ValidationException, RenderingException, SearchException, ComplianceException, OcrException, SignatureException, CertificateLoadFailed, SigningFailed, RedactionException, AccessibilityException, OptimizationException, UnknownError,
|
|
262
|
+
// Types
|
|
263
|
+
PageSize, Rect, Point, Color, ConversionOptions, SearchOptions, SearchResult,
|
|
264
|
+
// Utilities
|
|
265
|
+
TextSearcher,
|
|
266
|
+
// Error utilities
|
|
267
|
+
ErrorCategory, ErrorSeverity, wrapError, wrapMethod, wrapAsyncMethod, mapFfiErrorCode,
|
|
268
|
+
// Builders
|
|
269
|
+
PdfBuilder, ConversionOptionsBuilder, MetadataBuilder, AnnotationBuilder, SearchOptionsBuilder,
|
|
270
|
+
// Managers (Phase 1-3: Core)
|
|
271
|
+
OutlineManager, MetadataManager, ExtractionManager, SearchManager, SecurityManager, AnnotationManager, LayerManager, RenderingManager,
|
|
272
|
+
// Managers (Phase 4+, consolidated in Phase 9)
|
|
273
|
+
OcrManager, OCRManager, OCRLanguage, OCRDetectionMode, ComplianceManager, PdfALevel, PdfXLevel, PdfUALevel, ComplianceIssueType, IssueSeverity, SignatureManager, SignatureAlgorithm, DigestAlgorithm, BarcodeManager, BarcodeFormat, BarcodeErrorCorrection, FormFieldManager, FormFieldType, FieldVisibility, ResultAccessorsManager, SearchResultProperties, FontProperties, ImageProperties, AnnotationProperties, ThumbnailManager, ThumbnailSize, ImageFormat, HybridMLManager, PageComplexity, ContentType, XfaManager, XfaFormType, XfaFieldType, CacheManager, EditingManager, AccessibilityManager, OptimizationManager, EnterpriseManager,
|
|
274
|
+
// Phase 2.4: Stream API
|
|
275
|
+
SearchStream, ExtractionStream, MetadataStream, createSearchStream, createExtractionStream, createMetadataStream,
|
|
276
|
+
// Phase 2.5: Batch Processing API
|
|
277
|
+
BatchManager,
|
|
278
|
+
// Worker Threads API
|
|
279
|
+
WorkerPool, workerPool, };
|
|
280
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GAMb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGzD,+CAA+C;AAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,EACJ,UAAU,EACV,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,GAAG,OAAO,CAAC,0BAA0B,CAAQ,CAAC;AAC/C,oDAAoD;AACpD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,gCAAgC,CAAQ,CAAC;AAEtF;;;;GAIG;AACH,MAAM,SAAS,GAA2C;IACxD,QAAQ,EAAE;QACR,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EAAE,0CAA0C;KACpD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,uCAAuC;QAC9C,OAAO,EAAE,yCAAyC;KACnD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,uCAAuC;KAC/C;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,0BAA0B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,QAAQ,QAAQ,8BAA8B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpI,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,IAAI,YAAiB,CAAC;AAEtB;;;;;GAKG;AACH,SAAS,gBAAgB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,uCAAuC;YACvC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mDAAmD;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC;oBACH,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,WAAgB,EAAE,eAAyB,EAAE;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,WAAW,CAAC;IAErC,6CAA6C;IAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;YACxG,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,IAAI,GAAG,KAAK,aAAa,IAAI,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/E,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACtC,IAAI,OAAO,EAAE,CAAC;wBACZ,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,2DAA2D;AAC3D,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,2CAA2C;AAC3C,8EAA8E;AAE9E,MAAM,eAAe;IAInB,YAAY,MAAW;QAFf,YAAO,GAAG,KAAK,CAAC;QAGtB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAA2B;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,QAAgB;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,KAAU,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1C,SAAS,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,YAAY,KAAa,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnD,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEpD,WAAW,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACjH,UAAU,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACvG,WAAW,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACjH,aAAa,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzF,cAAc,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3F,SAAS,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjF,cAAc,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3F,UAAU,KAAuC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7G,gBAAgB,KAAc,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,KAAc,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5E,YAAY,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnH,aAAa,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrH,eAAe,CAAC,SAAiB,IAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzH,UAAU,CAAC,SAAiB,EAAE,KAAa,EAAE,aAAa,GAAG,KAAK;QAChE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,aAAa,GAAG,KAAK;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,aAAa,KAAU,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtF,UAAU,KAAU,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF,kBAAkB,CAAC,SAAiB,IAAS,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5H,gBAAgB,CAAC,SAAiB,IAAS,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxH,iBAAiB,CAAC,SAAiB,IAAS,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAE1H,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC,KAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,OAAO;IAIX,YAAY,MAAW;QAFf,YAAO,GAAG,KAAK,CAAC;QAGtB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAyB;QAC7C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,IAAY,IAAU,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,WAAW,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,SAAS,KAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvF,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC,KAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC3C;AAED,sBAAsB;AACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACrD,MAAM,WAAW,GAAG,eAAsB,CAAC;AAC3C,MAAM,GAAG,GAAG,OAAc,CAAC;AAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC;AAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACzC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAEzC,OAAO;AACL,eAAe;AACf,UAAU,EACV,kBAAkB;AAElB,eAAe;AACf,WAAW,EACX,GAAG;AAEH,cAAc;AACd,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY;AAEZ,QAAQ;AACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY;AAEZ,YAAY;AACZ,YAAY;AAEZ,kBAAkB;AAClB,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,eAAe;AAEf,WAAW;AACX,UAAU,EACV,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,oBAAoB;AAEpB,6BAA6B;AAC7B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB;AAEhB,+CAA+C;AAC/C,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB;AAEjB,wBAAwB;AACxB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB;AAEpB,kCAAkC;AAClC,YAAY;AAEZ,qBAAqB;AACrB,UAAU,EACV,UAAU,GACX,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AccessibilityManager - PDF Accessibility Operations
|
|
3
|
+
*
|
|
4
|
+
* Provides accessibility analysis and remediation capabilities including:
|
|
5
|
+
* - Tagged PDF detection
|
|
6
|
+
* - Structure tree extraction
|
|
7
|
+
* - Auto-tagging
|
|
8
|
+
* - Alt text management
|
|
9
|
+
* - Language and title metadata
|
|
10
|
+
*
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
import { EventEmitter } from 'events';
|
|
14
|
+
/**
|
|
15
|
+
* Represents a structure element in a tagged PDF.
|
|
16
|
+
*/
|
|
17
|
+
export interface StructureElement {
|
|
18
|
+
/** Structure element type (e.g., 'P', 'H1', 'Figure', 'Table') */
|
|
19
|
+
readonly type: string;
|
|
20
|
+
/** Alt text for the element, if set */
|
|
21
|
+
readonly altText?: string;
|
|
22
|
+
/** Actual text content of the element */
|
|
23
|
+
readonly actualText?: string;
|
|
24
|
+
/** Language of the element */
|
|
25
|
+
readonly language?: string;
|
|
26
|
+
/** Page index where this element appears */
|
|
27
|
+
readonly pageIndex: number;
|
|
28
|
+
/** Marked content identifier */
|
|
29
|
+
readonly mcid: number;
|
|
30
|
+
/** Child elements */
|
|
31
|
+
readonly children: readonly StructureElement[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Represents the full structure tree of a tagged PDF.
|
|
35
|
+
*/
|
|
36
|
+
export interface StructureTree {
|
|
37
|
+
/** Whether the document is tagged */
|
|
38
|
+
readonly isTagged: boolean;
|
|
39
|
+
/** Root-level structure elements */
|
|
40
|
+
readonly elements: readonly StructureElement[];
|
|
41
|
+
/** Total element count across all levels */
|
|
42
|
+
readonly totalElements: number;
|
|
43
|
+
/** Document language from the structure tree root */
|
|
44
|
+
readonly language?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Result of an auto-tag operation.
|
|
48
|
+
*/
|
|
49
|
+
export interface AutoTagResult {
|
|
50
|
+
/** Whether auto-tagging succeeded */
|
|
51
|
+
readonly success: boolean;
|
|
52
|
+
/** Number of elements tagged */
|
|
53
|
+
readonly elementsTagged: number;
|
|
54
|
+
/** Number of images found */
|
|
55
|
+
readonly imagesFound: number;
|
|
56
|
+
/** Number of headings detected */
|
|
57
|
+
readonly headingsDetected: number;
|
|
58
|
+
/** Warnings generated during tagging */
|
|
59
|
+
readonly warnings: readonly string[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Manager for PDF accessibility operations.
|
|
63
|
+
*
|
|
64
|
+
* Provides methods for inspecting and improving the accessibility of
|
|
65
|
+
* PDF documents, including tagged PDF detection, structure tree analysis,
|
|
66
|
+
* auto-tagging, and alt text management.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const accessibility = new AccessibilityManager(document);
|
|
71
|
+
*
|
|
72
|
+
* // Check if document is tagged
|
|
73
|
+
* const tagged = await accessibility.isTagged();
|
|
74
|
+
*
|
|
75
|
+
* // Auto-tag an untagged document
|
|
76
|
+
* if (!tagged) {
|
|
77
|
+
* const result = await accessibility.autoTag('en');
|
|
78
|
+
* console.log(`Tagged ${result.elementsTagged} elements`);
|
|
79
|
+
* }
|
|
80
|
+
*
|
|
81
|
+
* // Set alt text on images
|
|
82
|
+
* await accessibility.setAltText(0, 1, 'Company logo');
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare class AccessibilityManager extends EventEmitter {
|
|
86
|
+
private document;
|
|
87
|
+
private native;
|
|
88
|
+
constructor(document: any);
|
|
89
|
+
/**
|
|
90
|
+
* Checks whether the PDF document is tagged.
|
|
91
|
+
*
|
|
92
|
+
* A tagged PDF contains a structure tree that defines the logical
|
|
93
|
+
* reading order and semantic structure of the content.
|
|
94
|
+
*
|
|
95
|
+
* @returns True if the document is tagged
|
|
96
|
+
* @throws AccessibilityException if the check fails
|
|
97
|
+
*/
|
|
98
|
+
isTagged(): Promise<boolean>;
|
|
99
|
+
/**
|
|
100
|
+
* Gets the full structure tree of the document.
|
|
101
|
+
*
|
|
102
|
+
* Returns the hierarchical structure tree that defines the logical
|
|
103
|
+
* organization and reading order of the document content.
|
|
104
|
+
*
|
|
105
|
+
* @returns The document structure tree
|
|
106
|
+
* @throws AccessibilityException if the extraction fails
|
|
107
|
+
*/
|
|
108
|
+
getStructureTree(): Promise<StructureTree>;
|
|
109
|
+
/**
|
|
110
|
+
* Automatically tags an untagged PDF document.
|
|
111
|
+
*
|
|
112
|
+
* Uses heuristic analysis to detect document structure and apply
|
|
113
|
+
* appropriate tags for headings, paragraphs, images, tables, and lists.
|
|
114
|
+
*
|
|
115
|
+
* @param language - Optional BCP-47 language tag (e.g., 'en', 'fr', 'de')
|
|
116
|
+
* @returns Result of the auto-tagging operation
|
|
117
|
+
* @throws AccessibilityException if auto-tagging fails
|
|
118
|
+
*/
|
|
119
|
+
autoTag(language?: string): Promise<AutoTagResult>;
|
|
120
|
+
/**
|
|
121
|
+
* Sets alt text for a structure element identified by page and MCID.
|
|
122
|
+
*
|
|
123
|
+
* @param page - Zero-based page index
|
|
124
|
+
* @param mcid - Marked content identifier of the element
|
|
125
|
+
* @param text - Alt text to set
|
|
126
|
+
* @throws AccessibilityException if the operation fails
|
|
127
|
+
*/
|
|
128
|
+
setAltText(page: number, mcid: number, text: string): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Sets the document language.
|
|
131
|
+
*
|
|
132
|
+
* @param lang - BCP-47 language tag (e.g., 'en', 'en-US', 'fr')
|
|
133
|
+
* @throws AccessibilityException if the operation fails
|
|
134
|
+
*/
|
|
135
|
+
setLanguage(lang: string): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Sets the document title for accessibility.
|
|
138
|
+
*
|
|
139
|
+
* @param title - Document title
|
|
140
|
+
* @throws AccessibilityException if the operation fails
|
|
141
|
+
*/
|
|
142
|
+
setTitle(title: string): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Releases resources held by this manager.
|
|
145
|
+
*/
|
|
146
|
+
destroy(): void;
|
|
147
|
+
}
|
|
148
|
+
export default AccessibilityManager;
|
|
149
|
+
//# sourceMappingURL=accessibility-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibility-manager.d.ts","sourceRoot":"","sources":["../../src/managers/accessibility-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,4CAA4C;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,MAAM,CAAM;gBAER,QAAQ,EAAE,GAAG;IAiBzB;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBlC;;;;;;;;OAQG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAsChD;;;;;;;;;OASG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCxD;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzE;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9C;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5C;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED,eAAe,oBAAoB,CAAC"}
|