@pdfme/generator 3.0.0-beta.1 → 3.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.
@@ -31,14 +31,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
34
  Object.defineProperty(exports, "__esModule", { value: true });
38
35
  const pdfLib = __importStar(require("@pdfme/pdf-lib"));
39
36
  const fontkit = __importStar(require("fontkit"));
40
37
  const common_1 = require("@pdfme/common");
41
- const builtInRenderer_1 = __importDefault(require("./builtInRenderer"));
38
+ const schemas_1 = require("@pdfme/schemas");
42
39
  const pdfUtils_1 = require("./pdfUtils");
43
40
  const constants_1 = require("./constants");
44
41
  const preprocessing = ({ template }) => __awaiter(void 0, void 0, void 0, function* () {
@@ -55,11 +52,11 @@ const postProcessing = ({ pdfDoc }) => {
55
52
  pdfDoc.setCreator(constants_1.TOOL_NAME);
56
53
  };
57
54
  const generate = (props) => __awaiter(void 0, void 0, void 0, function* () {
55
+ var _a;
58
56
  (0, common_1.checkGenerateProps)(props);
59
- const { inputs, template, options = {}, plugins = {} } = props;
57
+ const { inputs, template, options = {}, plugins: userPlugins = {} } = props;
60
58
  const { pdfDoc, embeddedPages, embedPdfBoxes } = yield preprocessing({ template });
61
- const customRenderer = Object.entries(plugins).reduce((acc, [key, { pdf }]) => Object.assign(acc, { [key]: pdf }), {});
62
- const rendererRegistry = Object.keys(customRenderer).length > 0 ? customRenderer : builtInRenderer_1.default;
59
+ const plugins = Object.values(userPlugins).length > 0 ? userPlugins : schemas_1.builtInPlugins;
63
60
  const _cache = new Map();
64
61
  for (let i = 0; i < inputs.length; i += 1) {
65
62
  const inputObj = inputs[i];
@@ -78,7 +75,7 @@ const generate = (props) => __awaiter(void 0, void 0, void 0, function* () {
78
75
  if (!schema || !value) {
79
76
  continue;
80
77
  }
81
- const render = rendererRegistry[schema.type];
78
+ const render = (_a = Object.values(plugins).find((plugin) => plugin.propPanel.defaultSchema.type === schema.type)) === null || _a === void 0 ? void 0 : _a.pdf;
82
79
  if (!render) {
83
80
  throw new Error(`[@pdfme/generator] Renderer for type ${schema.type} not found.
84
81
  Check this document: https://pdfme.com/docs/custom-schemas`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import * as pdfLib from '@pdfme/pdf-lib';
11
11
  import * as fontkit from 'fontkit';
12
12
  import { checkGenerateProps } from '@pdfme/common';
13
- import builtInRenderer from './builtInRenderer';
13
+ import { builtInPlugins } from '@pdfme/schemas';
14
14
  import { drawEmbeddedPage, getEmbeddedPagesAndEmbedPdfBoxes } from './pdfUtils';
15
15
  import { TOOL_NAME } from './constants';
16
16
  const preprocessing = ({ template }) => __awaiter(void 0, void 0, void 0, function* () {
@@ -27,11 +27,11 @@ const postProcessing = ({ pdfDoc }) => {
27
27
  pdfDoc.setCreator(TOOL_NAME);
28
28
  };
29
29
  const generate = (props) => __awaiter(void 0, void 0, void 0, function* () {
30
+ var _a;
30
31
  checkGenerateProps(props);
31
- const { inputs, template, options = {}, plugins = {} } = props;
32
+ const { inputs, template, options = {}, plugins: userPlugins = {} } = props;
32
33
  const { pdfDoc, embeddedPages, embedPdfBoxes } = yield preprocessing({ template });
33
- const customRenderer = Object.entries(plugins).reduce((acc, [key, { pdf }]) => Object.assign(acc, { [key]: pdf }), {});
34
- const rendererRegistry = Object.keys(customRenderer).length > 0 ? customRenderer : builtInRenderer;
34
+ const plugins = Object.values(userPlugins).length > 0 ? userPlugins : builtInPlugins;
35
35
  const _cache = new Map();
36
36
  for (let i = 0; i < inputs.length; i += 1) {
37
37
  const inputObj = inputs[i];
@@ -50,7 +50,7 @@ const generate = (props) => __awaiter(void 0, void 0, void 0, function* () {
50
50
  if (!schema || !value) {
51
51
  continue;
52
52
  }
53
- const render = rendererRegistry[schema.type];
53
+ const render = (_a = Object.values(plugins).find((plugin) => plugin.propPanel.defaultSchema.type === schema.type)) === null || _a === void 0 ? void 0 : _a.pdf;
54
54
  if (!render) {
55
55
  throw new Error(`[@pdfme/generator] Renderer for type ${schema.type} not found.
56
56
  Check this document: https://pdfme.com/docs/custom-schemas`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,aAAa,GAAG,CAAO,EAAE,QAAQ,EAA0B,EAAE,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACjD,aAAa;IACb,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAG,MAAM,gCAAgC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IAEvD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC,CAAA,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAkC,EAAE,EAAE;IACpE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAO,KAAoB,EAAE,EAAE;IAC9C,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAE/D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAC3D,EAAiB,CAClB,CAAC;IAEF,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IAE5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YAErD,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAE5B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;oBACrB,SAAS;iBACV;gBAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,IAAI;2DAClB,CAAC,CAAC;iBACpD;gBACD,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACxE;SACF;KACF;IAED,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3B,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- import type { Schema, PDFRenderProps } from '@pdfme/common';
2
- export type PDFRender = (arg: PDFRenderProps<Schema>) => Promise<void>;
3
- export interface PDFRenderer {
4
- [key: string]: PDFRender | undefined;
5
- }
6
1
  export type EmbedPdfBox = {
7
2
  mediaBox: {
8
3
  x: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/generator",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-dev.1",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -57,7 +57,8 @@
57
57
  "pdf2json": "^2.0.0"
58
58
  },
59
59
  "peerDependencies": {
60
- "@pdfme/common": "latest"
60
+ "@pdfme/common": "latest",
61
+ "@pdfme/schemas": "latest"
61
62
  },
62
63
  "jest": {
63
64
  "resolver": "ts-jest-resolver",
package/src/generate.ts CHANGED
@@ -2,8 +2,7 @@ import * as pdfLib from '@pdfme/pdf-lib';
2
2
  import * as fontkit from 'fontkit';
3
3
  import type { GenerateProps, Template } from '@pdfme/common';
4
4
  import { checkGenerateProps } from '@pdfme/common';
5
- import type { PDFRenderer } from './types';
6
- import builtInRenderer from './builtInRenderer';
5
+ import { builtInPlugins } from '@pdfme/schemas';
7
6
  import { drawEmbeddedPage, getEmbeddedPagesAndEmbedPdfBoxes } from './pdfUtils';
8
7
  import { TOOL_NAME } from './constants';
9
8
 
@@ -27,17 +26,11 @@ const postProcessing = ({ pdfDoc }: { pdfDoc: pdfLib.PDFDocument }) => {
27
26
 
28
27
  const generate = async (props: GenerateProps) => {
29
28
  checkGenerateProps(props);
30
- const { inputs, template, options = {}, plugins = {} } = props;
29
+ const { inputs, template, options = {}, plugins: userPlugins = {} } = props;
31
30
 
32
31
  const { pdfDoc, embeddedPages, embedPdfBoxes } = await preprocessing({ template });
33
32
 
34
- const customRenderer = Object.entries(plugins).reduce(
35
- (acc, [key, { pdf }]) => Object.assign(acc, { [key]: pdf }),
36
- {} as PDFRenderer
37
- );
38
-
39
- const rendererRegistry: PDFRenderer =
40
- Object.keys(customRenderer).length > 0 ? customRenderer : builtInRenderer;
33
+ const plugins = Object.values(userPlugins).length > 0 ? userPlugins : builtInPlugins;
41
34
 
42
35
  const _cache = new Map();
43
36
 
@@ -62,7 +55,9 @@ const generate = async (props: GenerateProps) => {
62
55
  continue;
63
56
  }
64
57
 
65
- const render = rendererRegistry[schema.type];
58
+ const render = Object.values(plugins).find(
59
+ (plugin) => plugin.propPanel.defaultSchema.type === schema.type
60
+ )?.pdf;
66
61
  if (!render) {
67
62
  throw new Error(`[@pdfme/generator] Renderer for type ${schema.type} not found.
68
63
  Check this document: https://pdfme.com/docs/custom-schemas`);
package/src/types.ts CHANGED
@@ -1,11 +1,3 @@
1
- import type { Schema, PDFRenderProps } from '@pdfme/common';
2
-
3
- export type PDFRender = (arg: PDFRenderProps<Schema>) => Promise<void>;
4
-
5
- export interface PDFRenderer {
6
- [key: string]: PDFRender | undefined;
7
- }
8
-
9
1
  export type EmbedPdfBox = {
10
2
  mediaBox: { x: number; y: number; width: number; height: number };
11
3
  bleedBox: { x: number; y: number; width: number; height: number };
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const schemas_1 = require("@pdfme/schemas");
4
- const renderer = { text: schemas_1.text.pdf };
5
- exports.default = renderer;
6
- //# sourceMappingURL=builtInRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtInRenderer.js","sourceRoot":"","sources":["../../../src/builtInRenderer.ts"],"names":[],"mappings":";;AAAA,4CAAsC;AAGtC,MAAM,QAAQ,GAAgB,EAAE,IAAI,EAAE,cAAI,CAAC,GAAgB,EAAE,CAAC;AAC9D,kBAAe,QAAQ,CAAC"}
@@ -1,4 +0,0 @@
1
- import { text } from '@pdfme/schemas';
2
- const renderer = { text: text.pdf };
3
- export default renderer;
4
- //# sourceMappingURL=builtInRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtInRenderer.js","sourceRoot":"","sources":["../../../src/builtInRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,QAAQ,GAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAgB,EAAE,CAAC;AAC9D,eAAe,QAAQ,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { PDFRenderer } from './types';
2
- declare const renderer: PDFRenderer;
3
- export default renderer;
@@ -1,5 +0,0 @@
1
- import { text } from '@pdfme/schemas';
2
- import type { PDFRenderer, PDFRender } from './types';
3
-
4
- const renderer: PDFRenderer = { text: text.pdf as PDFRender };
5
- export default renderer;