@laminapdf/sdk 0.2.0-alpha.2 → 0.2.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -8
- package/dist/api.d.ts +8 -3
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -2
- package/dist/api.js.map +1 -1
- package/dist/builder.d.ts +43 -22
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +122 -83
- package/dist/builder.js.map +1 -1
- package/dist/document.d.ts +89 -22
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +177 -67
- package/dist/document.js.map +1 -1
- package/dist/errors.d.ts +5 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +10 -16
- package/dist/errors.js.map +1 -1
- package/dist/extract-job.d.ts +100 -0
- package/dist/extract-job.d.ts.map +1 -0
- package/dist/extract-job.js +177 -0
- package/dist/extract-job.js.map +1 -0
- package/dist/extract.d.ts +57 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +5 -0
- package/dist/extract.js.map +1 -0
- package/dist/font.d.ts +13 -6
- package/dist/font.d.ts.map +1 -1
- package/dist/font.js +50 -20
- package/dist/font.js.map +1 -1
- package/dist/generated/builder-enums.d.ts +3 -3
- package/dist/generated/builder-enums.d.ts.map +1 -1
- package/dist/generated/builder-enums.js +10 -0
- package/dist/generated/builder-enums.js.map +1 -1
- package/dist/generated/codes.d.ts +18 -6
- package/dist/generated/codes.d.ts.map +1 -1
- package/dist/generated/codes.js +114 -5
- package/dist/generated/codes.js.map +1 -1
- package/dist/generated/explain.d.ts.map +1 -1
- package/dist/generated/explain.js +45 -11
- package/dist/generated/explain.js.map +1 -1
- package/dist/generated/extract.d.ts +282 -0
- package/dist/generated/extract.d.ts.map +1 -0
- package/dist/generated/extract.js +4 -0
- package/dist/generated/extract.js.map +1 -0
- package/dist/init.d.ts +13 -5
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +23 -11
- package/dist/init.js.map +1 -1
- package/dist/internal/handle.d.ts +58 -0
- package/dist/internal/handle.d.ts.map +1 -0
- package/dist/internal/handle.js +113 -0
- package/dist/internal/handle.js.map +1 -0
- package/dist/internal/instance.d.ts +56 -0
- package/dist/internal/instance.d.ts.map +1 -0
- package/dist/internal/instance.js +125 -0
- package/dist/internal/instance.js.map +1 -0
- package/dist/source/http.d.ts +1 -1
- package/dist/source/http.js +2 -2
- package/dist/source/http.js.map +1 -1
- package/dist/source/range.d.ts +6 -1
- package/dist/source/range.d.ts.map +1 -1
- package/dist/source/range.js +10 -6
- package/dist/source/range.js.map +1 -1
- package/dist/text.d.ts +3 -3
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +3 -3
- package/dist/text.js.map +1 -1
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/dist/worker/client.d.ts +3 -2
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +6 -4
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/entry.js +1 -1
- package/dist/worker/entry.js.map +1 -1
- package/dist/worker/server.d.ts.map +1 -1
- package/dist/worker/server.js +42 -9
- package/dist/worker/server.js.map +1 -1
- package/dist/worker/support.d.ts +13 -3
- package/dist/worker/support.d.ts.map +1 -1
- package/dist/worker/support.js +5 -0
- package/dist/worker/support.js.map +1 -1
- package/dist/worker/types.d.ts +8 -1
- package/dist/worker/types.d.ts.map +1 -1
- package/docs/AGENTS.md +14 -0
- package/docs/api/README.md +166 -0
- package/docs/api/classes/Builder.md +467 -0
- package/docs/api/classes/Document.md +854 -0
- package/docs/api/classes/ExtractJob.md +236 -0
- package/docs/api/classes/Font.md +74 -0
- package/docs/api/classes/Image.md +140 -0
- package/docs/api/classes/LaminaPdfError.md +189 -0
- package/docs/api/classes/Page.md +178 -0
- package/docs/api/classes/PageRef.md +253 -0
- package/docs/api/classes/PageText.md +129 -0
- package/docs/api/classes/PageTextRun.md +167 -0
- package/docs/api/classes/PendingPath.md +97 -0
- package/docs/api/classes/SaveJob.md +205 -0
- package/docs/api/classes/Surface.md +331 -0
- package/docs/api/classes/Transaction.md +111 -0
- package/docs/api/functions/callbackSource.md +33 -0
- package/docs/api/functions/extractWithModels.md +70 -0
- package/docs/api/functions/httpRangeSource.md +48 -0
- package/docs/api/functions/init.md +36 -0
- package/docs/api/functions/isExtractLoaded.md +21 -0
- package/docs/api/functions/isInitialized.md +19 -0
- package/docs/api/functions/isLaminaPdfError.md +41 -0
- package/docs/api/functions/isTextLoaded.md +19 -0
- package/docs/api/functions/loadExtract.md +28 -0
- package/docs/api/functions/loadText.md +28 -0
- package/docs/api/functions/onLeak.md +29 -0
- package/docs/api/functions/reset.md +22 -0
- package/docs/api/functions/wasmMemory.md +22 -0
- package/docs/api/interfaces/BuilderOptions.md +108 -0
- package/docs/api/interfaces/ByteRange.md +29 -0
- package/docs/api/interfaces/ChunkOptions.md +37 -0
- package/docs/api/interfaces/Diagnostic.md +67 -0
- package/docs/api/interfaces/ExtractOptions.md +92 -0
- package/docs/api/interfaces/ExtractResult.md +37 -0
- package/docs/api/interfaces/FontInfo.md +37 -0
- package/docs/api/interfaces/HostModels.md +57 -0
- package/docs/api/interfaces/HttpRangeOptions.md +78 -0
- package/docs/api/interfaces/InitOptions.md +40 -0
- package/docs/api/interfaces/LayoutRegion.md +38 -0
- package/docs/api/interfaces/Leak.md +21 -0
- package/docs/api/interfaces/Location.md +53 -0
- package/docs/api/interfaces/ModelInfo.md +45 -0
- package/docs/api/interfaces/ModelRequest.md +45 -0
- package/docs/api/interfaces/Models.md +45 -0
- package/docs/api/interfaces/OcrWord.md +37 -0
- package/docs/api/interfaces/OpLog.md +25 -0
- package/docs/api/interfaces/OpenOptions.md +37 -0
- package/docs/api/interfaces/PageTextOptions.md +21 -0
- package/docs/api/interfaces/PathBuilder.md +195 -0
- package/docs/api/interfaces/QuadPoint.md +25 -0
- package/docs/api/interfaces/RangeOptions.md +54 -0
- package/docs/api/interfaces/RangeSource.md +59 -0
- package/docs/api/interfaces/StrokeStyle.md +61 -0
- package/docs/api/interfaces/TagSpec.md +69 -0
- package/docs/api/interfaces/TextBoxOptions.md +93 -0
- package/docs/api/interfaces/TextGlyph.md +29 -0
- package/docs/api/interfaces/TextOptions.md +101 -0
- package/docs/api/interfaces/WasmMemory.md +37 -0
- package/docs/api/type-aliases/AfRelationship.md +15 -0
- package/docs/api/type-aliases/Align.md +15 -0
- package/docs/api/type-aliases/ArtifactKind.md +15 -0
- package/docs/api/type-aliases/AttachmentOptions.md +15 -0
- package/docs/api/type-aliases/BlendMode.md +15 -0
- package/docs/api/type-aliases/BoxRect.md +15 -0
- package/docs/api/type-aliases/BuildOptions.md +15 -0
- package/docs/api/type-aliases/Cell.md +71 -0
- package/docs/api/type-aliases/Chunk.md +79 -0
- package/docs/api/type-aliases/Color.md +16 -0
- package/docs/api/type-aliases/Coordinates.md +55 -0
- package/docs/api/type-aliases/Direction.md +15 -0
- package/docs/api/type-aliases/DocumentInfo.md +15 -0
- package/docs/api/type-aliases/DropReason.md +15 -0
- package/docs/api/type-aliases/Dropped.md +59 -0
- package/docs/api/type-aliases/Edited.md +15 -0
- package/docs/api/type-aliases/ErrorCode.md +15 -0
- package/docs/api/type-aliases/ErrorKind.md +15 -0
- package/docs/api/type-aliases/ExtractFormat.md +15 -0
- package/docs/api/type-aliases/ExtractJobOptions.md +31 -0
- package/docs/api/type-aliases/ExtractStep.md +61 -0
- package/docs/api/type-aliases/ExtractedBlock.md +94 -0
- package/docs/api/type-aliases/ExtractedPage.md +73 -0
- package/docs/api/type-aliases/ExtractedSource.md +48 -0
- package/docs/api/type-aliases/Extraction.md +22 -0
- package/docs/api/type-aliases/FillRule.md +15 -0
- package/docs/api/type-aliases/Fit.md +15 -0
- package/docs/api/type-aliases/Flags.md +15 -0
- package/docs/api/type-aliases/Generator.md +43 -0
- package/docs/api/type-aliases/GlyphQuad.md +15 -0
- package/docs/api/type-aliases/InfoPatch.md +15 -0
- package/docs/api/type-aliases/LaminaPdfWarning.md +16 -0
- package/docs/api/type-aliases/LimitName.md +15 -0
- package/docs/api/type-aliases/Limits.md +15 -0
- package/docs/api/type-aliases/LineBox.md +15 -0
- package/docs/api/type-aliases/LineCap.md +15 -0
- package/docs/api/type-aliases/LineJoin.md +15 -0
- package/docs/api/type-aliases/LinkTarget.md +15 -0
- package/docs/api/type-aliases/Metadata.md +15 -0
- package/docs/api/type-aliases/ModelResult.md +15 -0
- package/docs/api/type-aliases/Op.md +15 -0
- package/docs/api/type-aliases/OutlineEntry.md +15 -0
- package/docs/api/type-aliases/OutlineNode.md +15 -0
- package/docs/api/type-aliases/Overflow.md +15 -0
- package/docs/api/type-aliases/PageInfo.md +15 -0
- package/docs/api/type-aliases/PageLabel.md +15 -0
- package/docs/api/type-aliases/PageSizeName.md +15 -0
- package/docs/api/type-aliases/Point.md +15 -0
- package/docs/api/type-aliases/Profile.md +15 -0
- package/docs/api/type-aliases/Progress.md +15 -0
- package/docs/api/type-aliases/ReadingOrder.md +15 -0
- package/docs/api/type-aliases/Rect.md +15 -0
- package/docs/api/type-aliases/Region.md +31 -0
- package/docs/api/type-aliases/RegionLabel.md +15 -0
- package/docs/api/type-aliases/RenderMode.md +15 -0
- package/docs/api/type-aliases/Rotation.md +15 -0
- package/docs/api/type-aliases/SaveOptions.md +15 -0
- package/docs/api/type-aliases/SaveReport.md +15 -0
- package/docs/api/type-aliases/Span.md +74 -0
- package/docs/api/type-aliases/SplitOn.md +15 -0
- package/docs/api/type-aliases/Standard14.md +15 -0
- package/docs/api/type-aliases/StructRef.md +41 -0
- package/docs/api/type-aliases/StructSource.md +17 -0
- package/docs/api/type-aliases/StructureKid.md +15 -0
- package/docs/api/type-aliases/StructureNode.md +16 -0
- package/docs/api/type-aliases/TableDetector.md +15 -0
- package/docs/api/type-aliases/TableMode.md +15 -0
- package/docs/api/type-aliases/TableScope.md +15 -0
- package/docs/api/type-aliases/Tag.md +15 -0
- package/docs/api/type-aliases/TagName.md +15 -0
- package/docs/api/type-aliases/Target.md +15 -0
- package/docs/api/type-aliases/TargetView.md +18 -0
- package/docs/api/type-aliases/TextLayer.md +72 -0
- package/docs/api/type-aliases/TextLayerStatus.md +15 -0
- package/docs/api/type-aliases/TextLayout.md +15 -0
- package/docs/api/type-aliases/TextRange.md +33 -0
- package/docs/api/type-aliases/TextRunInfo.md +15 -0
- package/docs/api/type-aliases/Transform.md +15 -0
- package/docs/api/type-aliases/UndoOutcome.md +15 -0
- package/docs/api/type-aliases/ViewerPreferences.md +15 -0
- package/docs/api/type-aliases/WarningCode.md +15 -0
- package/docs/api/type-aliases/WasmSource.md +16 -0
- package/docs/api/variables/Matrix.md +99 -0
- package/docs/api/variables/PAGE_SIZES.md +15 -0
- package/docs/api/variables/TAG_NAMES.md +15 -0
- package/docs/errors/README.md +173 -0
- package/docs/errors/aes-padding-invalid.md +34 -0
- package/docs/errors/already-initialized.md +34 -0
- package/docs/errors/binary-output-to-terminal.md +35 -0
- package/docs/errors/builder-finished.md +35 -0
- package/docs/errors/cancelled.md +35 -0
- package/docs/errors/cmap-invalid.md +42 -0
- package/docs/errors/collection-index.md +33 -0
- package/docs/errors/color-components.md +33 -0
- package/docs/errors/content-bad-operands.md +36 -0
- package/docs/errors/content-path-unpainted.md +36 -0
- package/docs/errors/content-resource-missing.md +37 -0
- package/docs/errors/content-syntax.md +36 -0
- package/docs/errors/content-unbalanced-bt.md +36 -0
- package/docs/errors/content-unbalanced-marked.md +36 -0
- package/docs/errors/content-unbalanced-q.md +36 -0
- package/docs/errors/content-unknown-operator.md +37 -0
- package/docs/errors/covered-text.md +33 -0
- package/docs/errors/data-pending.md +34 -0
- package/docs/errors/decompress.md +34 -0
- package/docs/errors/device-color-without-output-intent.md +33 -0
- package/docs/errors/direct-page.md +34 -0
- package/docs/errors/disposed.md +34 -0
- package/docs/errors/document-changed.md +34 -0
- package/docs/errors/embedded-file-forbidden.md +35 -0
- package/docs/errors/embedded-file-without-mime-type.md +36 -0
- package/docs/errors/encoding-full.md +34 -0
- package/docs/errors/encrypted-base.md +33 -0
- package/docs/errors/extract-column-order-uncertain.md +38 -0
- package/docs/errors/extract-limit-blocks.md +35 -0
- package/docs/errors/extract-module-not-loaded.md +37 -0
- package/docs/errors/extract-needs-ocr.md +37 -0
- package/docs/errors/extract-reading-order-ambiguous.md +32 -0
- package/docs/errors/extract-struct-tree-ignored.md +32 -0
- package/docs/errors/extract-table-ambiguous.md +32 -0
- package/docs/errors/extract-table-limit.md +35 -0
- package/docs/errors/extract-untagged-content.md +32 -0
- package/docs/errors/fetch-failed.md +34 -0
- package/docs/errors/flate-truncated.md +34 -0
- package/docs/errors/flow-content-too-large.md +34 -0
- package/docs/errors/flow-keep-broken.md +34 -0
- package/docs/errors/flow-layout-unstable.md +38 -0
- package/docs/errors/font-invalid.md +36 -0
- package/docs/errors/font-mismatch.md +34 -0
- package/docs/errors/font-not-embeddable.md +34 -0
- package/docs/errors/font-not-embedded.md +35 -0
- package/docs/errors/font-not-shapable.md +33 -0
- package/docs/errors/glyph-out-of-range.md +34 -0
- package/docs/errors/glyph-without-unicode.md +37 -0
- package/docs/errors/heading-level-skipped.md +36 -0
- package/docs/errors/image-data-length.md +33 -0
- package/docs/errors/image-too-large.md +32 -0
- package/docs/errors/inline-image-unterminated.md +36 -0
- package/docs/errors/input-unreadable.md +37 -0
- package/docs/errors/instance-reset.md +34 -0
- package/docs/errors/invalid-argument.md +33 -0
- package/docs/errors/invalid-axis-value.md +32 -0
- package/docs/errors/invalid-box.md +34 -0
- package/docs/errors/invalid-color.md +32 -0
- package/docs/errors/invalid-command-line.md +44 -0
- package/docs/errors/invalid-date.md +34 -0
- package/docs/errors/invalid-entry.md +34 -0
- package/docs/errors/invalid-feature.md +32 -0
- package/docs/errors/invalid-font.md +32 -0
- package/docs/errors/invalid-geometry.md +32 -0
- package/docs/errors/invalid-icc-profile.md +32 -0
- package/docs/errors/invalid-image.md +33 -0
- package/docs/errors/invalid-op-log.md +33 -0
- package/docs/errors/invalid-page-label.md +34 -0
- package/docs/errors/invalid-page-labels.md +32 -0
- package/docs/errors/invalid-page-range.md +37 -0
- package/docs/errors/invalid-rotate.md +34 -0
- package/docs/errors/invalid-spans.md +39 -0
- package/docs/errors/invalid-structure-nesting.md +38 -0
- package/docs/errors/invalid-structure.md +34 -0
- package/docs/errors/invalid-text-range.md +33 -0
- package/docs/errors/job-finished.md +34 -0
- package/docs/errors/limit-exceeded.md +38 -0
- package/docs/errors/link-without-contents.md +33 -0
- package/docs/errors/link-without-structure.md +37 -0
- package/docs/errors/markdown-html-ignored.md +33 -0
- package/docs/errors/markdown-image-missing.md +34 -0
- package/docs/errors/missing-alt-text.md +33 -0
- package/docs/errors/missing-glyph.md +33 -0
- package/docs/errors/missing-header.md +37 -0
- package/docs/errors/missing-lang.md +32 -0
- package/docs/errors/missing-root.md +34 -0
- package/docs/errors/missing-title.md +32 -0
- package/docs/errors/model-failed.md +33 -0
- package/docs/errors/model-needs-host.md +40 -0
- package/docs/errors/model-result-unexpected.md +36 -0
- package/docs/errors/name-tree-node-skipped.md +34 -0
- package/docs/errors/nested-transaction.md +34 -0
- package/docs/errors/no-pending-save.md +32 -0
- package/docs/errors/no-transaction.md +33 -0
- package/docs/errors/not-initialized.md +35 -0
- package/docs/errors/not-pdf.md +33 -0
- package/docs/errors/not-rebased.md +35 -0
- package/docs/errors/object-number-out-of-range.md +38 -0
- package/docs/errors/objstm-index-mismatch.md +36 -0
- package/docs/errors/out-of-memory.md +38 -0
- package/docs/errors/outline-cycle.md +34 -0
- package/docs/errors/outline-item-skipped.md +34 -0
- package/docs/errors/output-unwritable.md +37 -0
- package/docs/errors/overwrite-refused.md +36 -0
- package/docs/errors/page-count-mismatch.md +34 -0
- package/docs/errors/page-index-out-of-range.md +34 -0
- package/docs/errors/page-tree-node-skipped.md +35 -0
- package/docs/errors/password-required.md +36 -0
- package/docs/errors/path-outside-roots.md +32 -0
- package/docs/errors/perms-mismatch.md +34 -0
- package/docs/errors/profile-version-conflict.md +35 -0
- package/docs/errors/redaction-not-applied.md +32 -0
- package/docs/errors/reference-cycle.md +35 -0
- package/docs/errors/render-backend-unavailable.md +32 -0
- package/docs/errors/render-failed.md +33 -0
- package/docs/errors/render-too-large.md +36 -0
- package/docs/errors/repaired-base.md +34 -0
- package/docs/errors/requires-rewrite.md +38 -0
- package/docs/errors/revision-index-out-of-range.md +34 -0
- package/docs/errors/saved-not-rebased.md +34 -0
- package/docs/errors/sink-not-empty.md +33 -0
- package/docs/errors/sink.md +31 -0
- package/docs/errors/source-budget-exceeded.md +34 -0
- package/docs/errors/source-changed.md +33 -0
- package/docs/errors/source.md +30 -0
- package/docs/errors/stale-generation.md +34 -0
- package/docs/errors/stream-length-recovered.md +37 -0
- package/docs/errors/strict.md +34 -0
- package/docs/errors/subset-failed.md +31 -0
- package/docs/errors/syntax.md +34 -0
- package/docs/errors/tag-element-not-open.md +41 -0
- package/docs/errors/tag-element-unclosed.md +34 -0
- package/docs/errors/text-in-earlier-revision.md +36 -0
- package/docs/errors/text-module-not-loaded.md +36 -0
- package/docs/errors/text-overflow.md +34 -0
- package/docs/errors/tounicode-conflict.md +32 -0
- package/docs/errors/type.md +34 -0
- package/docs/errors/unexpected-eof.md +34 -0
- package/docs/errors/unknown-axis.md +33 -0
- package/docs/errors/unknown-code.md +36 -0
- package/docs/errors/unknown-destination.md +33 -0
- package/docs/errors/unknown-font.md +33 -0
- package/docs/errors/unknown-option.md +33 -0
- package/docs/errors/unknown-page.md +34 -0
- package/docs/errors/unmapped-glyph.md +36 -0
- package/docs/errors/unnumbered-heading-misused.md +34 -0
- package/docs/errors/unset-object.md +30 -0
- package/docs/errors/unsupported-filter.md +34 -0
- package/docs/errors/unsupported-image.md +33 -0
- package/docs/errors/unsupported-layout-option.md +33 -0
- package/docs/errors/unsupported-security-handler.md +34 -0
- package/docs/errors/unsupported-version.md +32 -0
- package/docs/errors/untagged-content.md +35 -0
- package/docs/errors/warnings-truncated.md +35 -0
- package/docs/errors/wasm-trap.md +37 -0
- package/docs/errors/whole-font-rebuilt.md +30 -0
- package/docs/errors/worker-crashed.md +33 -0
- package/docs/errors/worker-failed.md +32 -0
- package/docs/errors/worker-version-mismatch.md +34 -0
- package/docs/errors/would-invalidate-signatures.md +38 -0
- package/docs/errors/wrong-document.md +33 -0
- package/docs/errors/wrong-password.md +34 -0
- package/docs/errors/xobject-cycle.md +36 -0
- package/docs/errors/xref-repaired.md +36 -0
- package/docs/errors/xrefstm-ignored.md +34 -0
- package/docs/llms.txt +94 -0
- package/docs/pages/concepts/dependencies.md +44 -0
- package/docs/pages/concepts/drawing-pages.md +76 -0
- package/docs/pages/concepts/errors-and-warnings.md +68 -0
- package/docs/pages/concepts/how-lamina-thinks.md +98 -0
- package/docs/pages/concepts/pages-and-coordinates.md +75 -0
- package/docs/pages/guides/accessible-pdfs.md +262 -0
- package/docs/pages/guides/archival-pdfs.md +433 -0
- package/docs/pages/guides/edit-a-pdf.md +143 -0
- package/docs/pages/guides/flowing-pages.md +379 -0
- package/docs/pages/guides/fonts-and-text.md +204 -0
- package/docs/pages/guides/images-and-vectors.md +221 -0
- package/docs/pages/guides/keep-the-page-responsive.md +85 -0
- package/docs/pages/guides/links-outlines-and-metadata.md +224 -0
- package/docs/pages/guides/open-large-files.md +69 -0
- package/docs/pages/guides/password-protected-files.md +70 -0
- package/docs/pages/guides/save-a-pdf.md +154 -0
- package/docs/pages/guides/test-generated-pdfs.md +324 -0
- package/docs/pages/guides/untrusted-files.md +82 -0
- package/docs/pages/index.md +33 -0
- package/docs/pages/install.md +79 -0
- package/docs/pages/quick-start/browser.md +71 -0
- package/docs/pages/quick-start/bun.md +64 -0
- package/docs/pages/quick-start/deno.md +62 -0
- package/docs/pages/quick-start/node.md +65 -0
- package/docs/pages/quick-start/rust.md +62 -0
- package/docs/pages/quick-start/workers.md +139 -0
- package/docs/pages/recipes/cloudflare-worker.md +115 -0
- package/docs/pages/recipes/element-flow.md +248 -0
- package/docs/pages/recipes/extract-markdown.md +152 -0
- package/docs/pages/recipes/generate-then-edit.md +142 -0
- package/docs/pages/recipes/hello.md +101 -0
- package/docs/pages/recipes/images-and-vectors.md +216 -0
- package/docs/pages/recipes/invoice.md +233 -0
- package/docs/pages/recipes/links-and-outlines.md +222 -0
- package/docs/pages/recipes/multilingual.md +196 -0
- package/docs/pages/recipes/open-untrusted.md +65 -0
- package/docs/pages/recipes/pdf-a-archive.md +212 -0
- package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +229 -0
- package/docs/pages/recipes/pdf-ua-report.md +244 -0
- package/docs/pages/recipes/report.md +125 -0
- package/docs/pages/recipes/web-worker-client.md +64 -0
- package/docs/pages/recipes.md +48 -0
- package/docs/pages/reference/benchmarks.md +93 -0
- package/docs/pages/reference/changelog.md +134 -0
- package/docs/pages/reference/codes.md +14 -0
- package/docs/pages/reference/glossary.md +108 -0
- package/docs/pages/reference/rust.md +36 -0
- package/docs/pages/reference/stability.md +59 -0
- package/docs/pages/start/coding-agents.md +45 -0
- package/docs/pages/start/first-pdf.md +81 -0
- package/docs/pages/troubleshooting.md +74 -0
- package/docs/renames.json +86 -0
- package/docs/schemas/error.schema.json +322 -0
- package/docs/schemas/renames.schema.json +29 -0
- package/package.json +7 -3
- package/schemas/error.schema.json +37 -3
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `e` is a trap: as {@link Instance.call} reports one (`wasm-trap`, `out-of-memory`), or
|
|
3
|
+
* raw from a module the package doesn't guard (an extension's PDFium).
|
|
4
|
+
*/
|
|
5
|
+
export declare function isTrap(e: unknown): boolean;
|
|
6
|
+
/** The modules of `@laminapdf/wasm` that `@laminapdf/sdk` loads. */
|
|
7
|
+
export type ModuleName = "base" | "text" | "extract";
|
|
8
|
+
/** The exports every wasm-bindgen module has. */
|
|
9
|
+
interface Exports {
|
|
10
|
+
readonly memory: WebAssembly.Memory;
|
|
11
|
+
}
|
|
12
|
+
/** What `@laminapdf/sdk` needs from a module's glue besides its classes. */
|
|
13
|
+
export interface Glue {
|
|
14
|
+
/** Replaces the instance with a fresh one of the same compiled module. */
|
|
15
|
+
__wbg_reset_state(): void;
|
|
16
|
+
/** Whether an allocation failed in the current instance. */
|
|
17
|
+
allocationFailed(): boolean;
|
|
18
|
+
/** Once the module is loaded: the current instance's exports. */
|
|
19
|
+
initSync(module: never): Exports;
|
|
20
|
+
}
|
|
21
|
+
/** One loaded module: its glue, and which of its instances is current. */
|
|
22
|
+
export declare class Instance<G extends Glue = Glue> {
|
|
23
|
+
#private;
|
|
24
|
+
readonly name: ModuleName;
|
|
25
|
+
readonly glue: G;
|
|
26
|
+
constructor(name: ModuleName, glue: G, exports: Exports);
|
|
27
|
+
/** Which instance is current; a handle keeps the one it was made in. */
|
|
28
|
+
get generation(): number;
|
|
29
|
+
/** The size of the current instance's memory, in bytes. */
|
|
30
|
+
get memoryBytes(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Whether objects made in `generation` can still be freed: it is current, and hasn't trapped
|
|
33
|
+
* (a trapped instance is about to be replaced, and freeing into it could trap again).
|
|
34
|
+
*/
|
|
35
|
+
owns(generation: number): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Throws `instance-reset` unless objects made in `generation` belong to the current instance,
|
|
38
|
+
* after replacing an instance that trapped (so a trap's survivors never reach the fresh one).
|
|
39
|
+
*
|
|
40
|
+
* @param name - what holds the objects, for the message.
|
|
41
|
+
*/
|
|
42
|
+
check(generation: number, name: string): void;
|
|
43
|
+
/** The glue, after replacing an instance that trapped. */
|
|
44
|
+
live(): G;
|
|
45
|
+
/** Replaces the instance with a fresh one: memory back to its initial size, every handle gone. */
|
|
46
|
+
replace(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Runs one call into the glue, after replacing an instance that trapped.
|
|
49
|
+
*
|
|
50
|
+
* @throws {@link LaminaPdfError} for the §1 object the module throws; `wasm-trap` or
|
|
51
|
+
* `out-of-memory` when it traps or overflows the stack (the next call gets a fresh instance).
|
|
52
|
+
*/
|
|
53
|
+
call<T>(f: (glue: G) => T): T;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/internal/instance.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE1C;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD,iDAAiD;AACjD,UAAU,OAAO;IACf,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;CACrC;AAED,4EAA4E;AAC5E,MAAM,WAAW,IAAI;IACnB,0EAA0E;IAC1E,iBAAiB,IAAI,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,gBAAgB,IAAI,OAAO,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AAED,0EAA0E;AAC1E,qBAAa,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI;;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAMjB,YAAY,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAItD;IAED,wEAAwE;IACxE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2DAA2D;IAC3D,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ5C;IAED,0DAA0D;IAC1D,IAAI,IAAI,CAAC,CAGR;IAED,kGAAkG;IAClG,OAAO,IAAI,IAAI,CAMd;IAED;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAO5B;CA2BF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// The WebAssembly instances behind every handle. A trap (a bug, or growth past the memory maximum
|
|
2
|
+
// set when the modules are built) can leave an instance's memory half-written, so the call that
|
|
3
|
+
// trapped throws `wasm-trap` or `out-of-memory`, and the next call first replaces the instance with
|
|
4
|
+
// a fresh one of the same compiled module (wasm-bindgen's `__wbg_reset_state`); `reset()` replaces
|
|
5
|
+
// every one. Each replacement starts a new generation: a handle made in an older one throws
|
|
6
|
+
// `instance-reset` rather than reach into the new instance's memory.
|
|
7
|
+
import { isDiagnostic, isLaminaPdfError, LaminaPdfError, packageError } from "../errors.js";
|
|
8
|
+
/**
|
|
9
|
+
* Whether `e` stopped WebAssembly code mid-call: a trap (`RuntimeError`), or the engine's stack
|
|
10
|
+
* overflowing inside it (V8 and JavaScriptCore throw a `RangeError`, Firefox an `InternalError`).
|
|
11
|
+
* Either leaves the instance's memory half-written.
|
|
12
|
+
*/
|
|
13
|
+
function stoppedMidCall(e) {
|
|
14
|
+
if (e instanceof WebAssembly.RuntimeError)
|
|
15
|
+
return true;
|
|
16
|
+
if (!(e instanceof Error))
|
|
17
|
+
return false;
|
|
18
|
+
return ((e instanceof RangeError && /call stack/i.test(e.message)) ||
|
|
19
|
+
(e.name === "InternalError" && /recursion/i.test(e.message)));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether `e` is a trap: as {@link Instance.call} reports one (`wasm-trap`, `out-of-memory`), or
|
|
23
|
+
* raw from a module the package doesn't guard (an extension's PDFium).
|
|
24
|
+
*/
|
|
25
|
+
export function isTrap(e) {
|
|
26
|
+
return stoppedMidCall(e) || isLaminaPdfError(e, "wasm-trap") || isLaminaPdfError(e, "out-of-memory");
|
|
27
|
+
}
|
|
28
|
+
/** One loaded module: its glue, and which of its instances is current. */
|
|
29
|
+
export class Instance {
|
|
30
|
+
name;
|
|
31
|
+
glue;
|
|
32
|
+
#memory;
|
|
33
|
+
#generation = 0;
|
|
34
|
+
/** Set by a trap: the next call replaces the instance first. */
|
|
35
|
+
#poisoned = false;
|
|
36
|
+
constructor(name, glue, exports) {
|
|
37
|
+
this.name = name;
|
|
38
|
+
this.glue = glue;
|
|
39
|
+
this.#memory = exports.memory;
|
|
40
|
+
}
|
|
41
|
+
/** Which instance is current; a handle keeps the one it was made in. */
|
|
42
|
+
get generation() {
|
|
43
|
+
return this.#generation;
|
|
44
|
+
}
|
|
45
|
+
/** The size of the current instance's memory, in bytes. */
|
|
46
|
+
get memoryBytes() {
|
|
47
|
+
return this.#memory.buffer.byteLength;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether objects made in `generation` can still be freed: it is current, and hasn't trapped
|
|
51
|
+
* (a trapped instance is about to be replaced, and freeing into it could trap again).
|
|
52
|
+
*/
|
|
53
|
+
owns(generation) {
|
|
54
|
+
return generation === this.#generation && !this.#poisoned;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Throws `instance-reset` unless objects made in `generation` belong to the current instance,
|
|
58
|
+
* after replacing an instance that trapped (so a trap's survivors never reach the fresh one).
|
|
59
|
+
*
|
|
60
|
+
* @param name - what holds the objects, for the message.
|
|
61
|
+
*/
|
|
62
|
+
check(generation, name) {
|
|
63
|
+
this.live();
|
|
64
|
+
if (generation !== this.#generation) {
|
|
65
|
+
throw packageError("instance-reset", `the ${name} belongs to a WebAssembly instance that reset() or a trap replaced`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** The glue, after replacing an instance that trapped. */
|
|
69
|
+
live() {
|
|
70
|
+
if (this.#poisoned)
|
|
71
|
+
this.replace();
|
|
72
|
+
return this.glue;
|
|
73
|
+
}
|
|
74
|
+
/** Replaces the instance with a fresh one: memory back to its initial size, every handle gone. */
|
|
75
|
+
replace() {
|
|
76
|
+
this.glue.__wbg_reset_state();
|
|
77
|
+
// The glue's `initSync` returns early with the current exports once the module is loaded.
|
|
78
|
+
this.#memory = this.glue.initSync(undefined).memory;
|
|
79
|
+
this.#generation++;
|
|
80
|
+
this.#poisoned = false;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Runs one call into the glue, after replacing an instance that trapped.
|
|
84
|
+
*
|
|
85
|
+
* @throws {@link LaminaPdfError} for the §1 object the module throws; `wasm-trap` or
|
|
86
|
+
* `out-of-memory` when it traps or overflows the stack (the next call gets a fresh instance).
|
|
87
|
+
*/
|
|
88
|
+
call(f) {
|
|
89
|
+
const glue = this.live();
|
|
90
|
+
try {
|
|
91
|
+
return f(glue);
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
throw this.#wrap(e);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
#wrap(e) {
|
|
98
|
+
if (isDiagnostic(e))
|
|
99
|
+
return new LaminaPdfError(e);
|
|
100
|
+
if (!stoppedMidCall(e))
|
|
101
|
+
return e;
|
|
102
|
+
this.#poisoned = true;
|
|
103
|
+
const module = this.name;
|
|
104
|
+
if (this.#allocationFailed()) {
|
|
105
|
+
return packageError("out-of-memory", `the ${module} module ran out of memory; the next call starts afresh`, {
|
|
106
|
+
data: { module, memoryBytes: this.memoryBytes },
|
|
107
|
+
cause: e,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return packageError("wasm-trap", `the ${module} module trapped; the next call starts afresh`, {
|
|
111
|
+
data: { module },
|
|
112
|
+
cause: e,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/** Whether the trapped instance ran out of memory. Reading its flag is safe: a trap leaves memory as it was. */
|
|
116
|
+
#allocationFailed() {
|
|
117
|
+
try {
|
|
118
|
+
return this.glue.allocationFailed();
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../src/internal/instance.ts"],"names":[],"mappings":"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"}
|
package/dist/source/http.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface HttpRangeOptions {
|
|
|
23
23
|
* with `source-changed`. A server that ignores
|
|
24
24
|
* `Range` (it answers `200`) is read with that one full download.
|
|
25
25
|
*
|
|
26
|
-
* The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range` and
|
|
26
|
+
* The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range, If-Range` and
|
|
27
27
|
* `Access-Control-Expose-Headers: Content-Range, Content-Length, ETag`) and must not compress
|
|
28
28
|
* the response.
|
|
29
29
|
*
|
package/dist/source/http.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// httpRangeSource
|
|
1
|
+
// httpRangeSource: a remote PDF read with HTTP Range requests. Errors never carry the URL
|
|
2
2
|
// (ADR 0026 §4): it may hold tokens.
|
|
3
3
|
import { packageError } from "../errors.js";
|
|
4
4
|
import { WHOLE } from "./range.js";
|
|
@@ -28,7 +28,7 @@ function changed() {
|
|
|
28
28
|
* with `source-changed`. A server that ignores
|
|
29
29
|
* `Range` (it answers `200`) is read with that one full download.
|
|
30
30
|
*
|
|
31
|
-
* The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range` and
|
|
31
|
+
* The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range, If-Range` and
|
|
32
32
|
* `Access-Control-Expose-Headers: Content-Range, Content-Length, ETag`) and must not compress
|
|
33
33
|
* the response.
|
|
34
34
|
*
|
package/dist/source/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/source/http.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/source/http.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AAmBrD,4CAA4C;AAC5C,SAAS,YAAY,CAAC,MAAqB;IACzC,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,MAAM,CAAC,MAA8C,EAAE,MAAe,EAAE,KAAe;IAC9F,MAAM,CAAC,GAAG,YAAY,CAAC,cAAc,EAAE,4CAA4C,EAAE;QACnF,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;KAC7D,CAAC,CAAC;IACH,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,OAAO;IACd,OAAO,YAAY,CAAC,gBAAgB,EAAE,iDAAiD,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAiB,EAAE,OAAO,GAAqB,EAAE;IACrF,wFAAwF;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjG,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,0FAA0F;QAC1F,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;YACpE,CAAC,KAAK,CAAC,EAAE,KAAK;SACA,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACnG,+FAA+F;QAC/F,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;QACvE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;KACvC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,OAAO,CAAC,GAAa,EAAE,KAAY;IAChD,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,KAAK,CAAC;AACd,CAAC;AAKD,SAAS,cAAc,CAAC,GAAiB,EAAE,OAAyB;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE;gBACxB,OAAO;gBACP,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;gBAClF,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC;YACzC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAWD,qFAAqF;AACrF,KAAK,UAAU,SAAS,CAAC,KAAe;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACtF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,SAAS;QACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS;QAC5C,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;KAC9D,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU;IACL,QAAQ,CAAe;IACvB,MAAM,CAAQ;IACvB,yFAAyF;IAChF,QAAQ,CAAqB;IACtC,2FAA2F;IAC3F,gFAAgF;IAChF,MAAM,CAAkC;IAExC,YAAY,OAAqB,EAAE,KAAY;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IACrF,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAc,EAAE,MAA+B;QACxE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,MAAM,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;QACrF,IAAI,GAAG,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,uEAAuE;QACvE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kGAAkG;IAClG,QAAQ,CAAC,GAAa;QACpB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,KAAK,IAAI,CAAC;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;QAC/D,OAAO,YAAY,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,YAAY,CAAC;IAC3F,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,GAAW,EAAE,MAA+B;QAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,UAAU,CAAC,GAAa,EAAE,MAAc,EAAE,GAAW;QACzD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACvE,OAAO,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;;YAChD,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,GAAa;QACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,OAAO,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,sFAAsF;QACtF,+BAA+B;QAC/B,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,YAAY,CAAC,GAAa,EAAE,MAAc,EAAE,GAAW;QAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,GAAG,MAAM;YAAE,MAAM,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/source/range.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { WasmSparseSource } from "@laminapdf/wasm/base";
|
|
2
|
+
import type { BaseGlue } from "../init.js";
|
|
3
|
+
import type { Instance } from "../internal/instance.js";
|
|
2
4
|
/** A byte range of the input. */
|
|
3
5
|
export interface ByteRange {
|
|
4
6
|
/** First byte. */
|
|
@@ -8,7 +10,7 @@ export interface ByteRange {
|
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Random access to a file whose bytes are fetched on demand (a remote file, a `Blob`, a file
|
|
11
|
-
* handle).
|
|
13
|
+
* handle). `@laminapdf/viewer`'s document worker reads a `Blob` through it too.
|
|
12
14
|
*/
|
|
13
15
|
export interface RangeSource {
|
|
14
16
|
/** The file's size in bytes. */
|
|
@@ -50,6 +52,9 @@ export declare const WHOLE: unique symbol;
|
|
|
50
52
|
export declare function wholeBytes(source: RangeSource): Uint8Array | undefined;
|
|
51
53
|
/** @internal What a range document keeps to fetch more: never the password or a signal. */
|
|
52
54
|
export interface RangeState {
|
|
55
|
+
/** The instance the sparse source lives in, and its generation then. */
|
|
56
|
+
readonly instance: Instance<BaseGlue>;
|
|
57
|
+
readonly generation: number;
|
|
53
58
|
readonly sparse: WasmSparseSource;
|
|
54
59
|
readonly source: RangeSource;
|
|
55
60
|
readonly blockSize: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/source/range.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/source/range.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,iCAAiC;AACjC,MAAM,WAAW,SAAS;IACxB,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvG,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B;2CACuC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,iGAAiG;IACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,GAClF,WAAW,CAEb;AAOD,wGAAwG;AACxG,eAAO,MAAM,KAAK,EAAE,OAAO,MAAoC,CAAC;AAEhE,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAGtE;AAED,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAuB/G"}
|
package/dist/source/range.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isLaminaPdfError, packageError } from "../errors.js";
|
|
2
2
|
/**
|
|
3
3
|
* A {@link RangeSource} over a caller's read function (a `Blob.slice`, a file handle, an IPC call).
|
|
4
4
|
*
|
|
@@ -30,7 +30,7 @@ export function wholeBytes(source) {
|
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
32
|
export async function settle(state, call, signal) {
|
|
33
|
-
const { sparse, blockSize, readahead, maxRounds } = state;
|
|
33
|
+
const { instance, generation, sparse, blockSize, readahead, maxRounds } = state;
|
|
34
34
|
let previous;
|
|
35
35
|
for (let round = 0;; round++) {
|
|
36
36
|
let error;
|
|
@@ -46,7 +46,9 @@ export async function settle(state, call, signal) {
|
|
|
46
46
|
const key = JSON.stringify(asked);
|
|
47
47
|
const flat = new Float64Array(asked.flatMap((r) => [r.offset, r.offset + r.length]));
|
|
48
48
|
// The planning is laminapdf-source's (`SparseSource::to_fetch`), shared with the Rust loop.
|
|
49
|
-
|
|
49
|
+
// The fetches await: a reset() or a trap may have replaced the sparse source's instance.
|
|
50
|
+
instance.check(generation, "Document");
|
|
51
|
+
const todo = instance.call(() => sparse.toFetch(flat, blockSize, readahead));
|
|
50
52
|
if (round >= maxRounds || todo.length === 0 || key === previous)
|
|
51
53
|
throw error;
|
|
52
54
|
signal?.throwIfAborted();
|
|
@@ -56,7 +58,7 @@ export async function settle(state, call, signal) {
|
|
|
56
58
|
}
|
|
57
59
|
/** Fetches and supplies the flat `[start, end, …]` ranges of one round. */
|
|
58
60
|
async function fetchRound(state, todo, signal) {
|
|
59
|
-
const { sparse, source } = state;
|
|
61
|
+
const { instance, generation, sparse, source } = state;
|
|
60
62
|
const controller = new AbortController();
|
|
61
63
|
const onAbort = () => controller.abort(signal?.reason);
|
|
62
64
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
@@ -73,8 +75,10 @@ async function fetchRound(state, todo, signal) {
|
|
|
73
75
|
data: { reason: "length", expected: end - start, got: bytes.length },
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
+
if (controller.signal.aborted)
|
|
79
|
+
return;
|
|
80
|
+
instance.check(generation, "Document");
|
|
81
|
+
instance.call(() => sparse.supply(start, bytes));
|
|
78
82
|
})
|
|
79
83
|
.catch((e) => {
|
|
80
84
|
// The first failure wins; the aborts it causes in the other fetches don't replace it.
|
package/dist/source/range.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/source/range.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/source/range.ts"],"names":[],"mappings":"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"}
|
package/dist/text.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface TextGlyph {
|
|
|
19
19
|
readonly quad: GlyphQuad;
|
|
20
20
|
}
|
|
21
21
|
/** A run: glyphs of one font, size, direction and marked content on one baseline, in logical order. */
|
|
22
|
-
export declare class
|
|
22
|
+
export declare class PageTextRun {
|
|
23
23
|
#private;
|
|
24
24
|
/** @internal */
|
|
25
25
|
constructor(page: PageText, run: TextRunJs);
|
|
@@ -49,7 +49,7 @@ export declare class TextRun {
|
|
|
49
49
|
/** Its glyphs, with their quads (built on each call). */
|
|
50
50
|
glyphs(): TextGlyph[];
|
|
51
51
|
}
|
|
52
|
-
/** @internal The raw arrays of a PageText (the worker client sends them
|
|
52
|
+
/** @internal The raw arrays of a PageText (the worker client sends them). */
|
|
53
53
|
export declare let rawOf: (text: PageText) => PageTextJs;
|
|
54
54
|
/** A page's extracted text: lines in reading order, and runs with their glyphs' quads. */
|
|
55
55
|
export declare class PageText {
|
|
@@ -61,7 +61,7 @@ export declare class PageText {
|
|
|
61
61
|
/** The page's text: its lines joined with `\n`. */
|
|
62
62
|
text(): string;
|
|
63
63
|
/** The runs, in content order (made on first use). */
|
|
64
|
-
get runs(): readonly
|
|
64
|
+
get runs(): readonly PageTextRun[];
|
|
65
65
|
/** Glyphs whose Unicode is unknown (shown as U+FFFD). */
|
|
66
66
|
get unmapped(): number;
|
|
67
67
|
/** The number of glyphs. */
|
package/dist/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErE,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,2FAA2F;AAC3F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4HAA4H;AAC5H,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAE9E,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,uGAAuG;AACvG,qBAAa,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErE,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,2FAA2F;AAC3F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4HAA4H;AAC5H,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAE9E,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,uGAAuG;AACvG,qBAAa,WAAW;;IAMtB,gBAAgB;IAChB,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAIzC;IAED,uDAAuD;IACvD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,8CAA8C;IAC9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0CAA0C;IAC1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,wBAAwB;IACxB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,0EAA0E;IAC1E,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,iDAAiD;IACjD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gEAAgE;IAChE,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,8EAA8E;IAC9E,IAAI,MAAM,IAAI;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAGxG;IAED,oGAAoG;IACpG,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAED,yDAAyD;IACzD,MAAM,IAAI,SAAS,EAAE,CAKpB;CACF;AAED,6EAA6E;AAC7E,eAAO,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,CAAC;AAEjD,0FAA0F;AAC1F,qBAAa,QAAQ;;IAUnB,gBAAgB;IAChB,YAAY,GAAG,EAAE,UAAU,EAK1B;IAED,iFAAiF;IACjF,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAE7B;IAED,mDAAmD;IACnD,IAAI,IAAI,MAAM,CAEb;IAED,sDAAsD;IACtD,IAAI,IAAI,IAAI,SAAS,WAAW,EAAE,CAGjC;IAED,yDAAyD;IACzD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAc1B;IAED;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;KAAE,CAE9G;CACF"}
|
package/dist/text.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** A run: glyphs of one font, size, direction and marked content on one baseline, in logical order. */
|
|
2
|
-
export class
|
|
2
|
+
export class PageTextRun {
|
|
3
3
|
#page;
|
|
4
4
|
#run;
|
|
5
5
|
#range;
|
|
@@ -55,7 +55,7 @@ export class TextRun {
|
|
|
55
55
|
return out;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
/** @internal The raw arrays of a PageText (the worker client sends them
|
|
58
|
+
/** @internal The raw arrays of a PageText (the worker client sends them). */
|
|
59
59
|
export let rawOf;
|
|
60
60
|
/** A page's extracted text: lines in reading order, and runs with their glyphs' quads. */
|
|
61
61
|
export class PageText {
|
|
@@ -82,7 +82,7 @@ export class PageText {
|
|
|
82
82
|
}
|
|
83
83
|
/** The runs, in content order (made on first use). */
|
|
84
84
|
get runs() {
|
|
85
|
-
this.#runs ??= this.#raw.runs.map((r) => new
|
|
85
|
+
this.#runs ??= this.#raw.runs.map((r) => new PageTextRun(this, r));
|
|
86
86
|
return this.#runs;
|
|
87
87
|
}
|
|
88
88
|
/** Glyphs whose Unicode is unknown (shown as U+FFFD). */
|
package/dist/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AA6BA,uGAAuG;AACvG,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AfRelationshipInit, AlignInit, AttachmentInit, BuildOptionsInit, DirectionInit, DocumentInfoJs, EditedJs, FitInit, LimitsInit, LineBoxJs, LinkTargetInit, MetadataInit, Op as OpJs, OutlineEntryInit, OverflowInit, PageInfoJs, PageLabelInit, ProfileInit, ProgressJs, RectJs, RenderModeInit, SaveOptionsInit, SaveReportJs, TextLayoutJs, TextRunJs, UndoOutcomeJs, ViewerPreferencesInit } from "@laminapdf/wasm/text";
|
|
1
|
+
import type { AfRelationshipInit, AlignInit, AttachmentInit, BuildOptionsInit, DirectionInit, DocumentInfoJs, EditedJs, FitInit, LimitsInit, LineBoxJs, LinkTargetInit, MetadataInit, Op as OpJs, OutlineEntryInit, OutlineNodeJs, OverflowInit, PageInfoJs, PageLabelInit, ProfileInit, ProgressJs, RectJs, RenderModeInit, SaveOptionsInit, SaveReportJs, StructureKidJs, StructureNodeJs, TargetJs, TargetViewJs, TextLayoutJs, TextRunJs, UndoOutcomeJs, ViewerPreferencesInit } from "@laminapdf/wasm/text";
|
|
2
2
|
/** An edit (ADR 0006 §6: `{ op: "setInfo" | "rotatePage", args }`), as in `fixtures/ops/v1`. */
|
|
3
3
|
export type Op = OpJs;
|
|
4
4
|
/** An op log: `{ v: 1, ops }`. */
|
|
@@ -25,6 +25,13 @@ export type SaveReport = SaveReportJs;
|
|
|
25
25
|
export type PageInfo = PageInfoJs;
|
|
26
26
|
/** The Info dictionary's text entries (document text). */
|
|
27
27
|
export type DocumentInfo = DocumentInfoJs;
|
|
28
|
+
/**
|
|
29
|
+
* An element of a tagged document's structure tree: its standard type (`H1`, `P`, `LI`,
|
|
30
|
+
* `Figure` …), alternate text, language, actual text, and kids in reading order (document text).
|
|
31
|
+
*/
|
|
32
|
+
export type StructureNode = StructureNodeJs;
|
|
33
|
+
/** A kid of a {@link StructureNode}: an element, or marked content `mcid` on page `page`. */
|
|
34
|
+
export type StructureKid = StructureKidJs;
|
|
28
35
|
/** The pages an edit touched. */
|
|
29
36
|
export type Edited = EditedJs;
|
|
30
37
|
/** How an undo or redo went. */
|
|
@@ -45,6 +52,17 @@ export type LinkTarget = LinkTargetInit;
|
|
|
45
52
|
export type Fit = FitInit;
|
|
46
53
|
/** An outline (bookmarks) item with its children. */
|
|
47
54
|
export type OutlineEntry = OutlineEntryInit;
|
|
55
|
+
/** One item of a document's outline (its bookmarks), with where it goes and its children. */
|
|
56
|
+
export type OutlineNode = OutlineNodeJs;
|
|
57
|
+
/** A place in a document: a 0-based page index and how to show it. */
|
|
58
|
+
export type Target = TargetJs;
|
|
59
|
+
/**
|
|
60
|
+
* How a {@link Target} shows its page, in page space (points from the displayed page's top-left,
|
|
61
|
+
* y down), by `kind`: `"at"` puts (`x`, `y`) at the viewport's top-left at `zoom`, `"fit"` fits
|
|
62
|
+
* the page, `"fit-width"` its width from `y`, `"fit-height"` its height from `x`, `"fit-rect"` the
|
|
63
|
+
* rectangle. A coordinate the file leaves unset is absent: keep the current one.
|
|
64
|
+
*/
|
|
65
|
+
export type TargetView = TargetViewJs;
|
|
48
66
|
/** A page-label range, by its first page. */
|
|
49
67
|
export type PageLabel = PageLabelInit;
|
|
50
68
|
/** The document's metadata (Info and XMP). */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,EAAE,IAAI,IAAI,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,gGAAgG;AAChG,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC;AACtB,kCAAkC;AAClC,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;CAC7B;AACD,mEAAmE;AACnE,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAChC,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,0BAA0B;AAC1B,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAC1C,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAClC,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAC1C,iCAAiC;AACjC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC9B,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AACxC,6BAA6B;AAC7B,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAClC,mGAAmG;AACnG,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAC5C,uGAAuG;AACvG,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC;AAClC,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAChD,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAC/C,yCAAyC;AACzC,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC;AACxC,wCAAwC;AACxC,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC;AAC1B,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// The package version the worker handshake compares
|
|
1
|
+
// The package version the worker handshake compares: the client and the worker it starts
|
|
2
2
|
// must be one build. `cargo xtask version sync` writes it from package.json (ADR 0017), and
|
|
3
3
|
// test/version.test.ts checks the two agree.
|
|
4
4
|
/** `@laminapdf/sdk`'s version. */
|
|
5
|
-
export const VERSION = "0.2.0-alpha.
|
|
5
|
+
export const VERSION = "0.2.0-alpha.4";
|
|
6
6
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,4FAA4F;AAC5F,6CAA6C;AAE7C,kCAAkC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC"}
|
package/dist/worker/client.d.ts
CHANGED
|
@@ -73,10 +73,11 @@ export declare class WorkerClient {
|
|
|
73
73
|
/**
|
|
74
74
|
* Opens `bytes` in the worker. They are copied unless `transfer: true` (then the caller's
|
|
75
75
|
* buffer is detached). Opening is one synchronous call there: `signal` drops it if it hasn't
|
|
76
|
-
* started, but can't stop it midway (`terminate()` is the hard stop).
|
|
76
|
+
* started, but can't stop it midway (`terminate()` is the hard stop). An open aborted midway
|
|
77
|
+
* still rejects with `cancelled`, and the worker frees the document it opened.
|
|
77
78
|
*/
|
|
78
79
|
open(bytes: Uint8Array | ArrayBuffer, options?: OpenOptions & CallOptions): Promise<RemoteDocument>;
|
|
79
|
-
/** Opens a remote file by HTTP range requests
|
|
80
|
+
/** Opens a remote file by HTTP range requests: the worker fetches what each call needs. */
|
|
80
81
|
openUrl(url: string, options?: OpenOptions & RemoteHttpOptions & CallOptions): Promise<RemoteDocument>;
|
|
81
82
|
/** Loads the text module in the worker (`loadText()`). */
|
|
82
83
|
loadText(options?: CallOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/client.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
// The page side of `@laminapdf/sdk/worker
|
|
1
|
+
// The page side of `@laminapdf/sdk/worker`: `connect()` starts the worker (the literal
|
|
2
2
|
// `new Worker(new URL(…, import.meta.url))` lets Vite and webpack bundle it), checks the
|
|
3
3
|
// handshake, and returns a WorkerClient whose documents and pages are remote handles: proxies
|
|
4
4
|
// whose methods post typed calls. Calls get monotonically increasing IDs; an aborted call is
|
|
5
5
|
// rejected at once (`cancelled`, with the signal's reason as `cause`) and a `cancel` is posted;
|
|
6
|
-
// a late answer is dropped
|
|
6
|
+
// a late answer is dropped (the worker frees a document it opened when that cancel arrives).
|
|
7
|
+
// Errors come back as ADR 0026 objects and are rebuilt as LaminaPdfError.
|
|
7
8
|
// A worker `error` or `messageerror`, or a trap the worker reports, rejects every pending call
|
|
8
9
|
// with `worker-crashed` and emits `crashed`; `restart()` starts a new worker. No heartbeat.
|
|
9
10
|
import { defined } from "../defined.js";
|
|
@@ -316,14 +317,15 @@ export class WorkerClient {
|
|
|
316
317
|
/**
|
|
317
318
|
* Opens `bytes` in the worker. They are copied unless `transfer: true` (then the caller's
|
|
318
319
|
* buffer is detached). Opening is one synchronous call there: `signal` drops it if it hasn't
|
|
319
|
-
* started, but can't stop it midway (`terminate()` is the hard stop).
|
|
320
|
+
* started, but can't stop it midway (`terminate()` is the hard stop). An open aborted midway
|
|
321
|
+
* still rejects with `cancelled`, and the worker frees the document it opened.
|
|
320
322
|
*/
|
|
321
323
|
async open(bytes, options = {}) {
|
|
322
324
|
const { signal, onProgress, transfer, ...open } = options;
|
|
323
325
|
const ref = await this.call(0, "open", [bytes, open], defined({ signal, onProgress, transfer }));
|
|
324
326
|
return this.#remoteDocument(ref);
|
|
325
327
|
}
|
|
326
|
-
/** Opens a remote file by HTTP range requests
|
|
328
|
+
/** Opens a remote file by HTTP range requests: the worker fetches what each call needs. */
|
|
327
329
|
async openUrl(url, options = {}) {
|
|
328
330
|
const { signal, onProgress, transfer: _, ...open } = options;
|
|
329
331
|
const ref = await this.call(0, "openUrl", [url, open], defined({ signal, onProgress }));
|