pdfdancer-client-typescript 2.0.6 → 2.0.7

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 (40) hide show
  1. package/README.md +10 -4
  2. package/dist/models.d.ts +9 -2
  3. package/dist/models.d.ts.map +1 -1
  4. package/dist/models.js +23 -1
  5. package/dist/models.js.map +1 -1
  6. package/dist/pdfdancer_v1.d.ts +5 -0
  7. package/dist/pdfdancer_v1.d.ts.map +1 -1
  8. package/dist/pdfdancer_v1.js +54 -1
  9. package/dist/pdfdancer_v1.js.map +1 -1
  10. package/dist/types.d.ts +38 -3
  11. package/dist/types.d.ts.map +1 -1
  12. package/dist/types.js +158 -2
  13. package/dist/types.js.map +1 -1
  14. package/dist/version.d.ts +1 -1
  15. package/dist/version.js +1 -1
  16. package/package.json +1 -1
  17. package/dist/__tests__/assertions.d.ts +0 -2
  18. package/dist/__tests__/assertions.d.ts.map +0 -1
  19. package/dist/__tests__/assertions.js +0 -11
  20. package/dist/__tests__/assertions.js.map +0 -1
  21. package/dist/__tests__/e2e/pdf-assertions.d.ts +0 -36
  22. package/dist/__tests__/e2e/pdf-assertions.d.ts.map +0 -1
  23. package/dist/__tests__/e2e/pdf-assertions.js +0 -218
  24. package/dist/__tests__/e2e/pdf-assertions.js.map +0 -1
  25. package/dist/__tests__/e2e/test-drawing-helpers.d.ts +0 -148
  26. package/dist/__tests__/e2e/test-drawing-helpers.d.ts.map +0 -1
  27. package/dist/__tests__/e2e/test-drawing-helpers.js +0 -343
  28. package/dist/__tests__/e2e/test-drawing-helpers.js.map +0 -1
  29. package/dist/__tests__/e2e/test-helpers.d.ts +0 -44
  30. package/dist/__tests__/e2e/test-helpers.d.ts.map +0 -1
  31. package/dist/__tests__/e2e/test-helpers.js +0 -233
  32. package/dist/__tests__/e2e/test-helpers.js.map +0 -1
  33. package/dist/client-v1.d.ts +0 -157
  34. package/dist/client-v1.d.ts.map +0 -1
  35. package/dist/client-v1.js +0 -576
  36. package/dist/client-v1.js.map +0 -1
  37. package/dist/client-v2.d.ts +0 -129
  38. package/dist/client-v2.d.ts.map +0 -1
  39. package/dist/client-v2.js +0 -696
  40. package/dist/client-v2.js.map +0 -1
@@ -1,343 +0,0 @@
1
- "use strict";
2
- /**
3
- * Test Drawing Helpers
4
- *
5
- * Utilities for drawing coordinate grids and bounding boxes on PDFs
6
- * to help with visual debugging and testing.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.drawCoordinateGrid = drawCoordinateGrid;
10
- exports.drawBoundingBox = drawBoundingBox;
11
- exports.drawBoundingBoxes = drawBoundingBoxes;
12
- exports.drawCrosshair = drawCrosshair;
13
- exports.highlightText = highlightText;
14
- exports.drawArrow = drawArrow;
15
- const index_1 = require("../../index");
16
- /**
17
- * Draws a coordinate grid on the specified page of a PDF.
18
- * Useful for understanding coordinate systems and positioning.
19
- *
20
- * @example
21
- * ```typescript
22
- * await drawCoordinateGrid(pdf, {
23
- * pageIndex: 0,
24
- * spacing: 50,
25
- * majorInterval: 100
26
- * });
27
- * ```
28
- */
29
- async function drawCoordinateGrid(pdf, options = {}) {
30
- let { startX = 0, startY = 0, endX = 595, // A4 width in points
31
- endY = 842, // A4 height in points
32
- spacing = 50, majorInterval = 100, gridColor = new index_1.Color(220, 220, 220), majorGridColor = new index_1.Color(180, 180, 180), labelColor = new index_1.Color(100, 100, 100), fontSize = 8, pageIndex = 0, showLabels = true } = options;
33
- // Get page size if available and not explicitly set
34
- if (options.endX === undefined || options.endY === undefined) {
35
- const pages = await pdf.pages();
36
- if (pages.length > pageIndex) {
37
- const pageSize = pages[pageIndex].pageSize;
38
- if (pageSize) {
39
- endX = options.endX ?? pageSize.width ?? endX;
40
- endY = options.endY ?? pageSize.height ?? endY;
41
- }
42
- }
43
- }
44
- // Draw vertical lines
45
- for (let x = startX; x <= endX; x += spacing) {
46
- const isMajor = x % majorInterval === 0;
47
- const color = isMajor ? majorGridColor : gridColor;
48
- const width = isMajor ? 0.5 : 0.25;
49
- await pdf.newPath()
50
- .moveTo(x, startY)
51
- .lineTo(x, endY)
52
- .strokeColor(color)
53
- .strokeWidth(width)
54
- .at(pageIndex, x, startY)
55
- .add();
56
- // Add labels for major lines
57
- if (isMajor && showLabels) {
58
- await pdf.newParagraph()
59
- .text(`${x}`, labelColor)
60
- .font(index_1.StandardFonts.HELVETICA, fontSize)
61
- .at(pageIndex, x - 10, startY + 5)
62
- .add();
63
- }
64
- }
65
- // Draw horizontal lines
66
- for (let y = startY; y <= endY; y += spacing) {
67
- const isMajor = y % majorInterval === 0;
68
- const color = isMajor ? majorGridColor : gridColor;
69
- const width = isMajor ? 0.5 : 0.25;
70
- await pdf.newPath()
71
- .moveTo(startX, y)
72
- .lineTo(endX, y)
73
- .strokeColor(color)
74
- .strokeWidth(width)
75
- .at(pageIndex, startX, y)
76
- .add();
77
- // Add labels for major lines
78
- if (isMajor && showLabels) {
79
- await pdf.newParagraph()
80
- .text(`${y}`, labelColor)
81
- .font(index_1.StandardFonts.HELVETICA, fontSize)
82
- .at(pageIndex, startX + 5, y - 2)
83
- .add();
84
- }
85
- }
86
- // Draw origin marker (0, 0) if it's within the grid bounds
87
- if (startX <= 0 && endX >= 0 && startY <= 0 && endY >= 0) {
88
- await pdf.newPath()
89
- .moveTo(-5, 0)
90
- .lineTo(5, 0)
91
- .strokeColor(new index_1.Color(255, 0, 0))
92
- .strokeWidth(2)
93
- .at(pageIndex, -5, 0)
94
- .add();
95
- await pdf.newPath()
96
- .moveTo(0, -5)
97
- .lineTo(0, 5)
98
- .strokeColor(new index_1.Color(255, 0, 0))
99
- .strokeWidth(2)
100
- .at(pageIndex, 0, -5)
101
- .add();
102
- }
103
- }
104
- /**
105
- * Draws a bounding box around a text element, paragraph, or any object with position information.
106
- *
107
- * @example
108
- * ```typescript
109
- * const paragraph = await pdf.selectParagraph();
110
- * await drawBoundingBox(pdf, paragraph, {
111
- * color: new Color(255, 0, 0),
112
- * showDimensions: true
113
- * });
114
- * ```
115
- */
116
- async function drawBoundingBox(pdf, objectRef, options = {}) {
117
- const { color = new index_1.Color(255, 0, 0), lineWidth = 1, dashPattern, showCorners = true, cornerSize = 3, showDimensions = true } = options;
118
- const position = objectRef.position;
119
- if (!position || !position.boundingRect) {
120
- console.warn('Object has no bounding rectangle, skipping bounding box');
121
- return;
122
- }
123
- const rect = position.boundingRect;
124
- const pageIndex = position.pageIndex ?? 0;
125
- const x = rect.x;
126
- const y = rect.y;
127
- const width = rect.width;
128
- const height = rect.height;
129
- // Draw the main bounding box rectangle
130
- const pathBuilder = pdf.newPath()
131
- .moveTo(x, y)
132
- .lineTo(x + width, y)
133
- .lineTo(x + width, y + height)
134
- .lineTo(x, y + height)
135
- .lineTo(x, y)
136
- .strokeColor(color)
137
- .strokeWidth(lineWidth)
138
- .at(pageIndex, x, y);
139
- if (dashPattern) {
140
- pathBuilder.dashPattern(dashPattern);
141
- }
142
- await pathBuilder.add();
143
- // Draw corner markers
144
- if (showCorners) {
145
- const corners = [
146
- { x, y }, // Bottom-left
147
- { x: x + width, y }, // Bottom-right
148
- { x: x + width, y: y + height }, // Top-right
149
- { x, y: y + height } // Top-left
150
- ];
151
- for (const corner of corners) {
152
- // Horizontal line
153
- await pdf.newPath()
154
- .moveTo(corner.x - cornerSize, corner.y)
155
- .lineTo(corner.x + cornerSize, corner.y)
156
- .strokeColor(color)
157
- .strokeWidth(lineWidth + 0.5)
158
- .at(pageIndex, corner.x - cornerSize, corner.y)
159
- .add();
160
- // Vertical line
161
- await pdf.newPath()
162
- .moveTo(corner.x, corner.y - cornerSize)
163
- .lineTo(corner.x, corner.y + cornerSize)
164
- .strokeColor(color)
165
- .strokeWidth(lineWidth + 0.5)
166
- .at(pageIndex, corner.x, corner.y - cornerSize)
167
- .add();
168
- }
169
- }
170
- // Draw dimensions label
171
- if (showDimensions) {
172
- const dimensionText = `${width.toFixed(1)}×${height.toFixed(1)}`;
173
- const labelX = x + width / 2 - 15;
174
- const labelY = y - 10;
175
- await pdf.newParagraph()
176
- .text(dimensionText, color)
177
- .font(index_1.StandardFonts.HELVETICA, 7)
178
- .at(pageIndex, labelX, labelY)
179
- .add();
180
- // Position label
181
- const positionText = `(${x.toFixed(1)}, ${y.toFixed(1)})`;
182
- await pdf.newParagraph()
183
- .text(positionText, color)
184
- .font(index_1.StandardFonts.HELVETICA, 7)
185
- .at(pageIndex, x, y + height + 2)
186
- .add();
187
- }
188
- }
189
- /**
190
- * Draws bounding boxes around all objects of a specific type on a page.
191
- *
192
- * @example
193
- * ```typescript
194
- * // Draw boxes around all paragraphs
195
- * const paragraphs = await pdf.selectParagraphs();
196
- * await drawBoundingBoxes(pdf, paragraphs, {
197
- * color: new Color(0, 255, 0)
198
- * });
199
- * ```
200
- */
201
- async function drawBoundingBoxes(pdf, objectRefs, options = {}) {
202
- for (const objectRef of objectRefs) {
203
- await drawBoundingBox(pdf, objectRef, options);
204
- }
205
- }
206
- /**
207
- * Draws a cross-hair marker at specific coordinates.
208
- * Useful for marking test points.
209
- *
210
- * @example
211
- * ```typescript
212
- * await drawCrosshair(pdf, 100, 200, {
213
- * color: new Color(0, 0, 255),
214
- * size: 10
215
- * });
216
- * ```
217
- */
218
- async function drawCrosshair(pdf, x, y, options = {}) {
219
- const { color = new index_1.Color(255, 0, 0), size = 5, lineWidth = 1, pageIndex = 0, label } = options;
220
- // Horizontal line
221
- await pdf.newPath()
222
- .moveTo(x - size, y)
223
- .lineTo(x + size, y)
224
- .strokeColor(color)
225
- .strokeWidth(lineWidth)
226
- .at(pageIndex, x - size, y)
227
- .add();
228
- // Vertical line
229
- await pdf.newPath()
230
- .moveTo(x, y - size)
231
- .lineTo(x, y + size)
232
- .strokeColor(color)
233
- .strokeWidth(lineWidth)
234
- .at(pageIndex, x, y - size)
235
- .add();
236
- // Circle
237
- await pdf.newPath()
238
- .moveTo(x + size, y)
239
- .bezierTo(x + size, y + size * 0.55, x + size * 0.55, y + size, x, y + size)
240
- .bezierTo(x - size * 0.55, y + size, x - size, y + size * 0.55, x - size, y)
241
- .bezierTo(x - size, y - size * 0.55, x - size * 0.55, y - size, x, y - size)
242
- .bezierTo(x + size * 0.55, y - size, x + size, y - size * 0.55, x + size, y)
243
- .strokeColor(color)
244
- .strokeWidth(lineWidth)
245
- .at(pageIndex, x - size, y - size)
246
- .add();
247
- // Add label if provided
248
- if (label) {
249
- await pdf.newParagraph()
250
- .text(label, color)
251
- .font(index_1.StandardFonts.HELVETICA, 8)
252
- .at(pageIndex, x + size + 2, y - 3)
253
- .add();
254
- }
255
- }
256
- /**
257
- * Highlights the text content of a text object with a semi-transparent background.
258
- *
259
- * @example
260
- * ```typescript
261
- * const textLine = await pdf.selectTextLine();
262
- * await highlightText(pdf, textLine, {
263
- * color: new Color(255, 255, 0, 128) // Yellow with 50% transparency
264
- * });
265
- * ```
266
- */
267
- async function highlightText(pdf, textObjectRef, options = {}) {
268
- const { color = new index_1.Color(255, 255, 0, 128), // Yellow with transparency
269
- padding = 2 } = options;
270
- const position = textObjectRef.position;
271
- if (!position || !position.boundingRect) {
272
- console.warn('Text object has no bounding rectangle, skipping highlight');
273
- return;
274
- }
275
- const rect = position.boundingRect;
276
- const pageIndex = position.pageIndex ?? 0;
277
- await pdf.newPath()
278
- .moveTo(rect.x - padding, rect.y - padding)
279
- .lineTo(rect.x + rect.width + padding, rect.y - padding)
280
- .lineTo(rect.x + rect.width + padding, rect.y + rect.height + padding)
281
- .lineTo(rect.x - padding, rect.y + rect.height + padding)
282
- .lineTo(rect.x - padding, rect.y - padding)
283
- .fillColor(color)
284
- .at(pageIndex, rect.x - padding, rect.y - padding)
285
- .add();
286
- }
287
- /**
288
- * Draws an arrow between two points.
289
- * Useful for indicating relationships or directions in test visualizations.
290
- *
291
- * @example
292
- * ```typescript
293
- * await drawArrow(pdf, 100, 100, 200, 200, {
294
- * color: new Color(0, 0, 255),
295
- * label: "Move direction"
296
- * });
297
- * ```
298
- */
299
- async function drawArrow(pdf, fromX, fromY, toX, toY, options = {}) {
300
- const { color = new index_1.Color(0, 0, 255), lineWidth = 1.5, arrowSize = 8, pageIndex = 0, label } = options;
301
- // Draw main line
302
- await pdf.newPath()
303
- .moveTo(fromX, fromY)
304
- .lineTo(toX, toY)
305
- .strokeColor(color)
306
- .strokeWidth(lineWidth)
307
- .at(pageIndex, Math.min(fromX, toX), Math.min(fromY, toY))
308
- .add();
309
- // Calculate arrow head angle
310
- const angle = Math.atan2(toY - fromY, toX - fromX);
311
- const arrowAngle = Math.PI / 6; // 30 degrees
312
- // Left arrow line
313
- const leftX = toX - arrowSize * Math.cos(angle - arrowAngle);
314
- const leftY = toY - arrowSize * Math.sin(angle - arrowAngle);
315
- await pdf.newPath()
316
- .moveTo(toX, toY)
317
- .lineTo(leftX, leftY)
318
- .strokeColor(color)
319
- .strokeWidth(lineWidth)
320
- .at(pageIndex, Math.min(toX, leftX), Math.min(toY, leftY))
321
- .add();
322
- // Right arrow line
323
- const rightX = toX - arrowSize * Math.cos(angle + arrowAngle);
324
- const rightY = toY - arrowSize * Math.sin(angle + arrowAngle);
325
- await pdf.newPath()
326
- .moveTo(toX, toY)
327
- .lineTo(rightX, rightY)
328
- .strokeColor(color)
329
- .strokeWidth(lineWidth)
330
- .at(pageIndex, Math.min(toX, rightX), Math.min(toY, rightY))
331
- .add();
332
- // Add label if provided
333
- if (label) {
334
- const midX = (fromX + toX) / 2;
335
- const midY = (fromY + toY) / 2;
336
- await pdf.newParagraph()
337
- .text(label, color)
338
- .font(index_1.StandardFonts.HELVETICA, 8)
339
- .at(pageIndex, midX + 5, midY + 5)
340
- .add();
341
- }
342
- }
343
- //# sourceMappingURL=test-drawing-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-drawing-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-drawing-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Helper functions for e2e tests
3
- */
4
- /**
5
- * Get the base URL from environment variable or default
6
- */
7
- export declare function getBaseUrl(): string;
8
- /**
9
- * Read authentication token from environment or token files
10
- */
11
- export declare function readToken(): string | null;
12
- /**
13
- * Check if server is up and running
14
- */
15
- export declare function serverUp(baseUrl: string): Promise<boolean>;
16
- /**
17
- * Require environment variables and PDF fixture for testing
18
- */
19
- export declare function requireEnvAndFixture(pdfFilename: string): Promise<[string, string, Uint8Array]>;
20
- /**
21
- * Helper to open temporary file path (for Node.js environment)
22
- */
23
- export declare function createTempPath(filename: string): string;
24
- /**
25
- * Helper to read image file for tests
26
- */
27
- export declare function readImageFixture(filename: string): Uint8Array;
28
- export declare function getImagePath(filename: string): string;
29
- export declare function getFontPath(filename: string): string;
30
- /**
31
- * Helper to read font file for tests
32
- */
33
- export declare function readFontFixture(filename: string): Uint8Array;
34
- /**
35
- * Draw a coordinate grid on a PDF page for testing
36
- * @param pdf - PDFDancer instance
37
- * @param pageIndex - Page index (default: 0)
38
- * @param gridSpacing - Spacing between grid lines in points (default: 50)
39
- * @param showLabels - Whether to show coordinate labels (default: true)
40
- * @param labelFont - Font name for labels (default: 'Helvetica')
41
- * @param labelSize - Font size for labels (default: 8)
42
- */
43
- export declare function drawCoordinateGrid(pdf: any, pageIndex?: number, gridSpacing?: number, showLabels?: boolean, labelFont?: string, labelSize?: number): Promise<void>;
44
- //# sourceMappingURL=test-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAmBzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAehE;AAiBD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAsBrG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAI3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,GAAG,EACR,SAAS,GAAE,MAAU,EACrB,WAAW,GAAE,MAAW,EACxB,UAAU,GAAE,OAAc,EAC1B,SAAS,GAAE,MAAoB,EAC/B,SAAS,GAAE,MAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -1,233 +0,0 @@
1
- "use strict";
2
- /**
3
- * Helper functions for e2e tests
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.getBaseUrl = getBaseUrl;
43
- exports.readToken = readToken;
44
- exports.serverUp = serverUp;
45
- exports.requireEnvAndFixture = requireEnvAndFixture;
46
- exports.createTempPath = createTempPath;
47
- exports.readImageFixture = readImageFixture;
48
- exports.getImagePath = getImagePath;
49
- exports.getFontPath = getFontPath;
50
- exports.readFontFixture = readFontFixture;
51
- exports.drawCoordinateGrid = drawCoordinateGrid;
52
- const fs = __importStar(require("fs"));
53
- const path = __importStar(require("path"));
54
- const os_1 = __importDefault(require("os"));
55
- /**
56
- * Get the base URL from environment variable or default
57
- */
58
- function getBaseUrl() {
59
- return (process.env.PDFDANCER_BASE_URL || 'http://localhost:8080').trim();
60
- }
61
- /**
62
- * Read authentication token from environment or token files
63
- */
64
- function readToken() {
65
- const token = process.env.PDFDANCER_TOKEN;
66
- if (token) {
67
- return token.trim();
68
- }
69
- // Try common token files in project root
70
- const projectRoot = path.resolve(__dirname, '../../..');
71
- const candidates = findFiles(projectRoot, 'jwt-token-*.txt');
72
- for (const file of candidates) {
73
- try {
74
- return fs.readFileSync(file, 'utf-8').trim();
75
- }
76
- catch {
77
- continue;
78
- }
79
- }
80
- return null;
81
- }
82
- /**
83
- * Check if server is up and running
84
- */
85
- async function serverUp(baseUrl) {
86
- try {
87
- const response = await fetch(`${baseUrl}/ping`, {
88
- signal: AbortSignal.timeout(60000)
89
- });
90
- const text = await response.text();
91
- let pongReceived = response.status === 200 && text.includes('Pong');
92
- if (!pongReceived) {
93
- console.error(`Server did not respond with Pong. Response: ${text}, status ${response.status}`);
94
- }
95
- return pongReceived;
96
- }
97
- catch (e) {
98
- console.error("Server down", e);
99
- return false;
100
- }
101
- }
102
- /**
103
- * Helper to find files matching a pattern
104
- */
105
- function findFiles(dir, pattern) {
106
- try {
107
- const files = fs.readdirSync(dir);
108
- const regex = new RegExp(pattern.replace('*', '.*'));
109
- return files
110
- .filter(file => regex.test(file))
111
- .map(file => path.join(dir, file));
112
- }
113
- catch {
114
- return [];
115
- }
116
- }
117
- /**
118
- * Require environment variables and PDF fixture for testing
119
- */
120
- async function requireEnvAndFixture(pdfFilename) {
121
- const baseUrl = getBaseUrl();
122
- const token = readToken();
123
- if (!await serverUp(baseUrl)) {
124
- throw new Error(`PDFDancer server not reachable at ${baseUrl}; set PDFDANCER_BASE_URL or start server`);
125
- }
126
- if (!token) {
127
- throw new Error('PDFDANCER_TOKEN not set and no token file found; set env or place jwt-token-*.txt in repo');
128
- }
129
- // Look for PDF fixture file
130
- const fixturesDir = path.resolve(__dirname, '../../../fixtures');
131
- const pdfPath = path.join(fixturesDir, pdfFilename);
132
- if (!fs.existsSync(pdfPath)) {
133
- throw new Error(`${pdfFilename} fixture not found at ${pdfPath}`);
134
- }
135
- const pdfData = fs.readFileSync(pdfPath);
136
- return [baseUrl, token, new Uint8Array(pdfData)];
137
- }
138
- /**
139
- * Helper to open temporary file path (for Node.js environment)
140
- */
141
- function createTempPath(filename) {
142
- const tmpDir = process.env.TMPDIR ||
143
- process.env.TEMP ||
144
- process.env.TMP ||
145
- os_1.default.tmpdir(); // reliable built-in fallback
146
- return path.join(tmpDir, filename);
147
- }
148
- /**
149
- * Helper to read image file for tests
150
- */
151
- function readImageFixture(filename) {
152
- const imagePath = getImagePath(filename);
153
- if (!fs.existsSync(imagePath)) {
154
- throw new Error(`Image fixture not found: ${filename}`);
155
- }
156
- const imageData = fs.readFileSync(imagePath);
157
- return new Uint8Array(imageData);
158
- }
159
- function getImagePath(filename) {
160
- const fixturesDir = path.resolve(__dirname, '../../../fixtures');
161
- return path.join(fixturesDir, filename);
162
- }
163
- function getFontPath(filename) {
164
- const fixturesDir = path.resolve(__dirname, '../../../fixtures');
165
- const fontPath = path.join(fixturesDir, filename);
166
- return fontPath;
167
- }
168
- /**
169
- * Helper to read font file for tests
170
- */
171
- function readFontFixture(filename) {
172
- const fontPath = getFontPath(filename);
173
- if (!fs.existsSync(fontPath)) {
174
- throw new Error(`Font fixture not found: ${filename}`);
175
- }
176
- const fontData = fs.readFileSync(fontPath);
177
- return new Uint8Array(fontData);
178
- }
179
- /**
180
- * Draw a coordinate grid on a PDF page for testing
181
- * @param pdf - PDFDancer instance
182
- * @param pageIndex - Page index (default: 0)
183
- * @param gridSpacing - Spacing between grid lines in points (default: 50)
184
- * @param showLabels - Whether to show coordinate labels (default: true)
185
- * @param labelFont - Font name for labels (default: 'Helvetica')
186
- * @param labelSize - Font size for labels (default: 8)
187
- */
188
- async function drawCoordinateGrid(pdf, pageIndex = 0, gridSpacing = 50, showLabels = true, labelFont = 'Helvetica', labelSize = 8) {
189
- const pages = await pdf.pages();
190
- const page = pages[pageIndex];
191
- const width = page.pageSize?.width || 612;
192
- const height = page.pageSize?.height || 792;
193
- const Color = (await Promise.resolve().then(() => __importStar(require('../../index')))).Color;
194
- const gridColor = new Color(200, 200, 200);
195
- const labelColor = new Color(100, 100, 100);
196
- for (let x = 0; x <= width; x += gridSpacing) {
197
- await pdf.page(pageIndex)
198
- .newPath()
199
- .moveTo(x, 0)
200
- .lineTo(x, height)
201
- .strokeColor(gridColor)
202
- .lineWidth(0.5)
203
- .draw();
204
- if (showLabels && x > 0) {
205
- await pdf.page(pageIndex)
206
- .newParagraph()
207
- .text(x.toString())
208
- .font(labelFont, labelSize)
209
- .color(labelColor)
210
- .at(x - 10, 5)
211
- .build();
212
- }
213
- }
214
- for (let y = 0; y <= height; y += gridSpacing) {
215
- await pdf.page(pageIndex)
216
- .newPath()
217
- .moveTo(0, y)
218
- .lineTo(width, y)
219
- .strokeColor(gridColor)
220
- .lineWidth(0.5)
221
- .draw();
222
- if (showLabels && y > 0) {
223
- await pdf.page(pageIndex)
224
- .newParagraph()
225
- .text(y.toString())
226
- .font(labelFont, labelSize)
227
- .color(labelColor)
228
- .at(5, y - 3)
229
- .build();
230
- }
231
- }
232
- }
233
- //# sourceMappingURL=test-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-helpers.ts"],"names":[],"mappings":"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"}