celitech-sdk 1.1.86 → 1.1.87
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.
- package/README.md +22 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +69 -57
- package/dist/index.mjs +69 -57
- package/package.json +4 -2
package/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
# Celitech TypeScript SDK 1.1.
|
1
|
+
# Celitech TypeScript SDK 1.1.87
|
2
2
|
|
3
3
|
Welcome to the Celitech SDK documentation. This guide will help you get started with integrating and using the Celitech SDK in your project.
|
4
4
|
|
5
5
|
## Versions
|
6
6
|
|
7
7
|
- API version: `1.1.0`
|
8
|
-
- SDK version: `1.1.
|
8
|
+
- SDK version: `1.1.87`
|
9
9
|
|
10
10
|
## About the API
|
11
11
|
|
@@ -18,6 +18,7 @@ Welcome to the CELITECH API documentation! Useful links: [Homepage](https://www.
|
|
18
18
|
- [Installation](#installation)
|
19
19
|
- [Environment Variables](#environment-variables)
|
20
20
|
- [Setting a Custom Timeout](#setting-a-custom-timeout)
|
21
|
+
- [Sample Usage](#sample-usage)
|
21
22
|
- [Services](#services)
|
22
23
|
- [Models](#models)
|
23
24
|
- [License](#license)
|
@@ -57,6 +58,25 @@ You can set a custom timeout for the SDK's HTTP requests as follows:
|
|
57
58
|
const celitech = new Celitech({ timeout: 10000 });
|
58
59
|
```
|
59
60
|
|
61
|
+
# Sample Usage
|
62
|
+
|
63
|
+
Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:
|
64
|
+
|
65
|
+
```ts
|
66
|
+
import { Celitech } from 'celitech-sdk';
|
67
|
+
|
68
|
+
(async () => {
|
69
|
+
const celitech = new Celitech({
|
70
|
+
clientId: 'client-id',
|
71
|
+
clientSecret: 'client-secret',
|
72
|
+
});
|
73
|
+
|
74
|
+
const { data } = await celitech.destinations.listDestinations();
|
75
|
+
|
76
|
+
console.log(data);
|
77
|
+
})();
|
78
|
+
```
|
79
|
+
|
60
80
|
## Services
|
61
81
|
|
62
82
|
The SDK provides various services to interact with the API.
|
package/dist/index.d.ts
CHANGED
@@ -4,7 +4,7 @@ declare enum Environment {
|
|
4
4
|
DEFAULT = "https://api.celitech.net/v1"
|
5
5
|
}
|
6
6
|
|
7
|
-
type HttpMethod$1 = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
7
|
+
type HttpMethod$1 = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD';
|
8
8
|
interface HttpRequest {
|
9
9
|
baseUrl: string;
|
10
10
|
method: HttpMethod$1;
|
@@ -97,7 +97,7 @@ declare class Request<T> {
|
|
97
97
|
private constructPath;
|
98
98
|
}
|
99
99
|
|
100
|
-
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
100
|
+
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD';
|
101
101
|
interface SdkConfig {
|
102
102
|
baseUrl?: string;
|
103
103
|
environment?: Environment;
|
@@ -112,7 +112,7 @@ interface HttpMetadata {
|
|
112
112
|
statusText: string;
|
113
113
|
headers: Record<string, string>;
|
114
114
|
}
|
115
|
-
interface HttpResponse<T> {
|
115
|
+
interface HttpResponse<T = unknown> {
|
116
116
|
data?: T;
|
117
117
|
metadata: HttpMetadata;
|
118
118
|
raw: ArrayBuffer;
|
package/dist/index.js
CHANGED
@@ -451,53 +451,87 @@ var RequestValidationHandler = class {
|
|
451
451
|
}
|
452
452
|
};
|
453
453
|
|
454
|
-
// src/http/transport/request-
|
455
|
-
var
|
454
|
+
// src/http/transport/request-axios-adapter.ts
|
455
|
+
var import_axios = __toESM(require("axios"));
|
456
|
+
var RequestAxiosAdapter = class {
|
456
457
|
constructor(request) {
|
457
458
|
this.request = request;
|
458
|
-
this.
|
459
|
-
|
460
|
-
|
461
|
-
this.
|
462
|
-
this.setTimeout(
|
459
|
+
this.config = {
|
460
|
+
responseType: "arraybuffer"
|
461
|
+
};
|
462
|
+
this.setHeaders();
|
463
|
+
this.setTimeout();
|
463
464
|
}
|
464
465
|
async send() {
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
466
|
+
const method = this.getMethod();
|
467
|
+
const { body } = this.request;
|
468
|
+
let axiosResponse;
|
469
|
+
try {
|
470
|
+
if (this.request.method === "POST" || this.request.method === "PUT" || this.request.method === "PATCH") {
|
471
|
+
axiosResponse = await method(this.request.constructFullUrl(), body, this.config);
|
472
|
+
} else {
|
473
|
+
axiosResponse = await method(this.request.constructFullUrl(), this.config);
|
474
|
+
}
|
475
|
+
} catch (err) {
|
476
|
+
if ((0, import_axios.isAxiosError)(err) && err.response) {
|
477
|
+
axiosResponse = err.response;
|
478
|
+
} else {
|
479
|
+
throw err;
|
480
|
+
}
|
470
481
|
}
|
471
|
-
|
472
|
-
|
473
|
-
|
482
|
+
const headerRecord = {};
|
483
|
+
Object.keys(axiosResponse.headers).forEach((key) => {
|
484
|
+
headerRecord[key] = axiosResponse.headers[key];
|
485
|
+
});
|
486
|
+
const metadata = {
|
487
|
+
status: axiosResponse.status,
|
488
|
+
statusText: axiosResponse.statusText || "",
|
489
|
+
headers: headerRecord
|
474
490
|
};
|
475
|
-
|
476
|
-
|
477
|
-
if (!body) {
|
478
|
-
return;
|
491
|
+
if (metadata.status >= 400) {
|
492
|
+
throw new HttpError(metadata);
|
479
493
|
}
|
480
|
-
|
481
|
-
|
482
|
-
|
494
|
+
return {
|
495
|
+
metadata,
|
496
|
+
raw: axiosResponse.data.buffer.slice(
|
497
|
+
axiosResponse.data.byteOffset,
|
498
|
+
axiosResponse.data.byteOffset + axiosResponse.data.byteLength
|
499
|
+
)
|
483
500
|
};
|
484
501
|
}
|
485
|
-
|
486
|
-
if (
|
487
|
-
return;
|
502
|
+
getMethod() {
|
503
|
+
if (this.request.method === "POST") {
|
504
|
+
return import_axios.default.post;
|
505
|
+
} else if (this.request.method === "GET") {
|
506
|
+
return import_axios.default.get;
|
507
|
+
} else if (this.request.method === "PUT") {
|
508
|
+
return import_axios.default.put;
|
509
|
+
} else if (this.request.method === "DELETE") {
|
510
|
+
return import_axios.default.delete;
|
511
|
+
} else if (this.request.method === "PATCH") {
|
512
|
+
return import_axios.default.patch;
|
513
|
+
} else if (this.request.method === "HEAD") {
|
514
|
+
return import_axios.default.head;
|
488
515
|
}
|
489
|
-
|
490
|
-
...this.requestInit,
|
491
|
-
headers
|
492
|
-
};
|
516
|
+
throw new Error("invalid method!!!!");
|
493
517
|
}
|
494
|
-
|
495
|
-
if (!
|
518
|
+
setHeaders() {
|
519
|
+
if (!this.request.headers) {
|
496
520
|
return;
|
497
521
|
}
|
498
|
-
|
499
|
-
|
500
|
-
|
522
|
+
const headersRecord = {};
|
523
|
+
new Headers(this.request.getHeaders()).forEach((value, key) => {
|
524
|
+
headersRecord[key] = value;
|
525
|
+
});
|
526
|
+
this.config = {
|
527
|
+
...this.config,
|
528
|
+
headers: headersRecord
|
529
|
+
};
|
530
|
+
}
|
531
|
+
setTimeout() {
|
532
|
+
this.config = {
|
533
|
+
...this.config,
|
534
|
+
timeout: this.request.config.timeout
|
501
535
|
};
|
502
536
|
}
|
503
537
|
};
|
@@ -505,29 +539,7 @@ var RequestFetchAdapter = class {
|
|
505
539
|
// src/http/handlers/terminating-handler.ts
|
506
540
|
var TerminatingHandler = class {
|
507
541
|
async handle(request) {
|
508
|
-
|
509
|
-
const metadata = {
|
510
|
-
status: response.status,
|
511
|
-
statusText: response.statusText,
|
512
|
-
headers: this.getHeaders(response)
|
513
|
-
};
|
514
|
-
if (metadata.status >= 400) {
|
515
|
-
throw new HttpError(metadata);
|
516
|
-
}
|
517
|
-
return {
|
518
|
-
metadata,
|
519
|
-
raw: await response.clone().arrayBuffer()
|
520
|
-
};
|
521
|
-
}
|
522
|
-
getHeaders(response) {
|
523
|
-
const headers = {};
|
524
|
-
response.headers.forEach((value, key) => {
|
525
|
-
headers[key] = value;
|
526
|
-
});
|
527
|
-
return headers;
|
528
|
-
}
|
529
|
-
isErrorResponse(response) {
|
530
|
-
return response.metadata.status >= 400;
|
542
|
+
return new RequestAxiosAdapter(request).send();
|
531
543
|
}
|
532
544
|
};
|
533
545
|
|
package/dist/index.mjs
CHANGED
@@ -411,53 +411,87 @@ var RequestValidationHandler = class {
|
|
411
411
|
}
|
412
412
|
};
|
413
413
|
|
414
|
-
// src/http/transport/request-
|
415
|
-
|
414
|
+
// src/http/transport/request-axios-adapter.ts
|
415
|
+
import axios, { isAxiosError } from "axios";
|
416
|
+
var RequestAxiosAdapter = class {
|
416
417
|
constructor(request) {
|
417
418
|
this.request = request;
|
418
|
-
this.
|
419
|
-
|
420
|
-
|
421
|
-
this.
|
422
|
-
this.setTimeout(
|
419
|
+
this.config = {
|
420
|
+
responseType: "arraybuffer"
|
421
|
+
};
|
422
|
+
this.setHeaders();
|
423
|
+
this.setTimeout();
|
423
424
|
}
|
424
425
|
async send() {
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
426
|
+
const method = this.getMethod();
|
427
|
+
const { body } = this.request;
|
428
|
+
let axiosResponse;
|
429
|
+
try {
|
430
|
+
if (this.request.method === "POST" || this.request.method === "PUT" || this.request.method === "PATCH") {
|
431
|
+
axiosResponse = await method(this.request.constructFullUrl(), body, this.config);
|
432
|
+
} else {
|
433
|
+
axiosResponse = await method(this.request.constructFullUrl(), this.config);
|
434
|
+
}
|
435
|
+
} catch (err) {
|
436
|
+
if (isAxiosError(err) && err.response) {
|
437
|
+
axiosResponse = err.response;
|
438
|
+
} else {
|
439
|
+
throw err;
|
440
|
+
}
|
430
441
|
}
|
431
|
-
|
432
|
-
|
433
|
-
|
442
|
+
const headerRecord = {};
|
443
|
+
Object.keys(axiosResponse.headers).forEach((key) => {
|
444
|
+
headerRecord[key] = axiosResponse.headers[key];
|
445
|
+
});
|
446
|
+
const metadata = {
|
447
|
+
status: axiosResponse.status,
|
448
|
+
statusText: axiosResponse.statusText || "",
|
449
|
+
headers: headerRecord
|
434
450
|
};
|
435
|
-
|
436
|
-
|
437
|
-
if (!body) {
|
438
|
-
return;
|
451
|
+
if (metadata.status >= 400) {
|
452
|
+
throw new HttpError(metadata);
|
439
453
|
}
|
440
|
-
|
441
|
-
|
442
|
-
|
454
|
+
return {
|
455
|
+
metadata,
|
456
|
+
raw: axiosResponse.data.buffer.slice(
|
457
|
+
axiosResponse.data.byteOffset,
|
458
|
+
axiosResponse.data.byteOffset + axiosResponse.data.byteLength
|
459
|
+
)
|
443
460
|
};
|
444
461
|
}
|
445
|
-
|
446
|
-
if (
|
447
|
-
return;
|
462
|
+
getMethod() {
|
463
|
+
if (this.request.method === "POST") {
|
464
|
+
return axios.post;
|
465
|
+
} else if (this.request.method === "GET") {
|
466
|
+
return axios.get;
|
467
|
+
} else if (this.request.method === "PUT") {
|
468
|
+
return axios.put;
|
469
|
+
} else if (this.request.method === "DELETE") {
|
470
|
+
return axios.delete;
|
471
|
+
} else if (this.request.method === "PATCH") {
|
472
|
+
return axios.patch;
|
473
|
+
} else if (this.request.method === "HEAD") {
|
474
|
+
return axios.head;
|
448
475
|
}
|
449
|
-
|
450
|
-
...this.requestInit,
|
451
|
-
headers
|
452
|
-
};
|
476
|
+
throw new Error("invalid method!!!!");
|
453
477
|
}
|
454
|
-
|
455
|
-
if (!
|
478
|
+
setHeaders() {
|
479
|
+
if (!this.request.headers) {
|
456
480
|
return;
|
457
481
|
}
|
458
|
-
|
459
|
-
|
460
|
-
|
482
|
+
const headersRecord = {};
|
483
|
+
new Headers(this.request.getHeaders()).forEach((value, key) => {
|
484
|
+
headersRecord[key] = value;
|
485
|
+
});
|
486
|
+
this.config = {
|
487
|
+
...this.config,
|
488
|
+
headers: headersRecord
|
489
|
+
};
|
490
|
+
}
|
491
|
+
setTimeout() {
|
492
|
+
this.config = {
|
493
|
+
...this.config,
|
494
|
+
timeout: this.request.config.timeout
|
461
495
|
};
|
462
496
|
}
|
463
497
|
};
|
@@ -465,29 +499,7 @@ var RequestFetchAdapter = class {
|
|
465
499
|
// src/http/handlers/terminating-handler.ts
|
466
500
|
var TerminatingHandler = class {
|
467
501
|
async handle(request) {
|
468
|
-
|
469
|
-
const metadata = {
|
470
|
-
status: response.status,
|
471
|
-
statusText: response.statusText,
|
472
|
-
headers: this.getHeaders(response)
|
473
|
-
};
|
474
|
-
if (metadata.status >= 400) {
|
475
|
-
throw new HttpError(metadata);
|
476
|
-
}
|
477
|
-
return {
|
478
|
-
metadata,
|
479
|
-
raw: await response.clone().arrayBuffer()
|
480
|
-
};
|
481
|
-
}
|
482
|
-
getHeaders(response) {
|
483
|
-
const headers = {};
|
484
|
-
response.headers.forEach((value, key) => {
|
485
|
-
headers[key] = value;
|
486
|
-
});
|
487
|
-
return headers;
|
488
|
-
}
|
489
|
-
isErrorResponse(response) {
|
490
|
-
return response.metadata.status >= 400;
|
502
|
+
return new RequestAxiosAdapter(request).send();
|
491
503
|
}
|
492
504
|
};
|
493
505
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "celitech-sdk",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.87",
|
4
4
|
"description": "Welcome to the CELITECH API documentation! Useful links: [Homepage](https://www.celitech.com) | [Support email](mailto:support@celitech.com) | [Blog](https://www.celitech.com/blog/) ",
|
5
5
|
"source": "./src/index.ts",
|
6
6
|
"main": "./dist/commonjs/index.js",
|
@@ -9,6 +9,7 @@
|
|
9
9
|
"unpkg": "./dist/index.umd.js",
|
10
10
|
"types": "./dist/commonjs/index.d.ts",
|
11
11
|
"scripts": {
|
12
|
+
"test": "tsc --noEmit",
|
12
13
|
"build": "tsup-node src/index.ts --format cjs,esm --dts --clean",
|
13
14
|
"prepublishOnly": "npm run build"
|
14
15
|
},
|
@@ -29,7 +30,8 @@
|
|
29
30
|
"tsup": "^6.7.0"
|
30
31
|
},
|
31
32
|
"dependencies": {
|
32
|
-
"zod": "3.22.0"
|
33
|
+
"zod": "3.22.0",
|
34
|
+
"axios": "^1.7.4"
|
33
35
|
},
|
34
36
|
"exports": {
|
35
37
|
".": {
|