abstract-document 20.0.4 → 20.1.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.
Files changed (214) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/abstract-document/abstract-doc.d.ts.map +1 -1
  3. package/lib/abstract-document/abstract-doc.js +2 -2
  4. package/lib/abstract-document/atoms/atom.d.ts +3 -3
  5. package/lib/abstract-document/atoms/atom.d.ts.map +1 -1
  6. package/lib/abstract-document/default-styles.d.ts.map +1 -1
  7. package/lib/abstract-document/default-styles.js.map +1 -1
  8. package/lib/abstract-document/markdown/markdown.d.ts.map +1 -1
  9. package/lib/abstract-document/markdown/markdown.js +4 -4
  10. package/lib/abstract-document/markdown/markdown.js.map +1 -1
  11. package/lib/abstract-document/numberings/numbering-definition.d.ts +2 -2
  12. package/lib/abstract-document/numberings/numbering-definition.d.ts.map +1 -1
  13. package/lib/abstract-document/numberings/numbering-level-definition.js +2 -2
  14. package/lib/abstract-document/page/master-page.d.ts +1 -1
  15. package/lib/abstract-document/page/master-page.d.ts.map +1 -1
  16. package/lib/abstract-document/page/master-page.js +1 -1
  17. package/lib/abstract-document/page/master-page.js.map +1 -1
  18. package/lib/abstract-document/page/section.d.ts +1 -1
  19. package/lib/abstract-document/page/section.d.ts.map +1 -1
  20. package/lib/abstract-document/page/section.js +2 -2
  21. package/lib/abstract-document/page/section.js.map +1 -1
  22. package/lib/abstract-document/primitives/font.d.ts +1 -1
  23. package/lib/abstract-document/primitives/font.d.ts.map +1 -1
  24. package/lib/abstract-document/primitives/font.js +1 -1
  25. package/lib/abstract-document/primitives/font.js.map +1 -1
  26. package/lib/abstract-document/primitives/layout-foundation-color.d.ts.map +1 -1
  27. package/lib/abstract-document/primitives/layout-foundation-color.js.map +1 -1
  28. package/lib/abstract-document/primitives/layout-foundation.d.ts.map +1 -1
  29. package/lib/abstract-document/primitives/layout-foundation.js.map +1 -1
  30. package/lib/abstract-document/resources.d.ts +4 -3
  31. package/lib/abstract-document/resources.d.ts.map +1 -1
  32. package/lib/abstract-document/resources.js +4 -4
  33. package/lib/abstract-document/resources.js.map +1 -1
  34. package/lib/abstract-document/section-elements/group.d.ts +1 -1
  35. package/lib/abstract-document/section-elements/group.d.ts.map +1 -1
  36. package/lib/abstract-document/section-elements/group.js +2 -2
  37. package/lib/abstract-document/section-elements/group.js.map +1 -1
  38. package/lib/abstract-document/section-elements/page-break.d.ts +2 -2
  39. package/lib/abstract-document/section-elements/page-break.d.ts.map +1 -1
  40. package/lib/abstract-document/section-elements/page-break.js +1 -2
  41. package/lib/abstract-document/section-elements/page-break.js.map +1 -1
  42. package/lib/abstract-document/section-elements/paragraph.d.ts +2 -2
  43. package/lib/abstract-document/section-elements/paragraph.d.ts.map +1 -1
  44. package/lib/abstract-document/section-elements/paragraph.js +2 -2
  45. package/lib/abstract-document/section-elements/paragraph.js.map +1 -1
  46. package/lib/abstract-document/section-elements/section-element.d.ts +1 -1
  47. package/lib/abstract-document/section-elements/section-element.d.ts.map +1 -1
  48. package/lib/abstract-document/section-elements/section-element.js.map +1 -1
  49. package/lib/abstract-document/section-elements/table.d.ts +1 -1
  50. package/lib/abstract-document/section-elements/table.d.ts.map +1 -1
  51. package/lib/abstract-document/section-elements/table.js +2 -2
  52. package/lib/abstract-document/section-elements/table.js.map +1 -1
  53. package/lib/abstract-document/styles/group-style.js +3 -3
  54. package/lib/abstract-document/styles/page-style.d.ts.map +1 -1
  55. package/lib/abstract-document/styles/page-style.js +3 -7
  56. package/lib/abstract-document/styles/page-style.js.map +1 -1
  57. package/lib/abstract-document/styles/paragraph-style.d.ts +1 -1
  58. package/lib/abstract-document/styles/paragraph-style.d.ts.map +1 -1
  59. package/lib/abstract-document/styles/paragraph-style.js +5 -5
  60. package/lib/abstract-document/styles/paragraph-style.js.map +1 -1
  61. package/lib/abstract-document/styles/style.d.ts.map +1 -1
  62. package/lib/abstract-document/styles/style.js.map +1 -1
  63. package/lib/abstract-document/styles/table-cell-style.d.ts +1 -1
  64. package/lib/abstract-document/styles/table-cell-style.d.ts.map +1 -1
  65. package/lib/abstract-document/styles/table-cell-style.js +7 -7
  66. package/lib/abstract-document/styles/table-cell-style.js.map +1 -1
  67. package/lib/abstract-document/styles/table-style.d.ts +1 -1
  68. package/lib/abstract-document/styles/table-style.d.ts.map +1 -1
  69. package/lib/abstract-document/styles/table-style.js +2 -2
  70. package/lib/abstract-document/styles/table-style.js.map +1 -1
  71. package/lib/abstract-document/styles/text-style.d.ts.map +1 -1
  72. package/lib/abstract-document/styles/text-style.js +16 -21
  73. package/lib/abstract-document/styles/text-style.js.map +1 -1
  74. package/lib/abstract-document/table/table-cell.js +2 -2
  75. package/lib/abstract-document/table/table-row.d.ts +2 -3
  76. package/lib/abstract-document/table/table-row.d.ts.map +1 -1
  77. package/lib/abstract-document/table/table-row.js +2 -3
  78. package/lib/abstract-document/table/table-row.js.map +1 -1
  79. package/lib/abstract-document/types.d.ts.map +1 -1
  80. package/lib/abstract-document-exporters/docx/document-container.d.ts +5 -5
  81. package/lib/abstract-document-exporters/docx/document-container.d.ts.map +1 -1
  82. package/lib/abstract-document-exporters/docx/document-container.js +14 -13
  83. package/lib/abstract-document-exporters/docx/document-container.js.map +1 -1
  84. package/lib/abstract-document-exporters/docx/docx-constants.d.ts.map +1 -1
  85. package/lib/abstract-document-exporters/docx/docx-constants.js +1 -4
  86. package/lib/abstract-document-exporters/docx/docx-constants.js.map +1 -1
  87. package/lib/abstract-document-exporters/docx/ref-container.d.ts +8 -10
  88. package/lib/abstract-document-exporters/docx/ref-container.d.ts.map +1 -1
  89. package/lib/abstract-document-exporters/docx/ref-container.js +34 -35
  90. package/lib/abstract-document-exporters/docx/ref-container.js.map +1 -1
  91. package/lib/abstract-document-exporters/docx/string-utils.d.ts +2 -1
  92. package/lib/abstract-document-exporters/docx/string-utils.d.ts.map +1 -1
  93. package/lib/abstract-document-exporters/docx/string-utils.js +6 -4
  94. package/lib/abstract-document-exporters/docx/string-utils.js.map +1 -1
  95. package/lib/abstract-document-exporters/docx/xml-writer.d.ts +12 -33
  96. package/lib/abstract-document-exporters/docx/xml-writer.d.ts.map +1 -1
  97. package/lib/abstract-document-exporters/docx/xml-writer.js +243 -249
  98. package/lib/abstract-document-exporters/docx/xml-writer.js.map +1 -1
  99. package/lib/abstract-document-exporters/docx2/render-image.d.ts +1 -1
  100. package/lib/abstract-document-exporters/docx2/render-image.d.ts.map +1 -1
  101. package/lib/abstract-document-exporters/docx2/render-image.js +4 -16
  102. package/lib/abstract-document-exporters/docx2/render-image.js.map +1 -1
  103. package/lib/abstract-document-exporters/docx2/render.d.ts.map +1 -1
  104. package/lib/abstract-document-exporters/docx2/render.js +28 -38
  105. package/lib/abstract-document-exporters/docx2/render.js.map +1 -1
  106. package/lib/abstract-document-exporters/pdf/font.d.ts.map +1 -1
  107. package/lib/abstract-document-exporters/pdf/font.js +13 -14
  108. package/lib/abstract-document-exporters/pdf/font.js.map +1 -1
  109. package/lib/abstract-document-exporters/pdf/header-footer.d.ts +8 -0
  110. package/lib/abstract-document-exporters/pdf/header-footer.d.ts.map +1 -0
  111. package/lib/abstract-document-exporters/pdf/header-footer.js +31 -0
  112. package/lib/abstract-document-exporters/pdf/header-footer.js.map +1 -0
  113. package/lib/abstract-document-exporters/pdf/measure.d.ts +4 -4
  114. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  115. package/lib/abstract-document-exporters/pdf/measure.js +29 -31
  116. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  117. package/lib/abstract-document-exporters/pdf/page.d.ts +15 -0
  118. package/lib/abstract-document-exporters/pdf/page.d.ts.map +1 -0
  119. package/lib/abstract-document-exporters/pdf/page.js +2 -0
  120. package/lib/abstract-document-exporters/pdf/page.js.map +1 -0
  121. package/lib/abstract-document-exporters/pdf/paginate.d.ts +2 -20
  122. package/lib/abstract-document-exporters/pdf/paginate.d.ts.map +1 -1
  123. package/lib/abstract-document-exporters/pdf/paginate.js +8 -45
  124. package/lib/abstract-document-exporters/pdf/paginate.js.map +1 -1
  125. package/lib/abstract-document-exporters/pdf/pre-process.d.ts.map +1 -1
  126. package/lib/abstract-document-exporters/pdf/pre-process.js +8 -35
  127. package/lib/abstract-document-exporters/pdf/pre-process.js.map +1 -1
  128. package/lib/abstract-document-exporters/pdf/render-image.d.ts.map +1 -1
  129. package/lib/abstract-document-exporters/pdf/render-image.js +24 -34
  130. package/lib/abstract-document-exporters/pdf/render-image.js.map +1 -1
  131. package/lib/abstract-document-exporters/pdf/render.d.ts +4 -3
  132. package/lib/abstract-document-exporters/pdf/render.d.ts.map +1 -1
  133. package/lib/abstract-document-exporters/pdf/render.js +60 -50
  134. package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
  135. package/lib/abstract-document-exporters/pdf/std-fonts.js +1 -1
  136. package/lib/abstract-document-exporters/pdf/std-fonts.js.map +1 -1
  137. package/lib/abstract-document-exporters/pdf/textRunRow.d.ts +3 -3
  138. package/lib/abstract-document-exporters/pdf/textRunRow.d.ts.map +1 -1
  139. package/lib/abstract-document-exporters/pdf/textRunRow.js +6 -6
  140. package/lib/abstract-document-exporters/pdf/textRunRow.js.map +1 -1
  141. package/lib/abstract-document-exporters/pdf/update-refs.d.ts +1 -1
  142. package/lib/abstract-document-exporters/pdf/update-refs.d.ts.map +1 -1
  143. package/lib/abstract-document-exporters/pdf/update-refs.js +3 -2
  144. package/lib/abstract-document-exporters/pdf/update-refs.js.map +1 -1
  145. package/lib/abstract-document-exporters/shared/get_resources.d.ts.map +1 -1
  146. package/lib/abstract-document-exporters/shared/get_resources.js.map +1 -1
  147. package/lib/abstract-document-jsx/index.d.ts +2 -3
  148. package/lib/abstract-document-jsx/index.d.ts.map +1 -1
  149. package/lib/abstract-document-jsx/index.js +10 -6
  150. package/lib/abstract-document-jsx/index.js.map +1 -1
  151. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts +3 -7
  152. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts.map +1 -1
  153. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js +5 -3
  154. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js.map +1 -1
  155. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.d.ts.map +1 -1
  156. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js +1 -3
  157. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js.map +1 -1
  158. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.d.ts.map +1 -1
  159. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js +4 -8
  160. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js.map +1 -1
  161. package/lib/abstract-document-xml/xsd-template/xsd-template.js +2 -2
  162. package/lib/abstract-document-xml/xsd-template/xsd-template.js.map +1 -1
  163. package/package.json +22 -22
  164. package/src/abstract-document/abstract-doc.ts +6 -6
  165. package/src/abstract-document/atoms/atom.ts +3 -3
  166. package/src/abstract-document/default-styles.ts +1 -1
  167. package/src/abstract-document/markdown/markdown.ts +5 -5
  168. package/src/abstract-document/numberings/numbering-definition.ts +2 -2
  169. package/src/abstract-document/numberings/numbering-level-definition.ts +2 -2
  170. package/src/abstract-document/page/master-page.ts +2 -2
  171. package/src/abstract-document/page/section.ts +3 -3
  172. package/src/abstract-document/primitives/font.ts +1 -12
  173. package/src/abstract-document/primitives/layout-foundation-color.ts +1 -4
  174. package/src/abstract-document/primitives/layout-foundation.ts +1 -4
  175. package/src/abstract-document/resources.ts +9 -14
  176. package/src/abstract-document/section-elements/group.ts +3 -3
  177. package/src/abstract-document/section-elements/page-break.ts +2 -3
  178. package/src/abstract-document/section-elements/paragraph.ts +4 -4
  179. package/src/abstract-document/section-elements/section-element.ts +1 -1
  180. package/src/abstract-document/section-elements/table.ts +3 -3
  181. package/src/abstract-document/styles/group-style.ts +3 -3
  182. package/src/abstract-document/styles/page-style.ts +3 -7
  183. package/src/abstract-document/styles/paragraph-style.ts +6 -14
  184. package/src/abstract-document/styles/style.ts +1 -5
  185. package/src/abstract-document/styles/table-cell-style.ts +8 -11
  186. package/src/abstract-document/styles/table-style.ts +3 -8
  187. package/src/abstract-document/styles/text-style.ts +16 -21
  188. package/src/abstract-document/table/table-cell.ts +2 -2
  189. package/src/abstract-document/table/table-row.ts +3 -4
  190. package/src/abstract-document/types.ts +0 -1
  191. package/src/abstract-document-exporters/docx/document-container.ts +24 -13
  192. package/src/abstract-document-exporters/docx/docx-constants.ts +2 -6
  193. package/src/abstract-document-exporters/docx/ref-container.ts +48 -41
  194. package/src/abstract-document-exporters/docx/string-utils.ts +6 -6
  195. package/src/abstract-document-exporters/docx/xml-writer.ts +261 -266
  196. package/src/abstract-document-exporters/docx2/render-image.ts +15 -49
  197. package/src/abstract-document-exporters/docx2/render.ts +64 -139
  198. package/src/abstract-document-exporters/pdf/font.ts +17 -23
  199. package/src/abstract-document-exporters/pdf/header-footer.ts +43 -0
  200. package/src/abstract-document-exporters/pdf/measure.ts +50 -103
  201. package/src/abstract-document-exporters/pdf/page.ts +16 -0
  202. package/src/abstract-document-exporters/pdf/paginate.ts +29 -125
  203. package/src/abstract-document-exporters/pdf/pre-process.ts +11 -47
  204. package/src/abstract-document-exporters/pdf/render-image.ts +29 -46
  205. package/src/abstract-document-exporters/pdf/render.ts +84 -129
  206. package/src/abstract-document-exporters/pdf/std-fonts.ts +1 -1
  207. package/src/abstract-document-exporters/pdf/textRunRow.ts +12 -23
  208. package/src/abstract-document-exporters/pdf/update-refs.ts +10 -33
  209. package/src/abstract-document-exporters/shared/get_resources.ts +4 -4
  210. package/src/abstract-document-jsx/index.ts +38 -26
  211. package/src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts +14 -26
  212. package/src/abstract-document-xml/abstract-doc-of-xml/creator.ts +10 -28
  213. package/src/abstract-document-xml/abstract-doc-of-xml/custom-elements.tsx +8 -30
  214. package/src/abstract-document-xml/xsd-template/xsd-template.ts +2 -2
@@ -2,34 +2,7 @@ import { exhaustiveCheck } from "ts-exhaustive-check";
2
2
  import * as AD from "../../abstract-document/index.js";
3
3
  import * as TextStyle from "../../abstract-document/styles/text-style.js";
4
4
 
5
- const alphabet = [
6
- "a",
7
- "b",
8
- "c",
9
- "d",
10
- "e",
11
- "f",
12
- "g",
13
- "h",
14
- "i",
15
- "j",
16
- "k",
17
- "l",
18
- "m",
19
- "n",
20
- "o",
21
- "p",
22
- "q",
23
- "r",
24
- "s",
25
- "t",
26
- "u",
27
- "v",
28
- "w",
29
- "x",
30
- "y",
31
- "z",
32
- ];
5
+ const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
33
6
 
34
7
  const _numberingLevelItems = new Map<string, number>();
35
8
 
@@ -84,10 +57,7 @@ function preProcessSectionElement(
84
57
  }
85
58
  }
86
59
 
87
- function preProcessParagraph(
88
- paragraph: AD.Paragraph.Paragraph,
89
- resources: AD.Resources.Resources
90
- ): Array<AD.SectionElement.SectionElement> {
60
+ function preProcessParagraph(paragraph: AD.Paragraph.Paragraph, resources: AD.Resources.Resources): Array<AD.SectionElement.SectionElement> {
91
61
  const adjustedParagraphs = adjustParagraph(paragraph);
92
62
  if (paragraph.numbering === undefined || !resources.numberingDefinitions) {
93
63
  return adjustedParagraphs;
@@ -101,7 +71,7 @@ function preProcessParagraph(
101
71
  if (numbering === "Unordered") {
102
72
  numberText = "-";
103
73
  } else {
104
- for (let levelDefinition of levelDefinitions.filter((l) => l.level > level)) {
74
+ for (const levelDefinition of levelDefinitions.filter((l) => l.level > level)) {
105
75
  _numberingLevelItems.delete(numbering + "_" + levelDefinition.level.toString());
106
76
  }
107
77
 
@@ -112,20 +82,20 @@ function preProcessParagraph(
112
82
  } else if (!_numberingLevelItems.has(key)) {
113
83
  _numberingLevelItems.set(key, levelDefinitions[level].start);
114
84
  } else if (append !== true) {
115
- _numberingLevelItems.set(key, (_numberingLevelItems.get(key) || 0) + 1);
85
+ _numberingLevelItems.set(key, (_numberingLevelItems.get(key) ?? 0) + 1);
116
86
  }
117
87
 
118
- for (let levelDefinition of levelDefinitions.filter((l) => l.level <= level)) {
88
+ for (const levelDefinition of levelDefinitions.filter((l) => l.level <= level)) {
119
89
  const numberingLevel = numbering + "_" + levelDefinition.level.toString();
120
- const currentNumber = _numberingLevelItems.get(numberingLevel) || 0;
90
+ const currentNumber = _numberingLevelItems.get(numberingLevel) ?? 0;
121
91
  const levelText = generateLevelText(levelDefinition.format, currentNumber);
122
92
  const levelKey = "%" + (levelDefinition.level + 1).toString();
123
93
  numberText = numberText.replace(levelKey, levelText);
124
94
  }
125
95
  }
126
96
 
127
- let rows: Array<AD.TableRow.TableRow> = [];
128
- let children: Array<AD.TableCell.TableCell> = [];
97
+ const rows: Array<AD.TableRow.TableRow> = [];
98
+ const children: Array<AD.TableCell.TableCell> = [];
129
99
 
130
100
  children.push(AD.TableCell.create());
131
101
 
@@ -311,7 +281,7 @@ function toChar(num: number): string {
311
281
  function preProcessTable(table: AD.Table.Table, resources: AD.Resources.Resources): AD.SectionElement.SectionElement {
312
282
  const processedHeaders = [];
313
283
  const processedChildren = [];
314
- let rowSpans: Map<number, AD.TableCell.TableCell> = new Map();
284
+ const rowSpans: Map<number, AD.TableCell.TableCell> = new Map();
315
285
  if (table.headerRows) {
316
286
  for (const row of table.headerRows) {
317
287
  const header = preProcessTableRow(row, rowSpans, resources);
@@ -379,16 +349,10 @@ function preProcessTableRow(
379
349
 
380
350
  function preProcessTableCell(c: AD.TableCell.TableCell, resources: AD.Resources.Resources): AD.TableCell.TableCell {
381
351
  const children = c.children.flatMap((e) => preProcessSectionElement(e, resources));
382
- return AD.TableCell.create(
383
- { styleName: c.styleName, columnSpan: c.columnSpan, rowSpan: c.rowSpan, style: c.style },
384
- children
385
- );
352
+ return AD.TableCell.create({ styleName: c.styleName, columnSpan: c.columnSpan, rowSpan: c.rowSpan, style: c.style }, children);
386
353
  }
387
354
 
388
- function preProcessGroup(
389
- group: AD.Group.Group,
390
- parentResources: AD.Resources.Resources
391
- ): Array<AD.SectionElement.SectionElement> {
355
+ function preProcessGroup(group: AD.Group.Group, parentResources: AD.Resources.Resources): Array<AD.SectionElement.SectionElement> {
392
356
  const children = group.children.flatMap((e) => preProcessSectionElement(e, parentResources));
393
357
  if (group.keepTogether || AD.Resources.hasResources(group) || group.style.position === "absolute") {
394
358
  return [
@@ -1,8 +1,8 @@
1
1
  import type * as AbstractImage from "abstract-image";
2
2
  import svgToPdfKit from "svg-to-pdfkit";
3
3
  import * as AD from "../../abstract-document/index.js";
4
- import { getFontNameStyle, getFontName, isFontAvailable } from "./font.js";
5
4
  import { rawSvgPrefix, toBase64 } from "../shared/base-64.js";
5
+ import { getFontNameStyle, getFontName, isFontAvailable } from "./font.js";
6
6
 
7
7
  export function renderImage(
8
8
  resources: AD.Resources.Resources,
@@ -34,18 +34,9 @@ export function renderImage(
34
34
  const drawnH = imgH * scale;
35
35
 
36
36
  const offsetX =
37
- image.horizontalAlignment === "Center"
38
- ? (rect.width - drawnW) / 2
39
- : image.horizontalAlignment === "Right"
40
- ? rect.width - drawnW
41
- : 0;
37
+ image.horizontalAlignment === "Center" ? (rect.width - drawnW) / 2 : image.horizontalAlignment === "Right" ? rect.width - drawnW : 0;
42
38
 
43
- const offsetY =
44
- image.verticalAlignment === "Center"
45
- ? (rect.height - drawnH) / 2
46
- : image.verticalAlignment === "Bottom"
47
- ? rect.height - drawnH
48
- : 0;
39
+ const offsetY = image.verticalAlignment === "Center" ? (rect.height - drawnH) / 2 : image.verticalAlignment === "Bottom" ? rect.height - drawnH : 0;
49
40
 
50
41
  pdf.save();
51
42
  pdf.translate(position.x + offsetX, position.y + offsetY).scale(scale);
@@ -68,7 +59,7 @@ function abstractComponentToPdf(
68
59
  case "group":
69
60
  component.children.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, accScale));
70
61
  break;
71
- case "binaryimage":
62
+ case "binaryimage": {
72
63
  const format = component.format.toLowerCase();
73
64
  const w = component.bottomRight.x - component.topLeft.x;
74
65
  const h = component.bottomRight.y - component.topLeft.y;
@@ -86,13 +77,7 @@ function abstractComponentToPdf(
86
77
  );
87
78
  pdf.restore();
88
79
  } else if (component.data.url.startsWith(rawSvgPrefix)) {
89
- addWithSvgToPdfKit(
90
- decodeURIComponent(component.data.url.slice(rawSvgPrefix.length)),
91
- component,
92
- pdf,
93
- resources,
94
- textStyle
95
- );
80
+ addWithSvgToPdfKit(decodeURIComponent(component.data.url.slice(rawSvgPrefix.length)), component, pdf, resources, textStyle);
96
81
  } else {
97
82
  const match = /^data:.+?;base64,(.*)$/.exec(component.data.url);
98
83
  if (match) {
@@ -112,6 +97,7 @@ function abstractComponentToPdf(
112
97
  addWithSvgToPdfKit(new TextDecoder().decode(component.data.bytes), component, pdf, resources, textStyle);
113
98
  }
114
99
  break;
100
+ }
115
101
  case "subimage": {
116
102
  const scaleX = component.size.width / (component.image.size.width || 1);
117
103
  const scaleY = component.size.height / (component.image.size.height || 1);
@@ -119,9 +105,7 @@ function abstractComponentToPdf(
119
105
 
120
106
  pdf.save();
121
107
  pdf.translate(component.topLeft.x, component.topLeft.y).scale(scale);
122
- component.image.components.forEach((c) =>
123
- abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, accScale * scale)
124
- );
108
+ component.image.components.forEach((c) => abstractComponentToPdf(resources, pdf, c, textStyle, circuitBreaker, accScale * scale));
125
109
  pdf.restore();
126
110
  break;
127
111
  }
@@ -147,7 +131,7 @@ function abstractComponentToPdf(
147
131
  applyStrokeDashStyle(pdf, component.strokeDashStyle);
148
132
  pdf.stroke(colorToRgb(component.strokeColor));
149
133
  break;
150
- case "text":
134
+ case "text": {
151
135
  const font = getFontName(component.fontFamily, component.fontWeight, component.italic);
152
136
  if (component.clockwiseRotationDegrees !== 0) {
153
137
  pdf.save();
@@ -159,17 +143,9 @@ function abstractComponentToPdf(
159
143
  const stringWidth = pdf.widthOfString(component.text);
160
144
  const stringHeight = pdf.currentLineHeight();
161
145
  const dx =
162
- component.horizontalGrowthDirection === "left"
163
- ? -stringWidth
164
- : component.horizontalGrowthDirection === "uniform"
165
- ? -stringWidth * 0.5
166
- : 0;
146
+ component.horizontalGrowthDirection === "left" ? -stringWidth : component.horizontalGrowthDirection === "uniform" ? -stringWidth * 0.5 : 0;
167
147
  const dy =
168
- component.verticalGrowthDirection === "up"
169
- ? -stringHeight
170
- : component.verticalGrowthDirection === "uniform"
171
- ? -stringHeight * 0.5
172
- : 0;
148
+ component.verticalGrowthDirection === "up" ? -stringHeight : component.verticalGrowthDirection === "uniform" ? -stringHeight * 0.5 : 0;
173
149
  pdf
174
150
  .font(font)
175
151
  .fontSize(component.fontSize)
@@ -179,7 +155,8 @@ function abstractComponentToPdf(
179
155
  pdf.restore();
180
156
  }
181
157
  break;
182
- case "ellipse":
158
+ }
159
+ case "ellipse": {
183
160
  const width = component.bottomRight.x - component.topLeft.x;
184
161
  const height = component.bottomRight.y - component.topLeft.y;
185
162
  const centerX = component.topLeft.x + width * 0.5;
@@ -192,6 +169,7 @@ function abstractComponentToPdf(
192
169
  applyStrokeDashStyle(pdf, component.strokeDashStyle);
193
170
  pdf.fillAndStroke(colorToRgb(component.fillColor), colorToRgb(component.strokeColor));
194
171
  break;
172
+ }
195
173
  case "polygon":
196
174
  pdf
197
175
  .lineWidth(component.strokeThickness)
@@ -201,7 +179,7 @@ function abstractComponentToPdf(
201
179
  applyStrokeDashStyle(pdf, component.strokeDashStyle);
202
180
  pdf.fillAndStroke(colorToRgb(component.fillColor), colorToRgb(component.strokeColor));
203
181
  break;
204
- case "rectangle":
182
+ case "rectangle": {
205
183
  const rWidth = component.bottomRight.x - component.topLeft.x;
206
184
  const rHeight = component.bottomRight.y - component.topLeft.y;
207
185
  pdf
@@ -212,6 +190,7 @@ function abstractComponentToPdf(
212
190
  applyStrokeDashStyle(pdf, component.strokeDashStyle);
213
191
  pdf.fillAndStroke(colorToRgb(component.fillColor), colorToRgb(component.strokeColor));
214
192
  break;
193
+ }
215
194
  default:
216
195
  break;
217
196
  }
@@ -232,15 +211,17 @@ function addWithSvgToPdfKit(
232
211
  let index = 0;
233
212
  while (true) {
234
213
  index = svgUpdated.indexOf(t, index);
235
- if (index === -1) break;
236
- let indexStart = svgUpdated.indexOf('"', index);
237
- let indexEnd = svgUpdated.indexOf('"', indexStart + 1);
214
+ if (index === -1) {
215
+ break;
216
+ }
217
+ const indexStart = svgUpdated.indexOf('"', index);
218
+ const indexEnd = svgUpdated.indexOf('"', indexStart + 1);
238
219
  index = indexEnd;
239
220
 
240
221
  const color = svgUpdated.substring(indexStart, indexEnd);
241
- if (color !== color.toLowerCase() && color.toLowerCase().indexOf("url(") === -1)
242
- svgUpdated =
243
- svgUpdated.substring(0, indexStart) + color.toLowerCase() + svgUpdated.substring(indexEnd, svgUpdated.length);
222
+ if (color !== color.toLowerCase() && color.toLowerCase().indexOf("url(") === -1) {
223
+ svgUpdated = svgUpdated.substring(0, indexStart) + color.toLowerCase() + svgUpdated.substring(indexEnd, svgUpdated.length);
224
+ }
244
225
  }
245
226
  });
246
227
 
@@ -248,9 +229,11 @@ function addWithSvgToPdfKit(
248
229
  let index = 0;
249
230
  while (true) {
250
231
  index = svgUpdated.indexOf(t, index);
251
- if (index === -1) break;
252
- let indexStart = svgUpdated.indexOf('"', index) + 1;
253
- let indexEnd = svgUpdated.indexOf('"', indexStart);
232
+ if (index === -1) {
233
+ break;
234
+ }
235
+ const indexStart = svgUpdated.indexOf('"', index) + 1;
236
+ const indexEnd = svgUpdated.indexOf('"', indexStart);
254
237
  index = indexEnd;
255
238
 
256
239
  let dasharray = svgUpdated.substring(indexStart, indexEnd);
@@ -428,5 +411,5 @@ function applyStrokeDashStyle(pdf: PDFKit.PDFDocument, dashStyle: AbstractImage.
428
411
  }
429
412
  }
430
413
 
431
- (pdf as { dash: (length: number | ReadonlyArray<number>, option: any) => any }).dash(dashes, { phase: phase });
414
+ (pdf as { dash: (length: number | ReadonlyArray<number>, option: { phase: number }) => PDFKit.PDFDocument }).dash(dashes, { phase: phase });
432
415
  }