@pdfme/common 4.3.2 → 4.4.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.
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { Buffer } from 'buffer';
3
3
  import { Inputs as InputsSchema, UIOptions as UIOptionsSchema, Template as TemplateSchema, PreviewProps as PreviewPropsSchema, DesignerProps as DesignerPropsSchema, GenerateProps as GeneratePropsSchema, UIProps as UIPropsSchema, BlankPdf as BlankPdfSchema, } from './schema.js';
4
4
  import { MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, DEFAULT_FONT_NAME, DEFAULT_FONT_VALUE, } from './constants.js';
5
+ export const cloneDeep = (value) => JSON.parse(JSON.stringify(value));
5
6
  const uniq = (array) => Array.from(new Set(array));
6
7
  export const getFallbackFontName = (font) => {
7
8
  const initial = '';
@@ -154,80 +155,233 @@ export const checkUIProps = (data) => checkProps(data, UIPropsSchema);
154
155
  export const checkPreviewProps = (data) => checkProps(data, PreviewPropsSchema);
155
156
  export const checkDesignerProps = (data) => checkProps(data, DesignerPropsSchema);
156
157
  export const checkGenerateProps = (data) => checkProps(data, GeneratePropsSchema);
157
- export const getDynamicTemplate = async (arg) => {
158
- const { template, modifyTemplate } = arg;
159
- if (!isBlankPdf(template.basePdf)) {
160
- return template;
158
+ class Node {
159
+ constructor({ width = 0, height = 0 } = {}) {
160
+ Object.defineProperty(this, "index", {
161
+ enumerable: true,
162
+ configurable: true,
163
+ writable: true,
164
+ value: 0
165
+ });
166
+ Object.defineProperty(this, "key", {
167
+ enumerable: true,
168
+ configurable: true,
169
+ writable: true,
170
+ value: void 0
171
+ });
172
+ Object.defineProperty(this, "schema", {
173
+ enumerable: true,
174
+ configurable: true,
175
+ writable: true,
176
+ value: void 0
177
+ });
178
+ Object.defineProperty(this, "children", {
179
+ enumerable: true,
180
+ configurable: true,
181
+ writable: true,
182
+ value: []
183
+ });
184
+ Object.defineProperty(this, "width", {
185
+ enumerable: true,
186
+ configurable: true,
187
+ writable: true,
188
+ value: 0
189
+ });
190
+ Object.defineProperty(this, "height", {
191
+ enumerable: true,
192
+ configurable: true,
193
+ writable: true,
194
+ value: 0
195
+ });
196
+ Object.defineProperty(this, "padding", {
197
+ enumerable: true,
198
+ configurable: true,
199
+ writable: true,
200
+ value: [0, 0, 0, 0]
201
+ });
202
+ Object.defineProperty(this, "position", {
203
+ enumerable: true,
204
+ configurable: true,
205
+ writable: true,
206
+ value: { x: 0, y: 0 }
207
+ });
208
+ this.width = width;
209
+ this.height = height;
161
210
  }
162
- const modifiedTemplate = await modifyTemplate(arg);
163
- const diffMap = await calculateDiffMap({ ...arg, template: modifiedTemplate });
164
- return normalizePositionsAndPageBreak(modifiedTemplate, diffMap);
165
- };
166
- export const calculateDiffMap = async (arg) => {
167
- const { template, input, _cache, options, getDynamicHeight } = arg;
168
- const basePdf = template.basePdf;
169
- const tmpDiffMap = new Map();
170
- if (!isBlankPdf(basePdf)) {
171
- return tmpDiffMap;
211
+ setIndex(index) {
212
+ this.index = index;
172
213
  }
173
- const pageHeight = basePdf.height;
174
- let pageIndex = 0;
175
- for (const schemaObj of template.schemas) {
176
- for (const [key, schema] of Object.entries(schemaObj)) {
177
- const dynamicHeight = await getDynamicHeight(input?.[key] || '', {
178
- schema,
179
- basePdf,
180
- options,
181
- _cache,
182
- });
183
- if (schema.height !== dynamicHeight) {
184
- tmpDiffMap.set(schema.position.y + schema.height + pageHeight * pageIndex, dynamicHeight - schema.height);
185
- }
186
- }
187
- pageIndex++;
214
+ setKeyAndSchema(key, schema) {
215
+ this.key = key;
216
+ this.schema = schema;
188
217
  }
189
- const diffMap = new Map();
190
- const keys = Array.from(tmpDiffMap.keys()).sort((a, b) => a - b);
191
- let additionalHeight = 0;
192
- for (const key of keys) {
193
- const value = tmpDiffMap.get(key);
194
- const newValue = value + additionalHeight;
195
- diffMap.set(key + additionalHeight, newValue);
196
- additionalHeight += newValue;
197
- }
198
- return diffMap;
199
- };
200
- export const normalizePositionsAndPageBreak = (template, diffMap) => {
201
- if (!isBlankPdf(template.basePdf) || diffMap.size === 0) {
202
- return template;
218
+ setWidth(width) {
219
+ this.width = width;
220
+ }
221
+ setHeight(height) {
222
+ this.height = height;
223
+ }
224
+ setPadding(padding) {
225
+ this.padding = padding;
226
+ }
227
+ setPosition(position) {
228
+ this.position = position;
203
229
  }
204
- const returnTemplate = { schemas: [{}], basePdf: template.basePdf };
205
- const pages = returnTemplate.schemas;
206
- const pageHeight = template.basePdf.height;
207
- const paddingTop = template.basePdf.padding[0];
208
- const paddingBottom = template.basePdf.padding[2];
209
- for (let i = 0; i < template.schemas.length; i += 1) {
210
- const schemaObj = template.schemas[i];
211
- if (!pages[i])
212
- pages[i] = {};
213
- for (const [key, schema] of Object.entries(schemaObj)) {
214
- const { position, height } = schema;
215
- let newY = position.y;
216
- let pageCursor = i;
217
- for (const [diffKey, diffValue] of diffMap) {
218
- if (newY > diffKey) {
219
- newY += diffValue;
230
+ insertChild(child) {
231
+ const index = this.getChildCount();
232
+ child.setIndex(index);
233
+ this.children.splice(index, 0, child);
234
+ }
235
+ getChildCount() {
236
+ return this.children.length;
237
+ }
238
+ getChild(index) {
239
+ return this.children[index];
240
+ }
241
+ }
242
+ function createPage(basePdf) {
243
+ const page = new Node({ ...basePdf });
244
+ page.setPadding(basePdf.padding);
245
+ return page;
246
+ }
247
+ function createNode(arg) {
248
+ const { position, width, height, key, schema } = arg;
249
+ const node = new Node({ width, height });
250
+ node.setPosition(position);
251
+ node.setKeyAndSchema(key, schema);
252
+ return node;
253
+ }
254
+ function resortChildren(page, orderMap) {
255
+ page.children = page.children
256
+ .sort((a, b) => {
257
+ const orderA = orderMap.get(a.key);
258
+ const orderB = orderMap.get(b.key);
259
+ if (orderA === undefined || orderB === undefined) {
260
+ throw new Error('[@pdfme/common] order is not defined');
261
+ }
262
+ return orderA - orderB;
263
+ })
264
+ .map((child, index) => {
265
+ child.setIndex(index);
266
+ return child;
267
+ });
268
+ }
269
+ async function createOnePage(arg) {
270
+ const { basePdf, schemaObj, orderMap, input, options, _cache, getDynamicHeights } = arg;
271
+ const page = createPage(basePdf);
272
+ const schemaPositions = [];
273
+ const sortedSchemaEntries = Object.entries(schemaObj).sort((a, b) => a[1].position.y - b[1].position.y);
274
+ const diffMap = new Map();
275
+ for (const [key, schema] of sortedSchemaEntries) {
276
+ const { position, width } = schema;
277
+ const opt = { schema, basePdf, options, _cache };
278
+ const heights = await getDynamicHeights(input?.[key] || '', opt);
279
+ const heightsSum = heights.reduce((acc, cur) => acc + cur, 0);
280
+ const originalHeight = schema.height;
281
+ if (heightsSum !== originalHeight) {
282
+ diffMap.set(position.y + originalHeight, heightsSum - originalHeight);
283
+ }
284
+ heights.forEach((height, index) => {
285
+ let y = schema.position.y + heights.reduce((acc, cur, i) => (i < index ? acc + cur : acc), 0);
286
+ for (const [diffY, diff] of diffMap.entries()) {
287
+ if (diffY <= schema.position.y) {
288
+ y += diff;
220
289
  }
221
290
  }
222
- while (newY + height >= pageHeight - paddingBottom) {
223
- newY = newY + paddingTop - (pageHeight - paddingBottom) + paddingTop;
224
- pageCursor++;
291
+ const node = createNode({ key, schema, position: { ...position, y }, width, height });
292
+ schemaPositions.push(y + height + basePdf.padding[2]);
293
+ page.insertChild(node);
294
+ });
295
+ }
296
+ const pageHeight = Math.max(...schemaPositions, basePdf.height - basePdf.padding[2]);
297
+ page.setHeight(pageHeight);
298
+ resortChildren(page, orderMap);
299
+ return page;
300
+ }
301
+ function breakIntoPages(arg) {
302
+ const { longPage, orderMap, basePdf } = arg;
303
+ const pages = [createPage(basePdf)];
304
+ const [paddingTop, , paddingBottom] = basePdf.padding;
305
+ const yAdjustments = [];
306
+ const getPageHeight = (pageIndex) => basePdf.height - paddingBottom - (pageIndex > 0 ? paddingTop : 0);
307
+ const calculateNewY = (y, pageIndex) => {
308
+ const newY = y - pageIndex * (basePdf.height - paddingTop - paddingBottom);
309
+ while (pages.length <= pageIndex) {
310
+ if (!pages[pageIndex]) {
311
+ pages.push(createPage(basePdf));
312
+ yAdjustments.push({ page: pageIndex, value: (newY - paddingTop) * -1 });
225
313
  }
226
- if (!pages[pageCursor])
227
- pages[pageCursor] = {};
228
- pages[pageCursor][key] = { ...schema, position: { ...position, y: newY } };
229
314
  }
315
+ return newY + (yAdjustments.find((adj) => adj.page === pageIndex)?.value || 0);
316
+ };
317
+ const children = longPage.children.sort((a, b) => a.position.y - b.position.y);
318
+ for (let i = 0; i < children.length; i++) {
319
+ const { key, schema, position, height, width } = children[i];
320
+ const { y, x } = position;
321
+ let targetPageIndex = Math.floor(y / getPageHeight(pages.length - 1));
322
+ let newY = calculateNewY(y, targetPageIndex);
323
+ if (newY + height > basePdf.height - paddingBottom) {
324
+ targetPageIndex++;
325
+ newY = calculateNewY(y, targetPageIndex);
326
+ }
327
+ if (!key || !schema)
328
+ throw new Error('[@pdfme/common] key or schema is undefined');
329
+ const clonedElement = createNode({ key, schema, position: { x, y: newY }, width, height });
330
+ pages[targetPageIndex].insertChild(clonedElement);
331
+ }
332
+ pages.forEach((page) => resortChildren(page, orderMap));
333
+ return pages;
334
+ }
335
+ function createNewTemplate(pages, basePdf) {
336
+ const newTemplate = {
337
+ schemas: Array.from({ length: pages.length }, () => ({})),
338
+ basePdf: basePdf,
339
+ };
340
+ const keyToSchemas = new Map();
341
+ cloneDeep(pages).forEach((page, pageIndex) => {
342
+ page.children.forEach((child) => {
343
+ const { key, schema } = child;
344
+ if (!key || !schema)
345
+ throw new Error('[@pdfme/common] key or schema is undefined');
346
+ if (!keyToSchemas.has(key)) {
347
+ keyToSchemas.set(key, []);
348
+ }
349
+ keyToSchemas.get(key).push(child);
350
+ const sameKeySchemas = page.children.filter((c) => c.key === key);
351
+ const start = keyToSchemas.get(key).length - sameKeySchemas.length;
352
+ if (sameKeySchemas.length > 0) {
353
+ if (!sameKeySchemas[0].schema) {
354
+ throw new Error('[@pdfme/common] schema is undefined');
355
+ }
356
+ // Use the first schema to get the schema and position
357
+ const schema = sameKeySchemas[0].schema;
358
+ const height = sameKeySchemas.reduce((acc, cur) => acc + cur.height, 0);
359
+ const position = sameKeySchemas[0].position;
360
+ // Currently, __bodyRange exists for table schemas, but if we make it more abstract,
361
+ // it could be used for other schemas as well to render schemas that have been split by page breaks, starting from the middle.
362
+ schema.__bodyRange = {
363
+ start: Math.max(start - 1, 0),
364
+ end: start + sameKeySchemas.length - 1,
365
+ };
366
+ newTemplate.schemas[pageIndex][key] = Object.assign({}, schema, { position, height });
367
+ }
368
+ });
369
+ });
370
+ return newTemplate;
371
+ }
372
+ export const getDynamicTemplate = async (arg) => {
373
+ const { template } = arg;
374
+ if (!isBlankPdf(template.basePdf)) {
375
+ return template;
376
+ }
377
+ const basePdf = template.basePdf;
378
+ const pages = [];
379
+ for (const schemaObj of template.schemas) {
380
+ const orderMap = new Map(Object.keys(schemaObj).map((key, index) => [key, index]));
381
+ const longPage = await createOnePage({ basePdf, schemaObj, orderMap, ...arg });
382
+ const brokenPages = breakIntoPages({ longPage, basePdf, orderMap });
383
+ pages.push(...brokenPages);
230
384
  }
231
- return returnTemplate;
385
+ return createNewTemplate(pages, template.basePdf);
232
386
  };
233
387
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME, } from './constants.js';
2
- import { getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, } from './helper.js';
3
- export { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, };
2
+ import { cloneDeep, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, } from './helper.js';
3
+ export { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME, cloneDeep, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, };
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,IAAI,EACJ,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AA8BxB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,IAAI,EACJ,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AA8BxB,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Schema, Template, Font, BasePdf, Plugins, CommonOptions } from './types';
2
+ export declare const cloneDeep: <T>(value: T) => T;
2
3
  export declare const getFallbackFontName: (font: Font) => string;
3
4
  export declare const getDefaultFont: () => Font;
4
5
  export declare const mm2pt: (mm: number) => number;
@@ -36,20 +37,12 @@ interface ModifyTemplateForDynamicTableArg {
36
37
  input: Record<string, string>;
37
38
  _cache: Map<any, any>;
38
39
  options: CommonOptions;
39
- modifyTemplate: (arg: {
40
- template: Template;
41
- input: Record<string, string>;
42
- _cache: Map<any, any>;
43
- options: CommonOptions;
44
- }) => Promise<Template>;
45
- getDynamicHeight: (value: string, args: {
40
+ getDynamicHeights: (value: string, args: {
46
41
  schema: Schema;
47
42
  basePdf: BasePdf;
48
43
  options: CommonOptions;
49
44
  _cache: Map<any, any>;
50
- }) => Promise<number>;
45
+ }) => Promise<number[]>;
51
46
  }
52
47
  export declare const getDynamicTemplate: (arg: ModifyTemplateForDynamicTableArg) => Promise<Template>;
53
- export declare const calculateDiffMap: (arg: ModifyTemplateForDynamicTableArg) => Promise<Map<number, number>>;
54
- export declare const normalizePositionsAndPageBreak: (template: Template, diffMap: Map<number, number>) => Template;
55
48
  export {};
@@ -1,5 +1,5 @@
1
1
  import { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME } from './constants.js';
2
2
  import type { ChangeSchemaItem, ChangeSchemas, PropPanel, PropPanelSchema, PropPanelWidgetProps, PDFRenderProps, Mode, UIRenderProps, Plugin, Lang, Dict, Size, Schema, SchemaForUI, Font, ColorType, BasePdf, BlankPdf, Template, CommonOptions, GeneratorOptions, Plugins, GenerateProps, UIOptions, UIProps, PreviewProps, DesignerProps } from './types.js';
3
- import { getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate } from './helper.js';
4
- export { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, };
3
+ import { cloneDeep, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate } from './helper.js';
4
+ export { PDFME_VERSION, MM_TO_PT_RATIO, PT_TO_MM_RATIO, PT_TO_PX_RATIO, BLANK_PDF, ZOOM, DEFAULT_FONT_NAME, cloneDeep, getFallbackFontName, getDefaultFont, getB64BasePdf, b64toUint8Array, mm2pt, pt2mm, pt2px, px2mm, isHexValid, getInputFromTemplate, isBlankPdf, getDynamicTemplate, checkFont, checkInputs, checkUIOptions, checkTemplate, checkUIProps, checkPreviewProps, checkDesignerProps, checkGenerateProps, };
5
5
  export type { Lang, Dict, Size, Schema, SchemaForUI, Font, ColorType, BasePdf, BlankPdf, Template, CommonOptions, GeneratorOptions, Plugins, GenerateProps, UIOptions, UIProps, PreviewProps, DesignerProps, ChangeSchemaItem, ChangeSchemas, PropPanel, PropPanelSchema, PropPanelWidgetProps, PDFRenderProps, UIRenderProps, Mode, Plugin, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/common",
3
- "version": "4.3.2",
3
+ "version": "4.4.0",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",