@pdfme/common 4.5.2 → 5.0.0-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/README.md +82 -11
- package/dist/cjs/__tests__/helper.test.js +213 -62
- package/dist/cjs/__tests__/helper.test.js.map +1 -1
- package/dist/cjs/src/constants.js +1 -1
- package/dist/cjs/src/helper.js +84 -53
- package/dist/cjs/src/helper.js.map +1 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/schema.js +7 -6
- package/dist/cjs/src/schema.js.map +1 -1
- package/dist/esm/__tests__/helper.test.js +214 -63
- package/dist/esm/__tests__/helper.test.js.map +1 -1
- package/dist/esm/src/constants.js +1 -1
- package/dist/esm/src/helper.js +80 -50
- package/dist/esm/src/helper.js.map +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/schema.js +6 -5
- package/dist/esm/src/schema.js.map +1 -1
- package/dist/types/src/constants.d.ts +1 -1
- package/dist/types/src/helper.d.ts +7 -2
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/schema.d.ts +293 -49
- package/dist/types/src/types.d.ts +3 -4
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/helper.ts +96 -50
- package/src/index.ts +2 -0
- package/src/schema.ts +7 -5
- package/src/types.ts +4 -3
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            import { readFileSync } from 'fs';
         | 
| 2 2 | 
             
            import * as path from 'path';
         | 
| 3 | 
            -
            import { mm2pt, pt2mm, pt2px, checkFont, checkPlugins, isHexValid, getDynamicTemplate, } from '../src/helper';
         | 
| 3 | 
            +
            import { mm2pt, pt2mm, pt2px, checkFont, checkPlugins, isHexValid, getDynamicTemplate, migrateTemplate, } from '../src/helper';
         | 
| 4 4 | 
             
            import { PT_TO_PX_RATIO, BLANK_PDF, } from '../src';
         | 
| 5 5 | 
             
            const sansData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
         | 
| 6 6 | 
             
            const serifData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
         | 
| @@ -11,8 +11,9 @@ const getSampleFont = () => ({ | |
| 11 11 | 
             
            const getTemplate = () => ({
         | 
| 12 12 | 
             
                basePdf: BLANK_PDF,
         | 
| 13 13 | 
             
                schemas: [
         | 
| 14 | 
            -
                     | 
| 15 | 
            -
                         | 
| 14 | 
            +
                    [
         | 
| 15 | 
            +
                        {
         | 
| 16 | 
            +
                            name: 'a',
         | 
| 16 17 | 
             
                            content: 'a',
         | 
| 17 18 | 
             
                            type: 'text',
         | 
| 18 19 | 
             
                            fontName: 'SauceHanSansJP',
         | 
| @@ -20,14 +21,15 @@ const getTemplate = () => ({ | |
| 20 21 | 
             
                            width: 100,
         | 
| 21 22 | 
             
                            height: 100,
         | 
| 22 23 | 
             
                        },
         | 
| 23 | 
            -
                         | 
| 24 | 
            +
                        {
         | 
| 25 | 
            +
                            name: 'b',
         | 
| 24 26 | 
             
                            content: 'b',
         | 
| 25 27 | 
             
                            type: 'text',
         | 
| 26 28 | 
             
                            position: { x: 0, y: 0 },
         | 
| 27 29 | 
             
                            width: 100,
         | 
| 28 30 | 
             
                            height: 100,
         | 
| 29 31 | 
             
                        },
         | 
| 30 | 
            -
                     | 
| 32 | 
            +
                    ],
         | 
| 31 33 | 
             
                ],
         | 
| 32 34 | 
             
            });
         | 
| 33 35 | 
             
            describe('mm2pt test', () => {
         | 
| @@ -76,22 +78,24 @@ describe('checkFont test', () => { | |
| 76 78 | 
             
                    const _getTemplate = () => ({
         | 
| 77 79 | 
             
                        basePdf: BLANK_PDF,
         | 
| 78 80 | 
             
                        schemas: [
         | 
| 79 | 
            -
                             | 
| 80 | 
            -
                                 | 
| 81 | 
            +
                            [
         | 
| 82 | 
            +
                                {
         | 
| 83 | 
            +
                                    name: 'a',
         | 
| 81 84 | 
             
                                    content: 'a',
         | 
| 82 85 | 
             
                                    type: 'text',
         | 
| 83 86 | 
             
                                    position: { x: 0, y: 0 },
         | 
| 84 87 | 
             
                                    width: 100,
         | 
| 85 88 | 
             
                                    height: 100,
         | 
| 86 89 | 
             
                                },
         | 
| 87 | 
            -
                                 | 
| 90 | 
            +
                                {
         | 
| 91 | 
            +
                                    name: 'b',
         | 
| 88 92 | 
             
                                    content: 'b',
         | 
| 89 93 | 
             
                                    type: 'text',
         | 
| 90 94 | 
             
                                    position: { x: 0, y: 0 },
         | 
| 91 95 | 
             
                                    width: 100,
         | 
| 92 96 | 
             
                                    height: 100,
         | 
| 93 97 | 
             
                                },
         | 
| 94 | 
            -
                             | 
| 98 | 
            +
                            ],
         | 
| 95 99 | 
             
                        ],
         | 
| 96 100 | 
             
                    });
         | 
| 97 101 | 
             
                    try {
         | 
| @@ -156,8 +160,9 @@ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`); | |
| 156 160 | 
             
                    const _getTemplate = () => ({
         | 
| 157 161 | 
             
                        basePdf: BLANK_PDF,
         | 
| 158 162 | 
             
                        schemas: [
         | 
| 159 | 
            -
                             | 
| 160 | 
            -
                                 | 
| 163 | 
            +
                            [
         | 
| 164 | 
            +
                                {
         | 
| 165 | 
            +
                                    name: 'a',
         | 
| 161 166 | 
             
                                    type: 'text',
         | 
| 162 167 | 
             
                                    content: 'a',
         | 
| 163 168 | 
             
                                    fontName: 'SauceHanSansJP2',
         | 
| @@ -165,14 +170,15 @@ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`); | |
| 165 170 | 
             
                                    width: 100,
         | 
| 166 171 | 
             
                                    height: 100,
         | 
| 167 172 | 
             
                                },
         | 
| 168 | 
            -
                                 | 
| 173 | 
            +
                                {
         | 
| 174 | 
            +
                                    name: 'b',
         | 
| 169 175 | 
             
                                    type: 'text',
         | 
| 170 176 | 
             
                                    content: 'b',
         | 
| 171 177 | 
             
                                    position: { x: 0, y: 0 },
         | 
| 172 178 | 
             
                                    width: 100,
         | 
| 173 179 | 
             
                                    height: 100,
         | 
| 174 180 | 
             
                                },
         | 
| 175 | 
            -
                             | 
| 181 | 
            +
                            ],
         | 
| 176 182 | 
             
                        ],
         | 
| 177 183 | 
             
                    });
         | 
| 178 184 | 
             
                    try {
         | 
| @@ -188,8 +194,9 @@ Check this document: https://pdfme.com/docs/custom-fonts`); | |
| 188 194 | 
             
                    const _getTemplate = () => ({
         | 
| 189 195 | 
             
                        basePdf: BLANK_PDF,
         | 
| 190 196 | 
             
                        schemas: [
         | 
| 191 | 
            -
                             | 
| 192 | 
            -
                                 | 
| 197 | 
            +
                            [
         | 
| 198 | 
            +
                                {
         | 
| 199 | 
            +
                                    name: 'a',
         | 
| 193 200 | 
             
                                    type: 'text',
         | 
| 194 201 | 
             
                                    content: 'a',
         | 
| 195 202 | 
             
                                    fontName: 'SauceHanSansJP2',
         | 
| @@ -197,7 +204,8 @@ Check this document: https://pdfme.com/docs/custom-fonts`); | |
| 197 204 | 
             
                                    width: 100,
         | 
| 198 205 | 
             
                                    height: 100,
         | 
| 199 206 | 
             
                                },
         | 
| 200 | 
            -
                                 | 
| 207 | 
            +
                                {
         | 
| 208 | 
            +
                                    name: 'b',
         | 
| 201 209 | 
             
                                    type: 'text',
         | 
| 202 210 | 
             
                                    content: 'b',
         | 
| 203 211 | 
             
                                    fontName: 'SauceHanSerifJP2',
         | 
| @@ -205,7 +213,7 @@ Check this document: https://pdfme.com/docs/custom-fonts`); | |
| 205 213 | 
             
                                    width: 100,
         | 
| 206 214 | 
             
                                    height: 100,
         | 
| 207 215 | 
             
                                },
         | 
| 208 | 
            -
                             | 
| 216 | 
            +
                            ],
         | 
| 209 217 | 
             
                        ],
         | 
| 210 218 | 
             
                    });
         | 
| 211 219 | 
             
                    try {
         | 
| @@ -274,8 +282,8 @@ describe('checkPlugins test', () => { | |
| 274 282 | 
             
                test('success test: type in Schemas(single)', () => {
         | 
| 275 283 | 
             
                    try {
         | 
| 276 284 | 
             
                        const template = getTemplate();
         | 
| 277 | 
            -
                        template.schemas[0]. | 
| 278 | 
            -
                        template.schemas[0]. | 
| 285 | 
            +
                        template.schemas[0][0].type = 'myText';
         | 
| 286 | 
            +
                        template.schemas[0][1].type = 'myText';
         | 
| 279 287 | 
             
                        checkPlugins({ template, plugins });
         | 
| 280 288 | 
             
                        expect.anything();
         | 
| 281 289 | 
             
                    }
         | 
| @@ -286,8 +294,8 @@ describe('checkPlugins test', () => { | |
| 286 294 | 
             
                test('success test: type in Schemas(multiple)', () => {
         | 
| 287 295 | 
             
                    try {
         | 
| 288 296 | 
             
                        const template = getTemplate();
         | 
| 289 | 
            -
                        template.schemas[0]. | 
| 290 | 
            -
                        template.schemas[0]. | 
| 297 | 
            +
                        template.schemas[0][0].type = 'myText';
         | 
| 298 | 
            +
                        template.schemas[0][1].type = 'myImage';
         | 
| 291 299 | 
             
                        checkPlugins({ template, plugins });
         | 
| 292 300 | 
             
                        expect.anything();
         | 
| 293 301 | 
             
                    }
         | 
| @@ -298,8 +306,8 @@ describe('checkPlugins test', () => { | |
| 298 306 | 
             
                test('fail test: type in Schemas not found in plugins(single)', () => {
         | 
| 299 307 | 
             
                    try {
         | 
| 300 308 | 
             
                        const template = getTemplate();
         | 
| 301 | 
            -
                        template.schemas[0]. | 
| 302 | 
            -
                        template.schemas[0]. | 
| 309 | 
            +
                        template.schemas[0][0].type = 'fail';
         | 
| 310 | 
            +
                        template.schemas[0][1].type = 'myImage';
         | 
| 303 311 | 
             
                        checkPlugins({ template, plugins });
         | 
| 304 312 | 
             
                        fail();
         | 
| 305 313 | 
             
                    }
         | 
| @@ -310,8 +318,8 @@ describe('checkPlugins test', () => { | |
| 310 318 | 
             
                test('fail test: type in Schemas not found in plugins(multiple)', () => {
         | 
| 311 319 | 
             
                    try {
         | 
| 312 320 | 
             
                        const template = getTemplate();
         | 
| 313 | 
            -
                        template.schemas[0]. | 
| 314 | 
            -
                        template.schemas[0]. | 
| 321 | 
            +
                        template.schemas[0][0].type = 'fail';
         | 
| 322 | 
            +
                        template.schemas[0][1].type = 'fail2';
         | 
| 315 323 | 
             
                        checkPlugins({ template, plugins });
         | 
| 316 324 | 
             
                        fail();
         | 
| 317 325 | 
             
                    }
         | 
| @@ -327,22 +335,24 @@ describe('getDynamicTemplate', () => { | |
| 327 335 | 
             
                const padding = 10;
         | 
| 328 336 | 
             
                const template = {
         | 
| 329 337 | 
             
                    schemas: [
         | 
| 330 | 
            -
                         | 
| 331 | 
            -
                             | 
| 338 | 
            +
                        [
         | 
| 339 | 
            +
                            {
         | 
| 340 | 
            +
                                name: 'a',
         | 
| 332 341 | 
             
                                content: 'a',
         | 
| 333 342 | 
             
                                type: 'a',
         | 
| 334 343 | 
             
                                position: { x: 10, y: aPositionY },
         | 
| 335 344 | 
             
                                width: 10,
         | 
| 336 345 | 
             
                                height,
         | 
| 337 346 | 
             
                            },
         | 
| 338 | 
            -
                             | 
| 347 | 
            +
                            {
         | 
| 348 | 
            +
                                name: 'b',
         | 
| 339 349 | 
             
                                content: 'b',
         | 
| 340 350 | 
             
                                type: 'b',
         | 
| 341 351 | 
             
                                position: { x: 10, y: bPositionY },
         | 
| 342 352 | 
             
                                width: 10,
         | 
| 343 353 | 
             
                                height,
         | 
| 344 354 | 
             
                            },
         | 
| 345 | 
            -
                         | 
| 355 | 
            +
                        ],
         | 
| 346 356 | 
             
                    ],
         | 
| 347 357 | 
             
                    basePdf: { width: 100, height: 100, padding: [padding, padding, padding, padding] },
         | 
| 348 358 | 
             
                };
         | 
| @@ -374,8 +384,10 @@ describe('getDynamicTemplate', () => { | |
| 374 384 | 
             
                        const dynamicTemplate = await getDynamicTemplate(createGetDynamicTemplateArg(increaseHeights));
         | 
| 375 385 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 376 386 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(1);
         | 
| 377 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 378 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 387 | 
            +
                        expect(dynamicTemplate.schemas[0][0].position.y).toEqual(aPositionY);
         | 
| 388 | 
            +
                        expect(dynamicTemplate.schemas[0][0].name).toEqual('a');
         | 
| 389 | 
            +
                        expect(dynamicTemplate.schemas[0][1].position.y).toEqual(increaseHeights.reduce((a, b) => a + b, 0) - height + bPositionY);
         | 
| 390 | 
            +
                        expect(dynamicTemplate.schemas[0][1].name).toEqual('b');
         | 
| 379 391 | 
             
                    });
         | 
| 380 392 | 
             
                });
         | 
| 381 393 | 
             
                describe('Multiple page scenarios', () => {
         | 
| @@ -384,19 +396,25 @@ describe('getDynamicTemplate', () => { | |
| 384 396 | 
             
                        const dynamicTemplate = await getDynamicTemplate(createGetDynamicTemplateArg(increaseHeights));
         | 
| 385 397 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 386 398 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(2);
         | 
| 387 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 388 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 389 | 
            -
                        expect(dynamicTemplate.schemas[1] | 
| 399 | 
            +
                        expect(dynamicTemplate.schemas[0][0].position.y).toEqual(aPositionY);
         | 
| 400 | 
            +
                        expect(dynamicTemplate.schemas[0][0].name).toEqual('a');
         | 
| 401 | 
            +
                        expect(dynamicTemplate.schemas[0][1]).toBeUndefined();
         | 
| 402 | 
            +
                        expect(dynamicTemplate.schemas[1][0].name).toEqual('b');
         | 
| 403 | 
            +
                        expect(dynamicTemplate.schemas[1][0].position.y).toEqual(padding);
         | 
| 404 | 
            +
                        expect(dynamicTemplate.schemas[1][1]).toBeUndefined();
         | 
| 390 405 | 
             
                    });
         | 
| 391 406 | 
             
                    test('should handle page break with a on page 1 and 2, b on page 2', async () => {
         | 
| 392 407 | 
             
                        const increaseHeights = [20, 20, 20, 20, 20];
         | 
| 393 408 | 
             
                        const dynamicTemplate = await getDynamicTemplate(createGetDynamicTemplateArg(increaseHeights));
         | 
| 394 409 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 395 410 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(2);
         | 
| 396 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 397 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 398 | 
            -
                        expect(dynamicTemplate.schemas[1] | 
| 399 | 
            -
                        expect(dynamicTemplate.schemas[1]. | 
| 411 | 
            +
                        expect(dynamicTemplate.schemas[0][0].position.y).toEqual(aPositionY);
         | 
| 412 | 
            +
                        expect(dynamicTemplate.schemas[0][0].name).toEqual('a');
         | 
| 413 | 
            +
                        expect(dynamicTemplate.schemas[0][1]).toBeUndefined();
         | 
| 414 | 
            +
                        expect(dynamicTemplate.schemas[1][0].position.y).toEqual(padding);
         | 
| 415 | 
            +
                        expect(dynamicTemplate.schemas[1][0].name).toEqual('a');
         | 
| 416 | 
            +
                        expect(dynamicTemplate.schemas[1][1].position.y).toEqual(increaseHeights.slice(3).reduce((a, b) => a + b, 0) - height + padding);
         | 
| 417 | 
            +
                        expect(dynamicTemplate.schemas[1][1].name).toEqual('b');
         | 
| 400 418 | 
             
                    });
         | 
| 401 419 | 
             
                    test('should handle multiple page breaks', async () => {
         | 
| 402 420 | 
             
                        const increaseHeights = [50, 50, 50, 50, 50];
         | 
| @@ -405,15 +423,17 @@ describe('getDynamicTemplate', () => { | |
| 405 423 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(5);
         | 
| 406 424 | 
             
                        // Verify 'a' elements
         | 
| 407 425 | 
             
                        for (let i = 0; i < 4; i++) {
         | 
| 408 | 
            -
                            expect(dynamicTemplate.schemas[i] | 
| 409 | 
            -
                            expect(dynamicTemplate.schemas[i]. | 
| 410 | 
            -
                            expect(dynamicTemplate.schemas[i]. | 
| 411 | 
            -
                            expect(dynamicTemplate.schemas[i]. | 
| 426 | 
            +
                            expect(dynamicTemplate.schemas[i][0]).toBeDefined();
         | 
| 427 | 
            +
                            expect(dynamicTemplate.schemas[i][0].position.y).toEqual(i === 0 ? aPositionY : padding);
         | 
| 428 | 
            +
                            expect(dynamicTemplate.schemas[i][0].height).toEqual(i === 3 ? 100 : 50);
         | 
| 429 | 
            +
                            expect(dynamicTemplate.schemas[i][0].name).toEqual('a');
         | 
| 430 | 
            +
                            expect(dynamicTemplate.schemas[i][1]).toBeUndefined();
         | 
| 412 431 | 
             
                        }
         | 
| 413 432 | 
             
                        // Verify 'b' element
         | 
| 414 | 
            -
                        expect(dynamicTemplate.schemas[4] | 
| 415 | 
            -
                        expect(dynamicTemplate.schemas[4]. | 
| 416 | 
            -
                        expect(dynamicTemplate.schemas[4]. | 
| 433 | 
            +
                        expect(dynamicTemplate.schemas[4][0]).toBeDefined();
         | 
| 434 | 
            +
                        expect(dynamicTemplate.schemas[4][0].name).toEqual('b');
         | 
| 435 | 
            +
                        expect(dynamicTemplate.schemas[4][0].position.y).toEqual(padding);
         | 
| 436 | 
            +
                        expect(dynamicTemplate.schemas[4][0].height).toEqual(10);
         | 
| 417 437 | 
             
                    });
         | 
| 418 438 | 
             
                    test('should handle both a and b on next page', async () => {
         | 
| 419 439 | 
             
                        const increaseHeights = [80, 10, 10];
         | 
| @@ -421,16 +441,16 @@ describe('getDynamicTemplate', () => { | |
| 421 441 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 422 442 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(2);
         | 
| 423 443 | 
             
                        // Check first page
         | 
| 424 | 
            -
                        expect(dynamicTemplate.schemas[0] | 
| 425 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 426 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 427 | 
            -
                        expect(dynamicTemplate.schemas[0] | 
| 444 | 
            +
                        expect(dynamicTemplate.schemas[0][0]).toBeDefined();
         | 
| 445 | 
            +
                        expect(dynamicTemplate.schemas[0][0].position.y).toEqual(aPositionY);
         | 
| 446 | 
            +
                        expect(dynamicTemplate.schemas[0][0].height).toEqual(80);
         | 
| 447 | 
            +
                        expect(dynamicTemplate.schemas[0][1]).toBeUndefined();
         | 
| 428 448 | 
             
                        // Check second page
         | 
| 429 | 
            -
                        expect(dynamicTemplate.schemas[1] | 
| 430 | 
            -
                        expect(dynamicTemplate.schemas[1]. | 
| 431 | 
            -
                        expect(dynamicTemplate.schemas[1]. | 
| 432 | 
            -
                        expect(dynamicTemplate.schemas[1] | 
| 433 | 
            -
                        expect(dynamicTemplate.schemas[1]. | 
| 449 | 
            +
                        expect(dynamicTemplate.schemas[1][0]).toBeDefined();
         | 
| 450 | 
            +
                        expect(dynamicTemplate.schemas[1][0].position.y).toEqual(padding);
         | 
| 451 | 
            +
                        expect(dynamicTemplate.schemas[1][0].height).toEqual(20);
         | 
| 452 | 
            +
                        expect(dynamicTemplate.schemas[1][1]).toBeDefined();
         | 
| 453 | 
            +
                        expect(dynamicTemplate.schemas[1][1].position.y).toBeGreaterThanOrEqual(dynamicTemplate.schemas[1][0].position.y + dynamicTemplate.schemas[1][0].height);
         | 
| 434 454 | 
             
                    });
         | 
| 435 455 | 
             
                });
         | 
| 436 456 | 
             
                describe('Element height modifications', () => {
         | 
| @@ -441,14 +461,15 @@ describe('getDynamicTemplate', () => { | |
| 441 461 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 442 462 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(2);
         | 
| 443 463 | 
             
                        // Check 'a' element
         | 
| 444 | 
            -
                        expect(dynamicTemplate.schemas[0] | 
| 445 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 446 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 464 | 
            +
                        expect(dynamicTemplate.schemas[0][0]).toBeDefined();
         | 
| 465 | 
            +
                        expect(dynamicTemplate.schemas[0][0].position.y).toEqual(aPositionY);
         | 
| 466 | 
            +
                        expect(dynamicTemplate.schemas[0][0].height).toEqual(50);
         | 
| 467 | 
            +
                        expect(dynamicTemplate.schemas[0][0].name).toEqual('a');
         | 
| 447 468 | 
             
                        // Check 'b' element
         | 
| 448 | 
            -
                         | 
| 449 | 
            -
                        expect( | 
| 450 | 
            -
                        expect( | 
| 451 | 
            -
                        expect( | 
| 469 | 
            +
                        expect(dynamicTemplate.schemas[1][0]).toBeDefined();
         | 
| 470 | 
            +
                        expect(dynamicTemplate.schemas[1][0].position.y).toEqual(padding);
         | 
| 471 | 
            +
                        expect(dynamicTemplate.schemas[1][0].height).toEqual(bHeight);
         | 
| 472 | 
            +
                        expect(dynamicTemplate.schemas[1][0].name).toEqual('b');
         | 
| 452 473 | 
             
                    });
         | 
| 453 474 | 
             
                });
         | 
| 454 475 | 
             
                describe('Edge cases', () => {
         | 
| @@ -457,8 +478,9 @@ describe('getDynamicTemplate', () => { | |
| 457 478 | 
             
                        const dynamicTemplate = await getDynamicTemplate(createGetDynamicTemplateArg(increaseHeights));
         | 
| 458 479 | 
             
                        verifyBasicStructure(dynamicTemplate);
         | 
| 459 480 | 
             
                        expect(dynamicTemplate.schemas.length).toBe(1);
         | 
| 460 | 
            -
                        expect(dynamicTemplate.schemas[0] | 
| 461 | 
            -
                        expect(dynamicTemplate.schemas[0]. | 
| 481 | 
            +
                        expect(dynamicTemplate.schemas[0][0]).toBeDefined();
         | 
| 482 | 
            +
                        expect(dynamicTemplate.schemas[0][0].name).toEqual('b');
         | 
| 483 | 
            +
                        expect(dynamicTemplate.schemas[0][1]).toBeUndefined();
         | 
| 462 484 | 
             
                    });
         | 
| 463 485 | 
             
                    test('should handle very large increase heights', async () => {
         | 
| 464 486 | 
             
                        const increaseHeights = [1000, 1000];
         | 
| @@ -468,4 +490,133 @@ describe('getDynamicTemplate', () => { | |
| 468 490 | 
             
                    });
         | 
| 469 491 | 
             
                });
         | 
| 470 492 | 
             
            });
         | 
| 493 | 
            +
            describe('migrateTemplate', () => {
         | 
| 494 | 
            +
                it('should convert LegacySchemaPageArray to SchemaPageArray', () => {
         | 
| 495 | 
            +
                    const legacyTemplate = {
         | 
| 496 | 
            +
                        schemas: [
         | 
| 497 | 
            +
                            {
         | 
| 498 | 
            +
                                "field1": {
         | 
| 499 | 
            +
                                    "type": "text",
         | 
| 500 | 
            +
                                    "content": "Field 1",
         | 
| 501 | 
            +
                                    "width": 45,
         | 
| 502 | 
            +
                                    "height": 10,
         | 
| 503 | 
            +
                                    "position": {
         | 
| 504 | 
            +
                                        "x": 0,
         | 
| 505 | 
            +
                                        "y": 0
         | 
| 506 | 
            +
                                    }
         | 
| 507 | 
            +
                                },
         | 
| 508 | 
            +
                                "field2": {
         | 
| 509 | 
            +
                                    "type": "text",
         | 
| 510 | 
            +
                                    "content": "Field 2",
         | 
| 511 | 
            +
                                    "width": 45,
         | 
| 512 | 
            +
                                    "height": 10,
         | 
| 513 | 
            +
                                    "position": {
         | 
| 514 | 
            +
                                        "x": 0,
         | 
| 515 | 
            +
                                        "y": 0
         | 
| 516 | 
            +
                                    }
         | 
| 517 | 
            +
                                }
         | 
| 518 | 
            +
                            },
         | 
| 519 | 
            +
                            {
         | 
| 520 | 
            +
                                "field3": {
         | 
| 521 | 
            +
                                    "type": "text",
         | 
| 522 | 
            +
                                    "content": "Field 3",
         | 
| 523 | 
            +
                                    "width": 45,
         | 
| 524 | 
            +
                                    "height": 10,
         | 
| 525 | 
            +
                                    "position": {
         | 
| 526 | 
            +
                                        "x": 0,
         | 
| 527 | 
            +
                                        "y": 0
         | 
| 528 | 
            +
                                    }
         | 
| 529 | 
            +
                                }
         | 
| 530 | 
            +
                            }
         | 
| 531 | 
            +
                        ]
         | 
| 532 | 
            +
                    };
         | 
| 533 | 
            +
                    migrateTemplate(legacyTemplate);
         | 
| 534 | 
            +
                    const expectedSchemaPageArray = [
         | 
| 535 | 
            +
                        [
         | 
| 536 | 
            +
                            {
         | 
| 537 | 
            +
                                "name": "field1",
         | 
| 538 | 
            +
                                "type": "text",
         | 
| 539 | 
            +
                                "content": "Field 1",
         | 
| 540 | 
            +
                                "width": 45,
         | 
| 541 | 
            +
                                "height": 10,
         | 
| 542 | 
            +
                                "position": {
         | 
| 543 | 
            +
                                    "x": 0,
         | 
| 544 | 
            +
                                    "y": 0
         | 
| 545 | 
            +
                                }
         | 
| 546 | 
            +
                            },
         | 
| 547 | 
            +
                            {
         | 
| 548 | 
            +
                                "name": "field2",
         | 
| 549 | 
            +
                                "type": "text",
         | 
| 550 | 
            +
                                "content": "Field 2",
         | 
| 551 | 
            +
                                "width": 45,
         | 
| 552 | 
            +
                                "height": 10,
         | 
| 553 | 
            +
                                "position": {
         | 
| 554 | 
            +
                                    "x": 0,
         | 
| 555 | 
            +
                                    "y": 0
         | 
| 556 | 
            +
                                }
         | 
| 557 | 
            +
                            }
         | 
| 558 | 
            +
                        ],
         | 
| 559 | 
            +
                        [
         | 
| 560 | 
            +
                            {
         | 
| 561 | 
            +
                                "name": "field3",
         | 
| 562 | 
            +
                                "type": "text",
         | 
| 563 | 
            +
                                "content": "Field 3",
         | 
| 564 | 
            +
                                "width": 45,
         | 
| 565 | 
            +
                                "height": 10,
         | 
| 566 | 
            +
                                "position": {
         | 
| 567 | 
            +
                                    "x": 0,
         | 
| 568 | 
            +
                                    "y": 0
         | 
| 569 | 
            +
                                }
         | 
| 570 | 
            +
                            }
         | 
| 571 | 
            +
                        ]
         | 
| 572 | 
            +
                    ];
         | 
| 573 | 
            +
                    expect(legacyTemplate.schemas).toEqual(expectedSchemaPageArray);
         | 
| 574 | 
            +
                });
         | 
| 575 | 
            +
                it('should not modify already SchemaPageArray', () => {
         | 
| 576 | 
            +
                    const pagedTemplate = {
         | 
| 577 | 
            +
                        schemas: [
         | 
| 578 | 
            +
                            [
         | 
| 579 | 
            +
                                {
         | 
| 580 | 
            +
                                    "name": "field1",
         | 
| 581 | 
            +
                                    "type": "text",
         | 
| 582 | 
            +
                                    "content": "Field 1",
         | 
| 583 | 
            +
                                    "width": 45,
         | 
| 584 | 
            +
                                    "height": 10,
         | 
| 585 | 
            +
                                    "position": {
         | 
| 586 | 
            +
                                        "x": 0,
         | 
| 587 | 
            +
                                        "y": 0
         | 
| 588 | 
            +
                                    }
         | 
| 589 | 
            +
                                },
         | 
| 590 | 
            +
                                {
         | 
| 591 | 
            +
                                    "name": "field2",
         | 
| 592 | 
            +
                                    "type": "text",
         | 
| 593 | 
            +
                                    "content": "Field 2",
         | 
| 594 | 
            +
                                    "width": 45,
         | 
| 595 | 
            +
                                    "height": 10,
         | 
| 596 | 
            +
                                    "position": {
         | 
| 597 | 
            +
                                        "x": 0,
         | 
| 598 | 
            +
                                        "y": 0
         | 
| 599 | 
            +
                                    }
         | 
| 600 | 
            +
                                }
         | 
| 601 | 
            +
                            ],
         | 
| 602 | 
            +
                            [
         | 
| 603 | 
            +
                                {
         | 
| 604 | 
            +
                                    "name": "field3",
         | 
| 605 | 
            +
                                    "type": "text",
         | 
| 606 | 
            +
                                    "content": "Field 3",
         | 
| 607 | 
            +
                                    "width": 45,
         | 
| 608 | 
            +
                                    "height": 10,
         | 
| 609 | 
            +
                                    "position": {
         | 
| 610 | 
            +
                                        "x": 0,
         | 
| 611 | 
            +
                                        "y": 0
         | 
| 612 | 
            +
                                    }
         | 
| 613 | 
            +
                                }
         | 
| 614 | 
            +
                            ]
         | 
| 615 | 
            +
                        ]
         | 
| 616 | 
            +
                    };
         | 
| 617 | 
            +
                    const before = JSON.parse(JSON.stringify(pagedTemplate));
         | 
| 618 | 
            +
                    migrateTemplate(pagedTemplate);
         | 
| 619 | 
            +
                    expect(pagedTemplate.schemas).toEqual(before.schemas);
         | 
| 620 | 
            +
                });
         | 
| 621 | 
            +
            });
         | 
| 471 622 | 
             
            //# sourceMappingURL=helper.test.js.map
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"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"}
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            // TODO: Automatically retrieve and apply the current git tag during the build process.
         | 
| 2 | 
            -
            export const PDFME_VERSION = ' | 
| 2 | 
            +
            export const PDFME_VERSION = '5.0.0';
         | 
| 3 3 | 
             
            export const PT_TO_PX_RATIO = 1.333;
         | 
| 4 4 | 
             
            export const PT_TO_MM_RATIO = 0.3528;
         | 
| 5 5 | 
             
            export const MM_TO_PT_RATIO = 2.8346; // https://www.ddc.co.jp/words/archives/20090701114500.html
         |