@pdfme/common 6.0.6-dev.9 → 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 +23 -7
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +11 -0
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
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
|
|
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
|
-
|
|
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
|
-
|
|
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())}`;
|