@laminapdf/sdk 0.0.0-stage → 0.2.0-alpha.3

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 (478) hide show
  1. package/README.md +243 -2
  2. package/dist/api.d.ts +26 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +12 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/builder.d.ts +335 -0
  7. package/dist/builder.d.ts.map +1 -0
  8. package/dist/builder.js +574 -0
  9. package/dist/builder.js.map +1 -0
  10. package/dist/defined.d.ts +5 -0
  11. package/dist/defined.d.ts.map +1 -0
  12. package/dist/defined.js +7 -0
  13. package/dist/defined.js.map +1 -0
  14. package/dist/document.d.ts +267 -0
  15. package/dist/document.d.ts.map +1 -0
  16. package/dist/document.js +472 -0
  17. package/dist/document.js.map +1 -0
  18. package/dist/entry/node.d.ts +30 -0
  19. package/dist/entry/node.d.ts.map +1 -0
  20. package/dist/entry/node.js +37 -0
  21. package/dist/entry/node.js.map +1 -0
  22. package/dist/entry/workerd.d.ts +30 -0
  23. package/dist/entry/workerd.d.ts.map +1 -0
  24. package/dist/entry/workerd.js +37 -0
  25. package/dist/entry/workerd.js.map +1 -0
  26. package/dist/errors.d.ts +102 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +131 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/explain.d.ts +20 -0
  31. package/dist/explain.d.ts.map +1 -0
  32. package/dist/explain.js +14 -0
  33. package/dist/explain.js.map +1 -0
  34. package/dist/extract.d.ts +57 -0
  35. package/dist/extract.d.ts.map +1 -0
  36. package/dist/extract.js +5 -0
  37. package/dist/extract.js.map +1 -0
  38. package/dist/font.d.ts +73 -0
  39. package/dist/font.d.ts.map +1 -0
  40. package/dist/font.js +133 -0
  41. package/dist/font.js.map +1 -0
  42. package/dist/generated/builder-enums.d.ts +29 -0
  43. package/dist/generated/builder-enums.d.ts.map +1 -0
  44. package/dist/generated/builder-enums.js +80 -0
  45. package/dist/generated/builder-enums.js.map +1 -0
  46. package/dist/generated/codes.d.ts +109 -0
  47. package/dist/generated/codes.d.ts.map +1 -0
  48. package/dist/generated/codes.js +508 -0
  49. package/dist/generated/codes.js.map +1 -0
  50. package/dist/generated/explain.d.ts +6 -0
  51. package/dist/generated/explain.d.ts.map +1 -0
  52. package/dist/generated/explain.js +155 -0
  53. package/dist/generated/explain.js.map +1 -0
  54. package/dist/generated/extract.d.ts +235 -0
  55. package/dist/generated/extract.d.ts.map +1 -0
  56. package/dist/generated/extract.js +4 -0
  57. package/dist/generated/extract.js.map +1 -0
  58. package/dist/index.d.ts +30 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +37 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/init.d.ts +88 -0
  63. package/dist/init.d.ts.map +1 -0
  64. package/dist/init.js +139 -0
  65. package/dist/init.js.map +1 -0
  66. package/dist/internal/handle.d.ts +58 -0
  67. package/dist/internal/handle.d.ts.map +1 -0
  68. package/dist/internal/handle.js +113 -0
  69. package/dist/internal/handle.js.map +1 -0
  70. package/dist/internal/instance.d.ts +56 -0
  71. package/dist/internal/instance.d.ts.map +1 -0
  72. package/dist/internal/instance.js +125 -0
  73. package/dist/internal/instance.js.map +1 -0
  74. package/dist/loader/fetch.d.ts +3 -0
  75. package/dist/loader/fetch.d.ts.map +1 -0
  76. package/dist/loader/fetch.js +2 -0
  77. package/dist/loader/fetch.js.map +1 -0
  78. package/dist/loader/node.d.ts +3 -0
  79. package/dist/loader/node.d.ts.map +1 -0
  80. package/dist/loader/node.js +9 -0
  81. package/dist/loader/node.js.map +1 -0
  82. package/dist/loader/workerd.d.ts +3 -0
  83. package/dist/loader/workerd.d.ts.map +1 -0
  84. package/dist/loader/workerd.js +15 -0
  85. package/dist/loader/workerd.js.map +1 -0
  86. package/dist/matrix.d.ts +16 -0
  87. package/dist/matrix.d.ts.map +1 -0
  88. package/dist/matrix.js +36 -0
  89. package/dist/matrix.js.map +1 -0
  90. package/dist/path.d.ts +34 -0
  91. package/dist/path.d.ts.map +1 -0
  92. package/dist/path.js +49 -0
  93. package/dist/path.js.map +1 -0
  94. package/dist/source/http.d.ts +36 -0
  95. package/dist/source/http.d.ts.map +1 -0
  96. package/dist/source/http.js +211 -0
  97. package/dist/source/http.js.map +1 -0
  98. package/dist/source/range.d.ts +75 -0
  99. package/dist/source/range.d.ts.map +1 -0
  100. package/dist/source/range.js +100 -0
  101. package/dist/source/range.js.map +1 -0
  102. package/dist/text.d.ts +90 -0
  103. package/dist/text.d.ts.map +1 -0
  104. package/dist/text.js +127 -0
  105. package/dist/text.js.map +1 -0
  106. package/dist/transaction.d.ts +36 -0
  107. package/dist/transaction.d.ts.map +1 -0
  108. package/dist/transaction.js +47 -0
  109. package/dist/transaction.js.map +1 -0
  110. package/dist/types.d.ts +79 -0
  111. package/dist/types.d.ts.map +1 -0
  112. package/dist/types.js +2 -0
  113. package/dist/types.js.map +1 -0
  114. package/dist/version.d.ts +3 -0
  115. package/dist/version.d.ts.map +1 -0
  116. package/dist/version.js +6 -0
  117. package/dist/version.js.map +1 -0
  118. package/dist/worker/client.d.ts +88 -0
  119. package/dist/worker/client.d.ts.map +1 -0
  120. package/dist/worker/client.js +407 -0
  121. package/dist/worker/client.js.map +1 -0
  122. package/dist/worker/emitter.d.ts +12 -0
  123. package/dist/worker/emitter.d.ts.map +1 -0
  124. package/dist/worker/emitter.js +34 -0
  125. package/dist/worker/emitter.js.map +1 -0
  126. package/dist/worker/entry.d.ts +2 -0
  127. package/dist/worker/entry.d.ts.map +1 -0
  128. package/dist/worker/entry.js +4 -0
  129. package/dist/worker/entry.js.map +1 -0
  130. package/dist/worker/index.d.ts +7 -0
  131. package/dist/worker/index.d.ts.map +1 -0
  132. package/dist/worker/index.js +4 -0
  133. package/dist/worker/index.js.map +1 -0
  134. package/dist/worker/protocol.d.ts +82 -0
  135. package/dist/worker/protocol.d.ts.map +1 -0
  136. package/dist/worker/protocol.js +11 -0
  137. package/dist/worker/protocol.js.map +1 -0
  138. package/dist/worker/server.d.ts +51 -0
  139. package/dist/worker/server.d.ts.map +1 -0
  140. package/dist/worker/server.js +493 -0
  141. package/dist/worker/server.js.map +1 -0
  142. package/dist/worker/support.d.ts +43 -0
  143. package/dist/worker/support.d.ts.map +1 -0
  144. package/dist/worker/support.js +26 -0
  145. package/dist/worker/support.js.map +1 -0
  146. package/dist/worker/transfer.d.ts +3 -0
  147. package/dist/worker/transfer.d.ts.map +1 -0
  148. package/dist/worker/transfer.js +13 -0
  149. package/dist/worker/transfer.js.map +1 -0
  150. package/dist/worker/types.d.ts +50 -0
  151. package/dist/worker/types.d.ts.map +1 -0
  152. package/dist/worker/types.js +2 -0
  153. package/dist/worker/types.js.map +1 -0
  154. package/docs/AGENTS.md +14 -0
  155. package/docs/api/README.md +147 -0
  156. package/docs/api/classes/Builder.md +467 -0
  157. package/docs/api/classes/Document.md +742 -0
  158. package/docs/api/classes/Font.md +74 -0
  159. package/docs/api/classes/Image.md +140 -0
  160. package/docs/api/classes/LaminaPdfError.md +189 -0
  161. package/docs/api/classes/Page.md +178 -0
  162. package/docs/api/classes/PageRef.md +253 -0
  163. package/docs/api/classes/PageText.md +129 -0
  164. package/docs/api/classes/PageTextRun.md +167 -0
  165. package/docs/api/classes/PendingPath.md +97 -0
  166. package/docs/api/classes/SaveJob.md +205 -0
  167. package/docs/api/classes/Surface.md +326 -0
  168. package/docs/api/classes/Transaction.md +111 -0
  169. package/docs/api/functions/callbackSource.md +33 -0
  170. package/docs/api/functions/httpRangeSource.md +48 -0
  171. package/docs/api/functions/init.md +36 -0
  172. package/docs/api/functions/isExtractLoaded.md +21 -0
  173. package/docs/api/functions/isInitialized.md +19 -0
  174. package/docs/api/functions/isLaminaPdfError.md +41 -0
  175. package/docs/api/functions/isTextLoaded.md +19 -0
  176. package/docs/api/functions/loadExtract.md +28 -0
  177. package/docs/api/functions/loadText.md +28 -0
  178. package/docs/api/functions/onLeak.md +29 -0
  179. package/docs/api/functions/reset.md +22 -0
  180. package/docs/api/functions/wasmMemory.md +22 -0
  181. package/docs/api/interfaces/BuilderOptions.md +108 -0
  182. package/docs/api/interfaces/ByteRange.md +29 -0
  183. package/docs/api/interfaces/ChunkOptions.md +37 -0
  184. package/docs/api/interfaces/Diagnostic.md +67 -0
  185. package/docs/api/interfaces/ExtractOptions.md +92 -0
  186. package/docs/api/interfaces/ExtractResult.md +37 -0
  187. package/docs/api/interfaces/FontInfo.md +37 -0
  188. package/docs/api/interfaces/HttpRangeOptions.md +78 -0
  189. package/docs/api/interfaces/InitOptions.md +40 -0
  190. package/docs/api/interfaces/Leak.md +21 -0
  191. package/docs/api/interfaces/Location.md +53 -0
  192. package/docs/api/interfaces/OpLog.md +25 -0
  193. package/docs/api/interfaces/OpenOptions.md +37 -0
  194. package/docs/api/interfaces/PageTextOptions.md +21 -0
  195. package/docs/api/interfaces/PathBuilder.md +195 -0
  196. package/docs/api/interfaces/QuadPoint.md +25 -0
  197. package/docs/api/interfaces/RangeOptions.md +54 -0
  198. package/docs/api/interfaces/RangeSource.md +59 -0
  199. package/docs/api/interfaces/StrokeStyle.md +61 -0
  200. package/docs/api/interfaces/TagSpec.md +69 -0
  201. package/docs/api/interfaces/TextBoxOptions.md +93 -0
  202. package/docs/api/interfaces/TextGlyph.md +29 -0
  203. package/docs/api/interfaces/TextOptions.md +101 -0
  204. package/docs/api/interfaces/WasmMemory.md +37 -0
  205. package/docs/api/type-aliases/AfRelationship.md +15 -0
  206. package/docs/api/type-aliases/Align.md +15 -0
  207. package/docs/api/type-aliases/ArtifactKind.md +15 -0
  208. package/docs/api/type-aliases/AttachmentOptions.md +15 -0
  209. package/docs/api/type-aliases/BlendMode.md +15 -0
  210. package/docs/api/type-aliases/BoxRect.md +15 -0
  211. package/docs/api/type-aliases/BuildOptions.md +15 -0
  212. package/docs/api/type-aliases/Cell.md +71 -0
  213. package/docs/api/type-aliases/Chunk.md +79 -0
  214. package/docs/api/type-aliases/Color.md +16 -0
  215. package/docs/api/type-aliases/Coordinates.md +55 -0
  216. package/docs/api/type-aliases/Direction.md +15 -0
  217. package/docs/api/type-aliases/DocumentInfo.md +15 -0
  218. package/docs/api/type-aliases/DropReason.md +15 -0
  219. package/docs/api/type-aliases/Dropped.md +59 -0
  220. package/docs/api/type-aliases/Edited.md +15 -0
  221. package/docs/api/type-aliases/ErrorCode.md +15 -0
  222. package/docs/api/type-aliases/ErrorKind.md +15 -0
  223. package/docs/api/type-aliases/ExtractFormat.md +15 -0
  224. package/docs/api/type-aliases/ExtractedBlock.md +82 -0
  225. package/docs/api/type-aliases/ExtractedPage.md +65 -0
  226. package/docs/api/type-aliases/ExtractedSource.md +48 -0
  227. package/docs/api/type-aliases/Extraction.md +22 -0
  228. package/docs/api/type-aliases/FillRule.md +15 -0
  229. package/docs/api/type-aliases/Fit.md +15 -0
  230. package/docs/api/type-aliases/Flags.md +15 -0
  231. package/docs/api/type-aliases/Generator.md +41 -0
  232. package/docs/api/type-aliases/GlyphQuad.md +15 -0
  233. package/docs/api/type-aliases/InfoPatch.md +15 -0
  234. package/docs/api/type-aliases/LaminaPdfWarning.md +16 -0
  235. package/docs/api/type-aliases/LimitName.md +15 -0
  236. package/docs/api/type-aliases/Limits.md +15 -0
  237. package/docs/api/type-aliases/LineBox.md +15 -0
  238. package/docs/api/type-aliases/LineCap.md +15 -0
  239. package/docs/api/type-aliases/LineJoin.md +15 -0
  240. package/docs/api/type-aliases/LinkTarget.md +15 -0
  241. package/docs/api/type-aliases/Metadata.md +15 -0
  242. package/docs/api/type-aliases/Op.md +15 -0
  243. package/docs/api/type-aliases/OutlineEntry.md +15 -0
  244. package/docs/api/type-aliases/Overflow.md +15 -0
  245. package/docs/api/type-aliases/PageInfo.md +15 -0
  246. package/docs/api/type-aliases/PageLabel.md +15 -0
  247. package/docs/api/type-aliases/PageSizeName.md +15 -0
  248. package/docs/api/type-aliases/Point.md +15 -0
  249. package/docs/api/type-aliases/Profile.md +15 -0
  250. package/docs/api/type-aliases/Progress.md +15 -0
  251. package/docs/api/type-aliases/ReadingOrder.md +15 -0
  252. package/docs/api/type-aliases/Rect.md +15 -0
  253. package/docs/api/type-aliases/Region.md +31 -0
  254. package/docs/api/type-aliases/RenderMode.md +15 -0
  255. package/docs/api/type-aliases/Rotation.md +15 -0
  256. package/docs/api/type-aliases/SaveOptions.md +15 -0
  257. package/docs/api/type-aliases/SaveReport.md +15 -0
  258. package/docs/api/type-aliases/Span.md +63 -0
  259. package/docs/api/type-aliases/SplitOn.md +15 -0
  260. package/docs/api/type-aliases/Standard14.md +15 -0
  261. package/docs/api/type-aliases/StructRef.md +41 -0
  262. package/docs/api/type-aliases/StructSource.md +17 -0
  263. package/docs/api/type-aliases/TableDetector.md +15 -0
  264. package/docs/api/type-aliases/TableMode.md +15 -0
  265. package/docs/api/type-aliases/TableScope.md +15 -0
  266. package/docs/api/type-aliases/Tag.md +15 -0
  267. package/docs/api/type-aliases/TagName.md +15 -0
  268. package/docs/api/type-aliases/TextLayout.md +15 -0
  269. package/docs/api/type-aliases/TextRange.md +33 -0
  270. package/docs/api/type-aliases/TextRunInfo.md +15 -0
  271. package/docs/api/type-aliases/Transform.md +15 -0
  272. package/docs/api/type-aliases/UndoOutcome.md +15 -0
  273. package/docs/api/type-aliases/ViewerPreferences.md +15 -0
  274. package/docs/api/type-aliases/WarningCode.md +15 -0
  275. package/docs/api/type-aliases/WasmSource.md +16 -0
  276. package/docs/api/variables/Matrix.md +99 -0
  277. package/docs/api/variables/PAGE_SIZES.md +15 -0
  278. package/docs/api/variables/TAG_NAMES.md +15 -0
  279. package/docs/errors/README.md +156 -0
  280. package/docs/errors/aes-padding-invalid.md +34 -0
  281. package/docs/errors/already-initialized.md +34 -0
  282. package/docs/errors/binary-output-to-terminal.md +35 -0
  283. package/docs/errors/builder-finished.md +35 -0
  284. package/docs/errors/cancelled.md +35 -0
  285. package/docs/errors/cmap-invalid.md +42 -0
  286. package/docs/errors/collection-index.md +33 -0
  287. package/docs/errors/color-components.md +33 -0
  288. package/docs/errors/content-bad-operands.md +36 -0
  289. package/docs/errors/content-path-unpainted.md +36 -0
  290. package/docs/errors/content-resource-missing.md +37 -0
  291. package/docs/errors/content-syntax.md +36 -0
  292. package/docs/errors/content-unbalanced-bt.md +36 -0
  293. package/docs/errors/content-unbalanced-marked.md +36 -0
  294. package/docs/errors/content-unbalanced-q.md +36 -0
  295. package/docs/errors/content-unknown-operator.md +37 -0
  296. package/docs/errors/data-pending.md +34 -0
  297. package/docs/errors/decompress.md +34 -0
  298. package/docs/errors/device-color-without-output-intent.md +33 -0
  299. package/docs/errors/direct-page.md +34 -0
  300. package/docs/errors/disposed.md +34 -0
  301. package/docs/errors/document-changed.md +34 -0
  302. package/docs/errors/embedded-file-forbidden.md +35 -0
  303. package/docs/errors/embedded-file-without-mime-type.md +36 -0
  304. package/docs/errors/encoding-full.md +34 -0
  305. package/docs/errors/encrypted-base.md +33 -0
  306. package/docs/errors/extract-limit-blocks.md +35 -0
  307. package/docs/errors/extract-module-not-loaded.md +37 -0
  308. package/docs/errors/extract-reading-order-ambiguous.md +32 -0
  309. package/docs/errors/extract-struct-tree-ignored.md +32 -0
  310. package/docs/errors/extract-table-ambiguous.md +32 -0
  311. package/docs/errors/extract-table-limit.md +35 -0
  312. package/docs/errors/extract-untagged-content.md +32 -0
  313. package/docs/errors/fetch-failed.md +34 -0
  314. package/docs/errors/flate-truncated.md +34 -0
  315. package/docs/errors/font-invalid.md +36 -0
  316. package/docs/errors/font-mismatch.md +34 -0
  317. package/docs/errors/font-not-embeddable.md +34 -0
  318. package/docs/errors/font-not-embedded.md +35 -0
  319. package/docs/errors/font-not-shapable.md +33 -0
  320. package/docs/errors/glyph-out-of-range.md +34 -0
  321. package/docs/errors/glyph-without-unicode.md +35 -0
  322. package/docs/errors/heading-level-skipped.md +36 -0
  323. package/docs/errors/image-data-length.md +33 -0
  324. package/docs/errors/image-too-large.md +32 -0
  325. package/docs/errors/inline-image-unterminated.md +36 -0
  326. package/docs/errors/input-unreadable.md +37 -0
  327. package/docs/errors/instance-reset.md +34 -0
  328. package/docs/errors/invalid-argument.md +33 -0
  329. package/docs/errors/invalid-axis-value.md +32 -0
  330. package/docs/errors/invalid-box.md +34 -0
  331. package/docs/errors/invalid-color.md +32 -0
  332. package/docs/errors/invalid-command-line.md +44 -0
  333. package/docs/errors/invalid-date.md +34 -0
  334. package/docs/errors/invalid-entry.md +34 -0
  335. package/docs/errors/invalid-feature.md +32 -0
  336. package/docs/errors/invalid-font.md +32 -0
  337. package/docs/errors/invalid-geometry.md +32 -0
  338. package/docs/errors/invalid-icc-profile.md +32 -0
  339. package/docs/errors/invalid-image.md +33 -0
  340. package/docs/errors/invalid-op-log.md +33 -0
  341. package/docs/errors/invalid-page-label.md +34 -0
  342. package/docs/errors/invalid-page-labels.md +32 -0
  343. package/docs/errors/invalid-page-range.md +37 -0
  344. package/docs/errors/invalid-rotate.md +34 -0
  345. package/docs/errors/invalid-structure-nesting.md +38 -0
  346. package/docs/errors/invalid-structure.md +34 -0
  347. package/docs/errors/invalid-text-range.md +33 -0
  348. package/docs/errors/job-finished.md +34 -0
  349. package/docs/errors/limit-exceeded.md +38 -0
  350. package/docs/errors/link-without-contents.md +33 -0
  351. package/docs/errors/link-without-structure.md +37 -0
  352. package/docs/errors/missing-alt-text.md +33 -0
  353. package/docs/errors/missing-glyph.md +33 -0
  354. package/docs/errors/missing-header.md +37 -0
  355. package/docs/errors/missing-lang.md +32 -0
  356. package/docs/errors/missing-root.md +34 -0
  357. package/docs/errors/missing-title.md +32 -0
  358. package/docs/errors/name-tree-node-skipped.md +34 -0
  359. package/docs/errors/nested-transaction.md +34 -0
  360. package/docs/errors/no-pending-save.md +32 -0
  361. package/docs/errors/no-transaction.md +33 -0
  362. package/docs/errors/not-initialized.md +35 -0
  363. package/docs/errors/not-pdf.md +33 -0
  364. package/docs/errors/not-rebased.md +35 -0
  365. package/docs/errors/object-number-out-of-range.md +38 -0
  366. package/docs/errors/objstm-index-mismatch.md +36 -0
  367. package/docs/errors/out-of-memory.md +38 -0
  368. package/docs/errors/outline-cycle.md +34 -0
  369. package/docs/errors/outline-item-skipped.md +34 -0
  370. package/docs/errors/output-unwritable.md +37 -0
  371. package/docs/errors/overwrite-refused.md +36 -0
  372. package/docs/errors/page-count-mismatch.md +34 -0
  373. package/docs/errors/page-index-out-of-range.md +34 -0
  374. package/docs/errors/page-tree-node-skipped.md +35 -0
  375. package/docs/errors/password-required.md +36 -0
  376. package/docs/errors/path-outside-roots.md +32 -0
  377. package/docs/errors/perms-mismatch.md +34 -0
  378. package/docs/errors/profile-version-conflict.md +35 -0
  379. package/docs/errors/reference-cycle.md +35 -0
  380. package/docs/errors/render-backend-unavailable.md +32 -0
  381. package/docs/errors/render-failed.md +33 -0
  382. package/docs/errors/render-too-large.md +36 -0
  383. package/docs/errors/repaired-base.md +34 -0
  384. package/docs/errors/requires-rewrite.md +38 -0
  385. package/docs/errors/saved-not-rebased.md +34 -0
  386. package/docs/errors/sink-not-empty.md +33 -0
  387. package/docs/errors/sink.md +31 -0
  388. package/docs/errors/source-budget-exceeded.md +34 -0
  389. package/docs/errors/source-changed.md +33 -0
  390. package/docs/errors/source.md +30 -0
  391. package/docs/errors/stale-generation.md +34 -0
  392. package/docs/errors/stream-length-recovered.md +37 -0
  393. package/docs/errors/strict.md +34 -0
  394. package/docs/errors/subset-failed.md +31 -0
  395. package/docs/errors/syntax.md +34 -0
  396. package/docs/errors/text-module-not-loaded.md +36 -0
  397. package/docs/errors/text-overflow.md +34 -0
  398. package/docs/errors/tounicode-conflict.md +32 -0
  399. package/docs/errors/type.md +34 -0
  400. package/docs/errors/unexpected-eof.md +34 -0
  401. package/docs/errors/unknown-axis.md +33 -0
  402. package/docs/errors/unknown-code.md +36 -0
  403. package/docs/errors/unknown-destination.md +33 -0
  404. package/docs/errors/unknown-font.md +33 -0
  405. package/docs/errors/unknown-option.md +33 -0
  406. package/docs/errors/unknown-page.md +34 -0
  407. package/docs/errors/unmapped-glyph.md +36 -0
  408. package/docs/errors/unnumbered-heading-misused.md +34 -0
  409. package/docs/errors/unset-object.md +30 -0
  410. package/docs/errors/unsupported-filter.md +34 -0
  411. package/docs/errors/unsupported-image.md +33 -0
  412. package/docs/errors/unsupported-layout-option.md +33 -0
  413. package/docs/errors/unsupported-security-handler.md +34 -0
  414. package/docs/errors/unsupported-version.md +32 -0
  415. package/docs/errors/untagged-content.md +35 -0
  416. package/docs/errors/warnings-truncated.md +35 -0
  417. package/docs/errors/wasm-trap.md +37 -0
  418. package/docs/errors/whole-font-rebuilt.md +30 -0
  419. package/docs/errors/worker-crashed.md +33 -0
  420. package/docs/errors/worker-failed.md +32 -0
  421. package/docs/errors/worker-version-mismatch.md +34 -0
  422. package/docs/errors/would-invalidate-signatures.md +38 -0
  423. package/docs/errors/wrong-document.md +33 -0
  424. package/docs/errors/wrong-password.md +34 -0
  425. package/docs/errors/xobject-cycle.md +36 -0
  426. package/docs/errors/xref-repaired.md +36 -0
  427. package/docs/errors/xrefstm-ignored.md +34 -0
  428. package/docs/llms.txt +88 -0
  429. package/docs/pages/concepts/dependencies.md +44 -0
  430. package/docs/pages/concepts/errors-and-warnings.md +64 -0
  431. package/docs/pages/concepts/how-lamina-thinks.md +86 -0
  432. package/docs/pages/concepts/pages-and-coordinates.md +67 -0
  433. package/docs/pages/guides/accessible-pdfs.md +260 -0
  434. package/docs/pages/guides/archival-pdfs.md +429 -0
  435. package/docs/pages/guides/edit-a-pdf.md +137 -0
  436. package/docs/pages/guides/fonts-and-text.md +202 -0
  437. package/docs/pages/guides/images-and-vectors.md +219 -0
  438. package/docs/pages/guides/keep-the-page-responsive.md +81 -0
  439. package/docs/pages/guides/links-outlines-and-metadata.md +222 -0
  440. package/docs/pages/guides/password-protected-files.md +70 -0
  441. package/docs/pages/guides/save-a-pdf.md +144 -0
  442. package/docs/pages/guides/untrusted-files.md +80 -0
  443. package/docs/pages/index.md +33 -0
  444. package/docs/pages/install.md +75 -0
  445. package/docs/pages/quick-start/browser.md +67 -0
  446. package/docs/pages/quick-start/bun.md +60 -0
  447. package/docs/pages/quick-start/deno.md +58 -0
  448. package/docs/pages/quick-start/node.md +61 -0
  449. package/docs/pages/quick-start/rust.md +58 -0
  450. package/docs/pages/quick-start/workers.md +139 -0
  451. package/docs/pages/recipes/cloudflare-worker.md +115 -0
  452. package/docs/pages/recipes/extract-markdown.md +114 -0
  453. package/docs/pages/recipes/generate-then-edit.md +135 -0
  454. package/docs/pages/recipes/hello.md +94 -0
  455. package/docs/pages/recipes/images-and-vectors.md +209 -0
  456. package/docs/pages/recipes/invoice.md +226 -0
  457. package/docs/pages/recipes/links-and-outlines.md +215 -0
  458. package/docs/pages/recipes/multilingual.md +189 -0
  459. package/docs/pages/recipes/open-untrusted.md +65 -0
  460. package/docs/pages/recipes/pdf-a-archive.md +205 -0
  461. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +222 -0
  462. package/docs/pages/recipes/pdf-ua-report.md +237 -0
  463. package/docs/pages/recipes/report.md +125 -0
  464. package/docs/pages/recipes/web-worker-client.md +64 -0
  465. package/docs/pages/recipes.md +47 -0
  466. package/docs/pages/reference/changelog.md +86 -0
  467. package/docs/pages/reference/codes.md +14 -0
  468. package/docs/pages/reference/glossary.md +108 -0
  469. package/docs/pages/reference/rust.md +36 -0
  470. package/docs/pages/reference/stability.md +59 -0
  471. package/docs/pages/start/coding-agents.md +45 -0
  472. package/docs/pages/start/first-pdf.md +77 -0
  473. package/docs/pages/troubleshooting.md +74 -0
  474. package/docs/renames.json +86 -0
  475. package/docs/schemas/error.schema.json +305 -0
  476. package/docs/schemas/renames.schema.json +29 -0
  477. package/package.json +93 -3
  478. package/schemas/error.schema.json +305 -0
@@ -0,0 +1,472 @@
1
+ import { isLaminaPdfError, packageError } from "./errors.js";
2
+ import { parseExtract } from "./extract.js";
3
+ import { extractsText, readingModule } from "./init.js";
4
+ import { Handle, watch } from "./internal/handle.js";
5
+ import { settle, wholeBytes } from "./source/range.js";
6
+ import { PageText } from "./text.js";
7
+ import { Transaction } from "./transaction.js";
8
+ function isThenable(value) {
9
+ return ((typeof value === "object" || typeof value === "function") &&
10
+ value !== null &&
11
+ typeof value.then === "function");
12
+ }
13
+ /** How many warnings one cursor call fetches. */
14
+ const WARNING_BATCH = 256;
15
+ function bytesOf(input) {
16
+ return input instanceof Uint8Array ? input : new Uint8Array(input);
17
+ }
18
+ /**
19
+ * The open options to try, in order: as given, then, when the password's NFKC form differs, with
20
+ * that form (tried only after `wrong-password`). R5/R6 passwords are prepared with SASLprep,
21
+ * whose normalisation the WASM modules leave out (ADR 0016 §7), while R2–R4 passwords must reach
22
+ * the core unchanged.
23
+ */
24
+ function passwordAttempts(options) {
25
+ const password = options.password;
26
+ const nfkc = password?.normalize("NFKC");
27
+ return password === undefined || nfkc === undefined || nfkc === password
28
+ ? [options]
29
+ : [options, { ...options, password: nfkc }];
30
+ }
31
+ /** Whether a failed attempt should be followed by the next one. */
32
+ function tryNext(e, attempt, attempts) {
33
+ return attempt + 1 < attempts && isLaminaPdfError(e, "wrong-password");
34
+ }
35
+ /**
36
+ * A page of a {@link Document}, held by its ID: moving pages doesn't retarget it (ADR 0028 F2).
37
+ * Freed with its document; every call after that throws `disposed`.
38
+ */
39
+ export class PageRef extends Handle {
40
+ #page;
41
+ /** @internal */
42
+ constructor(page, doc, instance) {
43
+ super("PageRef", instance, doc);
44
+ this.#page = page;
45
+ }
46
+ /** The page's stable ID (`p12.0`). */
47
+ get id() {
48
+ return this.call(() => this.#page.id);
49
+ }
50
+ /** The page's current 0-based index. @throws {@link LaminaPdfError} `unknown-page` when it is gone. */
51
+ get index() {
52
+ return this.call(() => this.#page.index());
53
+ }
54
+ /** The page's facts now. @throws {@link LaminaPdfError} `unknown-page` when it is gone. */
55
+ get info() {
56
+ return this.call(() => this.#page.info());
57
+ }
58
+ /**
59
+ * The page's text: lines in reading order, runs, and every glyph's quad in page space.
60
+ * Needs a document opened while the extract or text module was loaded.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * await init({ extract: true });
65
+ * const doc = Document.open(bytes);
66
+ * const text = doc.page(0).text().text();
67
+ * ```
68
+ * @param options - `skipInvisible` leaves out invisible text (OCR layers).
69
+ * @throws {@link LaminaPdfError} `extract-module-not-loaded` for a document opened in the base
70
+ * module; `unknown-page`; reading errors (`data-pending` for a range document: use `ensure`).
71
+ */
72
+ text(options) {
73
+ this.assertLive();
74
+ const page = this.#page;
75
+ if (typeof page.text !== "function") {
76
+ throw packageError("extract-module-not-loaded", "page.text() needs a document opened while the extract or text module was loaded");
77
+ }
78
+ const extract = page.text.bind(page);
79
+ return new PageText(this.call(() => extract(options)));
80
+ }
81
+ release() {
82
+ this.#page.free();
83
+ }
84
+ }
85
+ /**
86
+ * A save in progress, stepped by the caller with a budget of work units (ADR 0028 §3). Freed with
87
+ * its document; every call after that throws `disposed`.
88
+ */
89
+ export class SaveJob extends Handle {
90
+ #job;
91
+ /** @internal */
92
+ constructor(job, doc, instance) {
93
+ super("SaveJob", instance, doc);
94
+ this.#job = job;
95
+ }
96
+ /**
97
+ * Runs at most `budget` work units.
98
+ *
99
+ * @returns `{ state: "progress", … }`, or `{ state: "done", bytes, report }` at the end.
100
+ * @throws {@link LaminaPdfError} `cancelled`, `document-changed`, `job-finished`, or the save's errors.
101
+ */
102
+ step(budget) {
103
+ return this.call(() => this.#job.step(budget));
104
+ }
105
+ /** Stops the job: its next step fails with `cancelled`. */
106
+ cancel() {
107
+ this.call(() => this.#job.cancel());
108
+ }
109
+ release() {
110
+ this.#job.free();
111
+ }
112
+ }
113
+ /**
114
+ * An open PDF: read it, edit it with ops (atomic transactions with undo), save it. It holds
115
+ * WebAssembly memory: free it with `using` or {@link Document.free} (an alias).
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * await init();
120
+ * using doc = Document.open(bytes);
121
+ * doc.transact((tx) => tx.setInfo({ title: "Final" }));
122
+ * const updated = doc.save({ mode: "incremental" });
123
+ * ```
124
+ */
125
+ export class Document extends Handle {
126
+ #doc;
127
+ /** Set for a document opened with {@link Document.openRange}: where more bytes come from. */
128
+ #range;
129
+ /** Whether a `transact` callback of this document is running. */
130
+ #transacting = false;
131
+ /**
132
+ * @internal Wraps a raw document (from `open`, `openRange` or `Builder.finish`) of `instance`.
133
+ */
134
+ constructor(doc, instance, range) {
135
+ super("Document", instance);
136
+ this.#doc = doc;
137
+ this.#range = range;
138
+ watch(this, "Document");
139
+ }
140
+ /**
141
+ * Opens a document whose bytes are fetched range by range ({@link httpRangeSource},
142
+ * {@link callbackSource}): only what the open needs is fetched (the end of the file, the xref,
143
+ * the catalog). Calls on the document stay synchronous; one that needs bytes not fetched yet
144
+ * throws `data-pending` with `ranges`, so wrap later reads in {@link Document.ensure}.
145
+ *
146
+ * @param source - the file (or a promise of it, as `httpRangeSource` returns).
147
+ * @param options - open options (password, strict, limits) and fetch options.
148
+ * @returns the document, once open has everything it needs.
149
+ * @throws {@link LaminaPdfError} as {@link Document.open}; `data-pending` when fetching made no
150
+ * progress or `maxRounds` ran out; `source-budget-exceeded`; the source's own errors
151
+ * (`fetch-failed`, `source-changed`); the signal's reason when aborted.
152
+ */
153
+ static async openRange(source, options = {}) {
154
+ // The source first: a rejected source promise must not go unhandled behind not-initialized.
155
+ const src = await source;
156
+ const { signal, blockSize, readahead, maxRounds, budget, ...open } = options;
157
+ // A server that ignored Range from the start sent the whole file: open those bytes as they
158
+ // are, rather than copying them into a sparse source as well.
159
+ const whole = wholeBytes(src);
160
+ if (whole !== undefined)
161
+ return Document.open(whole, open);
162
+ const instance = readingModule();
163
+ const sparse = instance.call((wasm) => new wasm.WasmSparseSource(src.size, budget));
164
+ const state = {
165
+ instance,
166
+ generation: instance.generation,
167
+ sparse,
168
+ source: src,
169
+ blockSize: blockSize ?? src.blockSize ?? 4096,
170
+ readahead: readahead ?? 0,
171
+ maxRounds: maxRounds ?? 1024,
172
+ };
173
+ const attempts = passwordAttempts(open);
174
+ try {
175
+ for (let i = 0;; i++) {
176
+ try {
177
+ return await settle(state, () => new Document(instance.call((wasm) => {
178
+ instance.check(state.generation, "Document");
179
+ return wasm.WasmDocument.openSource(sparse, attempts[i]);
180
+ }), instance, state), signal);
181
+ }
182
+ catch (e) {
183
+ if (!tryNext(e, i, attempts.length))
184
+ throw e;
185
+ }
186
+ }
187
+ }
188
+ catch (e) {
189
+ // Nothing holds the fetched bytes now: free them at once rather than at collection, unless
190
+ // their instance was replaced (a trap, or reset() during a fetch).
191
+ if (instance.owns(state.generation))
192
+ sparse.free();
193
+ throw e;
194
+ }
195
+ }
196
+ /**
197
+ * Runs a synchronous call on this document, fetching what it needs first: for a document
198
+ * from {@link Document.openRange}, a `data-pending` makes it fetch the ranges asked for and
199
+ * call `f` again. For other documents it just returns `f()`.
200
+ *
201
+ * @example
202
+ * ```ts
203
+ * const doc = await Document.openRange(httpRangeSource(url));
204
+ * const pages = await doc.ensure(() => doc.pages);
205
+ * ```
206
+ * @param f - the call (it may run several times; keep it free of side effects). An async
207
+ * function works too: its `data-pending` rejections are caught the same way.
208
+ * @param options - `signal` aborts this call's fetches (the open's signal applies to the open
209
+ * only).
210
+ * @returns what `f` returns.
211
+ * @throws what `f` throws, and as {@link Document.openRange}.
212
+ */
213
+ async ensure(f, options = {}) {
214
+ this.assertLive();
215
+ return this.#range === undefined ? f() : settle(this.#range, f, options.signal);
216
+ }
217
+ /**
218
+ * Opens a document from its bytes (the bytes are copied into the WASM memory).
219
+ *
220
+ * The password is tried as given. When that fails with `wrong-password` and its NFKC form
221
+ * differs, the NFKC form is tried too: R5/R6 passwords are prepared with SASLprep, whose
222
+ * normalisation the WASM modules leave out (ADR 0016 §7), while R2–R4 passwords must reach
223
+ * the core unchanged.
224
+ *
225
+ * @param bytes - the PDF file.
226
+ * @param options - password, strict mode, limits.
227
+ * @returns the document.
228
+ * @throws {@link LaminaPdfError} `not-pdf`, `password-required`, `wrong-password`, `limit-exceeded`,
229
+ * `strict`, …; `unknown-option` / `invalid-argument` for bad options; `not-initialized`.
230
+ */
231
+ static open(bytes, options) {
232
+ const instance = readingModule();
233
+ const data = bytesOf(bytes);
234
+ const attempts = passwordAttempts(options ?? {});
235
+ for (let i = 0;; i++) {
236
+ try {
237
+ return new Document(instance.call((wasm) => wasm.WasmDocument.openBytes(data, attempts[i])), instance);
238
+ }
239
+ catch (e) {
240
+ if (!tryNext(e, i, attempts.length))
241
+ throw e;
242
+ }
243
+ }
244
+ }
245
+ /**
246
+ * Whether `page(i).text()` works on this document: it was opened or built while the extract or
247
+ * the text module was loaded. A document opened before the module loaded stays in the base
248
+ * module; save and reopen it to move it.
249
+ */
250
+ get canExtractText() {
251
+ this.assertLive();
252
+ return extractsText(this.#doc);
253
+ }
254
+ /** The number of pages. @throws {@link LaminaPdfError} reading errors. */
255
+ get pageCount() {
256
+ return this.call(() => this.#doc.pageCount());
257
+ }
258
+ /** Every page's facts, in order (one page-tree walk). @throws {@link LaminaPdfError} reading errors. */
259
+ get pages() {
260
+ return this.call(() => this.#doc.pageInfos());
261
+ }
262
+ /**
263
+ * Page `index`'s facts.
264
+ *
265
+ * @throws {@link LaminaPdfError} `page-index-out-of-range`.
266
+ */
267
+ pageInfo(index) {
268
+ return this.call(() => this.#doc.pageInfo(index));
269
+ }
270
+ /**
271
+ * A handle on page `index` that follows the page by its ID.
272
+ *
273
+ * @throws {@link LaminaPdfError} `page-index-out-of-range`.
274
+ */
275
+ page(index) {
276
+ return new PageRef(this.call(() => this.#doc.page(index)), this, this.instance);
277
+ }
278
+ /**
279
+ * A handle on the page with `id` (`p12.0`).
280
+ *
281
+ * @throws {@link LaminaPdfError} `invalid-argument`, `unknown-page`.
282
+ */
283
+ pageById(id) {
284
+ return new PageRef(this.call(() => this.#doc.pageById(id)), this, this.instance);
285
+ }
286
+ /**
287
+ * The document's text for retrieval and LLMs: Markdown or plain text in reading order, the
288
+ * `laminapdf.extract/1` JSON with a box for every block, or chunks sized for retrieval. Tables
289
+ * drawn with lines come out as tables, and text a reader can't see is left out. Needs a
290
+ * document opened while the extract or text module was loaded.
291
+ *
292
+ * @example
293
+ * ```ts
294
+ * await init({ extract: true });
295
+ * const doc = Document.open(bytes);
296
+ * const markdown = doc.extract({ format: "markdown" });
297
+ * const chunks = doc.extract({ format: "chunks", chunk: { maxTokens: 400 } });
298
+ * ```
299
+ * @returns a string for `"markdown"` and `"text"`, an {@link Extraction} for `"json"`,
300
+ * {@link Chunk}s for `"chunks"`.
301
+ * @throws {@link LaminaPdfError} `extract-module-not-loaded` for a document opened in the base
302
+ * module; `page-index-out-of-range`; `unknown-option` (with `didYouMean`) / `invalid-argument`
303
+ * for bad options; reading errors (`data-pending` for a range document: use `ensure`).
304
+ */
305
+ extract(options) {
306
+ this.assertLive();
307
+ const doc = this.#doc;
308
+ if (typeof doc.extract !== "function") {
309
+ throw packageError("extract-module-not-loaded", "doc.extract() needs a document opened while the extract or text module was loaded");
310
+ }
311
+ const extract = doc.extract.bind(doc);
312
+ return parseExtract(options.format, this.call(() => extract(options)));
313
+ }
314
+ /** The Info dictionary's text entries (document text). @throws {@link LaminaPdfError} reading errors. */
315
+ get info() {
316
+ return this.call(() => this.#doc.info());
317
+ }
318
+ /** Every warning so far (build warnings first), each the ADR 0026 §1 object. */
319
+ get warnings() {
320
+ return this.call(() => {
321
+ const cursor = this.#doc.warnings();
322
+ try {
323
+ const out = [];
324
+ for (;;) {
325
+ const batch = cursor.nextBatch(WARNING_BATCH);
326
+ if (batch.length === 0)
327
+ return out;
328
+ out.push(...batch);
329
+ }
330
+ }
331
+ finally {
332
+ cursor.free();
333
+ }
334
+ });
335
+ }
336
+ /** Whether there are changes no save has written yet. */
337
+ get hasUnsavedChanges() {
338
+ return this.call(() => this.#doc.hasUnsavedChanges());
339
+ }
340
+ /**
341
+ * Applies `ops` in order as one transaction: all of them, or none.
342
+ *
343
+ * @returns the pages the edit touched.
344
+ * @throws {@link LaminaPdfError} `unknown-option` / `invalid-argument` for a value that isn't an op;
345
+ * the first failing op's error (`unknown-page`, …), with nothing applied.
346
+ */
347
+ apply(ops) {
348
+ this.#notInTransaction("apply");
349
+ return this.call(() => this.#doc.apply(ops));
350
+ }
351
+ /**
352
+ * Applies an op log (`{ v: 1, ops }`, as JSON text or an object) as one transaction.
353
+ *
354
+ * @throws {@link LaminaPdfError} `invalid-op-log`, `unsupported-version`; as {@link Document.apply}.
355
+ */
356
+ applyLog(log) {
357
+ this.#notInTransaction("applyLog");
358
+ const json = typeof log === "string" ? log : JSON.stringify(log);
359
+ return this.call(() => this.#doc.applyLog(json));
360
+ }
361
+ /**
362
+ * Runs `edit` with a transaction handle and applies what it collected as one transaction
363
+ * (ADR 0006 §2). When `edit` throws, nothing is applied and the error propagates. The ops are
364
+ * applied when `edit` returns: reads inside `edit` see the document before the transaction.
365
+ *
366
+ * @param edit - collects ops on `tx`; synchronous only (a callback returning a promise is
367
+ * refused with `invalid-argument` and nothing is applied).
368
+ * @returns what `edit` returned.
369
+ * @throws {@link LaminaPdfError} `nested-transaction` when called (or when `apply`, `undo`, `redo`,
370
+ * `save`… are called) inside a `transact` of the same document; `invalid-argument` for an
371
+ * async callback; as {@link Document.apply}.
372
+ * @example
373
+ * ```ts
374
+ * doc.transact((tx) => {
375
+ * tx.setInfo({ title: "Report" });
376
+ * tx.rotatePage(doc.page(0).id, 90);
377
+ * });
378
+ * ```
379
+ */
380
+ transact(edit) {
381
+ this.assertLive();
382
+ this.#notInTransaction("transact");
383
+ this.#transacting = true;
384
+ const tx = new Transaction();
385
+ let result;
386
+ try {
387
+ result = edit(tx);
388
+ }
389
+ finally {
390
+ this.#transacting = false;
391
+ tx.close();
392
+ }
393
+ if (isThenable(result)) {
394
+ // The ops of an async callback would be applied before its awaits finish: refuse it.
395
+ throw packageError("invalid-argument", "transact takes a synchronous callback; it returned a promise", {
396
+ data: { argument: "edit", detail: "the callback returned a promise; nothing was applied" },
397
+ });
398
+ }
399
+ if (tx.ops.length > 0)
400
+ this.apply(tx.ops);
401
+ return result;
402
+ }
403
+ /** Throws `nested-transaction` while a `transact` callback of this document runs. */
404
+ #notInTransaction(call) {
405
+ if (this.#transacting) {
406
+ throw packageError("nested-transaction", `${call} was called inside a transaction of the same document`);
407
+ }
408
+ }
409
+ /**
410
+ * Undoes the newest transaction.
411
+ *
412
+ * @returns how it went, or `undefined` when there is nothing to undo.
413
+ * @throws {@link LaminaPdfError} `saved-not-rebased`; reading errors.
414
+ */
415
+ undo() {
416
+ this.#notInTransaction("undo");
417
+ return this.call(() => this.#doc.undo());
418
+ }
419
+ /**
420
+ * Redoes the newest undone transaction.
421
+ *
422
+ * @returns how it went, or `undefined` when there is nothing to redo.
423
+ * @throws {@link LaminaPdfError} as {@link Document.undo}.
424
+ */
425
+ redo() {
426
+ this.#notInTransaction("redo");
427
+ return this.call(() => this.#doc.redo());
428
+ }
429
+ /**
430
+ * Saves and rebases onto the output (later edits and saves build on it).
431
+ *
432
+ * @param options - `mode` (`auto`, `incremental`, `fullRewrite`), overrides, output form.
433
+ * @returns the file's bytes.
434
+ * @throws {@link LaminaPdfError} `would-invalidate-signatures`, `requires-rewrite`, `encrypted-base`, …
435
+ */
436
+ save(options) {
437
+ return this.saveWithReport(options).bytes;
438
+ }
439
+ /**
440
+ * As {@link Document.save}, with the save's report (mode used, bytes written, renumbering, …).
441
+ *
442
+ * @throws {@link LaminaPdfError} as {@link Document.save}.
443
+ */
444
+ saveWithReport(options) {
445
+ this.#notInTransaction("save");
446
+ return this.call(() => this.#doc.save(options));
447
+ }
448
+ /**
449
+ * A save as a job stepped by the caller (to keep a UI responsive).
450
+ *
451
+ * @throws {@link LaminaPdfError} `unknown-option` / `invalid-argument` for bad options.
452
+ */
453
+ saveJob(options) {
454
+ this.#notInTransaction("saveJob");
455
+ return new SaveJob(this.call(() => this.#doc.saveJob(options)), this, this.instance);
456
+ }
457
+ /**
458
+ * Rebases onto `bytes`, the output of a save whose rebase failed (`not-rebased`).
459
+ *
460
+ * @throws {@link LaminaPdfError} `no-pending-save`; reading errors in `bytes`.
461
+ */
462
+ rebase(bytes) {
463
+ this.#notInTransaction("rebase");
464
+ this.call(() => this.#doc.rebase(bytes));
465
+ }
466
+ release() {
467
+ this.#doc.free();
468
+ // A range document's fetched bytes live in its sparse source.
469
+ this.#range?.sparse.free();
470
+ }
471
+ }
472
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { InitOptions, WasmSource } from "../init.js";
2
+ /**
3
+ * Loads the base WebAssembly module (read from the file next to the package); with `{ text: true }`, the text
4
+ * module too. Idempotent: later calls return at once (or load the text module). Everything else
5
+ * in the package is synchronous and needs this promise to have resolved.
6
+ *
7
+ * @param input - where the base module comes from (a URL, `Response`, bytes or
8
+ * `WebAssembly.Module`), or options; omitted, the file next to the package.
9
+ * @example
10
+ * ```ts
11
+ * await init(); // or: await init({ text: true })
12
+ * ```
13
+ */
14
+ export declare function init(input?: WasmSource | InitOptions): Promise<void>;
15
+ /**
16
+ * Loads the text module (fonts, shaping and text layout; about 940 KB gzipped). Builders
17
+ * created afterwards can draw text. Idempotent.
18
+ *
19
+ * @param source - where it comes from; omitted, the file next to the package.
20
+ */
21
+ export declare function loadText(source?: WasmSource): Promise<void>;
22
+ /**
23
+ * Loads the extract module (reading plus text extraction). Documents opened afterwards can
24
+ * extract text with `page.text()`. Idempotent; not needed when the text module is loaded.
25
+ *
26
+ * @param source - where it comes from; omitted, the file next to the package.
27
+ */
28
+ export declare function loadExtract(source?: WasmSource): Promise<void>;
29
+ export * from "../api.js";
30
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entry/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1D;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,cAAc,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { initWith, loadExtractWith, loadTextWith } from "../init.js";
2
+ import { locate } from "../loader/node.js";
3
+ /**
4
+ * Loads the base WebAssembly module (read from the file next to the package); with `{ text: true }`, the text
5
+ * module too. Idempotent: later calls return at once (or load the text module). Everything else
6
+ * in the package is synchronous and needs this promise to have resolved.
7
+ *
8
+ * @param input - where the base module comes from (a URL, `Response`, bytes or
9
+ * `WebAssembly.Module`), or options; omitted, the file next to the package.
10
+ * @example
11
+ * ```ts
12
+ * await init(); // or: await init({ text: true })
13
+ * ```
14
+ */
15
+ export function init(input) {
16
+ return initWith(locate, input);
17
+ }
18
+ /**
19
+ * Loads the text module (fonts, shaping and text layout; about 940 KB gzipped). Builders
20
+ * created afterwards can draw text. Idempotent.
21
+ *
22
+ * @param source - where it comes from; omitted, the file next to the package.
23
+ */
24
+ export function loadText(source) {
25
+ return loadTextWith(locate, source);
26
+ }
27
+ /**
28
+ * Loads the extract module (reading plus text extraction). Documents opened afterwards can
29
+ * extract text with `page.text()`. Idempotent; not needed when the text module is loaded.
30
+ *
31
+ * @param source - where it comes from; omitted, the file next to the package.
32
+ */
33
+ export function loadExtract(source) {
34
+ return loadExtractWith(locate, source);
35
+ }
36
+ export * from "../api.js";
37
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/entry/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgC;IACnD,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAmB;IAC1C,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,cAAc,WAAW,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { InitOptions, WasmSource } from "../init.js";
2
+ /**
3
+ * Loads the base WebAssembly module (imported with the Worker's bundle); with `{ text: true }`, the text
4
+ * module too. Idempotent: later calls return at once (or load the text module). Everything else
5
+ * in the package is synchronous and needs this promise to have resolved.
6
+ *
7
+ * @param input - where the base module comes from (a URL, `Response`, bytes or
8
+ * `WebAssembly.Module`), or options; omitted, the file next to the package.
9
+ * @example
10
+ * ```ts
11
+ * await init(); // or: await init({ text: true })
12
+ * ```
13
+ */
14
+ export declare function init(input?: WasmSource | InitOptions): Promise<void>;
15
+ /**
16
+ * Loads the text module (fonts, shaping and text layout; about 940 KB gzipped). Builders
17
+ * created afterwards can draw text. Idempotent.
18
+ *
19
+ * @param source - where it comes from; omitted, the file next to the package.
20
+ */
21
+ export declare function loadText(source?: WasmSource): Promise<void>;
22
+ /**
23
+ * Loads the extract module (reading plus text extraction). Documents opened afterwards can
24
+ * extract text with `page.text()`. Idempotent; not needed when the text module is loaded.
25
+ *
26
+ * @param source - where it comes from; omitted, the file next to the package.
27
+ */
28
+ export declare function loadExtract(source?: WasmSource): Promise<void>;
29
+ export * from "../api.js";
30
+ //# sourceMappingURL=workerd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerd.d.ts","sourceRoot":"","sources":["../../src/entry/workerd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1D;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,cAAc,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { initWith, loadExtractWith, loadTextWith } from "../init.js";
2
+ import { locate } from "../loader/workerd.js";
3
+ /**
4
+ * Loads the base WebAssembly module (imported with the Worker's bundle); with `{ text: true }`, the text
5
+ * module too. Idempotent: later calls return at once (or load the text module). Everything else
6
+ * in the package is synchronous and needs this promise to have resolved.
7
+ *
8
+ * @param input - where the base module comes from (a URL, `Response`, bytes or
9
+ * `WebAssembly.Module`), or options; omitted, the file next to the package.
10
+ * @example
11
+ * ```ts
12
+ * await init(); // or: await init({ text: true })
13
+ * ```
14
+ */
15
+ export function init(input) {
16
+ return initWith(locate, input);
17
+ }
18
+ /**
19
+ * Loads the text module (fonts, shaping and text layout; about 940 KB gzipped). Builders
20
+ * created afterwards can draw text. Idempotent.
21
+ *
22
+ * @param source - where it comes from; omitted, the file next to the package.
23
+ */
24
+ export function loadText(source) {
25
+ return loadTextWith(locate, source);
26
+ }
27
+ /**
28
+ * Loads the extract module (reading plus text extraction). Documents opened afterwards can
29
+ * extract text with `page.text()`. Idempotent; not needed when the text module is loaded.
30
+ *
31
+ * @param source - where it comes from; omitted, the file next to the package.
32
+ */
33
+ export function loadExtract(source) {
34
+ return loadExtractWith(locate, source);
35
+ }
36
+ export * from "../api.js";
37
+ //# sourceMappingURL=workerd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerd.js","sourceRoot":"","sources":["../../src/entry/workerd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgC;IACnD,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAmB;IAC1C,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,cAAc,WAAW,CAAC"}