@pdfme/schemas 5.3.8-dev.3 → 5.3.8-dev.36

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 (272) hide show
  1. package/dist/cjs/__tests__/barcode.test.js +115 -113
  2. package/dist/cjs/__tests__/barcode.test.js.map +1 -1
  3. package/dist/cjs/__tests__/multiVariableText.test.js +15 -15
  4. package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -1
  5. package/dist/cjs/__tests__/text.test.js +71 -71
  6. package/dist/cjs/__tests__/text.test.js.map +1 -1
  7. package/dist/cjs/__tests__/utils.test.js +76 -15
  8. package/dist/cjs/__tests__/utils.test.js.map +1 -1
  9. package/dist/cjs/src/checkbox/index.js +3 -3
  10. package/dist/cjs/src/checkbox/index.js.map +1 -1
  11. package/dist/cjs/src/date/date.js +2 -2
  12. package/dist/cjs/src/date/date.js.map +1 -1
  13. package/dist/cjs/src/date/dateTime.js +2 -2
  14. package/dist/cjs/src/date/dateTime.js.map +1 -1
  15. package/dist/cjs/src/date/helper.js +110 -78
  16. package/dist/cjs/src/date/helper.js.map +1 -1
  17. package/dist/cjs/src/date/time.js +2 -2
  18. package/dist/cjs/src/date/time.js.map +1 -1
  19. package/dist/cjs/src/graphics/svg.js +25 -2
  20. package/dist/cjs/src/graphics/svg.js.map +1 -1
  21. package/dist/cjs/src/index.js +30 -30
  22. package/dist/cjs/src/index.js.map +1 -1
  23. package/dist/cjs/src/multiVariableText/helper.js +2 -2
  24. package/dist/cjs/src/multiVariableText/helper.js.map +1 -1
  25. package/dist/cjs/src/multiVariableText/pdfRender.js +5 -5
  26. package/dist/cjs/src/multiVariableText/pdfRender.js.map +1 -1
  27. package/dist/cjs/src/multiVariableText/propPanel.js +5 -5
  28. package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -1
  29. package/dist/cjs/src/multiVariableText/uiRender.js +10 -10
  30. package/dist/cjs/src/multiVariableText/uiRender.js.map +1 -1
  31. package/dist/cjs/src/radioGroup/index.js +3 -3
  32. package/dist/cjs/src/radioGroup/index.js.map +1 -1
  33. package/dist/cjs/src/select/index.js +9 -9
  34. package/dist/cjs/src/select/index.js.map +1 -1
  35. package/dist/cjs/src/tables/classes.js +4 -4
  36. package/dist/cjs/src/tables/classes.js.map +1 -1
  37. package/dist/cjs/src/tables/dynamicTemplate.js +2 -2
  38. package/dist/cjs/src/tables/dynamicTemplate.js.map +1 -1
  39. package/dist/cjs/src/tables/helper.js +21 -21
  40. package/dist/cjs/src/tables/helper.js.map +1 -1
  41. package/dist/cjs/src/tables/pdfRender.js +8 -8
  42. package/dist/cjs/src/tables/pdfRender.js.map +1 -1
  43. package/dist/cjs/src/tables/tableHelper.js +5 -5
  44. package/dist/cjs/src/tables/tableHelper.js.map +1 -1
  45. package/dist/cjs/src/text/extraFormatter.js +14 -14
  46. package/dist/cjs/src/text/extraFormatter.js.map +1 -1
  47. package/dist/cjs/src/text/propPanel.js +2 -2
  48. package/dist/cjs/src/text/propPanel.js.map +1 -1
  49. package/dist/cjs/src/utils.js +53 -9
  50. package/dist/cjs/src/utils.js.map +1 -1
  51. package/dist/esm/__tests__/barcode.test.js +8 -6
  52. package/dist/esm/__tests__/barcode.test.js.map +1 -1
  53. package/dist/esm/__tests__/multiVariableText.test.js +1 -1
  54. package/dist/esm/__tests__/multiVariableText.test.js.map +1 -1
  55. package/dist/esm/__tests__/text.test.js +2 -2
  56. package/dist/esm/__tests__/text.test.js.map +1 -1
  57. package/dist/esm/__tests__/utils.test.js +65 -4
  58. package/dist/esm/__tests__/utils.test.js.map +1 -1
  59. package/dist/esm/src/checkbox/index.js +1 -1
  60. package/dist/esm/src/checkbox/index.js.map +1 -1
  61. package/dist/esm/src/date/date.js +1 -1
  62. package/dist/esm/src/date/date.js.map +1 -1
  63. package/dist/esm/src/date/dateTime.js +1 -1
  64. package/dist/esm/src/date/dateTime.js.map +1 -1
  65. package/dist/esm/src/date/helper.js +70 -38
  66. package/dist/esm/src/date/helper.js.map +1 -1
  67. package/dist/esm/src/date/time.js +1 -1
  68. package/dist/esm/src/date/time.js.map +1 -1
  69. package/dist/esm/src/graphics/svg.js +25 -2
  70. package/dist/esm/src/graphics/svg.js.map +1 -1
  71. package/dist/esm/src/index.js +14 -14
  72. package/dist/esm/src/index.js.map +1 -1
  73. package/dist/esm/src/multiVariableText/helper.js +2 -2
  74. package/dist/esm/src/multiVariableText/helper.js.map +1 -1
  75. package/dist/esm/src/multiVariableText/pdfRender.js +2 -2
  76. package/dist/esm/src/multiVariableText/pdfRender.js.map +1 -1
  77. package/dist/esm/src/multiVariableText/propPanel.js +1 -1
  78. package/dist/esm/src/multiVariableText/propPanel.js.map +1 -1
  79. package/dist/esm/src/multiVariableText/uiRender.js +4 -4
  80. package/dist/esm/src/multiVariableText/uiRender.js.map +1 -1
  81. package/dist/esm/src/radioGroup/index.js +1 -1
  82. package/dist/esm/src/radioGroup/index.js.map +1 -1
  83. package/dist/esm/src/select/index.js +2 -2
  84. package/dist/esm/src/select/index.js.map +1 -1
  85. package/dist/esm/src/tables/classes.js +1 -1
  86. package/dist/esm/src/tables/classes.js.map +1 -1
  87. package/dist/esm/src/tables/dynamicTemplate.js +1 -1
  88. package/dist/esm/src/tables/dynamicTemplate.js.map +1 -1
  89. package/dist/esm/src/tables/helper.js +1 -1
  90. package/dist/esm/src/tables/helper.js.map +1 -1
  91. package/dist/esm/src/tables/pdfRender.js +4 -4
  92. package/dist/esm/src/tables/pdfRender.js.map +1 -1
  93. package/dist/esm/src/tables/tableHelper.js +1 -1
  94. package/dist/esm/src/tables/tableHelper.js.map +1 -1
  95. package/dist/esm/src/text/extraFormatter.js +2 -2
  96. package/dist/esm/src/text/extraFormatter.js.map +1 -1
  97. package/dist/esm/src/text/propPanel.js +1 -1
  98. package/dist/esm/src/text/propPanel.js.map +1 -1
  99. package/dist/esm/src/utils.js +53 -9
  100. package/dist/esm/src/utils.js.map +1 -1
  101. package/dist/node/__tests__/barcode.test.js +121 -124
  102. package/dist/node/__tests__/barcode.test.js.map +1 -1
  103. package/dist/node/__tests__/multiVariableText.test.js +15 -17
  104. package/dist/node/__tests__/multiVariableText.test.js.map +1 -1
  105. package/dist/node/__tests__/text.test.js +77 -102
  106. package/dist/node/__tests__/text.test.js.map +1 -1
  107. package/dist/node/__tests__/utils.test.js +90 -31
  108. package/dist/node/__tests__/utils.test.js.map +1 -1
  109. package/dist/node/src/barcodes/constants.js +4 -7
  110. package/dist/node/src/barcodes/constants.js.map +1 -1
  111. package/dist/node/src/barcodes/helper.js +16 -26
  112. package/dist/node/src/barcodes/helper.js.map +1 -1
  113. package/dist/node/src/barcodes/index.js +12 -14
  114. package/dist/node/src/barcodes/index.js.map +1 -1
  115. package/dist/node/src/barcodes/pdfRender.js +6 -10
  116. package/dist/node/src/barcodes/pdfRender.js.map +1 -1
  117. package/dist/node/src/barcodes/propPanel.js +20 -24
  118. package/dist/node/src/barcodes/propPanel.js.map +1 -1
  119. package/dist/node/src/barcodes/types.js +1 -2
  120. package/dist/node/src/barcodes/uiRender.js +8 -12
  121. package/dist/node/src/barcodes/uiRender.js.map +1 -1
  122. package/dist/node/src/checkbox/index.js +12 -17
  123. package/dist/node/src/checkbox/index.js.map +1 -1
  124. package/dist/node/src/constants.js +2 -5
  125. package/dist/node/src/constants.js.map +1 -1
  126. package/dist/node/src/date/date.js +5 -7
  127. package/dist/node/src/date/date.js.map +1 -1
  128. package/dist/node/src/date/dateTime.js +5 -7
  129. package/dist/node/src/date/dateTime.js.map +1 -1
  130. package/dist/node/src/date/helper.js +135 -133
  131. package/dist/node/src/date/helper.js.map +1 -1
  132. package/dist/node/src/date/time.js +5 -7
  133. package/dist/node/src/date/time.js.map +1 -1
  134. package/dist/node/src/date/types.js +1 -2
  135. package/dist/node/src/graphics/cacheKey.js +1 -5
  136. package/dist/node/src/graphics/cacheKey.js.map +1 -1
  137. package/dist/node/src/graphics/image.js +15 -17
  138. package/dist/node/src/graphics/image.js.map +1 -1
  139. package/dist/node/src/graphics/imagehelper.js +3 -7
  140. package/dist/node/src/graphics/imagehelper.js.map +1 -1
  141. package/dist/node/src/graphics/svg.js +35 -14
  142. package/dist/node/src/graphics/svg.js.map +1 -1
  143. package/dist/node/src/index.js +18 -37
  144. package/dist/node/src/index.js.map +1 -1
  145. package/dist/node/src/multiVariableText/helper.js +4 -9
  146. package/dist/node/src/multiVariableText/helper.js.map +1 -1
  147. package/dist/node/src/multiVariableText/index.js +10 -12
  148. package/dist/node/src/multiVariableText/index.js.map +1 -1
  149. package/dist/node/src/multiVariableText/pdfRender.js +6 -10
  150. package/dist/node/src/multiVariableText/pdfRender.js.map +1 -1
  151. package/dist/node/src/multiVariableText/propPanel.js +6 -9
  152. package/dist/node/src/multiVariableText/propPanel.js.map +1 -1
  153. package/dist/node/src/multiVariableText/types.js +1 -2
  154. package/dist/node/src/multiVariableText/uiRender.js +13 -17
  155. package/dist/node/src/multiVariableText/uiRender.js.map +1 -1
  156. package/dist/node/src/radioGroup/index.js +11 -16
  157. package/dist/node/src/radioGroup/index.js.map +1 -1
  158. package/dist/node/src/select/index.js +13 -18
  159. package/dist/node/src/select/index.js.map +1 -1
  160. package/dist/node/src/shapes/line.js +10 -12
  161. package/dist/node/src/shapes/line.js.map +1 -1
  162. package/dist/node/src/shapes/rectAndEllipse.js +18 -21
  163. package/dist/node/src/shapes/rectAndEllipse.js.map +1 -1
  164. package/dist/node/src/tables/cell.js +15 -20
  165. package/dist/node/src/tables/cell.js.map +1 -1
  166. package/dist/node/src/tables/classes.js +11 -18
  167. package/dist/node/src/tables/classes.js.map +1 -1
  168. package/dist/node/src/tables/dynamicTemplate.js +5 -9
  169. package/dist/node/src/tables/dynamicTemplate.js.map +1 -1
  170. package/dist/node/src/tables/helper.js +27 -35
  171. package/dist/node/src/tables/helper.js.map +1 -1
  172. package/dist/node/src/tables/index.js +10 -12
  173. package/dist/node/src/tables/index.js.map +1 -1
  174. package/dist/node/src/tables/pdfRender.js +9 -16
  175. package/dist/node/src/tables/pdfRender.js.map +1 -1
  176. package/dist/node/src/tables/propPanel.js +12 -15
  177. package/dist/node/src/tables/propPanel.js.map +1 -1
  178. package/dist/node/src/tables/tableHelper.js +11 -15
  179. package/dist/node/src/tables/tableHelper.js.map +1 -1
  180. package/dist/node/src/tables/types.js +1 -2
  181. package/dist/node/src/tables/uiRender.js +15 -22
  182. package/dist/node/src/tables/uiRender.js.map +1 -1
  183. package/dist/node/src/text/constants.js +22 -25
  184. package/dist/node/src/text/constants.js.map +1 -1
  185. package/dist/node/src/text/extraFormatter.js +17 -21
  186. package/dist/node/src/text/extraFormatter.js.map +1 -1
  187. package/dist/node/src/text/helper.js +48 -85
  188. package/dist/node/src/text/helper.js.map +1 -1
  189. package/dist/node/src/text/icons/index.js +11 -14
  190. package/dist/node/src/text/icons/index.js.map +1 -1
  191. package/dist/node/src/text/index.js +10 -12
  192. package/dist/node/src/text/index.js.map +1 -1
  193. package/dist/node/src/text/pdfRender.js +32 -36
  194. package/dist/node/src/text/pdfRender.js.map +1 -1
  195. package/dist/node/src/text/propPanel.js +22 -25
  196. package/dist/node/src/text/propPanel.js.map +1 -1
  197. package/dist/node/src/text/types.js +1 -2
  198. package/dist/node/src/text/uiRender.js +34 -42
  199. package/dist/node/src/text/uiRender.js.map +1 -1
  200. package/dist/node/src/utils.js +79 -47
  201. package/dist/node/src/utils.js.map +1 -1
  202. package/dist/types/src/barcodes/helper.d.ts +1 -1
  203. package/dist/types/src/barcodes/index.d.ts +1 -1
  204. package/dist/types/src/barcodes/pdfRender.d.ts +1 -1
  205. package/dist/types/src/barcodes/propPanel.d.ts +1 -1
  206. package/dist/types/src/barcodes/uiRender.d.ts +1 -1
  207. package/dist/types/src/date/date.d.ts +1 -1
  208. package/dist/types/src/date/dateTime.d.ts +1 -1
  209. package/dist/types/src/date/helper.d.ts +1 -1
  210. package/dist/types/src/date/time.d.ts +1 -1
  211. package/dist/types/src/date/types.d.ts +6 -1
  212. package/dist/types/src/index.d.ts +15 -15
  213. package/dist/types/src/multiVariableText/helper.d.ts +1 -1
  214. package/dist/types/src/multiVariableText/index.d.ts +1 -1
  215. package/dist/types/src/multiVariableText/pdfRender.d.ts +1 -1
  216. package/dist/types/src/multiVariableText/propPanel.d.ts +1 -1
  217. package/dist/types/src/multiVariableText/types.d.ts +1 -1
  218. package/dist/types/src/multiVariableText/uiRender.d.ts +1 -1
  219. package/dist/types/src/select/index.d.ts +1 -1
  220. package/dist/types/src/tables/cell.d.ts +1 -1
  221. package/dist/types/src/tables/classes.d.ts +1 -1
  222. package/dist/types/src/tables/helper.d.ts +4 -4
  223. package/dist/types/src/tables/pdfRender.d.ts +1 -1
  224. package/dist/types/src/tables/propPanel.d.ts +1 -1
  225. package/dist/types/src/tables/tableHelper.d.ts +1 -1
  226. package/dist/types/src/tables/types.d.ts +1 -1
  227. package/dist/types/src/text/constants.d.ts +1 -1
  228. package/dist/types/src/text/helper.d.ts +1 -1
  229. package/dist/types/src/text/index.d.ts +1 -1
  230. package/dist/types/src/text/pdfRender.d.ts +1 -1
  231. package/dist/types/src/text/propPanel.d.ts +1 -1
  232. package/dist/types/src/text/uiRender.d.ts +1 -1
  233. package/package.json +3 -3
  234. package/src/barcodes/helper.ts +1 -1
  235. package/src/barcodes/index.ts +1 -1
  236. package/src/barcodes/pdfRender.ts +1 -1
  237. package/src/barcodes/propPanel.ts +1 -1
  238. package/src/barcodes/uiRender.ts +1 -1
  239. package/src/checkbox/index.ts +1 -1
  240. package/src/date/date.ts +1 -1
  241. package/src/date/dateTime.ts +1 -1
  242. package/src/date/helper.ts +84 -43
  243. package/src/date/time.ts +1 -1
  244. package/src/date/types.ts +7 -1
  245. package/src/graphics/svg.ts +27 -2
  246. package/src/index.ts +14 -14
  247. package/src/multiVariableText/helper.ts +15 -7
  248. package/src/multiVariableText/index.ts +1 -1
  249. package/src/multiVariableText/pdfRender.ts +3 -3
  250. package/src/multiVariableText/propPanel.ts +2 -2
  251. package/src/multiVariableText/types.ts +1 -1
  252. package/src/multiVariableText/uiRender.ts +5 -5
  253. package/src/radioGroup/index.ts +1 -1
  254. package/src/select/index.ts +3 -3
  255. package/src/tables/cell.ts +1 -1
  256. package/src/tables/classes.ts +2 -2
  257. package/src/tables/dynamicTemplate.ts +2 -2
  258. package/src/tables/helper.ts +1 -1
  259. package/src/tables/pdfRender.ts +6 -6
  260. package/src/tables/propPanel.ts +1 -1
  261. package/src/tables/tableHelper.ts +2 -2
  262. package/src/tables/types.ts +1 -1
  263. package/src/tables/uiRender.ts +1 -1
  264. package/src/text/constants.ts +1 -1
  265. package/src/text/extraFormatter.ts +2 -2
  266. package/src/text/helper.ts +1 -1
  267. package/src/text/index.ts +1 -1
  268. package/src/text/pdfRender.ts +1 -1
  269. package/src/text/propPanel.ts +2 -2
  270. package/src/text/uiRender.ts +1 -1
  271. package/src/utils.ts +64 -15
  272. package/tsconfig.esm.json +2 -1
@@ -1,35 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const fs_1 = require("fs");
27
- const path = __importStar(require("path"));
28
- const common_1 = require("@pdfme/common");
29
- const helper_1 = require("../src/text/helper");
30
- const constants_1 = require("../src/text/constants");
31
- const sansData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
32
- const serifData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
1
+ import { readFileSync } from 'fs';
2
+ import * as path from 'path';
3
+ import { getDefaultFont } from '@pdfme/common';
4
+ import { calculateDynamicFontSize, getBrowserVerticalFontAdjustments, getFontDescentInPt, getFontKitFont, getSplittedLines, filterStartJP, filterEndJP, } from '../src/text/helper.js';
5
+ import { LINE_START_FORBIDDEN_CHARS, LINE_END_FORBIDDEN_CHARS } from '../src/text/constants.js';
6
+ const sansData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
7
+ const serifData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
33
8
  const getSampleFont = () => ({
34
9
  SauceHanSansJP: { fallback: true, data: sansData },
35
10
  SauceHanSerifJP: { data: serifData },
@@ -77,39 +52,39 @@ describe('getSplitPosition test with mocked font width calculations', () => {
77
52
  boxWidthInPt: 5,
78
53
  };
79
54
  it('does not split an empty string', () => {
80
- expect((0, helper_1.getSplittedLines)('', mockCalcValues)).toEqual(['']);
55
+ expect(getSplittedLines('', mockCalcValues)).toEqual(['']);
81
56
  });
82
57
  it('does not split a short line', () => {
83
- expect((0, helper_1.getSplittedLines)('a', mockCalcValues)).toEqual(['a']);
84
- expect((0, helper_1.getSplittedLines)('aaaa', mockCalcValues)).toEqual(['aaaa']);
58
+ expect(getSplittedLines('a', mockCalcValues)).toEqual(['a']);
59
+ expect(getSplittedLines('aaaa', mockCalcValues)).toEqual(['aaaa']);
85
60
  });
86
61
  it('splits a line to the nearest previous breakable char', () => {
87
- expect((0, helper_1.getSplittedLines)('aaa bbb', mockCalcValues)).toEqual(['aaa', 'bbb']);
88
- expect((0, helper_1.getSplittedLines)('top-hat', mockCalcValues)).toEqual(['top-', 'hat']);
89
- expect((0, helper_1.getSplittedLines)('top—hat', mockCalcValues)).toEqual(['top—', 'hat']); // em dash
90
- expect((0, helper_1.getSplittedLines)('top–hat', mockCalcValues)).toEqual(['top–', 'hat']); // en dash
62
+ expect(getSplittedLines('aaa bbb', mockCalcValues)).toEqual(['aaa', 'bbb']);
63
+ expect(getSplittedLines('top-hat', mockCalcValues)).toEqual(['top-', 'hat']);
64
+ expect(getSplittedLines('top—hat', mockCalcValues)).toEqual(['top—', 'hat']); // em dash
65
+ expect(getSplittedLines('top–hat', mockCalcValues)).toEqual(['top–', 'hat']); // en dash
91
66
  });
92
67
  it('splits a line where the split point is on a breakable char', () => {
93
- expect((0, helper_1.getSplittedLines)('aaaaa bbbbb', mockCalcValues)).toEqual(['aaaaa', 'bbbbb']);
94
- expect((0, helper_1.getSplittedLines)('left-hand', mockCalcValues)).toEqual(['left-', 'hand']);
68
+ expect(getSplittedLines('aaaaa bbbbb', mockCalcValues)).toEqual(['aaaaa', 'bbbbb']);
69
+ expect(getSplittedLines('left-hand', mockCalcValues)).toEqual(['left-', 'hand']);
95
70
  });
96
71
  it('splits a long line in the middle of a word if too long', () => {
97
- expect((0, helper_1.getSplittedLines)('aaaaaa bbb', mockCalcValues)).toEqual(['aaaaa', 'a bbb']);
98
- expect((0, helper_1.getSplittedLines)('aaaaaa-a b', mockCalcValues)).toEqual(['aaaaa', 'a-a b']);
99
- expect((0, helper_1.getSplittedLines)('aaaaa-aa b', mockCalcValues)).toEqual(['aaaaa', '-aa b']);
72
+ expect(getSplittedLines('aaaaaa bbb', mockCalcValues)).toEqual(['aaaaa', 'a bbb']);
73
+ expect(getSplittedLines('aaaaaa-a b', mockCalcValues)).toEqual(['aaaaa', 'a-a b']);
74
+ expect(getSplittedLines('aaaaa-aa b', mockCalcValues)).toEqual(['aaaaa', '-aa b']);
100
75
  });
101
76
  it('splits a long line without breakable chars at exactly 5 chars', () => {
102
- expect((0, helper_1.getSplittedLines)('abcdef', mockCalcValues)).toEqual(['abcde', 'f']);
77
+ expect(getSplittedLines('abcdef', mockCalcValues)).toEqual(['abcde', 'f']);
103
78
  });
104
79
  it('splits a very long line without breakable chars at exactly 5 chars', () => {
105
- expect((0, helper_1.getSplittedLines)('abcdefghijklmn', mockCalcValues)).toEqual(['abcde', 'fghij', 'klmn']);
80
+ expect(getSplittedLines('abcdefghijklmn', mockCalcValues)).toEqual(['abcde', 'fghij', 'klmn']);
106
81
  });
107
82
  it('splits a line with lots of words', () => {
108
- expect((0, helper_1.getSplittedLines)('a b c d e', mockCalcValues)).toEqual(['a b c', 'd e']);
83
+ expect(getSplittedLines('a b c d e', mockCalcValues)).toEqual(['a b c', 'd e']);
109
84
  });
110
85
  });
111
86
  describe('getSplittedLines test with real font width calculations', () => {
112
- const font = (0, common_1.getDefaultFont)();
87
+ const font = getDefaultFont();
113
88
  const baseCalcValues = {
114
89
  fontSize: 12,
115
90
  characterSpacing: 1,
@@ -117,34 +92,34 @@ describe('getSplittedLines test with real font width calculations', () => {
117
92
  };
118
93
  it('should not split a line when the text is shorter than the width', async () => {
119
94
  const _cache = new Map();
120
- await (0, helper_1.getFontKitFont)(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
95
+ await getFontKitFont(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
121
96
  const fontWidthCalcs = Object.assign({}, baseCalcValues, { font: fontKitFont });
122
- const result = (0, helper_1.getSplittedLines)('short', fontWidthCalcs);
97
+ const result = getSplittedLines('short', fontWidthCalcs);
123
98
  expect(result).toEqual(['short']);
124
99
  });
125
100
  });
126
101
  it('should split a line when the text is longer than the width', async () => {
127
102
  const _cache = new Map();
128
- await (0, helper_1.getFontKitFont)(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
103
+ await getFontKitFont(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
129
104
  const fontWidthCalcs = Object.assign({}, baseCalcValues, { font: fontKitFont });
130
- const result = (0, helper_1.getSplittedLines)('this will wrap', fontWidthCalcs);
105
+ const result = getSplittedLines('this will wrap', fontWidthCalcs);
131
106
  expect(result).toEqual(['this', 'will', 'wrap']);
132
107
  });
133
108
  });
134
109
  it('should split a line in the middle when unspaced text will not fit on a line', async () => {
135
110
  const _cache = new Map();
136
- await (0, helper_1.getFontKitFont)(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
111
+ await getFontKitFont(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
137
112
  const fontWidthCalcs = Object.assign({}, baseCalcValues, { font: fontKitFont });
138
- const result = (0, helper_1.getSplittedLines)('thiswillbecut', fontWidthCalcs);
113
+ const result = getSplittedLines('thiswillbecut', fontWidthCalcs);
139
114
  expect(result).toEqual(['thiswi', 'llbecu', 't']);
140
115
  });
141
116
  });
142
117
  it('should not split text when it is impossible due to size constraints', async () => {
143
118
  const _cache = new Map();
144
- await (0, helper_1.getFontKitFont)(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
119
+ await getFontKitFont(getTextSchema().fontName, font, _cache).then((fontKitFont) => {
145
120
  const fontWidthCalcs = Object.assign({}, baseCalcValues, { font: fontKitFont });
146
121
  fontWidthCalcs.boxWidthInPt = 2;
147
- const result = (0, helper_1.getSplittedLines)('thiswillnotbecut', fontWidthCalcs);
122
+ const result = getSplittedLines('thiswillnotbecut', fontWidthCalcs);
148
123
  expect(result).toEqual(['thiswillnotbecut']);
149
124
  });
150
125
  });
@@ -152,31 +127,31 @@ describe('getSplittedLines test with real font width calculations', () => {
152
127
  describe('calculateDynamicFontSize with Default font', () => {
153
128
  let fontKitFont;
154
129
  beforeAll(async () => {
155
- fontKitFont = await (0, helper_1.getFontKitFont)('SauceHanSansJP', (0, common_1.getDefaultFont)(), new Map());
130
+ fontKitFont = await getFontKitFont('SauceHanSansJP', getDefaultFont(), new Map());
156
131
  });
157
132
  it('should return default font size when dynamicFontSizeSetting is not provided', async () => {
158
133
  const textSchema = getTextSchema();
159
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value: 'test' });
134
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value: 'test' });
160
135
  expect(result).toBe(14);
161
136
  });
162
137
  it('should return default font size when dynamicFontSizeSetting max is less than min', async () => {
163
138
  const textSchema = getTextSchema();
164
139
  textSchema.dynamicFontSize = { min: 11, max: 10, fit: 'vertical' };
165
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value: 'test' });
140
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value: 'test' });
166
141
  expect(result).toBe(14);
167
142
  });
168
143
  it('should calculate a dynamic font size of vertical fit between min and max', async () => {
169
144
  const textSchema = getTextSchema();
170
145
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
171
146
  const value = 'test with a length string\n and a new line';
172
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
147
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
173
148
  expect(result).toBe(19.25);
174
149
  });
175
150
  it('should calculate a dynamic font size of horizontal fit between min and max', async () => {
176
151
  const textSchema = getTextSchema();
177
152
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'horizontal' };
178
153
  const value = 'test with a length string\n and a new line';
179
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
154
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
180
155
  expect(result).toBe(11.25);
181
156
  });
182
157
  it('should calculate a dynamic font size between min and max regardless of current font size', async () => {
@@ -184,10 +159,10 @@ describe('calculateDynamicFontSize with Default font', () => {
184
159
  textSchema.fontSize = 2;
185
160
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
186
161
  const value = 'test with a length string\n and a new line';
187
- let result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
162
+ let result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
188
163
  expect(result).toBe(19.25);
189
164
  textSchema.fontSize = 40;
190
- result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
165
+ result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
191
166
  expect(result).toBe(19.25);
192
167
  });
193
168
  it('should return min font size when content is too big to fit given constraints', async () => {
@@ -195,7 +170,7 @@ describe('calculateDynamicFontSize with Default font', () => {
195
170
  textSchema.width = 10;
196
171
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
197
172
  const value = 'test with a length string\n and a new line';
198
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
173
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
199
174
  expect(result).toBe(10);
200
175
  });
201
176
  it('should return max font size when content is too small to fit given constraints', async () => {
@@ -204,7 +179,7 @@ describe('calculateDynamicFontSize with Default font', () => {
204
179
  textSchema.height = 200;
205
180
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
206
181
  const value = 'test with a length string\n and a new line';
207
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
182
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
208
183
  expect(result).toBe(30);
209
184
  });
210
185
  it('should not reduce font size below 0', async () => {
@@ -213,7 +188,7 @@ describe('calculateDynamicFontSize with Default font', () => {
213
188
  textSchema.width = 4;
214
189
  textSchema.height = 1;
215
190
  const value = 'a very \nlong \nmulti-line \nstring\nto';
216
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
191
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
217
192
  expect(result).toBeGreaterThan(0);
218
193
  });
219
194
  it('should calculate a dynamic font size when a starting font size is passed that is lower than the eventual', async () => {
@@ -221,7 +196,7 @@ describe('calculateDynamicFontSize with Default font', () => {
221
196
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
222
197
  const value = 'test with a length string\n and a new line';
223
198
  const startingFontSize = 18;
224
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value, startingFontSize });
199
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value, startingFontSize });
225
200
  expect(result).toBe(19.25);
226
201
  });
227
202
  it('should calculate a dynamic font size when a starting font size is passed that is higher than the eventual', async () => {
@@ -229,97 +204,97 @@ describe('calculateDynamicFontSize with Default font', () => {
229
204
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'horizontal' };
230
205
  const value = 'test with a length string\n and a new line';
231
206
  const startingFontSize = 36;
232
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value, startingFontSize });
207
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value, startingFontSize });
233
208
  expect(result).toBe(11.25);
234
209
  });
235
210
  it('should calculate a dynamic font size using vertical fit as a default if no fit provided', async () => {
236
211
  const textSchema = getTextSchema();
237
212
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
238
213
  const value = 'test with a length string\n and a new line';
239
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
214
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
240
215
  expect(result).toBe(19.25);
241
216
  });
242
217
  });
243
218
  describe('calculateDynamicFontSize with Custom font', () => {
244
219
  let fontKitFont;
245
220
  beforeAll(async () => {
246
- fontKitFont = await (0, helper_1.getFontKitFont)('SauceHanSansJP', getSampleFont(), new Map());
221
+ fontKitFont = await getFontKitFont('SauceHanSansJP', getSampleFont(), new Map());
247
222
  });
248
223
  it('should return smaller font size when dynamicFontSizeSetting is provided with horizontal fit', async () => {
249
224
  const textSchema = getTextSchema();
250
225
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'horizontal' };
251
226
  const value = 'あいうあいうあい';
252
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
227
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
253
228
  expect(result).toBe(16.75);
254
229
  });
255
230
  it('should return smaller font size when dynamicFontSizeSetting is provided with vertical fit', async () => {
256
231
  const textSchema = getTextSchema();
257
232
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
258
233
  const value = 'あいうあいうあい';
259
- const result = (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
234
+ const result = calculateDynamicFontSize({ textSchema, fontKitFont, value });
260
235
  expect(result).toBe(26);
261
236
  });
262
237
  it('should return min font size when content is too big to fit given constraints', async () => {
263
238
  const textSchema = getTextSchema();
264
239
  textSchema.dynamicFontSize = { min: 20, max: 30, fit: 'vertical' };
265
240
  const value = 'あいうあいうあいうあいうあいうあいうあいうあいうあいう';
266
- const result = await (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
241
+ const result = await calculateDynamicFontSize({ textSchema, fontKitFont, value });
267
242
  expect(result).toBe(20);
268
243
  });
269
244
  it('should return max font size when content is too small to fit given constraints', async () => {
270
245
  const textSchema = getTextSchema();
271
246
  textSchema.dynamicFontSize = { min: 10, max: 30, fit: 'vertical' };
272
247
  const value = 'あ';
273
- const result = await (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
248
+ const result = await calculateDynamicFontSize({ textSchema, fontKitFont, value });
274
249
  expect(result).toBe(30);
275
250
  });
276
251
  it('should return min font size when content is multi-line with too many lines for the container', async () => {
277
252
  const textSchema = getTextSchema();
278
253
  textSchema.dynamicFontSize = { min: 5, max: 20, fit: 'vertical' };
279
254
  const value = 'あ\nいう\nあ\nいう\nあ\nいう\nあ\nいう\nあ\nいう\nあ\nいう';
280
- const result = await (0, helper_1.calculateDynamicFontSize)({ textSchema, fontKitFont, value });
255
+ const result = await calculateDynamicFontSize({ textSchema, fontKitFont, value });
281
256
  expect(result).toBe(5);
282
257
  });
283
258
  });
284
259
  describe('getFontDescentInPt test', () => {
285
260
  test('it gets a descent size relative to the font size', () => {
286
- expect((0, helper_1.getFontDescentInPt)({ descent: -400, unitsPerEm: 1000 }, 12)).toBe(-4.800000000000001);
287
- expect((0, helper_1.getFontDescentInPt)({ descent: 54, unitsPerEm: 1000 }, 20)).toBe(1.08);
288
- expect((0, helper_1.getFontDescentInPt)({ descent: -512, unitsPerEm: 2048 }, 54)).toBe(-13.5);
261
+ expect(getFontDescentInPt({ descent: -400, unitsPerEm: 1000 }, 12)).toBe(-4.800000000000001);
262
+ expect(getFontDescentInPt({ descent: 54, unitsPerEm: 1000 }, 20)).toBe(1.08);
263
+ expect(getFontDescentInPt({ descent: -512, unitsPerEm: 2048 }, 54)).toBe(-13.5);
289
264
  });
290
265
  });
291
266
  describe('getBrowserVerticalFontAdjustments test', () => {
292
267
  // Font with a base line-height of 1.349
293
268
  const font = { ascent: 1037, descent: -312, unitsPerEm: 1000 };
294
269
  test('it gets a top adjustment when vertically aligning top', () => {
295
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(font, 12, 1.0, 'top')).toEqual({
270
+ expect(getBrowserVerticalFontAdjustments(font, 12, 1.0, 'top')).toEqual({
296
271
  topAdj: 2.791301999999999,
297
272
  bottomAdj: 0,
298
273
  });
299
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(font, 36, 2.0, 'top')).toEqual({
274
+ expect(getBrowserVerticalFontAdjustments(font, 36, 2.0, 'top')).toEqual({
300
275
  topAdj: 8.373906,
301
276
  bottomAdj: 0,
302
277
  });
303
278
  });
304
279
  test('it gets a bottom adjustment when vertically aligning middle or bottom', () => {
305
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(font, 12, 1.0, 'bottom')).toEqual({
280
+ expect(getBrowserVerticalFontAdjustments(font, 12, 1.0, 'bottom')).toEqual({
306
281
  topAdj: 0,
307
282
  bottomAdj: 2.791302,
308
283
  });
309
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(font, 12, 1.15, 'middle')).toEqual({
284
+ expect(getBrowserVerticalFontAdjustments(font, 12, 1.15, 'middle')).toEqual({
310
285
  topAdj: 0,
311
286
  bottomAdj: 1.5916020000000004,
312
287
  });
313
288
  });
314
289
  test('it does not get a bottom adjustment if the line height exceeds that of the font', () => {
315
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(font, 12, 1.35, 'bottom')).toEqual({
290
+ expect(getBrowserVerticalFontAdjustments(font, 12, 1.35, 'bottom')).toEqual({
316
291
  topAdj: 0,
317
292
  bottomAdj: 0,
318
293
  });
319
294
  });
320
295
  test('it does not get a bottom adjustment if the font base line-height is 1.0 or less', () => {
321
296
  const thisFont = { ascent: 900, descent: -50, unitsPerEm: 1000 };
322
- expect((0, helper_1.getBrowserVerticalFontAdjustments)(thisFont, 20, 1.0, 'bottom')).toEqual({
297
+ expect(getBrowserVerticalFontAdjustments(thisFont, 20, 1.0, 'bottom')).toEqual({
323
298
  topAdj: 0,
324
299
  bottomAdj: 0,
325
300
  });
@@ -327,59 +302,59 @@ describe('getBrowserVerticalFontAdjustments test', () => {
327
302
  });
328
303
  describe('filterStartJP', () => {
329
304
  test('空の配列を渡すと空の配列を返す', () => {
330
- expect((0, helper_1.filterStartJP)([])).toEqual([]);
305
+ expect(filterStartJP([])).toEqual([]);
331
306
  });
332
307
  test('禁則文字を含まない行はそのまま返す', () => {
333
308
  const input = ['これは', '普通の', '文章です。'];
334
- expect((0, helper_1.filterStartJP)(input)).toEqual(input);
309
+ expect(filterStartJP(input)).toEqual(input);
335
310
  });
336
311
  test('行頭の禁則文字を前の行の末尾に移動する', () => {
337
312
  const input = ['これは', '。文章', 'です'];
338
313
  const expected = ['これは。', '文章', 'です'];
339
- expect((0, helper_1.filterStartJP)(input)).toEqual(expected);
314
+ expect(filterStartJP(input)).toEqual(expected);
340
315
  });
341
316
  test('複数の禁則文字を正しく処理する', () => {
342
317
  const input = ['これは', '。とても', '、長い', '」文章', 'です'];
343
318
  const expected = ['これは。', 'とても、', '長い」', '文章', 'です'];
344
- expect((0, helper_1.filterStartJP)(input)).toEqual(expected);
319
+ expect(filterStartJP(input)).toEqual(expected);
345
320
  });
346
321
  test('空の行を保持する', () => {
347
322
  const input = ['これは', '', '。文章', 'です'];
348
323
  const expected = ['これは。', '', '文章', 'です'];
349
- expect((0, helper_1.filterStartJP)(input)).toEqual(expected);
324
+ expect(filterStartJP(input)).toEqual(expected);
350
325
  });
351
326
  test('1文字の行(禁則文字のみ)はそのまま保持する', () => {
352
327
  const input = ['これは', '。', '文章', 'です'];
353
328
  // const expected = ['これは。', '文章', 'です'];
354
329
  const expected = ['これは', '。', '文章', 'です'];
355
- expect((0, helper_1.filterStartJP)(input)).toEqual(expected);
330
+ expect(filterStartJP(input)).toEqual(expected);
356
331
  });
357
332
  test('すべての禁則文字を正しく処理する', () => {
358
- const input = constants_1.LINE_START_FORBIDDEN_CHARS.map((char) => ['この', char + '文字']).flat();
359
- const expected = constants_1.LINE_START_FORBIDDEN_CHARS.map((char) => [
333
+ const input = LINE_START_FORBIDDEN_CHARS.map((char) => ['この', char + '文字']).flat();
334
+ const expected = LINE_START_FORBIDDEN_CHARS.map((char) => [
360
335
  'この' + char,
361
336
  '文字',
362
337
  ]).flat();
363
- expect((0, helper_1.filterStartJP)(input)).toEqual(expected);
338
+ expect(filterStartJP(input)).toEqual(expected);
364
339
  });
365
340
  });
366
341
  describe('filterEndJP', () => {
367
342
  test('空の配列を渡すと空の配列を返す', () => {
368
- expect((0, helper_1.filterEndJP)([])).toEqual([]);
343
+ expect(filterEndJP([])).toEqual([]);
369
344
  });
370
345
  test('禁則文字を含まない行はそのまま返す', () => {
371
346
  const input = ['これは', '普通の', '文章です。'];
372
- expect((0, helper_1.filterEndJP)(input)).toEqual(input);
347
+ expect(filterEndJP(input)).toEqual(input);
373
348
  });
374
349
  test('行末の禁則文字を次の行の先頭に移動する', () => {
375
350
  const input = ['これは「', '文章', 'です。'];
376
351
  const expected = ['これは', '「文章', 'です。'];
377
- expect((0, helper_1.filterEndJP)(input)).toEqual(expected);
352
+ expect(filterEndJP(input)).toEqual(expected);
378
353
  });
379
354
  test('複数の禁則文字を正しく処理する', () => {
380
355
  const input = ['これは「', '長い『', '文章(', 'です。'];
381
356
  const expected = ['これは', '「長い', '『文章', '(です。'];
382
- expect((0, helper_1.filterEndJP)(input)).toEqual(expected);
357
+ expect(filterEndJP(input)).toEqual(expected);
383
358
  });
384
359
  // Cant understand purpose of this test...
385
360
  // test('空の行を保持する', () => {
@@ -390,20 +365,20 @@ describe('filterEndJP', () => {
390
365
  test('1文字の行(禁則文字のみ)はそのまま保持する', () => {
391
366
  const input = ['これは', '「', '文章', 'です。'];
392
367
  const expected = ['これは', '「', '文章', 'です。'];
393
- expect((0, helper_1.filterEndJP)(input)).toEqual(expected);
368
+ expect(filterEndJP(input)).toEqual(expected);
394
369
  });
395
370
  test('すべての禁則文字を正しく処理する', () => {
396
- const input = constants_1.LINE_END_FORBIDDEN_CHARS.map((char) => ['これは' + char, '文章']).flat();
397
- const expected = constants_1.LINE_END_FORBIDDEN_CHARS.map((char) => [
371
+ const input = LINE_END_FORBIDDEN_CHARS.map((char) => ['これは' + char, '文章']).flat();
372
+ const expected = LINE_END_FORBIDDEN_CHARS.map((char) => [
398
373
  'これは',
399
374
  char + '文章',
400
375
  ]).flat();
401
- expect((0, helper_1.filterEndJP)(input)).toEqual(expected);
376
+ expect(filterEndJP(input)).toEqual(expected);
402
377
  });
403
378
  test('最後の行の禁則文字は移動しない', () => {
404
379
  const input = ['これは「', '文章「', 'です「'];
405
380
  const expected = ['これは', '「文章', '「です「'];
406
- expect((0, helper_1.filterEndJP)(input)).toEqual(expected);
381
+ expect(filterEndJP(input)).toEqual(expected);
407
382
  });
408
383
  });
409
384
  //# sourceMappingURL=text.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.test.js","sourceRoot":"","sources":["../../../__tests__/text.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.test.js","sourceRoot":"","sources":["../../../__tests__/text.test.ts"],"names":[],"mappings":"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"}