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 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.
@@ -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" | "signature" | "bookmarks" | "hyphenation" | "metadata" | "defaultParagraphStyle" | "sections" | "content" | "flattenForms" | "onImageLoadError" | "onFormFieldError" | "renderDate" | "allowedFileDirs">;
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
@@ -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;gBAEZ,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CASrE"}
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);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAuDA;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAW;IAExB,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,qCAAqC;QACrC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;CACF"}
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
- * @beta
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
@@ -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;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,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,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIpE,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,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
- * @beta
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,17 @@
9
9
  * import { render } from 'pretext-pdf'
10
10
  * import type { PluginDefinition } from 'pretext-pdf/plugin-types'
11
11
  *
12
- * const boxPlugin: PluginDefinition = {
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 }) => ({ height: 50, spaceBefore: 8, spaceAfter: 8 }),
15
- * render: ({ pdfPage, x, y, width, height }) => {
16
- * pdfPage.drawRectangle({ x, y: y - height, width, height, color: rgb(1, 0.9, 0.8) })
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
- * @beta
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
- * @beta
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
- * @beta
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?: unknown;
65
+ pluginData?: T;
55
66
  }
56
67
  /**
57
68
  * Context passed to a plugin's `render` hook.
58
- * @beta
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
- * Undefined when measure did not set pluginData.
118
+ * Typed as `T` — will be `undefined` when measure did not set `pluginData`.
105
119
  */
106
- pluginData?: unknown;
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
- * @beta
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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,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,OAAO,CAAA;CACrB;AAID;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;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,CAAA;IAEjC;;;;;;;;;;OAUG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAC/C"}
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"}
@@ -9,11 +9,17 @@
9
9
  * import { render } from 'pretext-pdf'
10
10
  * import type { PluginDefinition } from 'pretext-pdf/plugin-types'
11
11
  *
12
- * const boxPlugin: PluginDefinition = {
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 }) => ({ height: 50, spaceBefore: 8, spaceAfter: 8 }),
15
- * render: ({ pdfPage, x, y, width, height }) => {
16
- * pdfPage.drawRectangle({ x, y: y - height, width, height, color: rgb(1, 0.9, 0.8) })
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
- * @beta
30
+ * @public
25
31
  */
26
32
  export {};
27
33
  //# sourceMappingURL=plugin-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-types.js","sourceRoot":"","sources":["../src/plugin-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
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
  /**
@@ -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;AACnB,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,CAsGrB"}
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
- return pdfDoc.save({ useObjectStreams: false });
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -124,13 +124,19 @@ export interface HorizontalRuleElement {
124
124
  thickness?: number;
125
125
  /** Line color (hex). Default: '#cccccc' */
126
126
  color?: string;
127
- /** Space above line in pt. Default: 12. Alias: spaceBefore */
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
- /** Space below line in pt. Default: 12. Alias: spaceAfter */
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
- /** Alias for spaceAbove consistent with paragraph/heading naming */
137
+ /** Space above line in pt. Default: 12. */
132
138
  spaceBefore?: number;
133
- /** Alias for spaceAfter consistent with paragraph/heading naming */
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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"}
@@ -9,7 +9,6 @@ export type RenderOptions = {
9
9
  /**
10
10
  * Plugin definitions for custom element types.
11
11
  * Each plugin handles one `type` string across all 4 pipeline stages.
12
- * @beta
13
12
  */
14
13
  plugins?: import('../plugin-types.js').PluginDefinition[];
15
14
  /**
@@ -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;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,EAAE,CAAA;IACzD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
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
- /** Warning-severity issue count. Reserved for future use — the validator currently emits only errors, so this is always 0. */
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,8HAA8H;IAC9H,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"}
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.8.0",
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",