pdfdancer-client-typescript 1.0.11 → 1.0.12

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.
@@ -0,0 +1,4 @@
1
+ We discuss this: $ARGUMENTS.
2
+ You ask everything you need to know to completely understand what I want to know.
3
+ We discuss options, pros and cons and side effects.
4
+ You dont start to code until you have my approval.
@@ -12,7 +12,7 @@ jobs:
12
12
 
13
13
  strategy:
14
14
  matrix:
15
- node-version: [ 18.x, 20.x, 22.x, 24.x ]
15
+ node-version: [ 20.x, 22.x, 24.x ]
16
16
 
17
17
  steps:
18
18
  - uses: actions/checkout@v4
@@ -33,5 +33,5 @@ jobs:
33
33
  run: npm run build
34
34
 
35
35
  - name: Run tests
36
- run: npm run test:unit
36
+ run: PDFDANCER_BASE_URL=https://api.staging.pdfdancer.com PDFDANCER_TOKEN=42 npm run test
37
37
 
package/README.md CHANGED
@@ -30,7 +30,7 @@ PDFDancer gives you pixel-perfect programmatic control over any PDF document fro
30
30
  npm install pdfdancer-client-typescript
31
31
  ```
32
32
 
33
- Requires Node.js 18+ (or a modern browser) and a PDFDancer API token.
33
+ Requires Node.js 20+ (or a modern browser) and a PDFDancer API token.
34
34
 
35
35
  ## Quick Start — Edit an Existing PDF
36
36
 
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * A TypeScript client that provides session-based PDF manipulation operations with strict validation.
5
5
  */
6
- import { Font, ObjectType, PageRef, PageSize, PageSizeInput, Orientation, Position } from './models';
6
+ import { Font, ObjectType, Orientation, PageRef, PageSize, PageSizeInput, Position } from './models';
7
7
  import { ParagraphBuilder } from './paragraph-builder';
8
8
  import { FormFieldObject, FormXObject, ImageObject, ParagraphObject, PathObject, TextLineObject } from "./types";
9
9
  import { ImageBuilder } from "./image-builder";
@@ -1 +1 @@
1
- {"version":3,"file":"pdfdancer_v1.d.ts","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdfdancer_v1.d.ts","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}
@@ -126,12 +126,23 @@ class PDFDancer {
126
126
  * This constructor initializes the client, uploads the PDF data to open
127
127
  * a new session, and prepares the client for PDF manipulation operations.
128
128
  */
129
- constructor(token, pdfData, baseUrl = "http://localhost:8080", readTimeout = 30000) {
129
+ constructor(token, pdfData, baseUrl = null, readTimeout = 30000) {
130
130
  if (!token || !token.trim()) {
131
131
  throw new exceptions_1.ValidationException("Authentication token cannot be null or empty");
132
132
  }
133
+ // Normalize baseUrl
134
+ const resolvedBaseUrl = (baseUrl && baseUrl.trim()) ||
135
+ process.env.PDFDANCER_BASE_URL ||
136
+ "https://api.pdfdancer.com";
137
+ // Basic validation — ensures it's a valid absolute URL
138
+ try {
139
+ new URL(resolvedBaseUrl);
140
+ }
141
+ catch {
142
+ throw new exceptions_1.ValidationException(`Invalid base URL: ${resolvedBaseUrl}`);
143
+ }
133
144
  this._token = token.trim();
134
- this._baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
145
+ this._baseUrl = resolvedBaseUrl.replace(/\/$/, ''); // Remove trailing slash
135
146
  this._readTimeout = readTimeout;
136
147
  // Process PDF data with validation
137
148
  this._pdfBytes = this._processPdfData(pdfData);
@@ -151,7 +162,7 @@ class PDFDancer {
151
162
  "https://api.pdfdancer.com";
152
163
  const resolvedTimeout = timeout ?? 30000;
153
164
  if (!resolvedToken) {
154
- throw new Error("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
165
+ throw new exceptions_1.ValidationException("Missing PDFDancer API token. Pass a token via the `token` argument or set the PDFDANCER_TOKEN environment variable.");
155
166
  }
156
167
  const client = new PDFDancer(resolvedToken, pdfData, resolvedBaseUrl, resolvedTimeout);
157
168
  return await client.init();
@@ -174,7 +185,7 @@ class PDFDancer {
174
185
  "https://api.pdfdancer.com";
175
186
  const resolvedTimeout = timeout ?? 30000;
176
187
  if (!resolvedToken) {
177
- throw new Error("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
188
+ throw new exceptions_1.ValidationException("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
178
189
  }
179
190
  let createRequest;
180
191
  try {
@@ -331,6 +342,14 @@ class PDFDancer {
331
342
  });
332
343
  if (!response.ok) {
333
344
  const errorMessage = await this._extractErrorMessage(response);
345
+ if (response.status === 401 || response.status === 403) {
346
+ const defaultMessage = "Authentication with the PDFDancer API failed. Confirm that your API token is valid, has not expired, and is authorized for the requested environment.";
347
+ const normalized = errorMessage?.trim() ?? "";
348
+ const message = normalized && normalized !== "Unauthorized" && normalized !== "Forbidden"
349
+ ? normalized
350
+ : defaultMessage;
351
+ throw new exceptions_1.ValidationException(message);
352
+ }
334
353
  throw new exceptions_1.HttpClientException(`Failed to create session: ${errorMessage}`, response);
335
354
  }
336
355
  const sessionId = (await response.text()).trim();
@@ -340,7 +359,7 @@ class PDFDancer {
340
359
  return sessionId;
341
360
  }
342
361
  catch (error) {
343
- if (error instanceof exceptions_1.HttpClientException || error instanceof exceptions_1.SessionException) {
362
+ if (error instanceof exceptions_1.HttpClientException || error instanceof exceptions_1.SessionException || error instanceof exceptions_1.ValidationException) {
344
363
  throw error;
345
364
  }
346
365
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"pdfdancer_v1.js","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdfdancer_v1.js","sourceRoot":"","sources":["../src/pdfdancer_v1.ts"],"names":[],"mappings":"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"}
package/jest.config.js CHANGED
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  preset: 'ts-jest',
3
3
  testEnvironment: 'node',
4
- testTimeout: 10000,
4
+ testTimeout: 60000,
5
5
  roots: ['<rootDir>/src'],
6
6
  testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'],
7
7
  collectCoverageFrom: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdfdancer-client-typescript",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "A TypeScript client library for the PDFDancer PDF manipulation API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,35 +1,95 @@
1
1
  import {requireEnvAndFixture} from "./test-helpers";
2
2
  import {PDFDancer} from "../../pdfdancer_v1";
3
- import {ObjectType} from "../../models";
3
+ import {HttpClientException, ValidationException} from "../../exceptions";
4
4
 
5
5
  describe('Env Token E2E Tests', () => {
6
+ const MISSING_TOKEN_MESSAGE = "Missing PDFDancer API token. Pass a token via the `token` argument or set the PDFDANCER_TOKEN environment variable.";
7
+ let originalToken: string | undefined;
8
+ let originalBaseUrl: string | undefined;
9
+ let baseUrl: string;
10
+ let pdfData: Uint8Array;
11
+ let validToken: string;
6
12
 
7
- test('get pages with token from env', async () => {
8
- process.env.PDFDANCER_TOKEN = "42";
9
- process.env.PDFDANCER_BASE_URL = "http://localhost:8080";
10
- const [, , pdfData] = await requireEnvAndFixture('ObviouslyAwesome.pdf');
11
- const client = await PDFDancer.open(pdfData);
12
- const pages = await client.pages();
13
- expect(pages).toBeDefined();
14
- expect(pages[0].type).toBe(ObjectType.PAGE);
15
- expect(pages).toHaveLength(12);
13
+ const restoreEnv = () => {
14
+ if (originalToken !== undefined) {
15
+ process.env.PDFDANCER_TOKEN = originalToken;
16
+ } else {
17
+ delete process.env.PDFDANCER_TOKEN;
18
+ }
19
+
20
+ if (originalBaseUrl !== undefined) {
21
+ process.env.PDFDANCER_BASE_URL = originalBaseUrl;
22
+ } else {
23
+ delete process.env.PDFDANCER_BASE_URL;
24
+ }
25
+ };
26
+
27
+ beforeAll(async () => {
28
+ originalToken = process.env.PDFDANCER_TOKEN;
29
+ originalBaseUrl = process.env.PDFDANCER_BASE_URL;
30
+
31
+ [baseUrl, validToken, pdfData] = await requireEnvAndFixture('ObviouslyAwesome.pdf');
32
+ });
33
+
34
+ beforeEach(() => {
35
+ restoreEnv();
36
+ });
37
+
38
+ afterEach(() => {
39
+ restoreEnv();
40
+ });
41
+
42
+ afterAll(() => {
43
+ restoreEnv();
16
44
  });
17
45
 
18
- test('fail without token', async () => {
46
+ test('requires token from env or argument', async () => {
19
47
  delete process.env.PDFDANCER_TOKEN;
20
- delete process.env.PDFDANCER_BASE_URL;
21
- const [, , pdfData] = await requireEnvAndFixture('ObviouslyAwesome.pdf');
22
- await expect(PDFDancer.open(pdfData))
23
- .rejects
24
- .toThrow("Missing PDFDancer token");
25
- });
26
-
27
- test('fail with wrong token', async () => {
28
- process.env.PDFDANCER_TOKEN = "43";
29
- process.env.PDFDANCER_BASE_URL = "http://localhost:8080";
30
- const [, , pdfData] = await requireEnvAndFixture('ObviouslyAwesome.pdf');
31
- await expect(PDFDancer.open(pdfData))
32
- .rejects
33
- .toThrow("Failed to create session: Unauthorized");
48
+
49
+ await expect(async () => {
50
+ try {
51
+ await PDFDancer.open(pdfData, undefined, baseUrl);
52
+ } catch (error) {
53
+ expect(error).toBeInstanceOf(ValidationException);
54
+ expect((error as Error).message).toBe(MISSING_TOKEN_MESSAGE);
55
+ throw error;
56
+ }
57
+ }).rejects.toThrow(MISSING_TOKEN_MESSAGE);
58
+ });
59
+
60
+ test('opens with token from env', async () => {
61
+ process.env.PDFDANCER_TOKEN = validToken;
62
+ const client = await PDFDancer.open(pdfData, undefined, baseUrl);
63
+ expect(client).toBeInstanceOf(PDFDancer);
64
+ });
65
+
66
+ test('fails with unreachable base url', async () => {
67
+ process.env.PDFDANCER_TOKEN = validToken;
68
+ process.env.PDFDANCER_BASE_URL = "http://www.google.com";
69
+
70
+ await expect(async () => {
71
+ try {
72
+ await PDFDancer.open(pdfData);
73
+ } catch (error) {
74
+ expect(error).toBeInstanceOf(HttpClientException);
75
+ throw error;
76
+ }
77
+ }).rejects.toThrow(HttpClientException);
78
+ });
79
+
80
+ test('fails with invalid token', async () => {
81
+ process.env.PDFDANCER_TOKEN = "invalid-token";
82
+ process.env.PDFDANCER_BASE_URL = "https://api.pdfdancer.com";
83
+
84
+ await expect(async () => {
85
+ try {
86
+ await PDFDancer.open(pdfData);
87
+ } catch (error) {
88
+ expect(error).toBeInstanceOf(ValidationException);
89
+ expect((error as Error).message)
90
+ .toContain("Authentication with the PDFDancer API failed. Confirm that your API token is valid, has not expired");
91
+ throw error;
92
+ }
93
+ }).rejects.toThrow(ValidationException);
34
94
  });
35
95
  });
@@ -27,14 +27,14 @@ import {
27
27
  Image,
28
28
  ModifyRequest,
29
29
  ModifyTextRequest,
30
- MoveRequest,
31
30
  MovePageRequest,
31
+ MoveRequest,
32
32
  ObjectRef,
33
33
  ObjectType,
34
+ Orientation,
34
35
  PageRef,
35
36
  PageSize,
36
37
  PageSizeInput,
37
- Orientation,
38
38
  Paragraph,
39
39
  Position,
40
40
  PositionMode,
@@ -225,15 +225,30 @@ export class PDFDancer {
225
225
  private constructor(
226
226
  token: string,
227
227
  pdfData: Uint8Array | File | ArrayBuffer,
228
- baseUrl: string = "http://localhost:8080",
228
+ baseUrl: string | null = null,
229
229
  readTimeout: number = 30000
230
230
  ) {
231
+
231
232
  if (!token || !token.trim()) {
232
233
  throw new ValidationException("Authentication token cannot be null or empty");
233
234
  }
234
235
 
236
+
237
+ // Normalize baseUrl
238
+ const resolvedBaseUrl =
239
+ (baseUrl && baseUrl.trim()) ||
240
+ process.env.PDFDANCER_BASE_URL ||
241
+ "https://api.pdfdancer.com";
242
+
243
+ // Basic validation — ensures it's a valid absolute URL
244
+ try {
245
+ new URL(resolvedBaseUrl);
246
+ } catch {
247
+ throw new ValidationException(`Invalid base URL: ${resolvedBaseUrl}`);
248
+ }
249
+
235
250
  this._token = token.trim();
236
- this._baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
251
+ this._baseUrl = resolvedBaseUrl.replace(/\/$/, ''); // Remove trailing slash
237
252
  this._readTimeout = readTimeout;
238
253
 
239
254
  // Process PDF data with validation
@@ -258,7 +273,7 @@ export class PDFDancer {
258
273
  const resolvedTimeout = timeout ?? 30000;
259
274
 
260
275
  if (!resolvedToken) {
261
- throw new Error("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
276
+ throw new ValidationException("Missing PDFDancer API token. Pass a token via the `token` argument or set the PDFDANCER_TOKEN environment variable.");
262
277
  }
263
278
 
264
279
  const client = new PDFDancer(resolvedToken, pdfData, resolvedBaseUrl, resolvedTimeout);
@@ -294,7 +309,7 @@ export class PDFDancer {
294
309
  const resolvedTimeout = timeout ?? 30000;
295
310
 
296
311
  if (!resolvedToken) {
297
- throw new Error("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
312
+ throw new ValidationException("Missing PDFDancer token (pass it explicitly or set PDFDANCER_TOKEN in environment).");
298
313
  }
299
314
 
300
315
  let createRequest: CreatePdfRequest;
@@ -466,6 +481,16 @@ export class PDFDancer {
466
481
 
467
482
  if (!response.ok) {
468
483
  const errorMessage = await this._extractErrorMessage(response);
484
+
485
+ if (response.status === 401 || response.status === 403) {
486
+ const defaultMessage = "Authentication with the PDFDancer API failed. Confirm that your API token is valid, has not expired, and is authorized for the requested environment.";
487
+ const normalized = errorMessage?.trim() ?? "";
488
+ const message = normalized && normalized !== "Unauthorized" && normalized !== "Forbidden"
489
+ ? normalized
490
+ : defaultMessage;
491
+ throw new ValidationException(message);
492
+ }
493
+
469
494
  throw new HttpClientException(`Failed to create session: ${errorMessage}`, response);
470
495
  }
471
496
 
@@ -477,7 +502,7 @@ export class PDFDancer {
477
502
 
478
503
  return sessionId;
479
504
  } catch (error) {
480
- if (error instanceof HttpClientException || error instanceof SessionException) {
505
+ if (error instanceof HttpClientException || error instanceof SessionException || error instanceof ValidationException) {
481
506
  throw error;
482
507
  }
483
508
  const errorMessage = error instanceof Error ? error.message : String(error);