@pdfme/common 6.0.6 → 6.1.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/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { Buffer } from "buffer";
3
3
  import * as acorn from "acorn";
4
4
  //#region src/version.ts
5
- var PDFME_VERSION = "6.0.6";
5
+ var PDFME_VERSION = "6.1.0";
6
6
  //#endregion
7
7
  //#region src/constants.ts
8
8
  var PT_TO_PX_RATIO = 1.333;
@@ -105,10 +105,21 @@ z.object({
105
105
  "schemas.text.fit": z.string(),
106
106
  "schemas.text.dynamicFontSize": z.string(),
107
107
  "schemas.text.format": z.string(),
108
+ "schemas.text.plain": z.string(),
109
+ "schemas.text.inlineMarkdown": z.string(),
110
+ "schemas.text.markdownFonts": z.string(),
111
+ "schemas.text.boldFont": z.string(),
112
+ "schemas.text.italicFont": z.string(),
113
+ "schemas.text.boldItalicFont": z.string(),
114
+ "schemas.text.codeFont": z.string(),
115
+ "schemas.text.variantFallback": z.string(),
116
+ "schemas.text.synthetic": z.string(),
117
+ "schemas.text.error": z.string(),
108
118
  "schemas.radius": z.string(),
109
119
  "schemas.mvt.typingInstructions": z.string(),
110
120
  "schemas.mvt.sampleField": z.string(),
111
121
  "schemas.mvt.variablesSampleData": z.string(),
122
+ "schemas.mvt.placeholderDynamicVariable": z.string(),
112
123
  "schemas.barcodes.barColor": z.string(),
113
124
  "schemas.barcodes.includetext": z.string(),
114
125
  "schemas.table.alternateBackgroundColor": z.string(),
@@ -607,11 +618,18 @@ var getDynamicTemplate = async (arg) => {
607
618
  //#endregion
608
619
  //#region src/expression.ts
609
620
  var expressionCache = /* @__PURE__ */ new Map();
610
- var parseDataCache = /* @__PURE__ */ new Map();
621
+ /**
622
+ * Parse each string value in `data` as JSON, falling back to the original
623
+ * string on failure. Previously memoized via a module-level `parseDataCache`
624
+ * Map keyed by `JSON.stringify(data)`, but that was a severe memory leak:
625
+ * - Cache was never evicted.
626
+ * - Key was a multi-MB string whenever `data` included schema.content with
627
+ * base64 (e.g. image schemas) or inputs containing base64 values. Every
628
+ * unique inputs state pinned its own multi-MB key for the app lifetime.
629
+ * Parsing is O(fields) and cheap; removing the cache is strictly a win.
630
+ */
611
631
  var parseData = (data) => {
612
- const key = JSON.stringify(data);
613
- if (parseDataCache.has(key)) return parseDataCache.get(key);
614
- const parsed = Object.fromEntries(Object.entries(data).map(([key, value]) => {
632
+ return Object.fromEntries(Object.entries(data).map(([key, value]) => {
615
633
  if (typeof value === "string") try {
616
634
  return [key, JSON.parse(value)];
617
635
  } catch {
@@ -619,8 +637,6 @@ var parseData = (data) => {
619
637
  }
620
638
  return [key, value];
621
639
  }));
622
- parseDataCache.set(key, parsed);
623
- return parsed;
624
640
  };
625
641
  var padZero = (num) => String(num).padStart(2, "0");
626
642
  var formatDate = (date) => `${date.getFullYear()}/${padZero(date.getMonth() + 1)}/${padZero(date.getDate())}`;