pretext-pdf 1.8.0 → 1.9.0
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/CHANGELOG.md +47 -0
- package/dist/allowed-props.d.ts +1 -1
- package/dist/errors.d.ts +37 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +77 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin-types.d.ts +38 -17
- package/dist/plugin-types.d.ts.map +1 -1
- package/dist/plugin-types.js +11 -5
- package/dist/plugin-types.js.map +1 -1
- package/dist/render.d.ts +2 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +8 -1
- package/dist/render.js.map +1 -1
- package/dist/types-public/elements-block.d.ts +10 -4
- package/dist/types-public/elements-block.d.ts.map +1 -1
- package/dist/types-public/render-options.d.ts +0 -1
- package/dist/types-public/render-options.d.ts.map +1 -1
- package/dist/types-public/validation.d.ts +5 -1
- package/dist/types-public/validation.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,53 @@ Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/)
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.9.0] — 2026-05-28
|
|
11
|
+
|
|
12
|
+
Additive release: error categorisation, typed plugin generics, beta graduations, soft deprecations, and a 100 MB output size guard.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **`PretextPdfError.category`** — New readonly field on every thrown error. Groups all 50+
|
|
17
|
+
error codes into 8 high-level categories (`'validation' | 'font' | 'image' | 'layout' |
|
|
18
|
+
'security' | 'dependency' | 'signature' | 'render'`). Lets callers branch on class of
|
|
19
|
+
failure without exhaustive switches. Also exported as the `ErrorCategory` type.
|
|
20
|
+
|
|
21
|
+
- **`LEGACY_ERROR_CODE_MAP`** — `Record<string, ErrorCode>` exported from the main entry
|
|
22
|
+
point. Documents the canonical code for any renamed or aliased error strings. Currently
|
|
23
|
+
maps `FONT_ENCODE_FAIL → FONT_ENCODE_FAIL` (no renames have occurred yet); future renames
|
|
24
|
+
will be recorded here before the old string is removed.
|
|
25
|
+
|
|
26
|
+
- **`PluginDefinition<T>` generic** — `PluginDefinition`, `PluginMeasureResult`, and
|
|
27
|
+
`PluginRenderContext` are now generic over a `T` type parameter (default `unknown`).
|
|
28
|
+
`pluginData` in `measure` and `render` is now typed as `T` instead of `unknown`. Fully
|
|
29
|
+
backward compatible — existing plugins without a type argument continue to compile.
|
|
30
|
+
|
|
31
|
+
- **`MAX_PDF_BYTES` constant** — Exported from the main entry point. Value: `100 * 1024 * 1024`
|
|
32
|
+
(100 MB). `render()` now throws `RENDER_FAILED` if the serialized PDF exceeds this limit,
|
|
33
|
+
preventing runaway memory use from pathological documents.
|
|
34
|
+
|
|
35
|
+
### Changed (promotions — no breaking changes)
|
|
36
|
+
|
|
37
|
+
- **`PluginDefinition`, `PluginMeasureContext`, `PluginMeasureResult`, `PluginRenderContext`**
|
|
38
|
+
— Promoted from `@beta` to `@public`. The plugin API is stable.
|
|
39
|
+
|
|
40
|
+
- **`RenderOptions.plugins`** — `@beta` tag removed. Stable.
|
|
41
|
+
|
|
42
|
+
- **`createFootnoteSet()`** — `@beta` tag removed. Stable.
|
|
43
|
+
|
|
44
|
+
### Deprecated
|
|
45
|
+
|
|
46
|
+
- **`HorizontalRuleElement.spaceAbove`** and **`.spaceBelow`** — Use `spaceBefore` and
|
|
47
|
+
`spaceAfter` instead (consistent with paragraph/heading naming). Both aliases remain
|
|
48
|
+
functional in v1.x. Will be removed in v2.0.
|
|
49
|
+
|
|
50
|
+
- **`ValidationResult.warningCount`** — Always `0` in v1.x (the validator emits errors
|
|
51
|
+
only). Will be removed in v2.0. Use
|
|
52
|
+
`result.errors.filter(e => e.severity === 'warning').length` directly when
|
|
53
|
+
warning-severity items are introduced.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
10
57
|
## [1.8.0] — 2026-05-28
|
|
11
58
|
|
|
12
59
|
Additive release: type narrowing, shared leaf modules, 5 new test coverage points, and a Windows font-path validation bugfix.
|
package/dist/allowed-props.d.ts
CHANGED
|
@@ -103,7 +103,7 @@ export declare const ALLOWED_PROPS: {
|
|
|
103
103
|
readonly 'float-group': Set<"image" | "content" | "type" | "spaceAfter" | "spaceBefore" | "float" | "floatWidth" | "floatGap">;
|
|
104
104
|
};
|
|
105
105
|
export declare const ALLOWED_PROPS_SUB: {
|
|
106
|
-
readonly document: Set<"header" | "footer" | "pageSize" | "margins" | "defaultFont" | "defaultFontSize" | "defaultLineHeight" | "fonts" | "watermark" | "encryption" | "
|
|
106
|
+
readonly document: Set<"header" | "footer" | "signature" | "pageSize" | "margins" | "defaultFont" | "defaultFontSize" | "defaultLineHeight" | "fonts" | "watermark" | "encryption" | "bookmarks" | "hyphenation" | "metadata" | "defaultParagraphStyle" | "sections" | "content" | "flattenForms" | "onImageLoadError" | "onFormFieldError" | "renderDate" | "allowedFileDirs">;
|
|
107
107
|
readonly metadata: Set<"title" | "author" | "subject" | "keywords" | "creator" | "language" | "producer">;
|
|
108
108
|
readonly 'column-def': Set<"align" | "width">;
|
|
109
109
|
readonly 'table-row': Set<"cells" | "isHeader">;
|
package/dist/errors.d.ts
CHANGED
|
@@ -3,12 +3,49 @@
|
|
|
3
3
|
* @public
|
|
4
4
|
*/
|
|
5
5
|
export type ErrorCode = 'VALIDATION_ERROR' | 'FONT_LOAD_FAILED' | 'FONT_EMBED_FAILED' | 'FONT_ENCODE_FAIL' | 'PAGE_TOO_SMALL' | 'CANVAS_UNAVAILABLE' | 'PAGE_LIMIT_EXCEEDED' | 'IMAGE_LOAD_FAILED' | 'IMAGE_FORMAT_MISMATCH' | 'IMAGE_TOO_TALL' | 'TABLE_COLUMN_OVERFLOW' | 'TABLE_COLUMN_TOO_NARROW' | 'MONOSPACE_FONT_REQUIRED' | 'ITALIC_FONT_NOT_LOADED' | 'FONT_NOT_LOADED' | 'COLUMN_WIDTH_TOO_NARROW' | 'COLSPAN_OVERFLOW' | 'UNSUPPORTED_LANGUAGE' | 'SVG_LOAD_FAILED' | 'SVG_RENDER_FAILED' | 'WATERMARK_ROTATION_OUT_OF_RANGE' | 'SVG_INVALID_MARKUP' | 'ASSEMBLY_EMPTY' | 'ASSEMBLY_FAILED' | 'FORM_FIELD_NAME_DUPLICATE' | 'FORM_FLATTEN_FAILED' | 'SIGNATURE_DEP_MISSING' | 'SIGNATURE_P12_LOAD_FAILED' | 'SIGNATURE_FAILED' | 'SIGNATURE_CERT_AND_ENCRYPTION' | 'FOOTNOTE_REF_ORPHANED' | 'FOOTNOTE_DEF_ORPHANED' | 'FOOTNOTE_DEF_DUPLICATE' | 'PAGINATION_FAILED' | 'RENDER_FAILED' | 'PATH_TRAVERSAL' | 'QR_DEP_MISSING' | 'QR_GENERATE_FAILED' | 'BARCODE_DEP_MISSING' | 'BARCODE_GENERATE_FAILED' | 'BARCODE_SYMBOLOGY_INVALID' | 'CHART_DEP_MISSING' | 'CHART_SPEC_INVALID' | 'CHART_RENDER_FAILED' | 'UNKNOWN_PROPERTY' | 'INVALID_INPUT' | 'MARKDOWN_DEP_MISSING' | 'RTL_REORDER_FAILED' | 'CHART_LOAD_FAILED';
|
|
6
|
+
/**
|
|
7
|
+
* High-level category grouping for {@link ErrorCode} values.
|
|
8
|
+
*
|
|
9
|
+
* Lets callers branch on class of failure without exhaustive switches over
|
|
10
|
+
* all 50+ codes. For example:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* catch (err) {
|
|
14
|
+
* if (err instanceof PretextPdfError && err.category === 'dependency') {
|
|
15
|
+
* // optional peer dep missing — inform user to install it
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export type ErrorCategory = 'validation' | 'font' | 'image' | 'layout' | 'security' | 'dependency' | 'signature' | 'render';
|
|
23
|
+
/**
|
|
24
|
+
* Maps legacy / alternate error code spellings to their canonical {@link ErrorCode}.
|
|
25
|
+
*
|
|
26
|
+
* Consumers who switch on `.code` and have older code that predates a rename
|
|
27
|
+
* can use this map as a migration reference. Keys are the old strings;
|
|
28
|
+
* values are the current canonical codes.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { LEGACY_ERROR_CODE_MAP } from 'pretext-pdf'
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare const LEGACY_ERROR_CODE_MAP: Record<string, ErrorCode>;
|
|
6
37
|
/**
|
|
7
38
|
* Thrown by all pretext-pdf operations on failure.
|
|
8
39
|
* @public
|
|
9
40
|
*/
|
|
10
41
|
export declare class PretextPdfError extends Error {
|
|
11
42
|
readonly code: ErrorCode;
|
|
43
|
+
/**
|
|
44
|
+
* High-level category grouping for this error code.
|
|
45
|
+
* Useful for branching on class of failure without exhaustive switches.
|
|
46
|
+
* See {@link ErrorCategory} for the full set of values.
|
|
47
|
+
*/
|
|
48
|
+
readonly category: ErrorCategory;
|
|
12
49
|
constructor(code: ErrorCode, message: string, options?: ErrorOptions);
|
|
13
50
|
}
|
|
14
51
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,wBAAwB,GACxB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,iCAAiC,GACjC,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,GAC3B,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,CAAA;AAEvB;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,wBAAwB,GACxB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,iCAAiC,GACjC,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,GAC3B,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,CAAA;AAEvB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,MAAM,GACN,OAAO,GACP,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,WAAW,GACX,QAAQ,CAAA;AA8DZ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAI3D,CAAA;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;gBAEpB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAUrE"}
|
package/dist/errors.js
CHANGED
|
@@ -1,13 +1,90 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
const CODE_CATEGORY = {
|
|
3
|
+
VALIDATION_ERROR: 'validation',
|
|
4
|
+
UNKNOWN_PROPERTY: 'validation',
|
|
5
|
+
INVALID_INPUT: 'validation',
|
|
6
|
+
FONT_LOAD_FAILED: 'font',
|
|
7
|
+
FONT_EMBED_FAILED: 'font',
|
|
8
|
+
FONT_ENCODE_FAIL: 'font',
|
|
9
|
+
FONT_NOT_LOADED: 'font',
|
|
10
|
+
ITALIC_FONT_NOT_LOADED: 'font',
|
|
11
|
+
MONOSPACE_FONT_REQUIRED: 'font',
|
|
12
|
+
IMAGE_LOAD_FAILED: 'image',
|
|
13
|
+
IMAGE_FORMAT_MISMATCH: 'image',
|
|
14
|
+
IMAGE_TOO_TALL: 'image',
|
|
15
|
+
SVG_LOAD_FAILED: 'image',
|
|
16
|
+
SVG_RENDER_FAILED: 'image',
|
|
17
|
+
SVG_INVALID_MARKUP: 'image',
|
|
18
|
+
WATERMARK_ROTATION_OUT_OF_RANGE: 'image',
|
|
19
|
+
CANVAS_UNAVAILABLE: 'image',
|
|
20
|
+
PAGE_TOO_SMALL: 'layout',
|
|
21
|
+
PAGE_LIMIT_EXCEEDED: 'layout',
|
|
22
|
+
TABLE_COLUMN_OVERFLOW: 'layout',
|
|
23
|
+
TABLE_COLUMN_TOO_NARROW: 'layout',
|
|
24
|
+
COLUMN_WIDTH_TOO_NARROW: 'layout',
|
|
25
|
+
COLSPAN_OVERFLOW: 'layout',
|
|
26
|
+
UNSUPPORTED_LANGUAGE: 'layout',
|
|
27
|
+
PATH_TRAVERSAL: 'security',
|
|
28
|
+
QR_DEP_MISSING: 'dependency',
|
|
29
|
+
BARCODE_DEP_MISSING: 'dependency',
|
|
30
|
+
CHART_DEP_MISSING: 'dependency',
|
|
31
|
+
MARKDOWN_DEP_MISSING: 'dependency',
|
|
32
|
+
SIGNATURE_DEP_MISSING: 'dependency',
|
|
33
|
+
QR_GENERATE_FAILED: 'render',
|
|
34
|
+
BARCODE_GENERATE_FAILED: 'render',
|
|
35
|
+
BARCODE_SYMBOLOGY_INVALID: 'render',
|
|
36
|
+
CHART_SPEC_INVALID: 'render',
|
|
37
|
+
CHART_RENDER_FAILED: 'render',
|
|
38
|
+
CHART_LOAD_FAILED: 'render',
|
|
39
|
+
RTL_REORDER_FAILED: 'render',
|
|
40
|
+
ASSEMBLY_EMPTY: 'render',
|
|
41
|
+
ASSEMBLY_FAILED: 'render',
|
|
42
|
+
FORM_FIELD_NAME_DUPLICATE: 'render',
|
|
43
|
+
FORM_FLATTEN_FAILED: 'render',
|
|
44
|
+
FOOTNOTE_REF_ORPHANED: 'render',
|
|
45
|
+
FOOTNOTE_DEF_ORPHANED: 'render',
|
|
46
|
+
FOOTNOTE_DEF_DUPLICATE: 'render',
|
|
47
|
+
PAGINATION_FAILED: 'render',
|
|
48
|
+
RENDER_FAILED: 'render',
|
|
49
|
+
SIGNATURE_P12_LOAD_FAILED: 'signature',
|
|
50
|
+
SIGNATURE_FAILED: 'signature',
|
|
51
|
+
SIGNATURE_CERT_AND_ENCRYPTION: 'signature',
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Maps legacy / alternate error code spellings to their canonical {@link ErrorCode}.
|
|
55
|
+
*
|
|
56
|
+
* Consumers who switch on `.code` and have older code that predates a rename
|
|
57
|
+
* can use this map as a migration reference. Keys are the old strings;
|
|
58
|
+
* values are the current canonical codes.
|
|
59
|
+
*
|
|
60
|
+
* ```ts
|
|
61
|
+
* import { LEGACY_ERROR_CODE_MAP } from 'pretext-pdf'
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export const LEGACY_ERROR_CODE_MAP = {
|
|
67
|
+
// Historic spelling kept for reference — the canonical code has always been
|
|
68
|
+
// FONT_ENCODE_FAIL (no rename has occurred yet, but future renames live here).
|
|
69
|
+
FONT_ENCODE_FAIL: 'FONT_ENCODE_FAIL',
|
|
70
|
+
};
|
|
1
71
|
/**
|
|
2
72
|
* Thrown by all pretext-pdf operations on failure.
|
|
3
73
|
* @public
|
|
4
74
|
*/
|
|
5
75
|
export class PretextPdfError extends Error {
|
|
6
76
|
code;
|
|
77
|
+
/**
|
|
78
|
+
* High-level category grouping for this error code.
|
|
79
|
+
* Useful for branching on class of failure without exhaustive switches.
|
|
80
|
+
* See {@link ErrorCategory} for the full set of values.
|
|
81
|
+
*/
|
|
82
|
+
category;
|
|
7
83
|
constructor(code, message, options) {
|
|
8
84
|
super(message, options);
|
|
9
85
|
this.name = 'PretextPdfError';
|
|
10
86
|
this.code = code;
|
|
87
|
+
this.category = CODE_CATEGORY[code];
|
|
11
88
|
// Maintains proper stack trace in V8
|
|
12
89
|
if (Error.captureStackTrace) {
|
|
13
90
|
Error.captureStackTrace(this, PretextPdfError);
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAiFA,gBAAgB;AAChB,MAAM,aAAa,GAAqC;IACtD,gBAAgB,EAAgB,YAAY;IAC5C,gBAAgB,EAAgB,YAAY;IAC5C,aAAa,EAAmB,YAAY;IAE5C,gBAAgB,EAAgB,MAAM;IACtC,iBAAiB,EAAe,MAAM;IACtC,gBAAgB,EAAgB,MAAM;IACtC,eAAe,EAAiB,MAAM;IACtC,sBAAsB,EAAU,MAAM;IACtC,uBAAuB,EAAS,MAAM;IAEtC,iBAAiB,EAAe,OAAO;IACvC,qBAAqB,EAAW,OAAO;IACvC,cAAc,EAAkB,OAAO;IACvC,eAAe,EAAiB,OAAO;IACvC,iBAAiB,EAAe,OAAO;IACvC,kBAAkB,EAAc,OAAO;IACvC,+BAA+B,EAAC,OAAO;IACvC,kBAAkB,EAAc,OAAO;IAEvC,cAAc,EAAkB,QAAQ;IACxC,mBAAmB,EAAa,QAAQ;IACxC,qBAAqB,EAAW,QAAQ;IACxC,uBAAuB,EAAS,QAAQ;IACxC,uBAAuB,EAAS,QAAQ;IACxC,gBAAgB,EAAgB,QAAQ;IACxC,oBAAoB,EAAY,QAAQ;IAExC,cAAc,EAAkB,UAAU;IAE1C,cAAc,EAAkB,YAAY;IAC5C,mBAAmB,EAAa,YAAY;IAC5C,iBAAiB,EAAe,YAAY;IAC5C,oBAAoB,EAAY,YAAY;IAC5C,qBAAqB,EAAW,YAAY;IAE5C,kBAAkB,EAAc,QAAQ;IACxC,uBAAuB,EAAS,QAAQ;IACxC,yBAAyB,EAAO,QAAQ;IACxC,kBAAkB,EAAc,QAAQ;IACxC,mBAAmB,EAAa,QAAQ;IACxC,iBAAiB,EAAe,QAAQ;IACxC,kBAAkB,EAAc,QAAQ;IACxC,cAAc,EAAkB,QAAQ;IACxC,eAAe,EAAiB,QAAQ;IACxC,yBAAyB,EAAO,QAAQ;IACxC,mBAAmB,EAAa,QAAQ;IACxC,qBAAqB,EAAW,QAAQ;IACxC,qBAAqB,EAAW,QAAQ;IACxC,sBAAsB,EAAU,QAAQ;IACxC,iBAAiB,EAAe,QAAQ;IACxC,aAAa,EAAmB,QAAQ;IAExC,yBAAyB,EAAO,WAAW;IAC3C,gBAAgB,EAAgB,WAAW;IAC3C,6BAA6B,EAAG,WAAW;CAC5C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,4EAA4E;IAC5E,+EAA+E;IAC/E,gBAAgB,EAAE,kBAAkB;CACrC,CAAA;AAED;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAW;IACxB;;;;OAIG;IACM,QAAQ,CAAe;IAEhC,YAAY,IAAe,EAAE,OAAe,EAAE,OAAsB;QAClE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACnC,qCAAqC;QACrC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PdfDocument, FootnoteDefElement, RenderOptions } from './types.js';
|
|
2
2
|
export type { ValidationError, ValidationResult, Logger, PdfDocument, DocumentMetadata, ContentElement, ParagraphElement, HeadingElement, SpacerElement, TableElement, ColumnDef, TableRow, TableCell, ImageElement, SvgElement, QrCodeElement, BarcodeElement, ChartElement, ListElement, ListItem, HorizontalRuleElement, PageBreakElement, CodeBlockElement, RichParagraphElement, BlockquoteElement, InlineSpan, FontSpec, HeaderFooterSpec, WatermarkSpec, EncryptionSpec, SignatureSpec, BookmarkConfig, HyphenationConfig, Margins, CommentElement, CalloutElement, AnnotationSpec, AssemblyPart, FormFieldElement, TocElement, FootnoteDefElement, FloatGroupElement, RenderOptions, } from './types.js';
|
|
3
|
-
export { PretextPdfError } from './errors.js';
|
|
4
|
-
export type { ErrorCode } from './errors.js';
|
|
3
|
+
export { PretextPdfError, LEGACY_ERROR_CODE_MAP } from './errors.js';
|
|
4
|
+
export type { ErrorCode, ErrorCategory } from './errors.js';
|
|
5
5
|
export type { NamedPageSize } from './page-sizes.js';
|
|
6
6
|
export { createPdf } from './builder.js';
|
|
7
7
|
export type { PdfBuilder, PdfBuilderOptions } from './builder.js';
|
|
@@ -27,7 +27,7 @@ export { validate, validateDocument } from './validate/index.js';
|
|
|
27
27
|
* // \{ type: 'rich-paragraph', spans: [\{ text: 'Text', footnoteRef: fns[0].id \}] \}
|
|
28
28
|
* // ...fns.map(f => f.def)
|
|
29
29
|
* ```
|
|
30
|
-
* @
|
|
30
|
+
* @public
|
|
31
31
|
*/
|
|
32
32
|
export declare function createFootnoteSet(items: Array<{
|
|
33
33
|
text: string;
|
|
@@ -72,6 +72,7 @@ export declare function merge(pdfs: Uint8Array[]): Promise<Uint8Array>;
|
|
|
72
72
|
* @public
|
|
73
73
|
*/
|
|
74
74
|
export declare function assemble(parts: import('./types.js').AssemblyPart[]): Promise<Uint8Array>;
|
|
75
|
+
export { MAX_PDF_BYTES } from './render.js';
|
|
75
76
|
export { ELEMENT_TYPES, type ElementType } from './element-types.js';
|
|
76
77
|
export type { PluginDefinition, PluginMeasureContext, PluginMeasureResult, PluginRenderContext, } from './plugin-types.js';
|
|
77
78
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQhF,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQhF,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACpE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIhE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1F,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAMhD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAO3F;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBnE;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB9F;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIpE,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { PretextPdfError } from './errors.js';
|
|
|
3
3
|
import { runPipeline } from './pipeline.js';
|
|
4
4
|
import { applyPostProcessing } from './post-process.js';
|
|
5
5
|
import { assertVendorIntegrity } from './version-check.js';
|
|
6
|
-
export { PretextPdfError } from './errors.js';
|
|
6
|
+
export { PretextPdfError, LEGACY_ERROR_CODE_MAP } from './errors.js';
|
|
7
7
|
export { createPdf } from './builder.js';
|
|
8
8
|
export { validate, validateDocument } from './validate/index.js';
|
|
9
9
|
let _fnSetCounter = 0;
|
|
@@ -28,7 +28,7 @@ let _fnSetCounter = 0;
|
|
|
28
28
|
* // \{ type: 'rich-paragraph', spans: [\{ text: 'Text', footnoteRef: fns[0].id \}] \}
|
|
29
29
|
* // ...fns.map(f => f.def)
|
|
30
30
|
* ```
|
|
31
|
-
* @
|
|
31
|
+
* @public
|
|
32
32
|
*/
|
|
33
33
|
export function createFootnoteSet(items) {
|
|
34
34
|
const base = _fnSetCounter++;
|
|
@@ -116,6 +116,8 @@ export async function assemble(parts) {
|
|
|
116
116
|
}
|
|
117
117
|
return target.save();
|
|
118
118
|
}
|
|
119
|
+
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
120
|
+
export { MAX_PDF_BYTES } from './render.js';
|
|
119
121
|
// ─── Schema reflection ────────────────────────────────────────────────────────
|
|
120
122
|
export { ELEMENT_TYPES } from './element-types.js';
|
|
121
123
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAiD1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin-types.d.ts
CHANGED
|
@@ -9,11 +9,17 @@
|
|
|
9
9
|
* import { render } from 'pretext-pdf'
|
|
10
10
|
* import type { PluginDefinition } from 'pretext-pdf/plugin-types'
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* interface BoxData { label: string; fillColor: [number, number, number] }
|
|
13
|
+
*
|
|
14
|
+
* const boxPlugin: PluginDefinition<BoxData> = {
|
|
13
15
|
* type: 'highlight-box',
|
|
14
|
-
* measure: async (el, { contentWidth }) => ({
|
|
15
|
-
*
|
|
16
|
-
*
|
|
16
|
+
* measure: async (el, { contentWidth }) => ({
|
|
17
|
+
* height: 50, spaceBefore: 8, spaceAfter: 8,
|
|
18
|
+
* pluginData: { label: String(el.label ?? ''), fillColor: [1, 0.9, 0.8] },
|
|
19
|
+
* }),
|
|
20
|
+
* render: ({ pdfPage, x, y, width, height, pluginData }) => {
|
|
21
|
+
* const [r, g, b] = pluginData!.fillColor
|
|
22
|
+
* pdfPage.drawRectangle({ x, y: y - height, width, height, color: rgb(r, g, b) })
|
|
17
23
|
* },
|
|
18
24
|
* }
|
|
19
25
|
*
|
|
@@ -21,12 +27,12 @@
|
|
|
21
27
|
* ```
|
|
22
28
|
*
|
|
23
29
|
* @module
|
|
24
|
-
* @
|
|
30
|
+
* @public
|
|
25
31
|
*/
|
|
26
32
|
import type { PdfDocument, Margins } from './types-public/index.js';
|
|
27
33
|
/**
|
|
28
34
|
* Context passed to a plugin's `measure` hook.
|
|
29
|
-
* @
|
|
35
|
+
* @public
|
|
30
36
|
*/
|
|
31
37
|
export interface PluginMeasureContext {
|
|
32
38
|
/** Available content width in pt (page width minus left/right margins) */
|
|
@@ -38,9 +44,12 @@ export interface PluginMeasureContext {
|
|
|
38
44
|
}
|
|
39
45
|
/**
|
|
40
46
|
* Return value from a plugin's `measure` hook.
|
|
41
|
-
*
|
|
47
|
+
*
|
|
48
|
+
* @typeParam T - Type of the optional `pluginData` payload carried to `render`.
|
|
49
|
+
* Defaults to `unknown` for backward compatibility with untyped plugins.
|
|
50
|
+
* @public
|
|
42
51
|
*/
|
|
43
|
-
export interface PluginMeasureResult {
|
|
52
|
+
export interface PluginMeasureResult<T = unknown> {
|
|
44
53
|
/** Total block height in pt. Must be a finite non-negative number. */
|
|
45
54
|
height: number;
|
|
46
55
|
/** Space before the block in pt. Defaults to 0. */
|
|
@@ -50,14 +59,19 @@ export interface PluginMeasureResult {
|
|
|
50
59
|
/**
|
|
51
60
|
* Arbitrary plugin-specific data that the pipeline carries untouched from
|
|
52
61
|
* `measure` to `render`. Use this to avoid re-computing expensive values.
|
|
62
|
+
* Typed as `T` — specify the type parameter on `PluginDefinition<T>` to get
|
|
63
|
+
* type-safe access in the `render` hook.
|
|
53
64
|
*/
|
|
54
|
-
pluginData?:
|
|
65
|
+
pluginData?: T;
|
|
55
66
|
}
|
|
56
67
|
/**
|
|
57
68
|
* Context passed to a plugin's `render` hook.
|
|
58
|
-
*
|
|
69
|
+
*
|
|
70
|
+
* @typeParam T - Type of `pluginData` as set by the `measure` hook.
|
|
71
|
+
* Defaults to `unknown` for backward compatibility with untyped plugins.
|
|
72
|
+
* @public
|
|
59
73
|
*/
|
|
60
|
-
export interface PluginRenderContext {
|
|
74
|
+
export interface PluginRenderContext<T = unknown> {
|
|
61
75
|
/** The raw element object from doc.content */
|
|
62
76
|
element: Record<string, unknown>;
|
|
63
77
|
/** The pdf-lib page object to draw onto */
|
|
@@ -101,9 +115,9 @@ export interface PluginRenderContext {
|
|
|
101
115
|
pdfImage?: import('@cantoo/pdf-lib').PDFImage;
|
|
102
116
|
/**
|
|
103
117
|
* Data returned by the plugin's `measure` hook in `PluginMeasureResult.pluginData`.
|
|
104
|
-
*
|
|
118
|
+
* Typed as `T` — will be `undefined` when measure did not set `pluginData`.
|
|
105
119
|
*/
|
|
106
|
-
pluginData?:
|
|
120
|
+
pluginData?: T;
|
|
107
121
|
}
|
|
108
122
|
/**
|
|
109
123
|
* Defines a custom element type that can be used in `doc.content`.
|
|
@@ -114,9 +128,16 @@ export interface PluginRenderContext {
|
|
|
114
128
|
* - `measure` → Stage 3 (required)
|
|
115
129
|
* - `render` → Stage 5 (required)
|
|
116
130
|
*
|
|
117
|
-
* @
|
|
131
|
+
* @typeParam T - Type of the `pluginData` payload passed from `measure` to `render`.
|
|
132
|
+
* Defaults to `unknown` so existing untyped plugins continue to compile without changes.
|
|
133
|
+
* Specify a concrete type to get type-safe `pluginData` in your `render` hook:
|
|
134
|
+
* ```ts
|
|
135
|
+
* const myPlugin: PluginDefinition<{ label: string }> = { ... }
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @public
|
|
118
139
|
*/
|
|
119
|
-
export interface PluginDefinition {
|
|
140
|
+
export interface PluginDefinition<T = unknown> {
|
|
120
141
|
/**
|
|
121
142
|
* Unique type string. Must match the `type` field of the custom element objects
|
|
122
143
|
* in `doc.content`. Must not collide with any built-in type.
|
|
@@ -168,7 +189,7 @@ export interface PluginDefinition {
|
|
|
168
189
|
* @param element - The raw element object
|
|
169
190
|
* @param context - Content dimensions and the full document
|
|
170
191
|
*/
|
|
171
|
-
measure: (element: Record<string, unknown>, context: PluginMeasureContext) => Promise<PluginMeasureResult
|
|
192
|
+
measure: (element: Record<string, unknown>, context: PluginMeasureContext) => Promise<PluginMeasureResult<T>>;
|
|
172
193
|
/**
|
|
173
194
|
* Render hook — Stage 5. **Required.**
|
|
174
195
|
*
|
|
@@ -180,6 +201,6 @@ export interface PluginDefinition {
|
|
|
180
201
|
*
|
|
181
202
|
* @param context - Page, geometry, embedded image, and plugin data
|
|
182
203
|
*/
|
|
183
|
-
render: (context: PluginRenderContext) => void;
|
|
204
|
+
render: (context: PluginRenderContext<T>) => void;
|
|
184
205
|
}
|
|
185
206
|
//# sourceMappingURL=plugin-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-types.d.ts","sourceRoot":"","sources":["../src/plugin-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-types.d.ts","sourceRoot":"","sources":["../src/plugin-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAInE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAA;IACrB,uCAAuC;IACvC,GAAG,EAAE,WAAW,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,CAAA;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,iBAAiB,EAAE,OAAO,CAAA;IAC1C,wDAAwD;IACxD,MAAM,EAAE,OAAO,iBAAiB,EAAE,WAAW,CAAA;IAC7C,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,mEAAmE;IACnE,CAAC,EAAE,MAAM,CAAA;IACT;;;;;;;;;;;;;;;;OAgBG;IACH,CAAC,EAAE,MAAM,CAAA;IACT,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,iBAAiB,EAAE,QAAQ,CAAA;IAC7C;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,CAAA;CACf;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IAE9D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,OAAO,iBAAiB,EAAE,WAAW,EAC7C,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;IAE5D;;;;;;;;;OASG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpC;;;;;;;;;;OAUG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;CAClD"}
|
package/dist/plugin-types.js
CHANGED
|
@@ -9,11 +9,17 @@
|
|
|
9
9
|
* import { render } from 'pretext-pdf'
|
|
10
10
|
* import type { PluginDefinition } from 'pretext-pdf/plugin-types'
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* interface BoxData { label: string; fillColor: [number, number, number] }
|
|
13
|
+
*
|
|
14
|
+
* const boxPlugin: PluginDefinition<BoxData> = {
|
|
13
15
|
* type: 'highlight-box',
|
|
14
|
-
* measure: async (el, { contentWidth }) => ({
|
|
15
|
-
*
|
|
16
|
-
*
|
|
16
|
+
* measure: async (el, { contentWidth }) => ({
|
|
17
|
+
* height: 50, spaceBefore: 8, spaceAfter: 8,
|
|
18
|
+
* pluginData: { label: String(el.label ?? ''), fillColor: [1, 0.9, 0.8] },
|
|
19
|
+
* }),
|
|
20
|
+
* render: ({ pdfPage, x, y, width, height, pluginData }) => {
|
|
21
|
+
* const [r, g, b] = pluginData!.fillColor
|
|
22
|
+
* pdfPage.drawRectangle({ x, y: y - height, width, height, color: rgb(r, g, b) })
|
|
17
23
|
* },
|
|
18
24
|
* }
|
|
19
25
|
*
|
|
@@ -21,7 +27,7 @@
|
|
|
21
27
|
* ```
|
|
22
28
|
*
|
|
23
29
|
* @module
|
|
24
|
-
* @
|
|
30
|
+
* @public
|
|
25
31
|
*/
|
|
26
32
|
export {};
|
|
27
33
|
//# sourceMappingURL=plugin-types.js.map
|
package/dist/plugin-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-types.js","sourceRoot":"","sources":["../src/plugin-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-types.js","sourceRoot":"","sources":["../src/plugin-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
|
package/dist/render.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { PDFDocument } from '@cantoo/pdf-lib';
|
|
2
2
|
import type { PdfDocument, Logger } from './types.js';
|
|
3
|
+
/** Maximum allowed PDF output size in bytes (100 MB). */
|
|
4
|
+
export declare const MAX_PDF_BYTES: number;
|
|
3
5
|
import type { PaginatedDocument, FontMap, ImageMap, PageGeometry } from './types-internal.js';
|
|
4
6
|
import type { PluginDefinition } from './plugin-types.js';
|
|
5
7
|
/**
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EACV,WAAW,EAAE,MAAM,EACpB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EACV,WAAW,EAAE,MAAM,EACpB,MAAM,YAAY,CAAA;AAEnB,yDAAyD;AACzD,eAAO,MAAM,aAAa,QAAoB,CAAA;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAChC,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AA2BzD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CA8GrB"}
|
package/dist/render.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { PDFDocument } from '@cantoo/pdf-lib';
|
|
2
|
+
/** Maximum allowed PDF output size in bytes (100 MB). */
|
|
3
|
+
export const MAX_PDF_BYTES = 100 * 1024 * 1024;
|
|
2
4
|
import { PretextPdfError } from './errors.js';
|
|
3
5
|
import { findPlugin, runPluginRender } from './plugin-registry.js';
|
|
4
6
|
import { renderTextBlock, renderListItem, renderTable, renderImage, renderFloatBlock, renderFloatGroup, renderHR, renderCodeBlock, renderRichParagraph, renderBlockquote, renderCallout, renderWatermark, renderFootnoteZone, renderHeaderFooter, } from './render-blocks/index.js';
|
|
@@ -107,7 +109,12 @@ export async function renderDocument(paginatedDoc, doc, fontMap, imageMap, pdfDo
|
|
|
107
109
|
// so the non-fatal path is observable during troubleshooting.
|
|
108
110
|
warn(`[pretext-pdf] getForm() failed (non-fatal, no form fields expected): ${e instanceof Error ? e.message : String(e)}`);
|
|
109
111
|
}
|
|
110
|
-
|
|
112
|
+
const bytes = await pdfDoc.save({ useObjectStreams: false });
|
|
113
|
+
if (bytes.length > MAX_PDF_BYTES) {
|
|
114
|
+
throw new PretextPdfError('RENDER_FAILED', `PDF output size (${(bytes.length / 1024 / 1024).toFixed(1)} MB) exceeds the 100 MB limit. ` +
|
|
115
|
+
'Reduce image resolution, count, or document length.');
|
|
116
|
+
}
|
|
117
|
+
return bytes;
|
|
111
118
|
}
|
|
112
119
|
// ─── Block routing ────────────────────────────────────────────────────────────
|
|
113
120
|
function renderBlock(pdfPage, pagedBlock, geo, fontMap, imageMap, pdfDoc, footnoteNumbering, plugins) {
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAK7C,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AAK9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAA+B,EAC/B,GAAgB,EAChB,OAAgB,EAChB,QAAkB,EAClB,MAAmB,EACnB,GAAiB,EACjB,OAA4B,EAC5B,MAAe;IAEf,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,IAAI,MAAM,EAAE,IAAI;QAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAErC,sDAAsD;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IAC1H,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IAC3I,MAAM,UAAU,GAAuC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACxE,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM;QAAE,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEjE,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,GAAG,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;QAE1C,oCAAoC;QACpC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;QAErD,wBAAwB;QACxB,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAA;YAChD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;gBAC3G,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,OAAgD,CAAA;oBAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;oBAC1F,IAAI,MAAM,KAAK,OAAO;wBAAE,MAAM,CAAC,CAAA;oBAC/B,IAAI,CAAC,6BAA6B,IAAI,CAAC,IAAI,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC3F,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YAC3G,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC;gBACH,kBAAkB,CAChB,OAAO,EACP,YAAY,CAAC,aAAa,EAC1B,YAAY,CAAC,kBAAkB,IAAI,CAAC,EACpC,OAAO,EACP,GAAG,EACH,GAAG,CACJ,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,eAAe;oBAAE,MAAM,CAAC,CAAA;gBACzC,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACrG,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC5B,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iEAAiE;IACjE,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9C,0BAA0B,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IACjE,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/E,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;gBAC1C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,iEAAiE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACrH,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,CAAA;gBAChB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,+BAA+B,CAAC,CAAA;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,eAAe;YAAE,MAAM,CAAC,CAAA;QACzC,yEAAyE;QACzE,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,CAAC,wEAAwE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;YAC5F,qDAAqD,CACtD,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAClB,OAA2C,EAC3C,UAAsB,EACtB,GAAiB,EACjB,OAAgB,EAChB,QAAkB,EAClB,MAAmB,EACnB,iBAAuC,EACvC,OAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA;IAEjC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAM,CAAC,mBAAmB;QAE5B,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC1D,OAAM;QAER,KAAK,MAAM;YACT,4DAA4D;YAC5D,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC/B,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACnD,CAAC;YACD,OAAM;QAER,KAAK,OAAO;YACV,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAC9C,OAAM;QAER,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACvE,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;YACjD,CAAC;YACD,OAAM;QAER,KAAK,IAAI;YACP,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;YAClC,OAAM;QAER,KAAK,YAAY;YACf,OAAM,CAAC,wDAAwD;QAEjE,KAAK,MAAM;YACT,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAClD,OAAM;QAER,KAAK,gBAAgB;YACnB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;YACjF,OAAM;QAER,KAAK,YAAY;YACf,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACnD,OAAM;QAER,KAAK,SAAS;YACZ,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAChD,OAAM;QAER,KAAK,KAAK;YACR,OAAM,CAAC,+FAA+F;QAExG,KAAK,WAAW;YACd,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACjD,OAAM;QAER,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,SAAS,GAAG,OAA8C,CAAA;YAChE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,CAAA;YACrE,kFAAkF;YAClF,+EAA+E;YAC/E,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAA;YAClC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACvI,OAAM;QACR,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;YAC/E,OAAM;QACR,CAAC;QAED,KAAK,aAAa;YAChB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACrE,OAAM;QAER,KAAK,cAAc;YACjB,OAAM,CAAC,gEAAgE;QAEzE,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAI,OAA6B,CAAC,IAAI,CAAA;YACvD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC7E,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;gBAC1B,mEAAmE;gBACnE,kFAAkF;gBAClF,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,CAAA;gBAC5E,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,WAAW,CAAA;gBACtC,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAC5E,OAAM;YACR,CAAC;YACD,6EAA6E;YAC7E,wEAAwE;YACxE,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,wCAAwC,MAAM,CAAC,WAAW,CAAC,wDAAwD,CACpH,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -124,13 +124,19 @@ export interface HorizontalRuleElement {
|
|
|
124
124
|
thickness?: number;
|
|
125
125
|
/** Line color (hex). Default: '#cccccc' */
|
|
126
126
|
color?: string;
|
|
127
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Space above line in pt. Default: 12.
|
|
129
|
+
* @deprecated Use `spaceBefore` instead — consistent with paragraph/heading naming. Removed in v2.0.
|
|
130
|
+
*/
|
|
128
131
|
spaceAbove?: number;
|
|
129
|
-
/**
|
|
132
|
+
/**
|
|
133
|
+
* Space below line in pt. Default: 12.
|
|
134
|
+
* @deprecated Use `spaceAfter` instead — consistent with paragraph/heading naming. Removed in v2.0.
|
|
135
|
+
*/
|
|
130
136
|
spaceBelow?: number;
|
|
131
|
-
/**
|
|
137
|
+
/** Space above line in pt. Default: 12. */
|
|
132
138
|
spaceBefore?: number;
|
|
133
|
-
/**
|
|
139
|
+
/** Space below line in pt. Default: 12. */
|
|
134
140
|
spaceAfter?: number;
|
|
135
141
|
}
|
|
136
142
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements-block.d.ts","sourceRoot":"","sources":["../../src/types-public/elements-block.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"elements-block.d.ts","sourceRoot":"","sources":["../../src/types-public/elements-block.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/types-public/render-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C,cAAc;AACd,MAAM,MAAM,aAAa,GAAG;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB
|
|
1
|
+
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/types-public/render-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C,cAAc;AACd,MAAM,MAAM,aAAa,GAAG;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,EAAE,CAAA;IACzD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
|
|
@@ -31,7 +31,11 @@ export interface ValidationResult {
|
|
|
31
31
|
errors: ValidationError[];
|
|
32
32
|
/** Total number of validation issues. May exceed errors.length when errors are capped at 20. */
|
|
33
33
|
errorCount: number;
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* Warning-severity issue count. Always 0 in v1.x — the validator currently emits errors only.
|
|
36
|
+
* @deprecated Will be removed in v2.0. Use `errors.filter(e => e.severity === 'warning').length`
|
|
37
|
+
* directly when warning-severity items are introduced.
|
|
38
|
+
*/
|
|
35
39
|
warningCount: number;
|
|
36
40
|
}
|
|
37
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types-public/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,kCAAkC;IAClC,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,KAAK,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAA;IAClB
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types-public/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,kCAAkC;IAClC,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,KAAK,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAChD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pretext-pdf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Generate PDFs from JSON — declarative, serverless, no Chromium. TypeScript-first with professional typography. Ideal for invoices, reports, and AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pdf",
|