@pdfme/generator 5.3.11 → 5.3.12-dev.1
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 +25 -11
- package/dist/cjs/src/generate.js.map +1 -1
- package/dist/cjs/src/helper.js +19 -3
- package/dist/cjs/src/helper.js.map +1 -1
- package/dist/esm/src/constants.js.map +1 -1
- package/dist/esm/src/generate.js +25 -11
- package/dist/esm/src/generate.js.map +1 -1
- package/dist/esm/src/helper.js +19 -3
- package/dist/esm/src/helper.js.map +1 -1
- package/dist/node/src/constants.js.map +1 -1
- package/dist/node/src/generate.js +25 -11
- package/dist/node/src/generate.js.map +1 -1
- package/dist/node/src/helper.js +19 -3
- 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 +2 -2
- package/src/constants.ts +1 -1
- package/src/generate.ts +30 -16
- package/src/helper.ts +40 -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
@@ -50,6 +50,7 @@ const generate = async (props) => {
|
|
50
50
|
const _cache = new Map();
|
51
51
|
for (let i = 0; i < inputs.length; i += 1) {
|
52
52
|
const input = inputs[i];
|
53
|
+
// Get the dynamic template with proper typing
|
53
54
|
const dynamicTemplate = await (0, common_1.getDynamicTemplate)({
|
54
55
|
template,
|
55
56
|
input,
|
@@ -68,9 +69,18 @@ const generate = async (props) => {
|
|
68
69
|
template: dynamicTemplate,
|
69
70
|
pdfDoc,
|
70
71
|
});
|
71
|
-
|
72
|
-
|
73
|
-
|
72
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
73
|
+
const schemas = dynamicTemplate.schemas;
|
74
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
75
|
+
const schemaNameSet = new Set();
|
76
|
+
schemas.forEach((page) => {
|
77
|
+
page.forEach((schema) => {
|
78
|
+
if (schema.name) {
|
79
|
+
schemaNameSet.add(schema.name);
|
80
|
+
}
|
81
|
+
});
|
82
|
+
});
|
83
|
+
const schemaNames = Array.from(schemaNameSet);
|
74
84
|
for (let j = 0; j < basePages.length; j += 1) {
|
75
85
|
const basePage = basePages[j];
|
76
86
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -87,13 +97,14 @@ const generate = async (props) => {
|
|
87
97
|
const value = (0, common_1.replacePlaceholders)({
|
88
98
|
content: staticSchema.content || '',
|
89
99
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
90
|
-
schemas:
|
100
|
+
schemas: schemas, // Use the properly typed schemas variable
|
91
101
|
});
|
92
102
|
staticSchema.position = {
|
93
103
|
x: staticSchema.position.x + boundingBoxLeft,
|
94
104
|
y: staticSchema.position.y - boundingBoxBottom,
|
95
105
|
};
|
96
|
-
|
106
|
+
// Create properly typed render props for static schema
|
107
|
+
const staticRenderProps = {
|
97
108
|
value,
|
98
109
|
schema: staticSchema,
|
99
110
|
basePdf,
|
@@ -102,12 +113,13 @@ const generate = async (props) => {
|
|
102
113
|
page,
|
103
114
|
options,
|
104
115
|
_cache,
|
105
|
-
}
|
116
|
+
};
|
117
|
+
await render(staticRenderProps);
|
106
118
|
}
|
107
119
|
}
|
108
120
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
109
121
|
const name = schemaNames[l];
|
110
|
-
const schemaPage =
|
122
|
+
const schemaPage = schemas[j] || [];
|
111
123
|
const schema = schemaPage.find((s) => s.name == name);
|
112
124
|
if (!schema) {
|
113
125
|
continue;
|
@@ -120,14 +132,15 @@ const generate = async (props) => {
|
|
120
132
|
? (0, common_1.replacePlaceholders)({
|
121
133
|
content: schema.content || '',
|
122
134
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
135
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
136
|
})
|
125
|
-
: input[name] || '';
|
137
|
+
: (input[name] || '');
|
126
138
|
schema.position = {
|
127
139
|
x: schema.position.x + boundingBoxLeft,
|
128
140
|
y: schema.position.y - boundingBoxBottom,
|
129
141
|
};
|
130
|
-
|
142
|
+
// Create properly typed render props
|
143
|
+
const renderProps = {
|
131
144
|
value,
|
132
145
|
schema,
|
133
146
|
basePdf,
|
@@ -136,7 +149,8 @@ const generate = async (props) => {
|
|
136
149
|
page,
|
137
150
|
options,
|
138
151
|
_cache,
|
139
|
-
}
|
152
|
+
};
|
153
|
+
await render(renderProps);
|
140
154
|
}
|
141
155
|
}
|
142
156
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AAEzC,0CAOuB;AACvB,4CAA2D;AAC3D,2CAMqB;
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
|
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,12 +99,28 @@ 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
|
}
|
107
|
-
|
119
|
+
// Use type assertion to handle the pdf function with schema type
|
120
|
+
return {
|
121
|
+
...acc,
|
122
|
+
[type]: render.pdf,
|
123
|
+
};
|
108
124
|
}, {});
|
109
125
|
return { pdfDoc, renderObj };
|
110
126
|
};
|
@@ -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
@@ -15,6 +15,7 @@ const generate = async (props) => {
|
|
15
15
|
const _cache = new Map();
|
16
16
|
for (let i = 0; i < inputs.length; i += 1) {
|
17
17
|
const input = inputs[i];
|
18
|
+
// Get the dynamic template with proper typing
|
18
19
|
const dynamicTemplate = await getDynamicTemplate({
|
19
20
|
template,
|
20
21
|
input,
|
@@ -33,9 +34,18 @@ const generate = async (props) => {
|
|
33
34
|
template: dynamicTemplate,
|
34
35
|
pdfDoc,
|
35
36
|
});
|
36
|
-
|
37
|
-
|
38
|
-
|
37
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
38
|
+
const schemas = dynamicTemplate.schemas;
|
39
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
40
|
+
const schemaNameSet = new Set();
|
41
|
+
schemas.forEach((page) => {
|
42
|
+
page.forEach((schema) => {
|
43
|
+
if (schema.name) {
|
44
|
+
schemaNameSet.add(schema.name);
|
45
|
+
}
|
46
|
+
});
|
47
|
+
});
|
48
|
+
const schemaNames = Array.from(schemaNameSet);
|
39
49
|
for (let j = 0; j < basePages.length; j += 1) {
|
40
50
|
const basePage = basePages[j];
|
41
51
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -52,13 +62,14 @@ const generate = async (props) => {
|
|
52
62
|
const value = replacePlaceholders({
|
53
63
|
content: staticSchema.content || '',
|
54
64
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
55
|
-
schemas:
|
65
|
+
schemas: schemas, // Use the properly typed schemas variable
|
56
66
|
});
|
57
67
|
staticSchema.position = {
|
58
68
|
x: staticSchema.position.x + boundingBoxLeft,
|
59
69
|
y: staticSchema.position.y - boundingBoxBottom,
|
60
70
|
};
|
61
|
-
|
71
|
+
// Create properly typed render props for static schema
|
72
|
+
const staticRenderProps = {
|
62
73
|
value,
|
63
74
|
schema: staticSchema,
|
64
75
|
basePdf,
|
@@ -67,12 +78,13 @@ const generate = async (props) => {
|
|
67
78
|
page,
|
68
79
|
options,
|
69
80
|
_cache,
|
70
|
-
}
|
81
|
+
};
|
82
|
+
await render(staticRenderProps);
|
71
83
|
}
|
72
84
|
}
|
73
85
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
74
86
|
const name = schemaNames[l];
|
75
|
-
const schemaPage =
|
87
|
+
const schemaPage = schemas[j] || [];
|
76
88
|
const schema = schemaPage.find((s) => s.name == name);
|
77
89
|
if (!schema) {
|
78
90
|
continue;
|
@@ -85,14 +97,15 @@ const generate = async (props) => {
|
|
85
97
|
? replacePlaceholders({
|
86
98
|
content: schema.content || '',
|
87
99
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
88
|
-
schemas:
|
100
|
+
schemas: schemas, // Use the properly typed schemas variable
|
89
101
|
})
|
90
|
-
: input[name] || '';
|
102
|
+
: (input[name] || '');
|
91
103
|
schema.position = {
|
92
104
|
x: schema.position.x + boundingBoxLeft,
|
93
105
|
y: schema.position.y - boundingBoxBottom,
|
94
106
|
};
|
95
|
-
|
107
|
+
// Create properly typed render props
|
108
|
+
const renderProps = {
|
96
109
|
value,
|
97
110
|
schema,
|
98
111
|
basePdf,
|
@@ -101,7 +114,8 @@ const generate = async (props) => {
|
|
101
114
|
page,
|
102
115
|
options,
|
103
116
|
_cache,
|
104
|
-
}
|
117
|
+
};
|
118
|
+
await render(renderProps);
|
105
119
|
}
|
106
120
|
}
|
107
121
|
}
|
@@ -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,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,aAAa,CAAC;
|
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,12 +61,28 @@ 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
|
}
|
69
|
-
|
81
|
+
// Use type assertion to handle the pdf function with schema type
|
82
|
+
return {
|
83
|
+
...acc,
|
84
|
+
[type]: render.pdf,
|
85
|
+
};
|
70
86
|
}, {});
|
71
87
|
return { pdfDoc, renderObj };
|
72
88
|
};
|
@@ -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"}
|
@@ -50,6 +50,7 @@ const generate = async (props) => {
|
|
50
50
|
const _cache = new Map();
|
51
51
|
for (let i = 0; i < inputs.length; i += 1) {
|
52
52
|
const input = inputs[i];
|
53
|
+
// Get the dynamic template with proper typing
|
53
54
|
const dynamicTemplate = await (0, common_1.getDynamicTemplate)({
|
54
55
|
template,
|
55
56
|
input,
|
@@ -68,9 +69,18 @@ const generate = async (props) => {
|
|
68
69
|
template: dynamicTemplate,
|
69
70
|
pdfDoc,
|
70
71
|
});
|
71
|
-
|
72
|
-
|
73
|
-
|
72
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
73
|
+
const schemas = dynamicTemplate.schemas;
|
74
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
75
|
+
const schemaNameSet = new Set();
|
76
|
+
schemas.forEach((page) => {
|
77
|
+
page.forEach((schema) => {
|
78
|
+
if (schema.name) {
|
79
|
+
schemaNameSet.add(schema.name);
|
80
|
+
}
|
81
|
+
});
|
82
|
+
});
|
83
|
+
const schemaNames = Array.from(schemaNameSet);
|
74
84
|
for (let j = 0; j < basePages.length; j += 1) {
|
75
85
|
const basePage = basePages[j];
|
76
86
|
const embedPdfBox = embedPdfBoxes[j];
|
@@ -87,13 +97,14 @@ const generate = async (props) => {
|
|
87
97
|
const value = (0, common_1.replacePlaceholders)({
|
88
98
|
content: staticSchema.content || '',
|
89
99
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
90
|
-
schemas:
|
100
|
+
schemas: schemas, // Use the properly typed schemas variable
|
91
101
|
});
|
92
102
|
staticSchema.position = {
|
93
103
|
x: staticSchema.position.x + boundingBoxLeft,
|
94
104
|
y: staticSchema.position.y - boundingBoxBottom,
|
95
105
|
};
|
96
|
-
|
106
|
+
// Create properly typed render props for static schema
|
107
|
+
const staticRenderProps = {
|
97
108
|
value,
|
98
109
|
schema: staticSchema,
|
99
110
|
basePdf,
|
@@ -102,12 +113,13 @@ const generate = async (props) => {
|
|
102
113
|
page,
|
103
114
|
options,
|
104
115
|
_cache,
|
105
|
-
}
|
116
|
+
};
|
117
|
+
await render(staticRenderProps);
|
106
118
|
}
|
107
119
|
}
|
108
120
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
109
121
|
const name = schemaNames[l];
|
110
|
-
const schemaPage =
|
122
|
+
const schemaPage = schemas[j] || [];
|
111
123
|
const schema = schemaPage.find((s) => s.name == name);
|
112
124
|
if (!schema) {
|
113
125
|
continue;
|
@@ -120,14 +132,15 @@ const generate = async (props) => {
|
|
120
132
|
? (0, common_1.replacePlaceholders)({
|
121
133
|
content: schema.content || '',
|
122
134
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
135
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
136
|
})
|
125
|
-
: input[name] || '';
|
137
|
+
: (input[name] || '');
|
126
138
|
schema.position = {
|
127
139
|
x: schema.position.x + boundingBoxLeft,
|
128
140
|
y: schema.position.y - boundingBoxBottom,
|
129
141
|
};
|
130
|
-
|
142
|
+
// Create properly typed render props
|
143
|
+
const renderProps = {
|
131
144
|
value,
|
132
145
|
schema,
|
133
146
|
basePdf,
|
@@ -136,7 +149,8 @@ const generate = async (props) => {
|
|
136
149
|
page,
|
137
150
|
options,
|
138
151
|
_cache,
|
139
|
-
}
|
152
|
+
};
|
153
|
+
await render(renderProps);
|
140
154
|
}
|
141
155
|
}
|
142
156
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AAEzC,0CAOuB;AACvB,4CAA2D;AAC3D,2CAMqB;
|
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,12 +99,28 @@ 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
|
}
|
107
|
-
|
119
|
+
// Use type assertion to handle the pdf function with schema type
|
120
|
+
return {
|
121
|
+
...acc,
|
122
|
+
[type]: render.pdf,
|
123
|
+
};
|
108
124
|
}, {});
|
109
125
|
return { pdfDoc, renderObj };
|
110
126
|
};
|
@@ -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
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pdfme/generator",
|
3
|
-
"version": "5.3.
|
3
|
+
"version": "5.3.12-dev.1",
|
4
4
|
"sideEffects": false,
|
5
5
|
"author": "hand-dot",
|
6
6
|
"license": "MIT",
|
@@ -41,7 +41,7 @@
|
|
41
41
|
"build:esm": "tsc -p tsconfig.esm.json",
|
42
42
|
"build:node": "tsc -p tsconfig.node.json",
|
43
43
|
"clean": "rimraf dist",
|
44
|
-
"lint": "eslint --ext .ts src --config eslint.config.mjs
|
44
|
+
"lint": "eslint --ext .ts src --config eslint.config.mjs",
|
45
45
|
"test": "jest",
|
46
46
|
"test:update-snapshots": "jest --updateSnapshot",
|
47
47
|
"prune": "ts-prune src",
|
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,
|
2
|
+
import type { GenerateProps, Schema, PDFRenderProps, Template } from '@pdfme/common';
|
3
3
|
import {
|
4
4
|
checkGenerateProps,
|
5
5
|
getDynamicTemplate,
|
@@ -16,7 +16,6 @@ import {
|
|
16
16
|
getEmbedPdfPages,
|
17
17
|
validateRequiredFields,
|
18
18
|
} from './helper.js';
|
19
|
-
import { PDFDocument } from '@pdfme/pdf-lib';
|
20
19
|
|
21
20
|
const generate = async (props: GenerateProps) => {
|
22
21
|
checkGenerateProps(props);
|
@@ -35,12 +34,13 @@ const generate = async (props: GenerateProps) => {
|
|
35
34
|
|
36
35
|
const { pdfDoc, renderObj } = await preprocessing({ template, userPlugins });
|
37
36
|
|
38
|
-
const _cache = new Map();
|
37
|
+
const _cache = new Map<string, unknown>();
|
39
38
|
|
40
39
|
for (let i = 0; i < inputs.length; i += 1) {
|
41
40
|
const input = inputs[i];
|
42
41
|
|
43
|
-
|
42
|
+
// Get the dynamic template with proper typing
|
43
|
+
const dynamicTemplate: Template = await getDynamicTemplate({
|
44
44
|
template,
|
45
45
|
input,
|
46
46
|
options,
|
@@ -58,9 +58,19 @@ const generate = async (props: GenerateProps) => {
|
|
58
58
|
template: dynamicTemplate,
|
59
59
|
pdfDoc,
|
60
60
|
});
|
61
|
-
|
62
|
-
|
63
|
-
];
|
61
|
+
|
62
|
+
// Add proper type assertion for dynamicTemplate.schemas
|
63
|
+
const schemas = dynamicTemplate.schemas as Schema[][];
|
64
|
+
// Create a type-safe array of schema names without using Set spread which requires downlevelIteration
|
65
|
+
const schemaNameSet = new Set<string>();
|
66
|
+
schemas.forEach((page: Schema[]) => {
|
67
|
+
page.forEach((schema: Schema) => {
|
68
|
+
if (schema.name) {
|
69
|
+
schemaNameSet.add(schema.name);
|
70
|
+
}
|
71
|
+
});
|
72
|
+
});
|
73
|
+
const schemaNames = Array.from(schemaNameSet);
|
64
74
|
|
65
75
|
for (let j = 0; j < basePages.length; j += 1) {
|
66
76
|
const basePage = basePages[j];
|
@@ -83,7 +93,7 @@ const generate = async (props: GenerateProps) => {
|
|
83
93
|
const value = replacePlaceholders({
|
84
94
|
content: staticSchema.content || '',
|
85
95
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
86
|
-
schemas:
|
96
|
+
schemas: schemas, // Use the properly typed schemas variable
|
87
97
|
});
|
88
98
|
|
89
99
|
staticSchema.position = {
|
@@ -91,7 +101,8 @@ const generate = async (props: GenerateProps) => {
|
|
91
101
|
y: staticSchema.position.y - boundingBoxBottom,
|
92
102
|
};
|
93
103
|
|
94
|
-
|
104
|
+
// Create properly typed render props for static schema
|
105
|
+
const staticRenderProps: PDFRenderProps<Schema> = {
|
95
106
|
value,
|
96
107
|
schema: staticSchema,
|
97
108
|
basePdf,
|
@@ -100,13 +111,14 @@ const generate = async (props: GenerateProps) => {
|
|
100
111
|
page,
|
101
112
|
options,
|
102
113
|
_cache,
|
103
|
-
}
|
114
|
+
};
|
115
|
+
await render(staticRenderProps);
|
104
116
|
}
|
105
117
|
}
|
106
118
|
|
107
119
|
for (let l = 0; l < schemaNames.length; l += 1) {
|
108
120
|
const name = schemaNames[l];
|
109
|
-
const schemaPage =
|
121
|
+
const schemaPage = schemas[j] || [];
|
110
122
|
const schema = schemaPage.find((s: Schema) => s.name == name);
|
111
123
|
if (!schema) {
|
112
124
|
continue;
|
@@ -116,20 +128,21 @@ const generate = async (props: GenerateProps) => {
|
|
116
128
|
if (!render) {
|
117
129
|
continue;
|
118
130
|
}
|
119
|
-
const value = schema.readOnly
|
131
|
+
const value: string = schema.readOnly
|
120
132
|
? replacePlaceholders({
|
121
133
|
content: schema.content || '',
|
122
134
|
variables: { ...input, totalPages: basePages.length, currentPage: j + 1 },
|
123
|
-
schemas:
|
135
|
+
schemas: schemas, // Use the properly typed schemas variable
|
124
136
|
})
|
125
|
-
: input[name] || '';
|
137
|
+
: ((input[name] || '') as string);
|
126
138
|
|
127
139
|
schema.position = {
|
128
140
|
x: schema.position.x + boundingBoxLeft,
|
129
141
|
y: schema.position.y - boundingBoxBottom,
|
130
142
|
};
|
131
143
|
|
132
|
-
|
144
|
+
// Create properly typed render props
|
145
|
+
const renderProps: PDFRenderProps<Schema> = {
|
133
146
|
value,
|
134
147
|
schema,
|
135
148
|
basePdf,
|
@@ -138,7 +151,8 @@ const generate = async (props: GenerateProps) => {
|
|
138
151
|
page,
|
139
152
|
options,
|
140
153
|
_cache,
|
141
|
-
}
|
154
|
+
};
|
155
|
+
await render(renderProps);
|
142
156
|
}
|
143
157
|
}
|
144
158
|
}
|
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,46 @@ export const preprocessing = async (arg: { template: Template; userPlugins: Plug
|
|
94
95
|
);
|
95
96
|
|
96
97
|
const renderObj = schemaTypes.reduce(
|
97
|
-
(
|
98
|
-
|
98
|
+
(
|
99
|
+
acc: Record<
|
100
|
+
string,
|
101
|
+
(arg: PDFRenderProps<Schema & { [key: string]: unknown }>) => Promise<void> | void
|
102
|
+
>,
|
103
|
+
type: string,
|
104
|
+
) => {
|
105
|
+
const render = pluginValues.find((pv) => {
|
106
|
+
// Safely check if propPanel and defaultSchema exist and have a type property
|
107
|
+
return (
|
108
|
+
pv &&
|
109
|
+
typeof pv === 'object' &&
|
110
|
+
'propPanel' in pv &&
|
111
|
+
pv.propPanel &&
|
112
|
+
typeof pv.propPanel === 'object' &&
|
113
|
+
'defaultSchema' in pv.propPanel &&
|
114
|
+
pv.propPanel.defaultSchema &&
|
115
|
+
typeof pv.propPanel.defaultSchema === 'object' &&
|
116
|
+
'type' in pv.propPanel.defaultSchema &&
|
117
|
+
pv.propPanel.defaultSchema.type === type
|
118
|
+
);
|
119
|
+
});
|
99
120
|
|
100
121
|
if (!render) {
|
101
122
|
throw new Error(`[@pdfme/generator] Renderer for type ${type} not found.
|
102
123
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
103
124
|
}
|
104
|
-
|
125
|
+
|
126
|
+
// Use type assertion to handle the pdf function with schema type
|
127
|
+
return {
|
128
|
+
...acc,
|
129
|
+
[type]: render.pdf as (
|
130
|
+
arg: PDFRenderProps<Schema & { [key: string]: unknown }>,
|
131
|
+
) => Promise<void> | void,
|
132
|
+
};
|
105
133
|
},
|
106
|
-
{} as Record<
|
134
|
+
{} as Record<
|
135
|
+
string,
|
136
|
+
(arg: PDFRenderProps<Schema & { [key: string]: unknown }>) => Promise<void> | void
|
137
|
+
>,
|
107
138
|
);
|
108
139
|
|
109
140
|
return { pdfDoc, renderObj };
|