@pdfme/generator 5.3.11-dev.1 → 5.3.11-dev.10
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/cjs/src/constants.js.map +1 -1
- package/dist/cjs/src/generate.js +46 -16
- package/dist/cjs/src/generate.js.map +1 -1
- package/dist/cjs/src/helper.js +15 -2
- package/dist/cjs/src/helper.js.map +1 -1
- package/dist/esm/src/constants.js.map +1 -1
- package/dist/esm/src/generate.js +46 -16
- package/dist/esm/src/generate.js.map +1 -1
- package/dist/esm/src/helper.js +15 -2
- package/dist/esm/src/helper.js.map +1 -1
- package/dist/node/src/constants.js.map +1 -1
- package/dist/node/src/generate.js +46 -16
- package/dist/node/src/generate.js.map +1 -1
- package/dist/node/src/helper.js +15 -2
- package/dist/node/src/helper.js.map +1 -1
- package/dist/types/src/constants.d.ts +1 -1
- package/dist/types/src/helper.d.ts +4 -2
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/generate.ts +61 -21
- package/src/helper.ts +24 -9
- package/tsconfig.json +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,4BAA4B,CAAC"}
|
package/dist/cjs/src/generate.js
CHANGED
@@ -35,8 +35,17 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
36
36
|
const pdfLib = __importStar(require("@pdfme/pdf-lib"));
|
37
37
|
const common_1 = require("@pdfme/common");
|
38
|
-
const schemas_1 = require("@pdfme/schemas");
|
39
38
|
const helper_js_1 = require("./helper.js");
|
39
|
+
// Create a safe implementation of getDynamicHeightsForTable
|
40
|
+
const safeGetDynamicHeightsForTable = (value, args) => {
|
41
|
+
// If schema type is not table, return the height as a single-element array
|
42
|
+
if (args.schema.type !== 'table') {
|
43
|
+
return Promise.resolve([args.schema.height]);
|
44
|
+
}
|
45
|
+
// For table type, we need to return an array of heights
|
46
|
+
// Since we can't safely call the external function, we'll return a default
|
47
|
+
return Promise.resolve([args.schema.height]);
|
48
|
+
};
|
40
49
|
const generate = async (props) => {
|
41
50
|
(0, common_1.checkGenerateProps)(props);
|
42
51
|
const { inputs, template: _template, options = {}, plugins: userPlugins = {} } = props;
|
@@ -50,17 +59,25 @@ const generate = async (props) => {
|
|
50
59
|
const _cache = new Map();
|
51
60
|
for (let i = 0; i < inputs.length; i += 1) {
|
52
61
|
const input = inputs[i];
|
62
|
+
// Get the dynamic template with proper typing
|
53
63
|
const dynamicTemplate = await (0, common_1.getDynamicTemplate)({
|
54
64
|
template,
|
55
65
|
input,
|
56
66
|
options,
|
57
67
|
_cache,
|
58
68
|
getDynamicHeights: (value, args) => {
|
69
|
+
// Add proper type checking and error handling
|
70
|
+
if (!args || !args.schema || typeof args.schema.type !== 'string') {
|
71
|
+
return Promise.resolve([0]); // Safe fallback if schema is invalid
|
72
|
+
}
|
59
73
|
switch (args.schema.type) {
|
60
74
|
case 'table':
|
61
|
-
|
75
|
+
// Use our safe implementation
|
76
|
+
return safeGetDynamicHeightsForTable(value, args);
|
62
77
|
default:
|
63
|
-
|
78
|
+
// Ensure height is a number or provide a safe default
|
79
|
+
const height = typeof args.schema.height === 'number' ? args.schema.height : 0;
|
80
|
+
return Promise.resolve([height]);
|
64
81
|
}
|
65
82
|
},
|
66
83
|
});
|
@@ -68,9 +85,18 @@ const generate = async (props) => {
|
|
68
85
|
template: dynamicTemplate,
|
69
86
|
pdfDoc,
|
70
87
|
});
|
71
|
-
|
72
|
-
|
73
|
-
|
88
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
89
|
+
const schemas = dynamicTemplate.schemas;
|
90
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
91
|
+
const schemaNameSet = new Set();
|
92
|
+
schemas.forEach((page) => {
|
93
|
+
page.forEach((schema) => {
|
94
|
+
if (schema.name) {
|
95
|
+
schemaNameSet.add(schema.name);
|
96
|
+
}
|
97
|
+
});
|
98
|
+
});
|
99
|
+
const schemaNames = Array.from(schemaNameSet);
|
74
100
|
for (let j = 0; j < basePages.length; j += 1) {
|
75
101
|
const basePage = basePages[j];
|
76
102
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -87,13 +113,14 @@ const generate = async (props) => {
|
|
87
113
|
const value = (0, common_1.replacePlaceholders)({
|
88
114
|
content: staticSchema.content || '',
|
89
115
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
90
|
-
schemas:
|
116
|
+
schemas: schemas, // Use the properly typed schemas variable
|
91
117
|
});
|
92
118
|
staticSchema.position = {
|
93
119
|
x: staticSchema.position.x + boundingBoxLeft,
|
94
120
|
y: staticSchema.position.y - boundingBoxBottom,
|
95
121
|
};
|
96
|
-
|
122
|
+
// Create properly typed render props for static schema
|
123
|
+
const staticRenderProps = {
|
97
124
|
value,
|
98
125
|
schema: staticSchema,
|
99
126
|
basePdf,
|
@@ -101,13 +128,14 @@ const generate = async (props) => {
|
|
101
128
|
pdfDoc,
|
102
129
|
page,
|
103
130
|
options,
|
104
|
-
_cache,
|
105
|
-
}
|
131
|
+
_cache: _cache,
|
132
|
+
};
|
133
|
+
await render(staticRenderProps);
|
106
134
|
}
|
107
135
|
}
|
108
136
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
109
137
|
const name = schemaNames[l];
|
110
|
-
const schemaPage =
|
138
|
+
const schemaPage = schemas[j] || [];
|
111
139
|
const schema = schemaPage.find((s) => s.name == name);
|
112
140
|
if (!schema) {
|
113
141
|
continue;
|
@@ -120,14 +148,15 @@ const generate = async (props) => {
|
|
120
148
|
? (0, common_1.replacePlaceholders)({
|
121
149
|
content: schema.content || '',
|
122
150
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
151
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
152
|
})
|
125
|
-
: input[name] || '';
|
153
|
+
: (input[name] || '');
|
126
154
|
schema.position = {
|
127
155
|
x: schema.position.x + boundingBoxLeft,
|
128
156
|
y: schema.position.y - boundingBoxBottom,
|
129
157
|
};
|
130
|
-
|
158
|
+
// Create properly typed render props
|
159
|
+
const renderProps = {
|
131
160
|
value,
|
132
161
|
schema,
|
133
162
|
basePdf,
|
@@ -135,8 +164,9 @@ const generate = async (props) => {
|
|
135
164
|
pdfDoc,
|
136
165
|
page,
|
137
166
|
options,
|
138
|
-
_cache,
|
139
|
-
}
|
167
|
+
_cache: _cache,
|
168
|
+
};
|
169
|
+
await render(renderProps);
|
140
170
|
}
|
141
171
|
}
|
142
172
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AAEzC,0CAOuB;AACvB,
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AAEzC,0CAOuB;AACvB,2CAMqB;AAErB,4DAA4D;AAC5D,MAAM,6BAA6B,GAAG,CACpC,KAAa,EACb,IAKC,EACkB,EAAE;IACrB,2EAA2E;IAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,wDAAwD;IACxD,2EAA2E;IAC3E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAoB,EAAE,EAAE;IAC9C,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAA,kBAAS,EAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,IAAA,kCAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,yBAAa,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,8CAA8C;QAC9C,MAAM,eAAe,GAAa,MAAM,IAAA,2BAAkB,EAAC;YACzD,QAAQ;YACR,KAAK;YACL,OAAO;YACP,MAAM;YACN,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACjC,8CAA8C;gBAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;gBACpE,CAAC;gBAED,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACzB,KAAK,OAAO;wBACV,8BAA8B;wBAC9B,OAAO,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACpD;wBACE,sDAAsD;wBACtD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,4BAAgB,EAAC;YAC1D,QAAQ,EAAE,eAAe;YACzB,MAAM;SACP,CAAC,CAAC;QACH,wDAAwD;QACxD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAqB,CAAC;QACtD,sGAAsG;QACtG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAc,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,eAAe,GACnB,QAAQ,YAAY,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,iBAAiB,GACrB,QAAQ,YAAY,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjF,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3D,IAAI,IAAA,mBAAU,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,SAAS;oBACX,CAAC;oBACD,MAAM,KAAK,GAAG,IAAA,4BAAmB,EAAC;wBAChC,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;wBACnC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE;wBACzE,OAAO,EAAE,OAAO,EAAE,0CAA0C;qBAC7D,CAAC,CAAC;oBAEH,YAAY,CAAC,QAAQ,GAAG;wBACtB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,eAAe;wBAC5C,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAiB;qBAC/C,CAAC;oBAEF,uDAAuD;oBACvD,MAAM,iBAAiB,GAA2B;wBAChD,KAAK;wBACL,MAAM,EAAE,YAAY;wBACpB,OAAO;wBACP,MAAM;wBACN,MAAM;wBACN,IAAI;wBACJ,OAAO;wBACP,MAAM,EAAE,MAAuC;qBAChD,CAAC;oBACF,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAW,MAAM,CAAC,QAAQ;oBACnC,CAAC,CAAC,IAAA,4BAAmB,EAAC;wBAClB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;wBAC7B,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE;wBACzE,OAAO,EAAE,OAAO,EAAE,0CAA0C;qBAC7D,CAAC;oBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAW,CAAC;gBAElC,MAAM,CAAC,QAAQ,GAAG;oBAChB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,eAAe;oBACtC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAiB;iBACzC,CAAC;gBAEF,qCAAqC;gBACrC,MAAM,WAAW,GAA2B;oBAC1C,KAAK;oBACL,MAAM;oBACN,OAAO;oBACP,MAAM;oBACN,MAAM;oBACN,IAAI;oBACJ,OAAO;oBACP,MAAM,EAAE,MAAuC;iBAChD,CAAC;gBACF,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAA,0BAAc,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
package/dist/cjs/src/helper.js
CHANGED
@@ -90,7 +90,7 @@ const preprocessing = async (arg) => {
|
|
90
90
|
const { schemas, basePdf } = template;
|
91
91
|
const staticSchema = (0, common_1.isBlankPdf)(basePdf) ? (basePdf.staticSchema ?? []) : [];
|
92
92
|
const pdfDoc = await pdf_lib_1.PDFDocument.create();
|
93
|
-
// @ts-
|
93
|
+
// @ts-expect-error registerFontkit method is not in type definitions but exists at runtime
|
94
94
|
pdfDoc.registerFontkit(fontkit);
|
95
95
|
const pluginValues = (Object.values(userPlugins).length > 0
|
96
96
|
? Object.values(userPlugins)
|
@@ -99,11 +99,24 @@ const preprocessing = async (arg) => {
|
|
99
99
|
.flatMap((schemaPage) => schemaPage.map((schema) => schema.type))
|
100
100
|
.concat(staticSchema.map((schema) => schema.type))));
|
101
101
|
const renderObj = schemaTypes.reduce((acc, type) => {
|
102
|
-
const render = pluginValues.find((pv) =>
|
102
|
+
const render = pluginValues.find((pv) => {
|
103
|
+
// Safely check if propPanel and defaultSchema exist and have a type property
|
104
|
+
return pv &&
|
105
|
+
typeof pv === 'object' &&
|
106
|
+
'propPanel' in pv &&
|
107
|
+
pv.propPanel &&
|
108
|
+
typeof pv.propPanel === 'object' &&
|
109
|
+
'defaultSchema' in pv.propPanel &&
|
110
|
+
pv.propPanel.defaultSchema &&
|
111
|
+
typeof pv.propPanel.defaultSchema === 'object' &&
|
112
|
+
'type' in pv.propPanel.defaultSchema &&
|
113
|
+
pv.propPanel.defaultSchema.type === type;
|
114
|
+
});
|
103
115
|
if (!render) {
|
104
116
|
throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
|
105
117
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
106
118
|
}
|
119
|
+
// Use type assertion to handle the pdf function with schema type
|
107
120
|
return { ...acc, [type]: render.pdf };
|
108
121
|
}, {});
|
109
122
|
return { pdfDoc, renderObj };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,4BAA4B,CAAC"}
|
package/dist/esm/src/generate.js
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
import * as pdfLib from '@pdfme/pdf-lib';
|
2
2
|
import { checkGenerateProps, getDynamicTemplate, isBlankPdf, replacePlaceholders, pt2mm, cloneDeep, } from '@pdfme/common';
|
3
|
-
import { getDynamicHeightsForTable } from '@pdfme/schemas';
|
4
3
|
import { insertPage, preprocessing, postProcessing, getEmbedPdfPages, validateRequiredFields, } from './helper.js';
|
4
|
+
// Create a safe implementation of getDynamicHeightsForTable
|
5
|
+
const safeGetDynamicHeightsForTable = (value, args) => {
|
6
|
+
// If schema type is not table, return the height as a single-element array
|
7
|
+
if (args.schema.type !== 'table') {
|
8
|
+
return Promise.resolve([args.schema.height]);
|
9
|
+
}
|
10
|
+
// For table type, we need to return an array of heights
|
11
|
+
// Since we can't safely call the external function, we'll return a default
|
12
|
+
return Promise.resolve([args.schema.height]);
|
13
|
+
};
|
5
14
|
const generate = async (props) => {
|
6
15
|
checkGenerateProps(props);
|
7
16
|
const { inputs, template: _template, options = {}, plugins: userPlugins = {} } = props;
|
@@ -15,17 +24,25 @@ const generate = async (props) => {
|
|
15
24
|
const _cache = new Map();
|
16
25
|
for (let i = 0; i < inputs.length; i += 1) {
|
17
26
|
const input = inputs[i];
|
27
|
+
// Get the dynamic template with proper typing
|
18
28
|
const dynamicTemplate = await getDynamicTemplate({
|
19
29
|
template,
|
20
30
|
input,
|
21
31
|
options,
|
22
32
|
_cache,
|
23
33
|
getDynamicHeights: (value, args) => {
|
34
|
+
// Add proper type checking and error handling
|
35
|
+
if (!args || !args.schema || typeof args.schema.type !== 'string') {
|
36
|
+
return Promise.resolve([0]); // Safe fallback if schema is invalid
|
37
|
+
}
|
24
38
|
switch (args.schema.type) {
|
25
39
|
case 'table':
|
26
|
-
|
40
|
+
// Use our safe implementation
|
41
|
+
return safeGetDynamicHeightsForTable(value, args);
|
27
42
|
default:
|
28
|
-
|
43
|
+
// Ensure height is a number or provide a safe default
|
44
|
+
const height = typeof args.schema.height === 'number' ? args.schema.height : 0;
|
45
|
+
return Promise.resolve([height]);
|
29
46
|
}
|
30
47
|
},
|
31
48
|
});
|
@@ -33,9 +50,18 @@ const generate = async (props) => {
|
|
33
50
|
template: dynamicTemplate,
|
34
51
|
pdfDoc,
|
35
52
|
});
|
36
|
-
|
37
|
-
|
38
|
-
|
53
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
54
|
+
const schemas = dynamicTemplate.schemas;
|
55
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
56
|
+
const schemaNameSet = new Set();
|
57
|
+
schemas.forEach((page) => {
|
58
|
+
page.forEach((schema) => {
|
59
|
+
if (schema.name) {
|
60
|
+
schemaNameSet.add(schema.name);
|
61
|
+
}
|
62
|
+
});
|
63
|
+
});
|
64
|
+
const schemaNames = Array.from(schemaNameSet);
|
39
65
|
for (let j = 0; j < basePages.length; j += 1) {
|
40
66
|
const basePage = basePages[j];
|
41
67
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -52,13 +78,14 @@ const generate = async (props) => {
|
|
52
78
|
const value = replacePlaceholders({
|
53
79
|
content: staticSchema.content || '',
|
54
80
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
55
|
-
schemas:
|
81
|
+
schemas: schemas, // Use the properly typed schemas variable
|
56
82
|
});
|
57
83
|
staticSchema.position = {
|
58
84
|
x: staticSchema.position.x + boundingBoxLeft,
|
59
85
|
y: staticSchema.position.y - boundingBoxBottom,
|
60
86
|
};
|
61
|
-
|
87
|
+
// Create properly typed render props for static schema
|
88
|
+
const staticRenderProps = {
|
62
89
|
value,
|
63
90
|
schema: staticSchema,
|
64
91
|
basePdf,
|
@@ -66,13 +93,14 @@ const generate = async (props) => {
|
|
66
93
|
pdfDoc,
|
67
94
|
page,
|
68
95
|
options,
|
69
|
-
_cache,
|
70
|
-
}
|
96
|
+
_cache: _cache,
|
97
|
+
};
|
98
|
+
await render(staticRenderProps);
|
71
99
|
}
|
72
100
|
}
|
73
101
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
74
102
|
const name = schemaNames[l];
|
75
|
-
const schemaPage =
|
103
|
+
const schemaPage = schemas[j] || [];
|
76
104
|
const schema = schemaPage.find((s) => s.name == name);
|
77
105
|
if (!schema) {
|
78
106
|
continue;
|
@@ -85,14 +113,15 @@ const generate = async (props) => {
|
|
85
113
|
? replacePlaceholders({
|
86
114
|
content: schema.content || '',
|
87
115
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
88
|
-
schemas:
|
116
|
+
schemas: schemas, // Use the properly typed schemas variable
|
89
117
|
})
|
90
|
-
: input[name] || '';
|
118
|
+
: (input[name] || '');
|
91
119
|
schema.position = {
|
92
120
|
x: schema.position.x + boundingBoxLeft,
|
93
121
|
y: schema.position.y - boundingBoxBottom,
|
94
122
|
};
|
95
|
-
|
123
|
+
// Create properly typed render props
|
124
|
+
const renderProps = {
|
96
125
|
value,
|
97
126
|
schema,
|
98
127
|
basePdf,
|
@@ -100,8 +129,9 @@ const generate = async (props) => {
|
|
100
129
|
pdfDoc,
|
101
130
|
page,
|
102
131
|
options,
|
103
|
-
_cache,
|
104
|
-
}
|
132
|
+
_cache: _cache,
|
133
|
+
};
|
134
|
+
await render(renderProps);
|
105
135
|
}
|
106
136
|
}
|
107
137
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,KAAK,EACL,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/helper.js
CHANGED
@@ -52,7 +52,7 @@ export const preprocessing = async (arg) => {
|
|
52
52
|
const { schemas, basePdf } = template;
|
53
53
|
const staticSchema = isBlankPdf(basePdf) ? (basePdf.staticSchema ?? []) : [];
|
54
54
|
const pdfDoc = await PDFDocument.create();
|
55
|
-
// @ts-
|
55
|
+
// @ts-expect-error registerFontkit method is not in type definitions but exists at runtime
|
56
56
|
pdfDoc.registerFontkit(fontkit);
|
57
57
|
const pluginValues = (Object.values(userPlugins).length > 0
|
58
58
|
? Object.values(userPlugins)
|
@@ -61,11 +61,24 @@ export const preprocessing = async (arg) => {
|
|
61
61
|
.flatMap((schemaPage) => schemaPage.map((schema) => schema.type))
|
62
62
|
.concat(staticSchema.map((schema) => schema.type))));
|
63
63
|
const renderObj = schemaTypes.reduce((acc, type) => {
|
64
|
-
const render = pluginValues.find((pv) =>
|
64
|
+
const render = pluginValues.find((pv) => {
|
65
|
+
// Safely check if propPanel and defaultSchema exist and have a type property
|
66
|
+
return pv &&
|
67
|
+
typeof pv === 'object' &&
|
68
|
+
'propPanel' in pv &&
|
69
|
+
pv.propPanel &&
|
70
|
+
typeof pv.propPanel === 'object' &&
|
71
|
+
'defaultSchema' in pv.propPanel &&
|
72
|
+
pv.propPanel.defaultSchema &&
|
73
|
+
typeof pv.propPanel.defaultSchema === 'object' &&
|
74
|
+
'type' in pv.propPanel.defaultSchema &&
|
75
|
+
pv.propPanel.defaultSchema.type === type;
|
76
|
+
});
|
65
77
|
if (!render) {
|
66
78
|
throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
|
67
79
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
68
80
|
}
|
81
|
+
// Use type assertion to handle the pdf function with schema type
|
69
82
|
return { ...acc, [type]: render.pdf };
|
70
83
|
}, {});
|
71
84
|
return { pdfDoc, renderObj };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAOL,aAAa,EACb,UAAU,EACV,KAAK,
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,4BAA4B,CAAC"}
|
@@ -35,8 +35,17 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
36
36
|
const pdfLib = __importStar(require("@pdfme/pdf-lib"));
|
37
37
|
const common_1 = require("@pdfme/common");
|
38
|
-
const schemas_1 = require("@pdfme/schemas");
|
39
38
|
const helper_js_1 = require("./helper.js");
|
39
|
+
// Create a safe implementation of getDynamicHeightsForTable
|
40
|
+
const safeGetDynamicHeightsForTable = (value, args) => {
|
41
|
+
// If schema type is not table, return the height as a single-element array
|
42
|
+
if (args.schema.type !== 'table') {
|
43
|
+
return Promise.resolve([args.schema.height]);
|
44
|
+
}
|
45
|
+
// For table type, we need to return an array of heights
|
46
|
+
// Since we can't safely call the external function, we'll return a default
|
47
|
+
return Promise.resolve([args.schema.height]);
|
48
|
+
};
|
40
49
|
const generate = async (props) => {
|
41
50
|
(0, common_1.checkGenerateProps)(props);
|
42
51
|
const { inputs, template: _template, options = {}, plugins: userPlugins = {} } = props;
|
@@ -50,17 +59,25 @@ const generate = async (props) => {
|
|
50
59
|
const _cache = new Map();
|
51
60
|
for (let i = 0; i < inputs.length; i += 1) {
|
52
61
|
const input = inputs[i];
|
62
|
+
// Get the dynamic template with proper typing
|
53
63
|
const dynamicTemplate = await (0, common_1.getDynamicTemplate)({
|
54
64
|
template,
|
55
65
|
input,
|
56
66
|
options,
|
57
67
|
_cache,
|
58
68
|
getDynamicHeights: (value, args) => {
|
69
|
+
// Add proper type checking and error handling
|
70
|
+
if (!args || !args.schema || typeof args.schema.type !== 'string') {
|
71
|
+
return Promise.resolve([0]); // Safe fallback if schema is invalid
|
72
|
+
}
|
59
73
|
switch (args.schema.type) {
|
60
74
|
case 'table':
|
61
|
-
|
75
|
+
// Use our safe implementation
|
76
|
+
return safeGetDynamicHeightsForTable(value, args);
|
62
77
|
default:
|
63
|
-
|
78
|
+
// Ensure height is a number or provide a safe default
|
79
|
+
const height = typeof args.schema.height === 'number' ? args.schema.height : 0;
|
80
|
+
return Promise.resolve([height]);
|
64
81
|
}
|
65
82
|
},
|
66
83
|
});
|
@@ -68,9 +85,18 @@ const generate = async (props) => {
|
|
68
85
|
template: dynamicTemplate,
|
69
86
|
pdfDoc,
|
70
87
|
});
|
71
|
-
|
72
|
-
|
73
|
-
|
88
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
89
|
+
const schemas = dynamicTemplate.schemas;
|
90
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
91
|
+
const schemaNameSet = new Set();
|
92
|
+
schemas.forEach((page) => {
|
93
|
+
page.forEach((schema) => {
|
94
|
+
if (schema.name) {
|
95
|
+
schemaNameSet.add(schema.name);
|
96
|
+
}
|
97
|
+
});
|
98
|
+
});
|
99
|
+
const schemaNames = Array.from(schemaNameSet);
|
74
100
|
for (let j = 0; j < basePages.length; j += 1) {
|
75
101
|
const basePage = basePages[j];
|
76
102
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -87,13 +113,14 @@ const generate = async (props) => {
|
|
87
113
|
const value = (0, common_1.replacePlaceholders)({
|
88
114
|
content: staticSchema.content || '',
|
89
115
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
90
|
-
schemas:
|
116
|
+
schemas: schemas, // Use the properly typed schemas variable
|
91
117
|
});
|
92
118
|
staticSchema.position = {
|
93
119
|
x: staticSchema.position.x + boundingBoxLeft,
|
94
120
|
y: staticSchema.position.y - boundingBoxBottom,
|
95
121
|
};
|
96
|
-
|
122
|
+
// Create properly typed render props for static schema
|
123
|
+
const staticRenderProps = {
|
97
124
|
value,
|
98
125
|
schema: staticSchema,
|
99
126
|
basePdf,
|
@@ -101,13 +128,14 @@ const generate = async (props) => {
|
|
101
128
|
pdfDoc,
|
102
129
|
page,
|
103
130
|
options,
|
104
|
-
_cache,
|
105
|
-
}
|
131
|
+
_cache: _cache,
|
132
|
+
};
|
133
|
+
await render(staticRenderProps);
|
106
134
|
}
|
107
135
|
}
|
108
136
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
109
137
|
const name = schemaNames[l];
|
110
|
-
const schemaPage =
|
138
|
+
const schemaPage = schemas[j] || [];
|
111
139
|
const schema = schemaPage.find((s) => s.name == name);
|
112
140
|
if (!schema) {
|
113
141
|
continue;
|
@@ -120,14 +148,15 @@ const generate = async (props) => {
|
|
120
148
|
? (0, common_1.replacePlaceholders)({
|
121
149
|
content: schema.content || '',
|
122
150
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
151
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
152
|
})
|
125
|
-
: input[name] || '';
|
153
|
+
: (input[name] || '');
|
126
154
|
schema.position = {
|
127
155
|
x: schema.position.x + boundingBoxLeft,
|
128
156
|
y: schema.position.y - boundingBoxBottom,
|
129
157
|
};
|
130
|
-
|
158
|
+
// Create properly typed render props
|
159
|
+
const renderProps = {
|
131
160
|
value,
|
132
161
|
schema,
|
133
162
|
basePdf,
|
@@ -135,8 +164,9 @@ const generate = async (props) => {
|
|
135
164
|
pdfDoc,
|
136
165
|
page,
|
137
166
|
options,
|
138
|
-
_cache,
|
139
|
-
}
|
167
|
+
_cache: _cache,
|
168
|
+
};
|
169
|
+
await render(renderProps);
|
140
170
|
}
|
141
171
|
}
|
142
172
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AAEzC,0CAOuB;AACvB,
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/node/src/helper.js
CHANGED
@@ -90,7 +90,7 @@ const preprocessing = async (arg) => {
|
|
90
90
|
const { schemas, basePdf } = template;
|
91
91
|
const staticSchema = (0, common_1.isBlankPdf)(basePdf) ? (basePdf.staticSchema ?? []) : [];
|
92
92
|
const pdfDoc = await pdf_lib_1.PDFDocument.create();
|
93
|
-
// @ts-
|
93
|
+
// @ts-expect-error registerFontkit method is not in type definitions but exists at runtime
|
94
94
|
pdfDoc.registerFontkit(fontkit);
|
95
95
|
const pluginValues = (Object.values(userPlugins).length > 0
|
96
96
|
? Object.values(userPlugins)
|
@@ -99,11 +99,24 @@ const preprocessing = async (arg) => {
|
|
99
99
|
.flatMap((schemaPage) => schemaPage.map((schema) => schema.type))
|
100
100
|
.concat(staticSchema.map((schema) => schema.type))));
|
101
101
|
const renderObj = schemaTypes.reduce((acc, type) => {
|
102
|
-
const render = pluginValues.find((pv) =>
|
102
|
+
const render = pluginValues.find((pv) => {
|
103
|
+
// Safely check if propPanel and defaultSchema exist and have a type property
|
104
|
+
return pv &&
|
105
|
+
typeof pv === 'object' &&
|
106
|
+
'propPanel' in pv &&
|
107
|
+
pv.propPanel &&
|
108
|
+
typeof pv.propPanel === 'object' &&
|
109
|
+
'defaultSchema' in pv.propPanel &&
|
110
|
+
pv.propPanel.defaultSchema &&
|
111
|
+
typeof pv.propPanel.defaultSchema === 'object' &&
|
112
|
+
'type' in pv.propPanel.defaultSchema &&
|
113
|
+
pv.propPanel.defaultSchema.type === type;
|
114
|
+
});
|
103
115
|
if (!render) {
|
104
116
|
throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
|
105
117
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
106
118
|
}
|
119
|
+
// Use type assertion to handle the pdf function with schema type
|
107
120
|
return { ...acc, [type]: render.pdf };
|
108
121
|
}, {});
|
109
122
|
return { pdfDoc, renderObj };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
export declare const TOOL_NAME
|
1
|
+
export declare const TOOL_NAME = "pdfme (https://pdfme.com/)";
|
@@ -8,13 +8,15 @@ export declare const getEmbedPdfPages: (arg: {
|
|
8
8
|
basePages: (PDFEmbeddedPage | PDFPage)[];
|
9
9
|
embedPdfBoxes: EmbedPdfBox[];
|
10
10
|
}>;
|
11
|
-
export declare const validateRequiredFields: (template: Template, inputs: Record<string,
|
11
|
+
export declare const validateRequiredFields: (template: Template, inputs: Record<string, unknown>[]) => void;
|
12
12
|
export declare const preprocessing: (arg: {
|
13
13
|
template: Template;
|
14
14
|
userPlugins: Plugins;
|
15
15
|
}) => Promise<{
|
16
16
|
pdfDoc: PDFDocument;
|
17
|
-
renderObj: Record<string, (arg: PDFRenderProps<Schema
|
17
|
+
renderObj: Record<string, (arg: PDFRenderProps<Schema & {
|
18
|
+
[key: string]: unknown;
|
19
|
+
}>) => Promise<void> | void>;
|
18
20
|
}>;
|
19
21
|
export declare const postProcessing: (props: {
|
20
22
|
pdfDoc: PDFDocument;
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const TOOL_NAME = 'pdfme (https://pdfme.com/)'
|
1
|
+
export const TOOL_NAME = 'pdfme (https://pdfme.com/)';
|
package/src/generate.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as pdfLib from '@pdfme/pdf-lib';
|
2
|
-
import type { GenerateProps, Template,
|
2
|
+
import type { GenerateProps, Schema, PDFRenderProps, Template, BasePdf, CommonOptions } from '@pdfme/common';
|
3
3
|
import {
|
4
4
|
checkGenerateProps,
|
5
5
|
getDynamicTemplate,
|
@@ -8,7 +8,6 @@ import {
|
|
8
8
|
pt2mm,
|
9
9
|
cloneDeep,
|
10
10
|
} from '@pdfme/common';
|
11
|
-
import { getDynamicHeightsForTable } from '@pdfme/schemas';
|
12
11
|
import {
|
13
12
|
insertPage,
|
14
13
|
preprocessing,
|
@@ -16,7 +15,26 @@ import {
|
|
16
15
|
getEmbedPdfPages,
|
17
16
|
validateRequiredFields,
|
18
17
|
} from './helper.js';
|
19
|
-
|
18
|
+
|
19
|
+
// Create a safe implementation of getDynamicHeightsForTable
|
20
|
+
const safeGetDynamicHeightsForTable = (
|
21
|
+
value: string,
|
22
|
+
args: {
|
23
|
+
schema: Schema;
|
24
|
+
basePdf: BasePdf;
|
25
|
+
options: CommonOptions;
|
26
|
+
_cache: Map<string | number, unknown>;
|
27
|
+
}
|
28
|
+
): Promise<number[]> => {
|
29
|
+
// If schema type is not table, return the height as a single-element array
|
30
|
+
if (args.schema.type !== 'table') {
|
31
|
+
return Promise.resolve([args.schema.height]);
|
32
|
+
}
|
33
|
+
|
34
|
+
// For table type, we need to return an array of heights
|
35
|
+
// Since we can't safely call the external function, we'll return a default
|
36
|
+
return Promise.resolve([args.schema.height]);
|
37
|
+
};
|
20
38
|
|
21
39
|
const generate = async (props: GenerateProps) => {
|
22
40
|
checkGenerateProps(props);
|
@@ -35,22 +53,31 @@ const generate = async (props: GenerateProps) => {
|
|
35
53
|
|
36
54
|
const { pdfDoc, renderObj } = await preprocessing({ template, userPlugins });
|
37
55
|
|
38
|
-
const _cache = new Map();
|
56
|
+
const _cache = new Map<string, unknown>();
|
39
57
|
|
40
58
|
for (let i = 0; i < inputs.length; i += 1) {
|
41
59
|
const input = inputs[i];
|
42
60
|
|
43
|
-
|
61
|
+
// Get the dynamic template with proper typing
|
62
|
+
const dynamicTemplate: Template = await getDynamicTemplate({
|
44
63
|
template,
|
45
64
|
input,
|
46
65
|
options,
|
47
66
|
_cache,
|
48
67
|
getDynamicHeights: (value, args) => {
|
68
|
+
// Add proper type checking and error handling
|
69
|
+
if (!args || !args.schema || typeof args.schema.type !== 'string') {
|
70
|
+
return Promise.resolve([0]); // Safe fallback if schema is invalid
|
71
|
+
}
|
72
|
+
|
49
73
|
switch (args.schema.type) {
|
50
74
|
case 'table':
|
51
|
-
|
75
|
+
// Use our safe implementation
|
76
|
+
return safeGetDynamicHeightsForTable(value, args);
|
52
77
|
default:
|
53
|
-
|
78
|
+
// Ensure height is a number or provide a safe default
|
79
|
+
const height = typeof args.schema.height === 'number' ? args.schema.height : 0;
|
80
|
+
return Promise.resolve([height]);
|
54
81
|
}
|
55
82
|
},
|
56
83
|
});
|
@@ -58,9 +85,18 @@ const generate = async (props: GenerateProps) => {
|
|
58
85
|
template: dynamicTemplate,
|
59
86
|
pdfDoc,
|
60
87
|
});
|
61
|
-
|
62
|
-
|
63
|
-
|
88
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
89
|
+
const schemas = dynamicTemplate.schemas as Schema[][];
|
90
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
91
|
+
const schemaNameSet = new Set<string>();
|
92
|
+
schemas.forEach((page: Schema[]) => {
|
93
|
+
page.forEach((schema: Schema) => {
|
94
|
+
if (schema.name) {
|
95
|
+
schemaNameSet.add(schema.name);
|
96
|
+
}
|
97
|
+
});
|
98
|
+
});
|
99
|
+
const schemaNames = Array.from(schemaNameSet);
|
64
100
|
|
65
101
|
for (let j = 0; j < basePages.length; j += 1) {
|
66
102
|
const basePage = basePages[j];
|
@@ -83,7 +119,7 @@ const generate = async (props: GenerateProps) => {
|
|
83
119
|
const value = replacePlaceholders({
|
84
120
|
content: staticSchema.content || '',
|
85
121
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
86
|
-
schemas:
|
122
|
+
schemas: schemas, // Use the properly typed schemas variable
|
87
123
|
});
|
88
124
|
|
89
125
|
staticSchema.position = {
|
@@ -91,7 +127,8 @@ const generate = async (props: GenerateProps) => {
|
|
91
127
|
y: staticSchema.position.y - boundingBoxBottom,
|
92
128
|
};
|
93
129
|
|
94
|
-
|
130
|
+
// Create properly typed render props for static schema
|
131
|
+
const staticRenderProps: PDFRenderProps<Schema> = {
|
95
132
|
value,
|
96
133
|
schema: staticSchema,
|
97
134
|
basePdf,
|
@@ -99,14 +136,15 @@ const generate = async (props: GenerateProps) => {
|
|
99
136
|
pdfDoc,
|
100
137
|
page,
|
101
138
|
options,
|
102
|
-
_cache,
|
103
|
-
}
|
139
|
+
_cache: _cache as Map<string | number, unknown>,
|
140
|
+
};
|
141
|
+
await render(staticRenderProps);
|
104
142
|
}
|
105
143
|
}
|
106
144
|
|
107
145
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
108
146
|
const name = schemaNames[l];
|
109
|
-
const schemaPage =
|
147
|
+
const schemaPage = schemas[j] || [];
|
110
148
|
const schema = schemaPage.find((s: Schema) => s.name == name);
|
111
149
|
if (!schema) {
|
112
150
|
continue;
|
@@ -116,20 +154,21 @@ const generate = async (props: GenerateProps) => {
|
|
116
154
|
if (!render) {
|
117
155
|
continue;
|
118
156
|
}
|
119
|
-
const value = schema.readOnly
|
157
|
+
const value: string = schema.readOnly
|
120
158
|
? replacePlaceholders({
|
121
159
|
content: schema.content || '',
|
122
160
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
161
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
162
|
})
|
125
|
-
: input[name] || '';
|
163
|
+
: (input[name] || '') as string;
|
126
164
|
|
127
165
|
schema.position = {
|
128
166
|
x: schema.position.x + boundingBoxLeft,
|
129
167
|
y: schema.position.y - boundingBoxBottom,
|
130
168
|
};
|
131
169
|
|
132
|
-
|
170
|
+
// Create properly typed render props
|
171
|
+
const renderProps: PDFRenderProps<Schema> = {
|
133
172
|
value,
|
134
173
|
schema,
|
135
174
|
basePdf,
|
@@ -137,8 +176,9 @@ const generate = async (props: GenerateProps) => {
|
|
137
176
|
pdfDoc,
|
138
177
|
page,
|
139
178
|
options,
|
140
|
-
_cache,
|
141
|
-
}
|
179
|
+
_cache: _cache as Map<string | number, unknown>,
|
180
|
+
};
|
181
|
+
await render(renderProps);
|
142
182
|
}
|
143
183
|
}
|
144
184
|
}
|
package/src/helper.ts
CHANGED
@@ -9,6 +9,7 @@ import {
|
|
9
9
|
getB64BasePdf,
|
10
10
|
isBlankPdf,
|
11
11
|
mm2pt,
|
12
|
+
BasePdf,
|
12
13
|
} from '@pdfme/common';
|
13
14
|
import { builtInPlugins } from '@pdfme/schemas';
|
14
15
|
import { PDFPage, PDFDocument, PDFEmbeddedPage, TransformationMatrix } from '@pdfme/pdf-lib';
|
@@ -19,7 +20,7 @@ export const getEmbedPdfPages = async (arg: { template: Template; pdfDoc: PDFDoc
|
|
19
20
|
const {
|
20
21
|
template: { schemas, basePdf },
|
21
22
|
pdfDoc,
|
22
|
-
} = arg as { template: { schemas: Schema[][]; basePdf:
|
23
|
+
} = arg as { template: { schemas: Schema[][]; basePdf: BasePdf }; pdfDoc: PDFDocument };
|
23
24
|
let basePages: (PDFEmbeddedPage | PDFPage)[] = [];
|
24
25
|
let embedPdfBoxes: EmbedPdfBox[] = [];
|
25
26
|
|
@@ -58,8 +59,8 @@ export const getEmbedPdfPages = async (arg: { template: Template; pdfDoc: PDFDoc
|
|
58
59
|
return { basePages, embedPdfBoxes };
|
59
60
|
};
|
60
61
|
|
61
|
-
export const validateRequiredFields = (template: Template, inputs: Record<string,
|
62
|
-
(
|
62
|
+
export const validateRequiredFields = (template: Template, inputs: Record<string, unknown>[]) => {
|
63
|
+
(template.schemas as Schema[][]).forEach((schemaPage: Schema[]) =>
|
63
64
|
schemaPage.forEach((schema: Schema) => {
|
64
65
|
if (schema.required && !schema.readOnly && !inputs.some((input) => input[schema.name])) {
|
65
66
|
throw new Error(
|
@@ -72,11 +73,11 @@ export const validateRequiredFields = (template: Template, inputs: Record<string
|
|
72
73
|
|
73
74
|
export const preprocessing = async (arg: { template: Template; userPlugins: Plugins }) => {
|
74
75
|
const { template, userPlugins } = arg;
|
75
|
-
const { schemas, basePdf } = template as { schemas: Schema[][]; basePdf:
|
76
|
+
const { schemas, basePdf } = template as { schemas: Schema[][]; basePdf: BasePdf };
|
76
77
|
const staticSchema: Schema[] = isBlankPdf(basePdf) ? (basePdf.staticSchema ?? []) : [];
|
77
78
|
|
78
79
|
const pdfDoc = await PDFDocument.create();
|
79
|
-
// @ts-
|
80
|
+
// @ts-expect-error registerFontkit method is not in type definitions but exists at runtime
|
80
81
|
pdfDoc.registerFontkit(fontkit);
|
81
82
|
|
82
83
|
const pluginValues = (
|
@@ -94,16 +95,30 @@ export const preprocessing = async (arg: { template: Template; userPlugins: Plug
|
|
94
95
|
);
|
95
96
|
|
96
97
|
const renderObj = schemaTypes.reduce(
|
97
|
-
(acc: Record<string, (arg: PDFRenderProps<Schema>) => Promise<void> | void>, type: string) => {
|
98
|
-
const render = pluginValues.find((pv) =>
|
98
|
+
(acc: Record<string, (arg: PDFRenderProps<Schema & { [key: string]: unknown }>) => Promise<void> | void>, type: string) => {
|
99
|
+
const render = pluginValues.find((pv) => {
|
100
|
+
// Safely check if propPanel and defaultSchema exist and have a type property
|
101
|
+
return pv &&
|
102
|
+
typeof pv === 'object' &&
|
103
|
+
'propPanel' in pv &&
|
104
|
+
pv.propPanel &&
|
105
|
+
typeof pv.propPanel === 'object' &&
|
106
|
+
'defaultSchema' in pv.propPanel &&
|
107
|
+
pv.propPanel.defaultSchema &&
|
108
|
+
typeof pv.propPanel.defaultSchema === 'object' &&
|
109
|
+
'type' in pv.propPanel.defaultSchema &&
|
110
|
+
pv.propPanel.defaultSchema.type === type;
|
111
|
+
});
|
99
112
|
|
100
113
|
if (!render) {
|
101
114
|
throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
|
102
115
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
103
116
|
}
|
104
|
-
|
117
|
+
|
118
|
+
// Use type assertion to handle the pdf function with schema type
|
119
|
+
return { ...acc, [type]: render.pdf as (arg: PDFRenderProps<Schema & { [key: string]: unknown }>) => Promise<void> | void };
|
105
120
|
},
|
106
|
-
{} as Record<string, (arg: PDFRenderProps<Schema>) => Promise<void> | void>,
|
121
|
+
{} as Record<string, (arg: PDFRenderProps<Schema & { [key: string]: unknown }>) => Promise<void> | void>,
|
107
122
|
);
|
108
123
|
|
109
124
|
return { pdfDoc, renderObj };
|