pdf-oxide 0.3.24 → 0.3.29

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 (271) hide show
  1. package/lib/builders/annotation-builder.d.ts +199 -0
  2. package/lib/builders/annotation-builder.d.ts.map +1 -0
  3. package/lib/builders/annotation-builder.js +318 -0
  4. package/lib/builders/annotation-builder.js.map +1 -0
  5. package/lib/builders/conversion-options-builder.d.ts +107 -0
  6. package/lib/builders/conversion-options-builder.d.ts.map +1 -0
  7. package/lib/builders/conversion-options-builder.js +215 -0
  8. package/lib/builders/conversion-options-builder.js.map +1 -0
  9. package/{src/builders/index.ts → lib/builders/index.d.ts} +1 -1
  10. package/lib/builders/index.d.ts.map +1 -0
  11. package/lib/builders/index.js +12 -0
  12. package/lib/builders/index.js.map +1 -0
  13. package/lib/builders/metadata-builder.d.ts +202 -0
  14. package/lib/builders/metadata-builder.d.ts.map +1 -0
  15. package/lib/builders/metadata-builder.js +286 -0
  16. package/lib/builders/metadata-builder.js.map +1 -0
  17. package/lib/builders/pdf-builder.d.ts +215 -0
  18. package/lib/builders/pdf-builder.d.ts.map +1 -0
  19. package/lib/builders/pdf-builder.js +339 -0
  20. package/lib/builders/pdf-builder.js.map +1 -0
  21. package/lib/builders/search-options-builder.d.ts +74 -0
  22. package/lib/builders/search-options-builder.d.ts.map +1 -0
  23. package/lib/builders/search-options-builder.js +130 -0
  24. package/lib/builders/search-options-builder.js.map +1 -0
  25. package/lib/document-editor-manager.d.ts +140 -0
  26. package/lib/document-editor-manager.d.ts.map +1 -0
  27. package/lib/document-editor-manager.js +257 -0
  28. package/lib/document-editor-manager.js.map +1 -0
  29. package/lib/errors.d.ts +383 -0
  30. package/lib/errors.d.ts.map +1 -0
  31. package/lib/errors.js +1117 -0
  32. package/lib/errors.js.map +1 -0
  33. package/lib/form-field-manager.d.ts +300 -0
  34. package/lib/form-field-manager.d.ts.map +1 -0
  35. package/lib/form-field-manager.js +567 -0
  36. package/lib/form-field-manager.js.map +1 -0
  37. package/lib/hybrid-ml-manager.d.ts +143 -0
  38. package/lib/hybrid-ml-manager.d.ts.map +1 -0
  39. package/lib/hybrid-ml-manager.js +209 -0
  40. package/lib/hybrid-ml-manager.js.map +1 -0
  41. package/lib/index.d.ts +23 -0
  42. package/lib/index.d.ts.map +1 -0
  43. package/lib/index.js +280 -0
  44. package/lib/index.js.map +1 -0
  45. package/lib/managers/accessibility-manager.d.ts +149 -0
  46. package/lib/managers/accessibility-manager.d.ts.map +1 -0
  47. package/lib/managers/accessibility-manager.js +224 -0
  48. package/lib/managers/accessibility-manager.js.map +1 -0
  49. package/lib/managers/annotation-manager.d.ts +220 -0
  50. package/lib/managers/annotation-manager.d.ts.map +1 -0
  51. package/lib/managers/annotation-manager.js +360 -0
  52. package/lib/managers/annotation-manager.js.map +1 -0
  53. package/lib/managers/barcode-manager.d.ts +80 -0
  54. package/lib/managers/barcode-manager.d.ts.map +1 -0
  55. package/lib/managers/barcode-manager.js +226 -0
  56. package/lib/managers/barcode-manager.js.map +1 -0
  57. package/lib/managers/batch-manager.d.ts +186 -0
  58. package/lib/managers/batch-manager.d.ts.map +1 -0
  59. package/lib/managers/batch-manager.js +389 -0
  60. package/lib/managers/batch-manager.js.map +1 -0
  61. package/lib/managers/cache-manager.d.ts +182 -0
  62. package/lib/managers/cache-manager.d.ts.map +1 -0
  63. package/lib/managers/cache-manager.js +387 -0
  64. package/lib/managers/cache-manager.js.map +1 -0
  65. package/lib/managers/compliance-manager.d.ts +104 -0
  66. package/lib/managers/compliance-manager.d.ts.map +1 -0
  67. package/lib/managers/compliance-manager.js +415 -0
  68. package/lib/managers/compliance-manager.js.map +1 -0
  69. package/lib/managers/content-manager.d.ts +121 -0
  70. package/lib/managers/content-manager.d.ts.map +1 -0
  71. package/lib/managers/content-manager.js +295 -0
  72. package/lib/managers/content-manager.js.map +1 -0
  73. package/lib/managers/document-utility-manager.d.ts +370 -0
  74. package/lib/managers/document-utility-manager.d.ts.map +1 -0
  75. package/lib/managers/document-utility-manager.js +731 -0
  76. package/lib/managers/document-utility-manager.js.map +1 -0
  77. package/lib/managers/dom-pdf-creator.d.ts +105 -0
  78. package/lib/managers/dom-pdf-creator.d.ts.map +1 -0
  79. package/lib/managers/dom-pdf-creator.js +300 -0
  80. package/lib/managers/dom-pdf-creator.js.map +1 -0
  81. package/lib/managers/editing-manager.d.ts +249 -0
  82. package/lib/managers/editing-manager.d.ts.map +1 -0
  83. package/lib/managers/editing-manager.js +388 -0
  84. package/lib/managers/editing-manager.js.map +1 -0
  85. package/lib/managers/enterprise-manager.d.ts +193 -0
  86. package/lib/managers/enterprise-manager.d.ts.map +1 -0
  87. package/lib/managers/enterprise-manager.js +305 -0
  88. package/lib/managers/enterprise-manager.js.map +1 -0
  89. package/lib/managers/extended-managers.d.ts +123 -0
  90. package/lib/managers/extended-managers.d.ts.map +1 -0
  91. package/lib/managers/extended-managers.js +658 -0
  92. package/lib/managers/extended-managers.js.map +1 -0
  93. package/lib/managers/extraction-manager.d.ts +247 -0
  94. package/lib/managers/extraction-manager.d.ts.map +1 -0
  95. package/lib/managers/extraction-manager.js +478 -0
  96. package/lib/managers/extraction-manager.js.map +1 -0
  97. package/lib/managers/final-utilities.d.ts +128 -0
  98. package/lib/managers/final-utilities.d.ts.map +1 -0
  99. package/lib/managers/final-utilities.js +653 -0
  100. package/lib/managers/final-utilities.js.map +1 -0
  101. package/lib/managers/hybrid-ml-advanced.d.ts +137 -0
  102. package/lib/managers/hybrid-ml-advanced.d.ts.map +1 -0
  103. package/lib/managers/hybrid-ml-advanced.js +707 -0
  104. package/lib/managers/hybrid-ml-advanced.js.map +1 -0
  105. package/lib/managers/index.d.ts +65 -0
  106. package/lib/managers/index.d.ts.map +1 -0
  107. package/lib/managers/index.js +70 -0
  108. package/lib/managers/index.js.map +1 -0
  109. package/lib/managers/layer-manager.d.ts +204 -0
  110. package/lib/managers/layer-manager.d.ts.map +1 -0
  111. package/lib/managers/layer-manager.js +403 -0
  112. package/lib/managers/layer-manager.js.map +1 -0
  113. package/lib/managers/metadata-manager.d.ts +149 -0
  114. package/lib/managers/metadata-manager.d.ts.map +1 -0
  115. package/lib/managers/metadata-manager.js +281 -0
  116. package/lib/managers/metadata-manager.js.map +1 -0
  117. package/lib/managers/ocr-manager.d.ts +195 -0
  118. package/lib/managers/ocr-manager.d.ts.map +1 -0
  119. package/lib/managers/ocr-manager.js +583 -0
  120. package/lib/managers/ocr-manager.js.map +1 -0
  121. package/lib/managers/optimization-manager.d.ts +103 -0
  122. package/lib/managers/optimization-manager.d.ts.map +1 -0
  123. package/lib/managers/optimization-manager.js +194 -0
  124. package/lib/managers/optimization-manager.js.map +1 -0
  125. package/lib/managers/outline-manager.d.ts +102 -0
  126. package/lib/managers/outline-manager.d.ts.map +1 -0
  127. package/lib/managers/outline-manager.js +170 -0
  128. package/lib/managers/outline-manager.js.map +1 -0
  129. package/lib/managers/page-manager.d.ts +143 -0
  130. package/lib/managers/page-manager.d.ts.map +1 -0
  131. package/lib/managers/page-manager.js +237 -0
  132. package/lib/managers/page-manager.js.map +1 -0
  133. package/lib/managers/pattern-detection.d.ts +170 -0
  134. package/lib/managers/pattern-detection.d.ts.map +1 -0
  135. package/lib/managers/pattern-detection.js +325 -0
  136. package/lib/managers/pattern-detection.js.map +1 -0
  137. package/lib/managers/rendering-manager.d.ts +354 -0
  138. package/lib/managers/rendering-manager.d.ts.map +1 -0
  139. package/lib/managers/rendering-manager.js +680 -0
  140. package/lib/managers/rendering-manager.js.map +1 -0
  141. package/lib/managers/search-manager.d.ts +236 -0
  142. package/lib/managers/search-manager.d.ts.map +1 -0
  143. package/lib/managers/search-manager.js +330 -0
  144. package/lib/managers/search-manager.js.map +1 -0
  145. package/lib/managers/security-manager.d.ts +162 -0
  146. package/lib/managers/security-manager.d.ts.map +1 -0
  147. package/lib/managers/security-manager.js +293 -0
  148. package/lib/managers/security-manager.js.map +1 -0
  149. package/lib/managers/signature-manager.d.ts +725 -0
  150. package/lib/managers/signature-manager.d.ts.map +1 -0
  151. package/lib/managers/signature-manager.js +1365 -0
  152. package/lib/managers/signature-manager.js.map +1 -0
  153. package/lib/managers/streams.d.ts +263 -0
  154. package/lib/managers/streams.d.ts.map +1 -0
  155. package/lib/managers/streams.js +472 -0
  156. package/lib/managers/streams.js.map +1 -0
  157. package/lib/managers/xfa-manager.d.ts +228 -0
  158. package/lib/managers/xfa-manager.d.ts.map +1 -0
  159. package/lib/managers/xfa-manager.js +490 -0
  160. package/lib/managers/xfa-manager.js.map +1 -0
  161. package/lib/pdf-creator-manager.d.ts +201 -0
  162. package/lib/pdf-creator-manager.d.ts.map +1 -0
  163. package/lib/pdf-creator-manager.js +379 -0
  164. package/lib/pdf-creator-manager.js.map +1 -0
  165. package/lib/properties.d.ts +80 -0
  166. package/lib/properties.d.ts.map +1 -0
  167. package/lib/properties.js +455 -0
  168. package/lib/properties.js.map +1 -0
  169. package/lib/result-accessors-manager.d.ts +347 -0
  170. package/lib/result-accessors-manager.d.ts.map +1 -0
  171. package/lib/result-accessors-manager.js +705 -0
  172. package/lib/result-accessors-manager.js.map +1 -0
  173. package/lib/thumbnail-manager.d.ts +122 -0
  174. package/lib/thumbnail-manager.d.ts.map +1 -0
  175. package/lib/thumbnail-manager.js +206 -0
  176. package/lib/thumbnail-manager.js.map +1 -0
  177. package/lib/types/common.d.ts +93 -0
  178. package/lib/types/common.d.ts.map +1 -0
  179. package/lib/types/common.js +5 -0
  180. package/lib/types/common.js.map +1 -0
  181. package/lib/types/document-types.d.ts +353 -0
  182. package/lib/types/document-types.d.ts.map +1 -0
  183. package/lib/types/document-types.js +83 -0
  184. package/lib/types/document-types.js.map +1 -0
  185. package/{src/types/index.ts → lib/types/index.d.ts} +1 -1
  186. package/lib/types/index.d.ts.map +1 -0
  187. package/lib/types/index.js +6 -0
  188. package/lib/types/index.js.map +1 -0
  189. package/lib/types/manager-types.d.ts +180 -0
  190. package/lib/types/manager-types.d.ts.map +1 -0
  191. package/lib/types/manager-types.js +99 -0
  192. package/lib/types/manager-types.js.map +1 -0
  193. package/lib/types/native-bindings.d.ts +440 -0
  194. package/lib/types/native-bindings.d.ts.map +1 -0
  195. package/lib/types/native-bindings.js +8 -0
  196. package/lib/types/native-bindings.js.map +1 -0
  197. package/{src/workers/index.ts → lib/workers/index.d.ts} +1 -1
  198. package/lib/workers/index.d.ts.map +1 -0
  199. package/lib/workers/index.js +6 -0
  200. package/lib/workers/index.js.map +1 -0
  201. package/lib/workers/pool.d.ts +65 -0
  202. package/lib/workers/pool.d.ts.map +1 -0
  203. package/lib/workers/pool.js +195 -0
  204. package/lib/workers/pool.js.map +1 -0
  205. package/lib/workers/worker.d.ts +6 -0
  206. package/lib/workers/worker.d.ts.map +1 -0
  207. package/lib/workers/worker.js +100 -0
  208. package/lib/workers/worker.js.map +1 -0
  209. package/package.json +12 -22
  210. package/prebuilds/darwin-arm64/pdf_oxide.node +0 -0
  211. package/prebuilds/darwin-x64/pdf_oxide.node +0 -0
  212. package/prebuilds/linux-arm64/pdf_oxide.node +0 -0
  213. package/prebuilds/linux-x64/pdf_oxide.node +0 -0
  214. package/prebuilds/win32-x64/pdf_oxide.node +0 -0
  215. package/binding.gyp +0 -35
  216. package/src/builders/annotation-builder.ts +0 -367
  217. package/src/builders/conversion-options-builder.ts +0 -257
  218. package/src/builders/metadata-builder.ts +0 -317
  219. package/src/builders/pdf-builder.ts +0 -386
  220. package/src/builders/search-options-builder.ts +0 -151
  221. package/src/document-editor-manager.ts +0 -318
  222. package/src/errors.ts +0 -1629
  223. package/src/form-field-manager.ts +0 -666
  224. package/src/hybrid-ml-manager.ts +0 -283
  225. package/src/index.ts +0 -453
  226. package/src/managers/accessibility-manager.ts +0 -338
  227. package/src/managers/annotation-manager.ts +0 -439
  228. package/src/managers/barcode-manager.ts +0 -235
  229. package/src/managers/batch-manager.ts +0 -533
  230. package/src/managers/cache-manager.ts +0 -486
  231. package/src/managers/compliance-manager.ts +0 -375
  232. package/src/managers/content-manager.ts +0 -339
  233. package/src/managers/document-utility-manager.ts +0 -922
  234. package/src/managers/dom-pdf-creator.ts +0 -365
  235. package/src/managers/editing-manager.ts +0 -514
  236. package/src/managers/enterprise-manager.ts +0 -478
  237. package/src/managers/extended-managers.ts +0 -437
  238. package/src/managers/extraction-manager.ts +0 -583
  239. package/src/managers/final-utilities.ts +0 -429
  240. package/src/managers/hybrid-ml-advanced.ts +0 -479
  241. package/src/managers/index.ts +0 -239
  242. package/src/managers/layer-manager.ts +0 -500
  243. package/src/managers/metadata-manager.ts +0 -303
  244. package/src/managers/ocr-manager.ts +0 -756
  245. package/src/managers/optimization-manager.ts +0 -262
  246. package/src/managers/outline-manager.ts +0 -196
  247. package/src/managers/page-manager.ts +0 -289
  248. package/src/managers/pattern-detection.ts +0 -440
  249. package/src/managers/rendering-manager.ts +0 -863
  250. package/src/managers/search-manager.ts +0 -385
  251. package/src/managers/security-manager.ts +0 -345
  252. package/src/managers/signature-manager.ts +0 -1664
  253. package/src/managers/streams.ts +0 -618
  254. package/src/managers/xfa-manager.ts +0 -500
  255. package/src/pdf-creator-manager.ts +0 -494
  256. package/src/properties.ts +0 -522
  257. package/src/result-accessors-manager.ts +0 -867
  258. package/src/tests/advanced-features.test.ts +0 -414
  259. package/src/tests/advanced.test.ts +0 -266
  260. package/src/tests/extended-managers.test.ts +0 -316
  261. package/src/tests/final-utilities.test.ts +0 -455
  262. package/src/tests/foundation.test.ts +0 -315
  263. package/src/tests/high-demand.test.ts +0 -257
  264. package/src/tests/specialized.test.ts +0 -97
  265. package/src/thumbnail-manager.ts +0 -272
  266. package/src/types/common.ts +0 -142
  267. package/src/types/document-types.ts +0 -457
  268. package/src/types/manager-types.ts +0 -284
  269. package/src/types/native-bindings.ts +0 -517
  270. package/src/workers/pool.ts +0 -274
  271. package/src/workers/worker.ts +0 -131
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Unified Error Handling for PDF Oxide
3
+ *
4
+ * Provides comprehensive exception hierarchy consistent across all language bindings.
5
+ * Uses 4-digit error codes organized by category (1000-9999).
6
+ *
7
+ * Error Code System:
8
+ * - 1000-1999: Parse errors
9
+ * - 2000-2999: I/O errors
10
+ * - 3000-3999: Encryption errors
11
+ * - 4000-4999: State errors
12
+ * - 5000-5999: Unsupported feature errors
13
+ * - 6000-6999: Validation errors
14
+ * - 7000-7999: Rendering errors
15
+ * - 8000-8999: Search errors
16
+ * - 9000-9999: Other errors (compliance, OCR, etc.)
17
+ */
18
+ import type { PdfErrorDetails } from './types/common';
19
+ /**
20
+ * Error categories for classification and handling
21
+ */
22
+ export declare enum ErrorCategory {
23
+ VALIDATION = "validation",
24
+ IO = "io",
25
+ ENCRYPTION = "encryption",
26
+ PARSING = "parsing",
27
+ RENDERING = "rendering",
28
+ SEARCH = "search",
29
+ PERMISSION = "permission",
30
+ RESOURCE = "resource",
31
+ STATE = "state",
32
+ UNSUPPORTED = "unsupported",
33
+ COMPLIANCE = "compliance",
34
+ OCR = "ocr",
35
+ SIGNATURE = "signature",
36
+ REDACTION = "redaction",
37
+ UNKNOWN = "unknown"
38
+ }
39
+ /**
40
+ * Error severity levels for prioritization and monitoring
41
+ */
42
+ export declare enum ErrorSeverity {
43
+ LOW = "low",
44
+ MEDIUM = "medium",
45
+ HIGH = "high",
46
+ CRITICAL = "critical"
47
+ }
48
+ /**
49
+ * Recovery information for error handling
50
+ */
51
+ export interface ErrorRecovery {
52
+ canRetry: boolean;
53
+ retryAfterMs?: number;
54
+ suggestions: string[];
55
+ alternativeApproach?: string;
56
+ }
57
+ /**
58
+ * Base class for all PDF Oxide errors.
59
+ *
60
+ * @class PdfException
61
+ * @extends {Error}
62
+ * @property {string} code - 4-digit error code (XXXX format)
63
+ * @property {string} message - Human-readable error message
64
+ * @property {PdfErrorDetails} details - Additional context information
65
+ *
66
+ * @example
67
+ * try {
68
+ * // PDF operation
69
+ * } catch (err) {
70
+ * if (err instanceof PdfException) {
71
+ * console.log(`[${err.code}] ${err.message}`);
72
+ * console.log('Context:', err.details);
73
+ * }
74
+ * }
75
+ */
76
+ export declare class PdfException extends Error {
77
+ readonly code: string;
78
+ readonly message: string;
79
+ readonly details: PdfErrorDetails;
80
+ readonly category: ErrorCategory;
81
+ readonly severity: ErrorSeverity;
82
+ readonly recovery: ErrorRecovery;
83
+ /**
84
+ * Creates a new PdfException.
85
+ *
86
+ * @param code - 4-digit error code
87
+ * @param message - Human-readable error message
88
+ * @param category - Error category for classification
89
+ * @param severity - Error severity level
90
+ * @param details - Additional context information
91
+ * @param recovery - Recovery information
92
+ */
93
+ constructor(code: string, message: string, category?: ErrorCategory, severity?: ErrorSeverity, details?: PdfErrorDetails, recovery?: Partial<ErrorRecovery>);
94
+ /**
95
+ * Adds operational context to this exception for better diagnostics.
96
+ *
97
+ * @param operation - Name of the operation that failed
98
+ * @param context - Additional context key-value pairs
99
+ * @returns This exception for method chaining
100
+ *
101
+ * @example
102
+ * throw new FileNotFound('Not found')
103
+ * .withContext('openFile', { path: '/tmp/doc.pdf' });
104
+ */
105
+ withContext(operation: string, context?: Record<string, any>): this;
106
+ /**
107
+ * Get a comprehensive error message with all details
108
+ * @returns Formatted error message with context and suggestions
109
+ */
110
+ getFullMessage(): string;
111
+ /**
112
+ * Convert error to JSON for logging/monitoring
113
+ * @returns JSON representation of the error
114
+ */
115
+ toJSON(): {
116
+ name: string;
117
+ code: string;
118
+ message: string;
119
+ category: ErrorCategory;
120
+ severity: ErrorSeverity;
121
+ details: PdfErrorDetails;
122
+ recovery: ErrorRecovery;
123
+ stack: string | undefined;
124
+ };
125
+ }
126
+ export declare class ParseException extends PdfException {
127
+ constructor(message: string, details?: PdfErrorDetails);
128
+ }
129
+ export declare class InvalidStructure extends PdfException {
130
+ constructor(message: string, details?: PdfErrorDetails);
131
+ }
132
+ export declare class CorruptedData extends PdfException {
133
+ constructor(message: string, details?: PdfErrorDetails);
134
+ }
135
+ export declare class UnsupportedVersion extends PdfException {
136
+ constructor(message: string, details?: PdfErrorDetails);
137
+ }
138
+ export declare class IoException extends PdfException {
139
+ constructor(message: string, details?: PdfErrorDetails);
140
+ }
141
+ export declare class FileNotFound extends PdfException {
142
+ constructor(message: string, details?: PdfErrorDetails);
143
+ }
144
+ export declare class PermissionDenied extends PdfException {
145
+ constructor(message: string, details?: PdfErrorDetails);
146
+ }
147
+ export declare class DiskFull extends PdfException {
148
+ constructor(message: string, details?: PdfErrorDetails);
149
+ }
150
+ export declare class NetworkError extends PdfException {
151
+ constructor(message: string, details?: PdfErrorDetails);
152
+ }
153
+ export declare class EncryptionException extends PdfException {
154
+ constructor(message: string, details?: PdfErrorDetails);
155
+ }
156
+ export declare class InvalidPassword extends PdfException {
157
+ constructor(message: string, details?: PdfErrorDetails);
158
+ }
159
+ export declare class DecryptionFailed extends PdfException {
160
+ constructor(message: string, details?: PdfErrorDetails);
161
+ }
162
+ export declare class UnsupportedAlgorithm extends PdfException {
163
+ constructor(message: string, details?: PdfErrorDetails);
164
+ }
165
+ export declare class InvalidStateException extends PdfException {
166
+ constructor(message: string, details?: PdfErrorDetails);
167
+ }
168
+ export declare class DocumentClosed extends PdfException {
169
+ constructor(message: string, details?: PdfErrorDetails);
170
+ }
171
+ export declare class OperationNotAllowed extends PdfException {
172
+ constructor(message: string, details?: PdfErrorDetails);
173
+ }
174
+ export declare class InvalidOperation extends PdfException {
175
+ constructor(message: string, details?: PdfErrorDetails);
176
+ }
177
+ export declare class UnsupportedFeatureException extends PdfException {
178
+ constructor(message: string, details?: PdfErrorDetails);
179
+ }
180
+ export declare class FeatureNotImplemented extends PdfException {
181
+ constructor(message: string, details?: PdfErrorDetails);
182
+ }
183
+ export declare class FormatNotSupported extends PdfException {
184
+ constructor(message: string, details?: PdfErrorDetails);
185
+ }
186
+ export declare class EncodingNotSupported extends PdfException {
187
+ constructor(message: string, details?: PdfErrorDetails);
188
+ }
189
+ export declare class ValidationException extends PdfException {
190
+ constructor(message: string, details?: PdfErrorDetails);
191
+ }
192
+ export declare class InvalidParameter extends PdfException {
193
+ constructor(message: string, details?: PdfErrorDetails);
194
+ }
195
+ export declare class InvalidValue extends PdfException {
196
+ constructor(message: string, details?: PdfErrorDetails);
197
+ }
198
+ export declare class MissingRequired extends PdfException {
199
+ constructor(message: string, details?: PdfErrorDetails);
200
+ }
201
+ export declare class TypeMismatch extends PdfException {
202
+ constructor(message: string, details?: PdfErrorDetails);
203
+ }
204
+ export declare class RenderingException extends PdfException {
205
+ constructor(message: string, details?: PdfErrorDetails);
206
+ }
207
+ export declare class RenderFailed extends PdfException {
208
+ constructor(message: string, details?: PdfErrorDetails);
209
+ }
210
+ export declare class UnsupportedRenderFormat extends PdfException {
211
+ constructor(message: string, details?: PdfErrorDetails);
212
+ }
213
+ export declare class InsufficientMemory extends PdfException {
214
+ constructor(message: string, details?: PdfErrorDetails);
215
+ }
216
+ export declare class SearchException extends PdfException {
217
+ constructor(message: string, details?: PdfErrorDetails);
218
+ }
219
+ export declare class SearchFailed extends PdfException {
220
+ constructor(message: string, details?: PdfErrorDetails);
221
+ }
222
+ export declare class InvalidPattern extends PdfException {
223
+ constructor(message: string, details?: PdfErrorDetails);
224
+ }
225
+ export declare class IndexCorrupted extends PdfException {
226
+ constructor(message: string, details?: PdfErrorDetails);
227
+ }
228
+ export declare class SignatureException extends PdfException {
229
+ constructor(message: string, details?: PdfErrorDetails);
230
+ }
231
+ export declare class CertificateLoadFailed extends PdfException {
232
+ constructor(message: string, details?: PdfErrorDetails);
233
+ }
234
+ export declare class SigningFailed extends PdfException {
235
+ constructor(message: string, details?: PdfErrorDetails);
236
+ }
237
+ export declare class RedactionException extends PdfException {
238
+ constructor(message: string, details?: PdfErrorDetails);
239
+ }
240
+ export declare class AccessibilityException extends PdfException {
241
+ constructor(message: string, details?: PdfErrorDetails);
242
+ }
243
+ export declare class OptimizationException extends PdfException {
244
+ constructor(message: string, details?: PdfErrorDetails);
245
+ }
246
+ export declare class ComplianceException extends PdfException {
247
+ constructor(message: string, details?: PdfErrorDetails);
248
+ }
249
+ export declare class InvalidCompliance extends PdfException {
250
+ constructor(message: string, details?: PdfErrorDetails);
251
+ }
252
+ export declare class ValidationFailed extends PdfException {
253
+ constructor(message: string, details?: PdfErrorDetails);
254
+ }
255
+ export declare class OcrException extends PdfException {
256
+ constructor(message: string, details?: PdfErrorDetails);
257
+ }
258
+ export declare class RecognitionFailed extends PdfException {
259
+ constructor(message: string, details?: PdfErrorDetails);
260
+ }
261
+ export declare class LanguageNotSupported extends PdfException {
262
+ constructor(message: string, details?: PdfErrorDetails);
263
+ }
264
+ export declare class ImageProcessingFailed extends PdfException {
265
+ constructor(message: string, details?: PdfErrorDetails);
266
+ }
267
+ export declare class UnknownError extends PdfException {
268
+ constructor(message: string, details?: PdfErrorDetails);
269
+ }
270
+ export declare class InternalError extends PdfException {
271
+ constructor(message: string, details?: PdfErrorDetails);
272
+ }
273
+ /**
274
+ * Maps Rust error type names to JavaScript exception types.
275
+ */
276
+ export declare const ERROR_MAP: Record<string, new (message: string, details?: PdfErrorDetails) => PdfException>;
277
+ /**
278
+ * Maps a Rust error type to a JavaScript exception.
279
+ *
280
+ * @param rustErrorType - Rust error type name
281
+ * @param message - Error message
282
+ * @param details - Additional context
283
+ * @returns Appropriate error instance
284
+ *
285
+ * @example
286
+ * try {
287
+ * // Native call
288
+ * } catch (err) {
289
+ * const jsErr = mapError('FileNotFound', 'File does not exist', { path: '/tmp/doc.pdf' });
290
+ * throw jsErr;
291
+ * }
292
+ */
293
+ export declare function mapError(rustErrorType: string, message: string, details?: PdfErrorDetails): PdfException;
294
+ /**
295
+ * Maps a numeric FFI error code from the Rust layer to a JavaScript exception.
296
+ *
297
+ * FFI Error Codes:
298
+ * - 0: Success (no error)
299
+ * - 1: I/O error
300
+ * - 2: Parse error
301
+ * - 3: Encryption error
302
+ * - 4: Invalid state error
303
+ * - 5: Rendering unsupported
304
+ * - 6: OCR unsupported
305
+ * - 7: Invalid argument
306
+ * - 8: Signature error
307
+ * - 100: Internal/generic error
308
+ *
309
+ * @param errorCode - Numeric FFI error code from native layer
310
+ * @param message - Optional error message override
311
+ * @returns Appropriate error instance
312
+ *
313
+ * @example
314
+ * const errorCode = nativeCall();
315
+ * if (errorCode !== 0) {
316
+ * throw mapFfiErrorCode(errorCode, 'Operation failed');
317
+ * }
318
+ */
319
+ export declare function mapFfiErrorCode(errorCode: number, message?: string): PdfException;
320
+ /**
321
+ * Creates an error with optional context.
322
+ *
323
+ * @param code - 4-digit error code
324
+ * @param message - Error message
325
+ * @param options - Configuration options
326
+ * @returns Created exception
327
+ *
328
+ * @example
329
+ * const err = createError('7100', 'Rendering failed', {
330
+ * operation: 'renderPage',
331
+ * context: { page: 0, format: 'png' }
332
+ * });
333
+ */
334
+ export declare function createError(code: string, message: string, options?: {
335
+ operation?: string;
336
+ context?: Record<string, any>;
337
+ }): PdfException;
338
+ /**
339
+ * Maps native error to appropriate PDF exception.
340
+ *
341
+ * @param error - The error to wrap
342
+ * @returns Wrapped exception
343
+ *
344
+ * @example
345
+ * try {
346
+ * // Native call
347
+ * } catch (err) {
348
+ * const wrapped = wrapError(err);
349
+ * console.log(wrapped.code); // e.g., "2100"
350
+ * }
351
+ */
352
+ export declare function wrapError(error: unknown): PdfException;
353
+ /**
354
+ * Function signature for methods to be wrapped
355
+ */
356
+ type MethodFunction = (...args: any[]) => any;
357
+ type AsyncMethodFunction = (...args: any[]) => Promise<any>;
358
+ /**
359
+ * Creates a method wrapper that catches native errors and converts them.
360
+ *
361
+ * @param fn - The method to wrap
362
+ * @param thisArg - The context (this) to bind
363
+ * @returns Wrapped function with error conversion
364
+ *
365
+ * @example
366
+ * const wrapped = wrapMethod(nativeMethod, this);
367
+ * const result = wrapped(arg1, arg2); // Throws PdfException on error
368
+ */
369
+ export declare function wrapMethod<T extends MethodFunction>(fn: T, thisArg?: any): T;
370
+ /**
371
+ * Creates an async method wrapper that catches native errors.
372
+ *
373
+ * @param fn - The async method to wrap
374
+ * @param thisArg - The context (this) to bind
375
+ * @returns Wrapped async function with error conversion
376
+ *
377
+ * @example
378
+ * const wrapped = wrapAsyncMethod(nativeAsyncMethod, this);
379
+ * const result = await wrapped(arg1, arg2); // Throws PdfException on error
380
+ */
381
+ export declare function wrapAsyncMethod<T extends AsyncMethodFunction>(fn: T, thisArg?: any): T;
382
+ export {};
383
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}