@prezly/sdk 17.0.0 → 18.0.0
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 +12 -0
- package/dist/Client.cjs +7 -2
- package/dist/Client.d.ts +3 -2
- package/dist/Client.js +7 -2
- package/dist/api/ApiClient.cjs +7 -7
- package/dist/api/ApiClient.d.ts +3 -2
- package/dist/api/ApiClient.js +7 -7
- package/dist/api/DeferredJobsApiClient.cjs +12 -9
- package/dist/api/DeferredJobsApiClient.d.ts +4 -3
- package/dist/api/DeferredJobsApiClient.js +13 -10
- package/dist/api/constants.cjs +1 -1
- package/dist/api/constants.js +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/types.cjs +1 -0
- package/dist/api/types.d.ts +1 -0
- package/dist/api/types.js +1 -0
- package/dist/http/HttpClient.cjs +71 -0
- package/dist/http/HttpClient.d.ts +12 -0
- package/dist/http/HttpClient.js +65 -0
- package/dist/http/createRequest.cjs +8 -7
- package/dist/http/createRequest.d.ts +2 -1
- package/dist/http/createRequest.js +8 -7
- package/dist/http/index.cjs +3 -3
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.js +1 -1
- package/dist/http/types.d.ts +2 -0
- package/dist/types/Category.d.ts +1 -1
- package/dist/types/Culture.cjs +4 -0
- package/dist/types/Culture.d.ts +16 -4
- package/dist/types/Culture.js +4 -0
- package/package.json +1 -1
- package/dist/http/Http.cjs +0 -69
- package/dist/http/Http.d.ts +0 -8
- package/dist/http/Http.js +0 -62
package/README.md
CHANGED
|
@@ -100,3 +100,15 @@ const { createPrezlyClient } = require('@prezly/sdk');
|
|
|
100
100
|
|
|
101
101
|
We recommend referring to the [official `cross-fetch` module documentation](https://www.npmjs.com/package/cross-fetch) for more information.
|
|
102
102
|
|
|
103
|
+
#### Custom `fetch` implementation
|
|
104
|
+
|
|
105
|
+
Additionally, you can initialize the API client with your own implementation of `fetch`:
|
|
106
|
+
|
|
107
|
+
```js
|
|
108
|
+
import { createPrezlyClient } = from '@prezly/sdk';
|
|
109
|
+
|
|
110
|
+
const prezlyClient = createPrezlyClient({
|
|
111
|
+
accessToken: 'your-access-token',
|
|
112
|
+
fetch: customFetch,
|
|
113
|
+
});
|
|
114
|
+
```
|
package/dist/Client.cjs
CHANGED
|
@@ -6,13 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createClient = createClient;
|
|
7
7
|
var _index = require("./api/index.cjs");
|
|
8
8
|
var _index2 = require("./endpoints/index.cjs");
|
|
9
|
+
var _index3 = require("./http/index.cjs");
|
|
9
10
|
const DEFAULT_BASE_URL = 'https://api.prezly.com';
|
|
10
11
|
function createClient({
|
|
11
12
|
accessToken,
|
|
12
13
|
baseUrl = DEFAULT_BASE_URL,
|
|
13
|
-
headers = {}
|
|
14
|
+
headers = {},
|
|
15
|
+
fetch
|
|
14
16
|
}) {
|
|
15
|
-
const
|
|
17
|
+
const http = (0, _index3.createHttpClient)({
|
|
18
|
+
fetch
|
|
19
|
+
});
|
|
20
|
+
const apiClient = new _index.DeferredJobsApiClient(http, new _index.ApiClient(http, {
|
|
16
21
|
accessToken,
|
|
17
22
|
baseUrl,
|
|
18
23
|
headers
|
package/dist/Client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeferredJobsApiClient } from './api';
|
|
1
|
+
import { DeferredJobsApiClient, type Fetch } from './api';
|
|
2
2
|
import { Contacts } from './endpoints';
|
|
3
3
|
import { Accounts, Billing, Campaigns, CampaignRecipients, ContactsExports, Coverage, Jobs, Licenses, Newsrooms, NewsroomCategories, NewsroomContacts, NewsroomLanguages, NewsroomThemes, NewsroomWebhooks, NewsroomPrivacyRequests, NewsroomDomains, NewsroomGalleries, NewsroomHub, PricingTables, SenderAddresses, Stories, Snippets, Subscriptions, NotificationSubscriptions } from './endpoints';
|
|
4
4
|
import type { HeadersMap } from './http';
|
|
@@ -6,6 +6,7 @@ export interface ClientOptions {
|
|
|
6
6
|
accessToken: string;
|
|
7
7
|
baseUrl?: string;
|
|
8
8
|
headers?: HeadersMap;
|
|
9
|
+
fetch?: Fetch;
|
|
9
10
|
}
|
|
10
11
|
export interface Client {
|
|
11
12
|
api: DeferredJobsApiClient;
|
|
@@ -35,4 +36,4 @@ export interface Client {
|
|
|
35
36
|
subscriptions: Subscriptions.Client;
|
|
36
37
|
notificationSubscriptions: NotificationSubscriptions.Client;
|
|
37
38
|
}
|
|
38
|
-
export declare function createClient({ accessToken, baseUrl, headers, }: ClientOptions): Client;
|
|
39
|
+
export declare function createClient({ accessToken, baseUrl, headers, fetch, }: ClientOptions): Client;
|
package/dist/Client.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { ApiClient, DeferredJobsApiClient } from "./api/index.js";
|
|
2
2
|
import { Contacts } from "./endpoints/index.js";
|
|
3
3
|
import { Accounts, Billing, Campaigns, CampaignRecipients, ContactsExports, Coverage, Jobs, Licenses, Newsrooms, NewsroomCategories, NewsroomContacts, NewsroomLanguages, NewsroomThemes, NewsroomWebhooks, NewsroomPrivacyRequests, NewsroomDomains, NewsroomGalleries, NewsroomHub, PricingTables, SenderAddresses, Stories, Snippets, Subscriptions, NotificationSubscriptions } from "./endpoints/index.js";
|
|
4
|
+
import { createHttpClient } from "./http/index.js";
|
|
4
5
|
const DEFAULT_BASE_URL = 'https://api.prezly.com';
|
|
5
6
|
export function createClient({
|
|
6
7
|
accessToken,
|
|
7
8
|
baseUrl = DEFAULT_BASE_URL,
|
|
8
|
-
headers = {}
|
|
9
|
+
headers = {},
|
|
10
|
+
fetch
|
|
9
11
|
}) {
|
|
10
|
-
const
|
|
12
|
+
const http = createHttpClient({
|
|
13
|
+
fetch
|
|
14
|
+
});
|
|
15
|
+
const apiClient = new DeferredJobsApiClient(http, new ApiClient(http, {
|
|
11
16
|
accessToken,
|
|
12
17
|
baseUrl,
|
|
13
18
|
headers
|
package/dist/api/ApiClient.cjs
CHANGED
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ApiClient = void 0;
|
|
7
|
-
var _index = require("../http/index.cjs");
|
|
8
7
|
var _utils = require("../utils.cjs");
|
|
9
8
|
var _constants = require("./constants.cjs");
|
|
10
9
|
class ApiClient {
|
|
11
|
-
constructor({
|
|
10
|
+
constructor(http, {
|
|
12
11
|
accessToken,
|
|
13
12
|
baseUrl,
|
|
14
13
|
headers
|
|
15
14
|
}) {
|
|
15
|
+
this.http = http;
|
|
16
16
|
this.baseUrl = baseUrl;
|
|
17
17
|
this.headers = {
|
|
18
18
|
authorization: `Bearer ${accessToken}`,
|
|
@@ -24,7 +24,7 @@ class ApiClient {
|
|
|
24
24
|
headers,
|
|
25
25
|
query
|
|
26
26
|
} = {}) {
|
|
27
|
-
return
|
|
27
|
+
return this.http.get(this.buildEndpointUrl(endpointUri), {
|
|
28
28
|
headers: {
|
|
29
29
|
...this.headers,
|
|
30
30
|
...headers
|
|
@@ -37,7 +37,7 @@ class ApiClient {
|
|
|
37
37
|
payload,
|
|
38
38
|
query
|
|
39
39
|
} = {}) {
|
|
40
|
-
return
|
|
40
|
+
return this.http.post(this.buildEndpointUrl(endpointUri), {
|
|
41
41
|
headers: {
|
|
42
42
|
...this.headers,
|
|
43
43
|
...headers
|
|
@@ -51,7 +51,7 @@ class ApiClient {
|
|
|
51
51
|
payload,
|
|
52
52
|
query
|
|
53
53
|
} = {}) {
|
|
54
|
-
return
|
|
54
|
+
return this.http.put(this.buildEndpointUrl(endpointUri), {
|
|
55
55
|
headers: {
|
|
56
56
|
...this.headers,
|
|
57
57
|
...headers
|
|
@@ -65,7 +65,7 @@ class ApiClient {
|
|
|
65
65
|
payload,
|
|
66
66
|
query
|
|
67
67
|
} = {}) {
|
|
68
|
-
return
|
|
68
|
+
return this.http.patch(this.buildEndpointUrl(endpointUri), {
|
|
69
69
|
headers: {
|
|
70
70
|
...this.headers,
|
|
71
71
|
...headers
|
|
@@ -79,7 +79,7 @@ class ApiClient {
|
|
|
79
79
|
payload,
|
|
80
80
|
query
|
|
81
81
|
} = {}) {
|
|
82
|
-
return
|
|
82
|
+
return this.http.delete(this.buildEndpointUrl(endpointUri), {
|
|
83
83
|
headers: {
|
|
84
84
|
...this.headers,
|
|
85
85
|
...headers
|
package/dist/api/ApiClient.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { ApiResponse, HeadersMap, Params, ParamsWithPayload } from '../http';
|
|
1
|
+
import type { ApiResponse, HeadersMap, HttpClient, Params, ParamsWithPayload } from '../http';
|
|
2
2
|
export interface Options {
|
|
3
3
|
accessToken: string;
|
|
4
4
|
baseUrl: string;
|
|
5
5
|
headers: HeadersMap;
|
|
6
6
|
}
|
|
7
7
|
export declare class ApiClient {
|
|
8
|
+
private readonly http;
|
|
8
9
|
private readonly baseUrl;
|
|
9
10
|
private readonly headers;
|
|
10
|
-
constructor({ accessToken, baseUrl, headers }: Options);
|
|
11
|
+
constructor(http: HttpClient, { accessToken, baseUrl, headers }: Options);
|
|
11
12
|
get<V = any>(endpointUri: string, { headers, query }?: Params): Promise<ApiResponse<V>>;
|
|
12
13
|
post<V = any>(endpointUri: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
|
13
14
|
put<V = any>(endpointUri: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
package/dist/api/ApiClient.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Http } from "../http/index.js";
|
|
2
1
|
import { stripSlashes } from "../utils.js";
|
|
3
2
|
import { DEFAULT_USER_AGENT } from "./constants.js";
|
|
4
3
|
export class ApiClient {
|
|
5
|
-
constructor({
|
|
4
|
+
constructor(http, {
|
|
6
5
|
accessToken,
|
|
7
6
|
baseUrl,
|
|
8
7
|
headers
|
|
9
8
|
}) {
|
|
9
|
+
this.http = http;
|
|
10
10
|
this.baseUrl = baseUrl;
|
|
11
11
|
this.headers = {
|
|
12
12
|
authorization: `Bearer ${accessToken}`,
|
|
@@ -18,7 +18,7 @@ export class ApiClient {
|
|
|
18
18
|
headers,
|
|
19
19
|
query
|
|
20
20
|
} = {}) {
|
|
21
|
-
return
|
|
21
|
+
return this.http.get(this.buildEndpointUrl(endpointUri), {
|
|
22
22
|
headers: {
|
|
23
23
|
...this.headers,
|
|
24
24
|
...headers
|
|
@@ -31,7 +31,7 @@ export class ApiClient {
|
|
|
31
31
|
payload,
|
|
32
32
|
query
|
|
33
33
|
} = {}) {
|
|
34
|
-
return
|
|
34
|
+
return this.http.post(this.buildEndpointUrl(endpointUri), {
|
|
35
35
|
headers: {
|
|
36
36
|
...this.headers,
|
|
37
37
|
...headers
|
|
@@ -45,7 +45,7 @@ export class ApiClient {
|
|
|
45
45
|
payload,
|
|
46
46
|
query
|
|
47
47
|
} = {}) {
|
|
48
|
-
return
|
|
48
|
+
return this.http.put(this.buildEndpointUrl(endpointUri), {
|
|
49
49
|
headers: {
|
|
50
50
|
...this.headers,
|
|
51
51
|
...headers
|
|
@@ -59,7 +59,7 @@ export class ApiClient {
|
|
|
59
59
|
payload,
|
|
60
60
|
query
|
|
61
61
|
} = {}) {
|
|
62
|
-
return
|
|
62
|
+
return this.http.patch(this.buildEndpointUrl(endpointUri), {
|
|
63
63
|
headers: {
|
|
64
64
|
...this.headers,
|
|
65
65
|
...headers
|
|
@@ -73,7 +73,7 @@ export class ApiClient {
|
|
|
73
73
|
payload,
|
|
74
74
|
query
|
|
75
75
|
} = {}) {
|
|
76
|
-
return
|
|
76
|
+
return this.http.delete(this.buildEndpointUrl(endpointUri), {
|
|
77
77
|
headers: {
|
|
78
78
|
...this.headers,
|
|
79
79
|
...headers
|
|
@@ -13,12 +13,14 @@ const JOB_STATUS_POLLING_INTERVAL = 2000; // ms
|
|
|
13
13
|
async function sleep(milliseconds) {
|
|
14
14
|
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
15
15
|
}
|
|
16
|
-
async function handleDeferredJob(request) {
|
|
16
|
+
async function handleDeferredJob(http, request) {
|
|
17
17
|
const response = await request;
|
|
18
18
|
if (response.status === _index.HttpCodes.ACCEPTED && (0, _index.isDeferredJobResponse)(response.payload)) {
|
|
19
19
|
return new _progressPromise.ProgressPromise(async function (resolve, reject, progress) {
|
|
20
20
|
do {
|
|
21
|
-
const response = await
|
|
21
|
+
const response = await http.get(_routing.routing.jobsUrl, {
|
|
22
|
+
fetch
|
|
23
|
+
});
|
|
22
24
|
const {
|
|
23
25
|
job
|
|
24
26
|
} = response.payload;
|
|
@@ -39,14 +41,15 @@ async function handleDeferredJob(request) {
|
|
|
39
41
|
return _progressPromise.ProgressPromise.resolve(response.payload);
|
|
40
42
|
}
|
|
41
43
|
class DeferredJobsApiClient {
|
|
42
|
-
constructor(apiClient) {
|
|
43
|
-
this.
|
|
44
|
+
constructor(httpClient, apiClient) {
|
|
45
|
+
this.http = httpClient;
|
|
46
|
+
this.api = apiClient;
|
|
44
47
|
}
|
|
45
48
|
get(endpointUri, {
|
|
46
49
|
headers,
|
|
47
50
|
query
|
|
48
51
|
} = {}) {
|
|
49
|
-
return handleDeferredJob(this.
|
|
52
|
+
return handleDeferredJob(this.http, this.api.get(endpointUri, {
|
|
50
53
|
headers,
|
|
51
54
|
query
|
|
52
55
|
}));
|
|
@@ -56,7 +59,7 @@ class DeferredJobsApiClient {
|
|
|
56
59
|
payload,
|
|
57
60
|
query
|
|
58
61
|
} = {}) {
|
|
59
|
-
return handleDeferredJob(this.
|
|
62
|
+
return handleDeferredJob(this.http, this.api.post(endpointUri, {
|
|
60
63
|
headers,
|
|
61
64
|
payload,
|
|
62
65
|
query
|
|
@@ -67,7 +70,7 @@ class DeferredJobsApiClient {
|
|
|
67
70
|
payload,
|
|
68
71
|
query
|
|
69
72
|
} = {}) {
|
|
70
|
-
return handleDeferredJob(this.
|
|
73
|
+
return handleDeferredJob(this.http, this.api.put(endpointUri, {
|
|
71
74
|
headers,
|
|
72
75
|
payload,
|
|
73
76
|
query
|
|
@@ -78,7 +81,7 @@ class DeferredJobsApiClient {
|
|
|
78
81
|
payload,
|
|
79
82
|
query
|
|
80
83
|
} = {}) {
|
|
81
|
-
return handleDeferredJob(this.
|
|
84
|
+
return handleDeferredJob(this.http, this.api.patch(endpointUri, {
|
|
82
85
|
headers,
|
|
83
86
|
payload,
|
|
84
87
|
query
|
|
@@ -89,7 +92,7 @@ class DeferredJobsApiClient {
|
|
|
89
92
|
payload,
|
|
90
93
|
query
|
|
91
94
|
} = {}) {
|
|
92
|
-
return handleDeferredJob(this.
|
|
95
|
+
return handleDeferredJob(this.http, this.api.delete(endpointUri, {
|
|
93
96
|
headers,
|
|
94
97
|
payload,
|
|
95
98
|
query
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ProgressPromise } from '@prezly/progress-promise';
|
|
2
|
-
import type { Params, ParamsWithPayload } from '../http';
|
|
2
|
+
import type { HttpClient, Params, ParamsWithPayload } from '../http';
|
|
3
3
|
import type { ApiClient } from './ApiClient';
|
|
4
4
|
export declare class DeferredJobsApiClient {
|
|
5
|
-
private readonly
|
|
6
|
-
|
|
5
|
+
private readonly http;
|
|
6
|
+
private readonly api;
|
|
7
|
+
constructor(httpClient: HttpClient, apiClient: ApiClient);
|
|
7
8
|
get<V = any, P = any>(endpointUri: string, { headers, query }?: Params): ProgressPromise<V, P>;
|
|
8
9
|
post<V = any, P = any>(endpointUri: string, { headers, payload, query }?: ParamsWithPayload): ProgressPromise<V, P>;
|
|
9
10
|
put<V = any, P = any>(endpointUri: string, { headers, payload, query }?: ParamsWithPayload): ProgressPromise<V, P>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProgressPromise } from '@prezly/progress-promise';
|
|
2
|
-
import {
|
|
2
|
+
import { HttpCodes, isDeferredJobResponse } from "../http/index.js";
|
|
3
3
|
import { routing } from "../routing.js";
|
|
4
4
|
import { JobStatus } from "../types/index.js";
|
|
5
5
|
const JOB_STATUS_POLLING_INTERVAL = 2000; // ms
|
|
@@ -7,12 +7,14 @@ const JOB_STATUS_POLLING_INTERVAL = 2000; // ms
|
|
|
7
7
|
async function sleep(milliseconds) {
|
|
8
8
|
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
9
9
|
}
|
|
10
|
-
async function handleDeferredJob(request) {
|
|
10
|
+
async function handleDeferredJob(http, request) {
|
|
11
11
|
const response = await request;
|
|
12
12
|
if (response.status === HttpCodes.ACCEPTED && isDeferredJobResponse(response.payload)) {
|
|
13
13
|
return new ProgressPromise(async function (resolve, reject, progress) {
|
|
14
14
|
do {
|
|
15
|
-
const response = await
|
|
15
|
+
const response = await http.get(routing.jobsUrl, {
|
|
16
|
+
fetch
|
|
17
|
+
});
|
|
16
18
|
const {
|
|
17
19
|
job
|
|
18
20
|
} = response.payload;
|
|
@@ -33,14 +35,15 @@ async function handleDeferredJob(request) {
|
|
|
33
35
|
return ProgressPromise.resolve(response.payload);
|
|
34
36
|
}
|
|
35
37
|
export class DeferredJobsApiClient {
|
|
36
|
-
constructor(apiClient) {
|
|
37
|
-
this.
|
|
38
|
+
constructor(httpClient, apiClient) {
|
|
39
|
+
this.http = httpClient;
|
|
40
|
+
this.api = apiClient;
|
|
38
41
|
}
|
|
39
42
|
get(endpointUri, {
|
|
40
43
|
headers,
|
|
41
44
|
query
|
|
42
45
|
} = {}) {
|
|
43
|
-
return handleDeferredJob(this.
|
|
46
|
+
return handleDeferredJob(this.http, this.api.get(endpointUri, {
|
|
44
47
|
headers,
|
|
45
48
|
query
|
|
46
49
|
}));
|
|
@@ -50,7 +53,7 @@ export class DeferredJobsApiClient {
|
|
|
50
53
|
payload,
|
|
51
54
|
query
|
|
52
55
|
} = {}) {
|
|
53
|
-
return handleDeferredJob(this.
|
|
56
|
+
return handleDeferredJob(this.http, this.api.post(endpointUri, {
|
|
54
57
|
headers,
|
|
55
58
|
payload,
|
|
56
59
|
query
|
|
@@ -61,7 +64,7 @@ export class DeferredJobsApiClient {
|
|
|
61
64
|
payload,
|
|
62
65
|
query
|
|
63
66
|
} = {}) {
|
|
64
|
-
return handleDeferredJob(this.
|
|
67
|
+
return handleDeferredJob(this.http, this.api.put(endpointUri, {
|
|
65
68
|
headers,
|
|
66
69
|
payload,
|
|
67
70
|
query
|
|
@@ -72,7 +75,7 @@ export class DeferredJobsApiClient {
|
|
|
72
75
|
payload,
|
|
73
76
|
query
|
|
74
77
|
} = {}) {
|
|
75
|
-
return handleDeferredJob(this.
|
|
78
|
+
return handleDeferredJob(this.http, this.api.patch(endpointUri, {
|
|
76
79
|
headers,
|
|
77
80
|
payload,
|
|
78
81
|
query
|
|
@@ -83,7 +86,7 @@ export class DeferredJobsApiClient {
|
|
|
83
86
|
payload,
|
|
84
87
|
query
|
|
85
88
|
} = {}) {
|
|
86
|
-
return handleDeferredJob(this.
|
|
89
|
+
return handleDeferredJob(this.http, this.api.delete(endpointUri, {
|
|
87
90
|
headers,
|
|
88
91
|
payload,
|
|
89
92
|
query
|
package/dist/api/constants.cjs
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DEFAULT_USER_AGENT = void 0;
|
|
7
|
-
const VERSION = "
|
|
7
|
+
const VERSION = "17.1.0";
|
|
8
8
|
const URL = 'https://github.com/prezly/javascript-sdk';
|
|
9
9
|
const DEFAULT_USER_AGENT = `prezly-javascript-sdk/${VERSION} (+${URL})`;
|
|
10
10
|
exports.DEFAULT_USER_AGENT = DEFAULT_USER_AGENT;
|
package/dist/api/constants.js
CHANGED
package/dist/api/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type Fetch = typeof fetch;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createHttpClient = createHttpClient;
|
|
7
|
+
var _createRequest = require("./createRequest.cjs");
|
|
8
|
+
var _types = require("./types.cjs");
|
|
9
|
+
function createHttpClient(options = {}) {
|
|
10
|
+
const fetchImpl = options.fetch ?? fetch;
|
|
11
|
+
return {
|
|
12
|
+
get(url, {
|
|
13
|
+
headers,
|
|
14
|
+
query
|
|
15
|
+
} = {}) {
|
|
16
|
+
return (0, _createRequest.createRequest)(fetchImpl, url, {
|
|
17
|
+
headers,
|
|
18
|
+
method: _types.Method.GET,
|
|
19
|
+
query
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
post(url, {
|
|
23
|
+
headers,
|
|
24
|
+
payload,
|
|
25
|
+
query
|
|
26
|
+
} = {}) {
|
|
27
|
+
return (0, _createRequest.createRequest)(fetchImpl, url, {
|
|
28
|
+
headers,
|
|
29
|
+
method: _types.Method.POST,
|
|
30
|
+
payload,
|
|
31
|
+
query
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
put(url, {
|
|
35
|
+
headers,
|
|
36
|
+
payload,
|
|
37
|
+
query
|
|
38
|
+
} = {}) {
|
|
39
|
+
return (0, _createRequest.createRequest)(fetchImpl, url, {
|
|
40
|
+
headers,
|
|
41
|
+
method: _types.Method.PUT,
|
|
42
|
+
payload,
|
|
43
|
+
query
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
patch(url, {
|
|
47
|
+
headers,
|
|
48
|
+
payload,
|
|
49
|
+
query
|
|
50
|
+
} = {}) {
|
|
51
|
+
return (0, _createRequest.createRequest)(fetchImpl, url, {
|
|
52
|
+
headers,
|
|
53
|
+
method: _types.Method.PATCH,
|
|
54
|
+
payload,
|
|
55
|
+
query
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
delete(url, {
|
|
59
|
+
headers,
|
|
60
|
+
payload,
|
|
61
|
+
query
|
|
62
|
+
} = {}) {
|
|
63
|
+
return (0, _createRequest.createRequest)(fetchImpl, url, {
|
|
64
|
+
headers,
|
|
65
|
+
method: _types.Method.DELETE,
|
|
66
|
+
payload,
|
|
67
|
+
query
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Fetch } from '../api';
|
|
2
|
+
import type { ApiResponse, Params, ParamsWithPayload } from './types';
|
|
3
|
+
export interface HttpClient {
|
|
4
|
+
get<V = any>(url: string, params?: Params): Promise<ApiResponse<V>>;
|
|
5
|
+
post<V = any>(url: string, params?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
|
6
|
+
put<V = any>(url: string, params?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
|
7
|
+
patch<V = any>(url: string, params?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
|
8
|
+
delete<V = any>(url: string, params?: ParamsWithPayload): Promise<ApiResponse<V>>;
|
|
9
|
+
}
|
|
10
|
+
export declare function createHttpClient(options?: {
|
|
11
|
+
fetch?: Fetch;
|
|
12
|
+
}): HttpClient;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createRequest } from "./createRequest.js";
|
|
2
|
+
import { Method } from "./types.js";
|
|
3
|
+
export function createHttpClient(options = {}) {
|
|
4
|
+
const fetchImpl = options.fetch ?? fetch;
|
|
5
|
+
return {
|
|
6
|
+
get(url, {
|
|
7
|
+
headers,
|
|
8
|
+
query
|
|
9
|
+
} = {}) {
|
|
10
|
+
return createRequest(fetchImpl, url, {
|
|
11
|
+
headers,
|
|
12
|
+
method: Method.GET,
|
|
13
|
+
query
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
post(url, {
|
|
17
|
+
headers,
|
|
18
|
+
payload,
|
|
19
|
+
query
|
|
20
|
+
} = {}) {
|
|
21
|
+
return createRequest(fetchImpl, url, {
|
|
22
|
+
headers,
|
|
23
|
+
method: Method.POST,
|
|
24
|
+
payload,
|
|
25
|
+
query
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
put(url, {
|
|
29
|
+
headers,
|
|
30
|
+
payload,
|
|
31
|
+
query
|
|
32
|
+
} = {}) {
|
|
33
|
+
return createRequest(fetchImpl, url, {
|
|
34
|
+
headers,
|
|
35
|
+
method: Method.PUT,
|
|
36
|
+
payload,
|
|
37
|
+
query
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
patch(url, {
|
|
41
|
+
headers,
|
|
42
|
+
payload,
|
|
43
|
+
query
|
|
44
|
+
} = {}) {
|
|
45
|
+
return createRequest(fetchImpl, url, {
|
|
46
|
+
headers,
|
|
47
|
+
method: Method.PATCH,
|
|
48
|
+
payload,
|
|
49
|
+
query
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
delete(url, {
|
|
53
|
+
headers,
|
|
54
|
+
payload,
|
|
55
|
+
query
|
|
56
|
+
} = {}) {
|
|
57
|
+
return createRequest(fetchImpl, url, {
|
|
58
|
+
headers,
|
|
59
|
+
method: Method.DELETE,
|
|
60
|
+
payload,
|
|
61
|
+
query
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -39,15 +39,16 @@ function createFakeErrorPayload({
|
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
async function createRequest(url, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
async function createRequest(fetchImpl, url, options) {
|
|
43
|
+
const {
|
|
44
|
+
headers,
|
|
45
|
+
method,
|
|
46
|
+
payload,
|
|
47
|
+
query
|
|
48
|
+
} = options;
|
|
48
49
|
try {
|
|
49
50
|
const urlWithQuery = (0, _lib.createUrlWithQuery)(url, query);
|
|
50
|
-
const response = await
|
|
51
|
+
const response = await fetchImpl(urlWithQuery.href, {
|
|
51
52
|
method,
|
|
52
53
|
headers: {
|
|
53
54
|
Accept: 'application/json',
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Fetch } from '../api';
|
|
1
2
|
import type { Method, HeadersMap, ApiResponse } from './types';
|
|
2
3
|
export declare function createFakeErrorPayload({ status, statusText, }: {
|
|
3
4
|
status?: number;
|
|
@@ -13,7 +14,7 @@ export declare function createFakeErrorPayload({ status, statusText, }: {
|
|
|
13
14
|
}[];
|
|
14
15
|
};
|
|
15
16
|
};
|
|
16
|
-
export declare function createRequest<P = any>(
|
|
17
|
+
export declare function createRequest<P = any>(fetchImpl: Fetch, url: string, options: {
|
|
17
18
|
headers?: HeadersMap;
|
|
18
19
|
method: Method;
|
|
19
20
|
payload?: object;
|
|
@@ -32,15 +32,16 @@ export function createFakeErrorPayload({
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
export async function createRequest(url, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
export async function createRequest(fetchImpl, url, options) {
|
|
36
|
+
const {
|
|
37
|
+
headers,
|
|
38
|
+
method,
|
|
39
|
+
payload,
|
|
40
|
+
query
|
|
41
|
+
} = options;
|
|
41
42
|
try {
|
|
42
43
|
const urlWithQuery = createUrlWithQuery(url, query);
|
|
43
|
-
const response = await
|
|
44
|
+
const response = await fetchImpl(urlWithQuery.href, {
|
|
44
45
|
method,
|
|
45
46
|
headers: {
|
|
46
47
|
Accept: 'application/json',
|
package/dist/http/index.cjs
CHANGED
|
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "ApiError", {
|
|
|
9
9
|
return _ApiError.ApiError;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "createHttpClient", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _HttpClient.createHttpClient;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "isDeferredJobResponse", {
|
|
@@ -34,6 +34,6 @@ Object.defineProperty(exports, "Method", {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
var _ApiError = require("./ApiError.cjs");
|
|
37
|
-
var
|
|
37
|
+
var _HttpClient = require("./HttpClient.cjs");
|
|
38
38
|
var _lib = require("./lib.cjs");
|
|
39
39
|
var _types = require("./types.cjs");
|
package/dist/http/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ApiError } from './ApiError';
|
|
2
|
-
export {
|
|
2
|
+
export { type HttpClient, createHttpClient } from './HttpClient';
|
|
3
3
|
export { isDeferredJobResponse } from './lib';
|
|
4
4
|
export { type ApiResponse, type HeadersMap, type Params, type ParamsWithPayload, HttpCodes, Method, } from './types';
|
package/dist/http/index.js
CHANGED
package/dist/http/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Fetch } from '../api';
|
|
1
2
|
export declare enum HttpCodes {
|
|
2
3
|
ACCEPTED = 202,
|
|
3
4
|
NO_CONTENT = 204,
|
|
@@ -17,6 +18,7 @@ export interface HeadersMap {
|
|
|
17
18
|
[name: string]: string;
|
|
18
19
|
}
|
|
19
20
|
export interface Params {
|
|
21
|
+
fetch?: Fetch;
|
|
20
22
|
headers?: HeadersMap;
|
|
21
23
|
query?: Record<string, undefined | boolean | number | string | number[] | string[]>;
|
|
22
24
|
}
|
package/dist/types/Category.d.ts
CHANGED
package/dist/types/Culture.cjs
CHANGED
|
@@ -13,4 +13,8 @@ exports.Culture = Culture;
|
|
|
13
13
|
TextDirection["RTL"] = "rtl";
|
|
14
14
|
})(TextDirection || (TextDirection = {}));
|
|
15
15
|
_Culture.TextDirection = TextDirection;
|
|
16
|
+
function isoCode(code) {
|
|
17
|
+
return code.replace('_', '-');
|
|
18
|
+
}
|
|
19
|
+
_Culture.isoCode = isoCode;
|
|
16
20
|
})(Culture || (exports.Culture = Culture = {}));
|
package/dist/types/Culture.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export interface CultureRef {
|
|
2
|
-
code:
|
|
3
|
-
locale:
|
|
2
|
+
code: Culture.Code;
|
|
3
|
+
locale: Culture.Code;
|
|
4
4
|
name: string;
|
|
5
5
|
native_name: string;
|
|
6
|
-
direction: Culture.TextDirection
|
|
7
|
-
language_code:
|
|
6
|
+
direction: `${Culture.TextDirection}`;
|
|
7
|
+
language_code: Culture.LangCode;
|
|
8
8
|
}
|
|
9
9
|
export declare type Culture = CultureRef;
|
|
10
10
|
export declare namespace Culture {
|
|
@@ -12,4 +12,16 @@ export declare namespace Culture {
|
|
|
12
12
|
LTR = "ltr",
|
|
13
13
|
RTL = "rtl"
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Primary locale code used everywhere in the Prezly app.
|
|
17
|
+
*/
|
|
18
|
+
type Code = `${LangCode}` | `${LangCode}_${RegionCode}` | `${LangCode}_${ScriptCode}` | `${LangCode}_${ScriptCode}_${RegionCode}`;
|
|
19
|
+
/**
|
|
20
|
+
* Locale ISO code to be used in HTML attributes.
|
|
21
|
+
*/
|
|
22
|
+
type IsoCode = `${LangCode}` | `${LangCode}-${RegionCode}` | `${LangCode}-${ScriptCode}` | `${LangCode}-${ScriptCode}-${RegionCode}`;
|
|
23
|
+
type LangCode = `${Lowercase<string>}`;
|
|
24
|
+
type ScriptCode = string;
|
|
25
|
+
type RegionCode = `${Uppercase<string>}`;
|
|
26
|
+
function isoCode(code: Code): IsoCode;
|
|
15
27
|
}
|
package/dist/types/Culture.js
CHANGED
|
@@ -6,4 +6,8 @@ export let Culture;
|
|
|
6
6
|
TextDirection["RTL"] = "rtl";
|
|
7
7
|
})(TextDirection || (TextDirection = {}));
|
|
8
8
|
_Culture.TextDirection = TextDirection;
|
|
9
|
+
function isoCode(code) {
|
|
10
|
+
return code.replace('_', '-');
|
|
11
|
+
}
|
|
12
|
+
_Culture.isoCode = isoCode;
|
|
9
13
|
})(Culture || (Culture = {}));
|
package/package.json
CHANGED
package/dist/http/Http.cjs
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Http = void 0;
|
|
7
|
-
var _createRequest = require("./createRequest.cjs");
|
|
8
|
-
var _types = require("./types.cjs");
|
|
9
|
-
const Http = {
|
|
10
|
-
get(url, {
|
|
11
|
-
headers,
|
|
12
|
-
query
|
|
13
|
-
} = {}) {
|
|
14
|
-
return (0, _createRequest.createRequest)(url, {
|
|
15
|
-
headers,
|
|
16
|
-
method: _types.Method.GET,
|
|
17
|
-
query
|
|
18
|
-
});
|
|
19
|
-
},
|
|
20
|
-
post(url, {
|
|
21
|
-
headers,
|
|
22
|
-
payload,
|
|
23
|
-
query
|
|
24
|
-
} = {}) {
|
|
25
|
-
return (0, _createRequest.createRequest)(url, {
|
|
26
|
-
headers,
|
|
27
|
-
method: _types.Method.POST,
|
|
28
|
-
payload,
|
|
29
|
-
query
|
|
30
|
-
});
|
|
31
|
-
},
|
|
32
|
-
put(url, {
|
|
33
|
-
headers,
|
|
34
|
-
payload,
|
|
35
|
-
query
|
|
36
|
-
} = {}) {
|
|
37
|
-
return (0, _createRequest.createRequest)(url, {
|
|
38
|
-
headers,
|
|
39
|
-
method: _types.Method.PUT,
|
|
40
|
-
payload,
|
|
41
|
-
query
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
patch(url, {
|
|
45
|
-
headers,
|
|
46
|
-
payload,
|
|
47
|
-
query
|
|
48
|
-
} = {}) {
|
|
49
|
-
return (0, _createRequest.createRequest)(url, {
|
|
50
|
-
headers,
|
|
51
|
-
method: _types.Method.PATCH,
|
|
52
|
-
payload,
|
|
53
|
-
query
|
|
54
|
-
});
|
|
55
|
-
},
|
|
56
|
-
delete(url, {
|
|
57
|
-
headers,
|
|
58
|
-
payload,
|
|
59
|
-
query
|
|
60
|
-
} = {}) {
|
|
61
|
-
return (0, _createRequest.createRequest)(url, {
|
|
62
|
-
headers,
|
|
63
|
-
method: _types.Method.DELETE,
|
|
64
|
-
payload,
|
|
65
|
-
query
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
exports.Http = Http;
|
package/dist/http/Http.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ApiResponse, Params, ParamsWithPayload } from './types';
|
|
2
|
-
export declare const Http: {
|
|
3
|
-
get<V = any>(url: string, { headers, query }?: Params): Promise<ApiResponse<V>>;
|
|
4
|
-
post<V_1 = any>(url: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V_1>>;
|
|
5
|
-
put<V_2 = any>(url: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V_2>>;
|
|
6
|
-
patch<V_3 = any>(url: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V_3>>;
|
|
7
|
-
delete<V_4 = any>(url: string, { headers, payload, query }?: ParamsWithPayload): Promise<ApiResponse<V_4>>;
|
|
8
|
-
};
|
package/dist/http/Http.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { createRequest } from "./createRequest.js";
|
|
2
|
-
import { Method } from "./types.js";
|
|
3
|
-
export const Http = {
|
|
4
|
-
get(url, {
|
|
5
|
-
headers,
|
|
6
|
-
query
|
|
7
|
-
} = {}) {
|
|
8
|
-
return createRequest(url, {
|
|
9
|
-
headers,
|
|
10
|
-
method: Method.GET,
|
|
11
|
-
query
|
|
12
|
-
});
|
|
13
|
-
},
|
|
14
|
-
post(url, {
|
|
15
|
-
headers,
|
|
16
|
-
payload,
|
|
17
|
-
query
|
|
18
|
-
} = {}) {
|
|
19
|
-
return createRequest(url, {
|
|
20
|
-
headers,
|
|
21
|
-
method: Method.POST,
|
|
22
|
-
payload,
|
|
23
|
-
query
|
|
24
|
-
});
|
|
25
|
-
},
|
|
26
|
-
put(url, {
|
|
27
|
-
headers,
|
|
28
|
-
payload,
|
|
29
|
-
query
|
|
30
|
-
} = {}) {
|
|
31
|
-
return createRequest(url, {
|
|
32
|
-
headers,
|
|
33
|
-
method: Method.PUT,
|
|
34
|
-
payload,
|
|
35
|
-
query
|
|
36
|
-
});
|
|
37
|
-
},
|
|
38
|
-
patch(url, {
|
|
39
|
-
headers,
|
|
40
|
-
payload,
|
|
41
|
-
query
|
|
42
|
-
} = {}) {
|
|
43
|
-
return createRequest(url, {
|
|
44
|
-
headers,
|
|
45
|
-
method: Method.PATCH,
|
|
46
|
-
payload,
|
|
47
|
-
query
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
delete(url, {
|
|
51
|
-
headers,
|
|
52
|
-
payload,
|
|
53
|
-
query
|
|
54
|
-
} = {}) {
|
|
55
|
-
return createRequest(url, {
|
|
56
|
-
headers,
|
|
57
|
-
method: Method.DELETE,
|
|
58
|
-
payload,
|
|
59
|
-
query
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
};
|