pdfdancer-client-typescript 2.0.5 → 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 (48) hide show
  1. package/README.md +10 -4
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/models.d.ts +9 -2
  7. package/dist/models.d.ts.map +1 -1
  8. package/dist/models.js +23 -1
  9. package/dist/models.js.map +1 -1
  10. package/dist/pdfdancer_v1.d.ts +14 -0
  11. package/dist/pdfdancer_v1.d.ts.map +1 -1
  12. package/dist/pdfdancer_v1.js +65 -1
  13. package/dist/pdfdancer_v1.js.map +1 -1
  14. package/dist/replacement-builder.d.ts +78 -0
  15. package/dist/replacement-builder.d.ts.map +1 -0
  16. package/dist/replacement-builder.js +117 -0
  17. package/dist/replacement-builder.js.map +1 -0
  18. package/dist/types.d.ts +38 -3
  19. package/dist/types.d.ts.map +1 -1
  20. package/dist/types.js +158 -2
  21. package/dist/types.js.map +1 -1
  22. package/dist/version.d.ts +1 -1
  23. package/dist/version.js +1 -1
  24. package/package.json +1 -1
  25. package/dist/__tests__/assertions.d.ts +0 -2
  26. package/dist/__tests__/assertions.d.ts.map +0 -1
  27. package/dist/__tests__/assertions.js +0 -11
  28. package/dist/__tests__/assertions.js.map +0 -1
  29. package/dist/__tests__/e2e/pdf-assertions.d.ts +0 -36
  30. package/dist/__tests__/e2e/pdf-assertions.d.ts.map +0 -1
  31. package/dist/__tests__/e2e/pdf-assertions.js +0 -218
  32. package/dist/__tests__/e2e/pdf-assertions.js.map +0 -1
  33. package/dist/__tests__/e2e/test-drawing-helpers.d.ts +0 -148
  34. package/dist/__tests__/e2e/test-drawing-helpers.d.ts.map +0 -1
  35. package/dist/__tests__/e2e/test-drawing-helpers.js +0 -343
  36. package/dist/__tests__/e2e/test-drawing-helpers.js.map +0 -1
  37. package/dist/__tests__/e2e/test-helpers.d.ts +0 -44
  38. package/dist/__tests__/e2e/test-helpers.d.ts.map +0 -1
  39. package/dist/__tests__/e2e/test-helpers.js +0 -233
  40. package/dist/__tests__/e2e/test-helpers.js.map +0 -1
  41. package/dist/client-v1.d.ts +0 -157
  42. package/dist/client-v1.d.ts.map +0 -1
  43. package/dist/client-v1.js +0 -576
  44. package/dist/client-v1.js.map +0 -1
  45. package/dist/client-v2.d.ts +0 -129
  46. package/dist/client-v2.d.ts.map +0 -1
  47. package/dist/client-v2.js +0 -696
  48. package/dist/client-v2.js.map +0 -1
@@ -1,148 +0,0 @@
1
- /**
2
- * Test Drawing Helpers
3
- *
4
- * Utilities for drawing coordinate grids and bounding boxes on PDFs
5
- * to help with visual debugging and testing.
6
- */
7
- import { Color, PDFDancer, Position } from "../../index";
8
- /**
9
- * Represents any PDF object that has a position property.
10
- * This includes BaseObject subclasses like ParagraphObject, TextLineObject, etc.
11
- */
12
- export interface PositionedObject {
13
- position: Position;
14
- }
15
- export interface GridOptions {
16
- /** Starting X coordinate (default: 0) */
17
- startX?: number;
18
- /** Starting Y coordinate (default: 0) */
19
- startY?: number;
20
- /** Ending X coordinate (default: page width) */
21
- endX?: number;
22
- /** Ending Y coordinate (default: page height) */
23
- endY?: number;
24
- /** Grid spacing in points (default: 50) */
25
- spacing?: number;
26
- /** Major grid line interval (default: 100) */
27
- majorInterval?: number;
28
- /** Grid line color (default: light gray) */
29
- gridColor?: Color;
30
- /** Major grid line color (default: medium gray) */
31
- majorGridColor?: Color;
32
- /** Label color (default: dark gray) */
33
- labelColor?: Color;
34
- /** Font size for labels (default: 8) */
35
- fontSize?: number;
36
- /** Page index to draw on (default: 0) */
37
- pageIndex?: number;
38
- /** Show labels (default: true) */
39
- showLabels?: boolean;
40
- }
41
- export interface BoundingBoxOptions {
42
- /** Bounding box color (default: red) */
43
- color?: Color;
44
- /** Line width (default: 1) */
45
- lineWidth?: number;
46
- /** Dash pattern (default: solid line) */
47
- dashPattern?: number[];
48
- /** Show corner markers (default: true) */
49
- showCorners?: boolean;
50
- /** Corner marker size (default: 3) */
51
- cornerSize?: number;
52
- /** Show dimensions label (default: true) */
53
- showDimensions?: boolean;
54
- }
55
- /**
56
- * Draws a coordinate grid on the specified page of a PDF.
57
- * Useful for understanding coordinate systems and positioning.
58
- *
59
- * @example
60
- * ```typescript
61
- * await drawCoordinateGrid(pdf, {
62
- * pageIndex: 0,
63
- * spacing: 50,
64
- * majorInterval: 100
65
- * });
66
- * ```
67
- */
68
- export declare function drawCoordinateGrid(pdf: PDFDancer, options?: GridOptions): Promise<void>;
69
- /**
70
- * Draws a bounding box around a text element, paragraph, or any object with position information.
71
- *
72
- * @example
73
- * ```typescript
74
- * const paragraph = await pdf.selectParagraph();
75
- * await drawBoundingBox(pdf, paragraph, {
76
- * color: new Color(255, 0, 0),
77
- * showDimensions: true
78
- * });
79
- * ```
80
- */
81
- export declare function drawBoundingBox(pdf: PDFDancer, objectRef: PositionedObject, options?: BoundingBoxOptions): Promise<void>;
82
- /**
83
- * Draws bounding boxes around all objects of a specific type on a page.
84
- *
85
- * @example
86
- * ```typescript
87
- * // Draw boxes around all paragraphs
88
- * const paragraphs = await pdf.selectParagraphs();
89
- * await drawBoundingBoxes(pdf, paragraphs, {
90
- * color: new Color(0, 255, 0)
91
- * });
92
- * ```
93
- */
94
- export declare function drawBoundingBoxes(pdf: PDFDancer, objectRefs: PositionedObject[], options?: BoundingBoxOptions): Promise<void>;
95
- /**
96
- * Draws a cross-hair marker at specific coordinates.
97
- * Useful for marking test points.
98
- *
99
- * @example
100
- * ```typescript
101
- * await drawCrosshair(pdf, 100, 200, {
102
- * color: new Color(0, 0, 255),
103
- * size: 10
104
- * });
105
- * ```
106
- */
107
- export declare function drawCrosshair(pdf: PDFDancer, x: number, y: number, options?: {
108
- color?: Color;
109
- size?: number;
110
- lineWidth?: number;
111
- pageIndex?: number;
112
- label?: string;
113
- }): Promise<void>;
114
- /**
115
- * Highlights the text content of a text object with a semi-transparent background.
116
- *
117
- * @example
118
- * ```typescript
119
- * const textLine = await pdf.selectTextLine();
120
- * await highlightText(pdf, textLine, {
121
- * color: new Color(255, 255, 0, 128) // Yellow with 50% transparency
122
- * });
123
- * ```
124
- */
125
- export declare function highlightText(pdf: PDFDancer, textObjectRef: PositionedObject, options?: {
126
- color?: Color;
127
- padding?: number;
128
- }): Promise<void>;
129
- /**
130
- * Draws an arrow between two points.
131
- * Useful for indicating relationships or directions in test visualizations.
132
- *
133
- * @example
134
- * ```typescript
135
- * await drawArrow(pdf, 100, 100, 200, 200, {
136
- * color: new Color(0, 0, 255),
137
- * label: "Move direction"
138
- * });
139
- * ```
140
- */
141
- export declare function drawArrow(pdf: PDFDancer, fromX: number, fromY: number, toX: number, toY: number, options?: {
142
- color?: Color;
143
- lineWidth?: number;
144
- arrowSize?: number;
145
- pageIndex?: number;
146
- label?: string;
147
- }): Promise<void>;
148
- //# sourceMappingURL=test-drawing-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-drawing-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/e2e/test-drawing-helpers.ts"],"names":[],"mappings":"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"}
@@ -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"}