@kontent-ai/core-sdk 12.0.0-preview.21 → 12.0.0-preview.23
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 +0 -4
- package/dist/core-sdk-info.js +1 -1
- package/dist/devkit/environment.utils.js +1 -1
- package/dist/devkit/environment.utils.js.map +1 -1
- package/dist/{utils → devkit}/sdk-version.utils.js +1 -1
- package/dist/devkit/sdk-version.utils.js.map +1 -0
- package/dist/devkit_api.d.ts +1 -1
- package/dist/devkit_api.js +1 -1
- package/dist/devkit_api.js.map +1 -1
- package/dist/http/http.adapter.js +7 -11
- package/dist/http/http.adapter.js.map +1 -1
- package/dist/http/http.models.d.ts +6 -3
- package/dist/http/http.service.js +19 -8
- package/dist/http/http.service.js.map +1 -1
- package/dist/models/core.models.d.ts +0 -12
- package/dist/models/error.models.d.ts +33 -8
- package/dist/models/error.models.js +23 -12
- package/dist/models/error.models.js.map +1 -1
- package/dist/public_api.d.ts +2 -2
- package/dist/public_api.js.map +1 -1
- package/dist/sdk/queries/paged-fetch-sdk-query.js +16 -51
- package/dist/sdk/queries/paged-fetch-sdk-query.js.map +1 -1
- package/dist/sdk/resolve-query.js +63 -16
- package/dist/sdk/resolve-query.js.map +1 -1
- package/dist/sdk/sdk-models.d.ts +1 -6
- package/dist/sdk/sdk-utils.d.ts +4 -0
- package/dist/sdk/sdk-utils.js +4 -0
- package/dist/sdk/sdk-utils.js.map +1 -1
- package/dist/testkit/poll.utils.js +4 -13
- package/dist/testkit/poll.utils.js.map +1 -1
- package/dist/testkit/testkit.utils.d.ts +8 -1
- package/dist/testkit/testkit.utils.js +13 -0
- package/dist/testkit/testkit.utils.js.map +1 -1
- package/dist/testkit_api.d.ts +1 -1
- package/dist/testkit_api.js +1 -1
- package/dist/testkit_api.js.map +1 -1
- package/dist/utils/abort.utils.js +4 -3
- package/dist/utils/abort.utils.js.map +1 -1
- package/dist/utils/core.utils.js +1 -5
- package/dist/utils/core.utils.js.map +1 -1
- package/dist/utils/error.utils.d.ts +9 -4
- package/dist/utils/error.utils.js +22 -12
- package/dist/utils/error.utils.js.map +1 -1
- package/dist/utils/header.utils.js +8 -7
- package/dist/utils/header.utils.js.map +1 -1
- package/dist/utils/retry.utils.d.ts +1 -1
- package/dist/utils/retry.utils.js +29 -52
- package/dist/utils/retry.utils.js.map +1 -1
- package/package.json +7 -6
- package/dist/utils/sdk-version.utils.js.map +0 -1
- /package/dist/{utils → devkit}/sdk-version.utils.d.ts +0 -0
package/README.md
CHANGED
|
@@ -186,10 +186,6 @@ if (!success) {
|
|
|
186
186
|
// Zod schema validation failed (when responseValidation is enabled)
|
|
187
187
|
console.error("Unexpected response shape for", error.details.url, error.details.zodError);
|
|
188
188
|
break;
|
|
189
|
-
case "noResponses":
|
|
190
|
-
// Paging query completed without any responses
|
|
191
|
-
console.error("No data returned for", error.details.url);
|
|
192
|
-
break;
|
|
193
189
|
case "aborted":
|
|
194
190
|
// The request was cancelled before it could complete
|
|
195
191
|
console.error("Request was aborted:", error.details.originalError);
|
package/dist/core-sdk-info.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { colorize } from "./console.utils.js";
|
|
2
2
|
export function getEnvironmentRequiredValue(variableName) {
|
|
3
3
|
const value = getEnvironmentOptionalValue(variableName);
|
|
4
|
-
if (!value) {
|
|
4
|
+
if (!value || value.trim() === "") {
|
|
5
5
|
throw new Error(`Missing environment variable '${colorize("red", variableName)}'`);
|
|
6
6
|
}
|
|
7
7
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.utils.js","sourceRoot":"","sources":["../../lib/devkit/environment.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC/D,MAAM,KAAK,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.utils.js","sourceRoot":"","sources":["../../lib/devkit/environment.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC/D,MAAM,KAAK,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { colorize } from "
|
|
2
|
+
import { colorize } from "./console.utils.js";
|
|
3
3
|
const sdkVersionPlaceholderMacro = "{{version}}";
|
|
4
4
|
export function replaceSdkVersionPlaceholder(filePath, version) {
|
|
5
5
|
const fileContent = readFileSync(filePath, "utf8");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-version.utils.js","sourceRoot":"","sources":["../../lib/devkit/sdk-version.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,0BAA0B,GAAG,aAAa,CAAC;AAEjD,MAAM,UAAU,4BAA4B,CAAC,QAAgB,EAAE,OAAe;IAC7E,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,6BAA6B,0BAA0B,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC;IAElF,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5G,CAAC"}
|
package/dist/devkit_api.d.ts
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
export { type ConsoleColor, colorize } from "./devkit/console.utils.js";
|
|
3
3
|
export { getEnvironmentOptionalValue, getEnvironmentRequiredValue } from "./devkit/environment.utils.js";
|
|
4
4
|
export { deleteFolderRecursive } from "./devkit/script.utils.js";
|
|
5
|
-
export { replaceSdkVersionPlaceholder } from "./
|
|
5
|
+
export { replaceSdkVersionPlaceholder } from "./devkit/sdk-version.utils.js";
|
package/dist/devkit_api.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
export { colorize } from "./devkit/console.utils.js";
|
|
3
3
|
export { getEnvironmentOptionalValue, getEnvironmentRequiredValue } from "./devkit/environment.utils.js";
|
|
4
4
|
export { deleteFolderRecursive } from "./devkit/script.utils.js";
|
|
5
|
-
export { replaceSdkVersionPlaceholder } from "./
|
|
5
|
+
export { replaceSdkVersionPlaceholder } from "./devkit/sdk-version.utils.js";
|
|
6
6
|
//# sourceMappingURL=devkit_api.js.map
|
package/dist/devkit_api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devkit_api.js","sourceRoot":"","sources":["../lib/devkit_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EAAqB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"devkit_api.js","sourceRoot":"","sources":["../lib/devkit_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EAAqB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AdapterAbortError, AdapterParseError } from "../models/error.models.js";
|
|
2
2
|
import { runWithAbortSignal } from "../utils/abort.utils.js";
|
|
3
|
+
import { isFetchAbortError } from "../utils/error.utils.js";
|
|
3
4
|
import { isApplicationJsonResponseType, toFetchHeaders, toSdkHeaders } from "../utils/header.utils.js";
|
|
4
5
|
import { tryCatchAsync } from "../utils/try-catch.utils.js";
|
|
5
6
|
export function getDefaultHttpAdapter() {
|
|
@@ -19,8 +20,9 @@ export function getDefaultHttpAdapter() {
|
|
|
19
20
|
const response = await getResponse({
|
|
20
21
|
...options,
|
|
21
22
|
method: "GET",
|
|
23
|
+
body: null,
|
|
22
24
|
});
|
|
23
|
-
const file = await parseResponse({ parseFunc: async () => response.blob(), abortSignal: options.abortSignal });
|
|
25
|
+
const file = await parseResponse({ parseFunc: async () => await response.blob(), abortSignal: options.abortSignal });
|
|
24
26
|
return createAdapterResponse(options.url, response, file, toSdkHeaders(response.headers));
|
|
25
27
|
},
|
|
26
28
|
};
|
|
@@ -35,10 +37,10 @@ async function getResponse(options) {
|
|
|
35
37
|
if (success) {
|
|
36
38
|
return data;
|
|
37
39
|
}
|
|
38
|
-
if (
|
|
40
|
+
if (isFetchAbortError(error)) {
|
|
39
41
|
// this is to notify the HttpService that the request was aborted
|
|
40
42
|
// HttpService will then convert the error to a KontentSdkError with the reason "aborted"
|
|
41
|
-
throw new AdapterAbortError(error);
|
|
43
|
+
throw new AdapterAbortError({ message: "Request was aborted.", error });
|
|
42
44
|
}
|
|
43
45
|
// re-throw original error
|
|
44
46
|
throw error;
|
|
@@ -51,7 +53,7 @@ async function parseResponse({ parseFunc, abortSignal, }) {
|
|
|
51
53
|
if (!success) {
|
|
52
54
|
// this is to notify the HttpService that the response is not valid JSON or BLOB
|
|
53
55
|
// HttpService will then convert the error to a KontentSdkError with the reason "parseError"
|
|
54
|
-
throw new AdapterParseError(error);
|
|
56
|
+
throw new AdapterParseError({ message: "Failed to parse the response.", error });
|
|
55
57
|
}
|
|
56
58
|
return data;
|
|
57
59
|
};
|
|
@@ -63,16 +65,10 @@ async function parseResponse({ parseFunc, abortSignal, }) {
|
|
|
63
65
|
abortSignal: abortSignal,
|
|
64
66
|
});
|
|
65
67
|
if (isAborted) {
|
|
66
|
-
throw new AdapterAbortError(
|
|
68
|
+
throw new AdapterAbortError({ message: "Request was aborted while parsing the response." });
|
|
67
69
|
}
|
|
68
70
|
return data;
|
|
69
71
|
}
|
|
70
|
-
function isAbortError(error) {
|
|
71
|
-
if (!error || typeof error !== "object") {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return "name" in error && error.name === "AbortError";
|
|
75
|
-
}
|
|
76
72
|
function createAdapterResponse(url, response, payload, responseHeaders) {
|
|
77
73
|
return {
|
|
78
74
|
responseHeaders,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.adapter.js","sourceRoot":"","sources":["../../lib/http/http.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,UAAU,qBAAqB;IACpC,OAAO;QACN,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,6BAA6B,CAAC,UAAU,CAAC;gBACxD,CAAC,CAAC,MAAM,aAAa,CAAY;oBAC/B,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc;oBAC3D,WAAW,EAAE,OAAO,CAAC,WAAW;iBAChC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;YAER,OAAO,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;gBAClC,GAAG,OAAO;gBACV,MAAM,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"http.adapter.js","sourceRoot":"","sources":["../../lib/http/http.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export type HttpResponse<TPayload extends AdapterPayload, TRequestBody extends H
|
|
|
38
38
|
readonly adapterResponse: AdapterResponse<TPayload>;
|
|
39
39
|
}>;
|
|
40
40
|
export type ExecuteRequestOptions<TRequestBody extends HttpRequestBody> = {
|
|
41
|
-
readonly url: string;
|
|
41
|
+
readonly url: URL | string;
|
|
42
42
|
readonly method: HttpMethod;
|
|
43
43
|
readonly body?: TRequestBody;
|
|
44
44
|
readonly requestHeaders?: readonly Header[];
|
|
@@ -84,7 +84,7 @@ export type AdapterPayload = JsonValue | Blob;
|
|
|
84
84
|
export type AdapterExecuteRequestOptions = {
|
|
85
85
|
readonly url: string;
|
|
86
86
|
readonly method: HttpMethod;
|
|
87
|
-
readonly body
|
|
87
|
+
readonly body: AdapterBody;
|
|
88
88
|
readonly requestHeaders?: readonly Header[];
|
|
89
89
|
readonly abortSignal?: AbortSignal | undefined;
|
|
90
90
|
};
|
|
@@ -94,6 +94,9 @@ export type GetNextPageData<TResponsePayload extends JsonValue, TMeta> = (respon
|
|
|
94
94
|
readonly nextPageUrl?: string | undefined;
|
|
95
95
|
};
|
|
96
96
|
export type PaginationConfig = {
|
|
97
|
+
/**
|
|
98
|
+
* The maximum number of pages to fetch. If not provided or set to 0, the pagination will continue until the last page is reached.
|
|
99
|
+
*/
|
|
97
100
|
readonly maxPagesCount?: number;
|
|
98
101
|
};
|
|
99
102
|
/**
|
|
@@ -105,7 +108,7 @@ export type PaginationConfig = {
|
|
|
105
108
|
* To extend functionality, you can implement a custom adapter and pass it to the `getDefaultHttpService` function,
|
|
106
109
|
* which handles additional concerns like retries and parsing.
|
|
107
110
|
*
|
|
108
|
-
* Alternatively, you may implement the entire `HttpService`
|
|
111
|
+
* Alternatively, you may implement the entire `HttpService` to create a fully customized HTTP service.
|
|
109
112
|
*/
|
|
110
113
|
export type HttpAdapter = {
|
|
111
114
|
readonly executeRequest?: (options: AdapterExecuteRequestOptions) => Promise<AdapterResponse<JsonValue>>;
|
|
@@ -95,7 +95,7 @@ async function processHttpRequest({ options, runAdapterFunc, config, }) {
|
|
|
95
95
|
...(options.body === undefined ? {} : { requestBody: options.body }),
|
|
96
96
|
});
|
|
97
97
|
},
|
|
98
|
-
url:
|
|
98
|
+
url: parsedRequest.parsedUrl,
|
|
99
99
|
retryStrategyOptions,
|
|
100
100
|
});
|
|
101
101
|
}
|
|
@@ -171,21 +171,23 @@ function isSuccessfulResponse(response) {
|
|
|
171
171
|
return response.status >= 200 && response.status < 300;
|
|
172
172
|
}
|
|
173
173
|
function createInvalidResponseError({ response, method, retryAttempt, retryStrategyOptions, }) {
|
|
174
|
+
const kontentErrorData = tryExtractKontentErrorData(response);
|
|
174
175
|
return createSdkError({
|
|
175
176
|
baseErrorData: {
|
|
176
177
|
message: toInvalidResponseMessage({
|
|
177
178
|
url: response.url,
|
|
178
179
|
adapterResponse: response,
|
|
179
180
|
method: method,
|
|
181
|
+
kontentErrorData: kontentErrorData,
|
|
180
182
|
}),
|
|
181
183
|
url: response.url,
|
|
182
184
|
retryAttempt,
|
|
183
185
|
retryStrategyOptions,
|
|
184
186
|
},
|
|
185
|
-
details: extractInvalidResponseErrorDetails({ response }),
|
|
187
|
+
details: extractInvalidResponseErrorDetails({ response, kontentErrorData }),
|
|
186
188
|
});
|
|
187
189
|
}
|
|
188
|
-
function extractInvalidResponseErrorDetails({ response }) {
|
|
190
|
+
function extractInvalidResponseErrorDetails({ response, kontentErrorData, }) {
|
|
189
191
|
const reason = match(response.status)
|
|
190
192
|
.returnType()
|
|
191
193
|
.with(401, () => "unauthorized")
|
|
@@ -196,7 +198,7 @@ function extractInvalidResponseErrorDetails({ response }) {
|
|
|
196
198
|
responseHeaders: response.responseHeaders,
|
|
197
199
|
status: response.status,
|
|
198
200
|
statusText: response.statusText,
|
|
199
|
-
kontentErrorResponse:
|
|
201
|
+
kontentErrorResponse: kontentErrorData,
|
|
200
202
|
};
|
|
201
203
|
}
|
|
202
204
|
function parseRequestBody({ requestBody, url, retryStrategyOptions, }) {
|
|
@@ -210,7 +212,7 @@ function parseRequestBody({ requestBody, url, retryStrategyOptions, }) {
|
|
|
210
212
|
success: true,
|
|
211
213
|
data: blob,
|
|
212
214
|
}))
|
|
213
|
-
.otherwise((m) => stringifyJson({ url, retryStrategyOptions, json: m }));
|
|
215
|
+
.otherwise((m) => stringifyJson({ url: url, retryStrategyOptions, json: m }));
|
|
214
216
|
}
|
|
215
217
|
function stringifyJson({ url, retryStrategyOptions, json, }) {
|
|
216
218
|
const { success, data, error } = tryCatch(() => JSON.stringify(json));
|
|
@@ -225,7 +227,7 @@ function stringifyJson({ url, retryStrategyOptions, json, }) {
|
|
|
225
227
|
error: createSdkError({
|
|
226
228
|
baseErrorData: {
|
|
227
229
|
message: "Failed to stringify body of the request.",
|
|
228
|
-
url: url,
|
|
230
|
+
url: url.toString(),
|
|
229
231
|
retryStrategyOptions,
|
|
230
232
|
retryAttempt: 0,
|
|
231
233
|
},
|
|
@@ -242,6 +244,9 @@ function tryExtractKontentErrorData(response) {
|
|
|
242
244
|
}
|
|
243
245
|
return undefined;
|
|
244
246
|
}
|
|
247
|
+
function isStringUrl(url) {
|
|
248
|
+
return typeof url === "string";
|
|
249
|
+
}
|
|
245
250
|
function parseAndValidateRequest({ options, retryStrategyOptions, config, }) {
|
|
246
251
|
const { success: urlParsedSuccess, data: parsedUrl, error: urlError } = parseUrl({ url: options.url, retryStrategyOptions });
|
|
247
252
|
if (!urlParsedSuccess) {
|
|
@@ -250,7 +255,7 @@ function parseAndValidateRequest({ options, retryStrategyOptions, config, }) {
|
|
|
250
255
|
error: urlError,
|
|
251
256
|
};
|
|
252
257
|
}
|
|
253
|
-
const { success: requestBodyParsedSuccess, data: parsedRequestBody, error: requestBodyError, } = parseRequestBody({ requestBody: options.body ?? null, url:
|
|
258
|
+
const { success: requestBodyParsedSuccess, data: parsedRequestBody, error: requestBodyError, } = parseRequestBody({ requestBody: options.body ?? null, url: parsedUrl, retryStrategyOptions });
|
|
254
259
|
if (!requestBodyParsedSuccess) {
|
|
255
260
|
return {
|
|
256
261
|
success: false,
|
|
@@ -271,6 +276,12 @@ function parseAndValidateRequest({ options, retryStrategyOptions, config, }) {
|
|
|
271
276
|
};
|
|
272
277
|
}
|
|
273
278
|
function parseUrl({ url, retryStrategyOptions, }) {
|
|
279
|
+
if (!isStringUrl(url)) {
|
|
280
|
+
return {
|
|
281
|
+
success: true,
|
|
282
|
+
data: url,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
274
285
|
const { success, data: parsedUrl, error } = tryCatch(() => new URL(url));
|
|
275
286
|
if (success) {
|
|
276
287
|
return {
|
|
@@ -304,7 +315,7 @@ function buildRequestHeaders({ configHeaders, optionHeaders, body, }) {
|
|
|
304
315
|
.otherwise(() => undefined);
|
|
305
316
|
const sdkVersionHeader = existingSdkVersionHeader ? undefined : getSdkIdHeader(coreSdkInfo);
|
|
306
317
|
const contentLengthHeader = isBlob(body) ? createDefaultContentLengthHeader(body) : undefined;
|
|
307
|
-
return [...combinedHeaders, contentTypeHeader, contentLengthHeader, sdkVersionHeader].filter(isDefined);
|
|
318
|
+
return [...combinedHeaders, ...[contentTypeHeader, contentLengthHeader, sdkVersionHeader].filter(isDefined)];
|
|
308
319
|
}
|
|
309
320
|
function createDefaultContentTypeHeader(body) {
|
|
310
321
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.service.js","sourceRoot":"","sources":["../../lib/http/http.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.service.js","sourceRoot":"","sources":["../../lib/http/http.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,18 +24,6 @@ export type Header = {
|
|
|
24
24
|
readonly value: string;
|
|
25
25
|
};
|
|
26
26
|
export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
27
|
-
export type ValidationError = {
|
|
28
|
-
readonly message: string;
|
|
29
|
-
readonly path?: string;
|
|
30
|
-
readonly line?: number;
|
|
31
|
-
readonly position?: number;
|
|
32
|
-
};
|
|
33
|
-
export type ErrorResponseData = {
|
|
34
|
-
readonly message: string;
|
|
35
|
-
readonly request_id: string;
|
|
36
|
-
readonly error_code: number;
|
|
37
|
-
readonly validation_errors?: readonly ValidationError[];
|
|
38
|
-
};
|
|
39
27
|
export type RetryStrategyOptions = {
|
|
40
28
|
/**
|
|
41
29
|
* Maximum number of retry attempts.
|
|
@@ -1,16 +1,33 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ZodError, z } from "zod";
|
|
2
2
|
import type { AdapterPayload, AdapterResponse, HttpPayload, HttpRequestBody } from "../http/http.models.js";
|
|
3
3
|
import type { SuccessfulHttpResponse } from "../sdk/sdk-models.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { ResolvedRetryStrategyOptions } from "./core.models.js";
|
|
5
|
+
export declare const validationErrorSchema: z.ZodObject<{
|
|
6
|
+
message: z.ZodString;
|
|
7
|
+
path: z.ZodOptional<z.ZodString>;
|
|
8
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
position: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type ValidationError = z.infer<typeof validationErrorSchema>;
|
|
12
|
+
export declare const errorResponseDataSchema: z.ZodObject<{
|
|
13
|
+
message: z.ZodString;
|
|
14
|
+
request_id: z.ZodString;
|
|
15
|
+
error_code: z.ZodNumber;
|
|
16
|
+
validation_errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
17
|
+
message: z.ZodString;
|
|
18
|
+
path: z.ZodOptional<z.ZodString>;
|
|
19
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
position: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
}, z.core.$strip>>>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type ErrorResponseData = z.infer<typeof errorResponseDataSchema>;
|
|
5
24
|
export type ErrorReason = ErrorDetails["reason"];
|
|
6
25
|
export type ErrorDetails = ReasonData<"adapterError", ErrorWithOriginalError> | ReasonData<"unauthorized", ErrorWithKontentResponse> | ReasonData<"invalidResponse", ErrorWithKontentResponse> | ReasonData<"parseError", ErrorWithOriginalError> | ReasonData<"notFound", ErrorWithKontentResponse> | ReasonData<"invalidBody", ErrorWithOriginalError> | ReasonData<"invalidUrl", ErrorWithOriginalError> | ReasonData<"aborted", ErrorWithOriginalError> | ReasonData<"validationFailed", {
|
|
7
26
|
readonly zodError: ZodError;
|
|
8
27
|
readonly response: SuccessfulHttpResponse<HttpPayload, HttpRequestBody>;
|
|
9
28
|
readonly url: string;
|
|
10
|
-
}> | ReasonData<"noResponses", {
|
|
11
|
-
readonly url: string;
|
|
12
29
|
}>;
|
|
13
|
-
export
|
|
30
|
+
export type BaseErrorData = {
|
|
14
31
|
/**
|
|
15
32
|
* The message of the error
|
|
16
33
|
*/
|
|
@@ -27,7 +44,7 @@ export interface BaseErrorData {
|
|
|
27
44
|
* The number of times the request has been retried.
|
|
28
45
|
*/
|
|
29
46
|
readonly retryAttempt: number | undefined;
|
|
30
|
-
}
|
|
47
|
+
};
|
|
31
48
|
export declare class KontentSdkError<TDetails extends ErrorDetails = ErrorDetails> extends Error implements BaseErrorData {
|
|
32
49
|
readonly details: TDetails;
|
|
33
50
|
readonly url: string;
|
|
@@ -44,7 +61,11 @@ export declare class KontentSdkError<TDetails extends ErrorDetails = ErrorDetail
|
|
|
44
61
|
* The error is then handled by the HttpService and converted to a KontentSdkError with the reason "aborted".
|
|
45
62
|
*/
|
|
46
63
|
export declare class AdapterAbortError extends Error {
|
|
47
|
-
|
|
64
|
+
readonly details: unknown;
|
|
65
|
+
constructor({ message, error }: {
|
|
66
|
+
readonly message: string;
|
|
67
|
+
readonly error?: unknown;
|
|
68
|
+
});
|
|
48
69
|
}
|
|
49
70
|
/**
|
|
50
71
|
* Http adapter should throw this error when the response is not valid JSON or BLOB.
|
|
@@ -52,7 +73,11 @@ export declare class AdapterAbortError extends Error {
|
|
|
52
73
|
* The error is then handled by the HttpService and converted to a KontentSdkError with the reason "parseError".
|
|
53
74
|
*/
|
|
54
75
|
export declare class AdapterParseError extends Error {
|
|
55
|
-
|
|
76
|
+
readonly details: unknown;
|
|
77
|
+
constructor({ message, error }: {
|
|
78
|
+
readonly message: string;
|
|
79
|
+
readonly error?: unknown;
|
|
80
|
+
});
|
|
56
81
|
}
|
|
57
82
|
export type ErrorDetailsFor<TReason extends ErrorReason> = Extract<ErrorDetails, {
|
|
58
83
|
readonly reason: TReason;
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toFriendlyKontentSdkErrorMessage } from "../utils/error.utils.js";
|
|
3
|
+
export const validationErrorSchema = z.object({
|
|
4
|
+
message: z.string(),
|
|
5
|
+
path: z.string().optional(),
|
|
6
|
+
line: z.number().optional(),
|
|
7
|
+
position: z.number().optional(),
|
|
8
|
+
});
|
|
9
|
+
export const errorResponseDataSchema = z.object({
|
|
10
|
+
message: z.string(),
|
|
11
|
+
request_id: z.string(),
|
|
12
|
+
error_code: z.number(),
|
|
13
|
+
validation_errors: z.array(validationErrorSchema).optional(),
|
|
14
|
+
});
|
|
2
15
|
export class KontentSdkError extends Error {
|
|
3
16
|
details;
|
|
4
17
|
url;
|
|
5
18
|
retryStrategyOptions;
|
|
6
19
|
retryAttempt;
|
|
7
20
|
constructor({ baseErrorData: { message, url, retryStrategyOptions, retryAttempt }, details, }) {
|
|
8
|
-
super(
|
|
21
|
+
super(toFriendlyKontentSdkErrorMessage(message, details));
|
|
9
22
|
this.url = url;
|
|
10
23
|
this.retryStrategyOptions = retryStrategyOptions;
|
|
11
24
|
this.retryAttempt = retryAttempt;
|
|
@@ -18,8 +31,10 @@ export class KontentSdkError extends Error {
|
|
|
18
31
|
* The error is then handled by the HttpService and converted to a KontentSdkError with the reason "aborted".
|
|
19
32
|
*/
|
|
20
33
|
export class AdapterAbortError extends Error {
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
details;
|
|
35
|
+
constructor({ message, error }) {
|
|
36
|
+
super(message, { cause: error });
|
|
37
|
+
this.details = error;
|
|
23
38
|
}
|
|
24
39
|
}
|
|
25
40
|
/**
|
|
@@ -28,14 +43,10 @@ export class AdapterAbortError extends Error {
|
|
|
28
43
|
* The error is then handled by the HttpService and converted to a KontentSdkError with the reason "parseError".
|
|
29
44
|
*/
|
|
30
45
|
export class AdapterParseError extends Error {
|
|
31
|
-
|
|
32
|
-
|
|
46
|
+
details;
|
|
47
|
+
constructor({ message, error }) {
|
|
48
|
+
super(message, { cause: error });
|
|
49
|
+
this.details = error;
|
|
33
50
|
}
|
|
34
51
|
}
|
|
35
|
-
function toFriendlyMessage(message, error) {
|
|
36
|
-
return match(error)
|
|
37
|
-
.returnType()
|
|
38
|
-
.with({ reason: P.union("invalidResponse", "notFound"), kontentErrorResponse: P.nonNullable }, (m) => `${message} ${m.kontentErrorResponse.message}`)
|
|
39
|
-
.otherwise(() => message);
|
|
40
|
-
}
|
|
41
52
|
//# sourceMappingURL=error.models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.models.js","sourceRoot":"","sources":["../../lib/models/error.models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error.models.js","sourceRoot":"","sources":["../../lib/models/error.models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,CAAC,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAG3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AA8CH,MAAM,OAAO,eAA8D,SAAQ,KAAK;IAC9E,OAAO,CAAW;IAClB,GAAG,CAAS;IACZ,oBAAoB,CAA2C;IAC/D,YAAY,CAAqB;IAE1C,YAAY,EACX,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,EACnE,OAAO,GAIP;QACA,KAAK,CAAC,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAClC,OAAO,CAAU;IAC1B,YAAY,EAAE,OAAO,EAAE,KAAK,EAA0D;QACrF,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAClC,OAAO,CAAU;IAE1B,YAAY,EAAE,OAAO,EAAE,KAAK,EAA0D;QACrF,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;CACD"}
|
package/dist/public_api.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
export { getDefaultHttpAdapter } from "./http/http.adapter.js";
|
|
3
3
|
export type { AdapterBody, AdapterDownloadFileOptions, AdapterExecuteRequestOptions, AdapterPayload, AdapterResponse, DefaultHttpServiceConfig, DownloadFileRequestOptions, ExecuteRequestOptions, GetNextPageData, HttpAdapter, HttpPayload, HttpRequestBody, HttpResponse, HttpResult, HttpService, HttpServiceStatus, PaginationConfig, UploadFileRequestOptions, } from "./http/http.models.js";
|
|
4
4
|
export { getDefaultHttpService } from "./http/http.service.js";
|
|
5
|
-
export type { CommonHeaderNames, ContinuationHeaderName,
|
|
6
|
-
export { AdapterAbortError, AdapterParseError, type ErrorDetails, type ErrorDetailsFor, type ErrorReason, KontentSdkError, } from "./models/error.models.js";
|
|
5
|
+
export type { CommonHeaderNames, ContinuationHeaderName, Header, HttpMethod, ResolvedRetryStrategyOptions, RetryStrategyOptions, SDKInfo, } from "./models/core.models.js";
|
|
6
|
+
export { AdapterAbortError, AdapterParseError, type ErrorDetails, type ErrorDetailsFor, type ErrorReason, type ErrorResponseData, KontentSdkError, type ValidationError, } from "./models/error.models.js";
|
|
7
7
|
export { type JsonArray, type JsonObject, type JsonValue, jsonValueSchema } from "./models/json.models.js";
|
|
8
8
|
export type { EmptyObject, PickStringLiteral } from "./models/utility.types.js";
|
|
9
9
|
export { createFetchQuery } from "./sdk/queries/fetch-sdk-query.js";
|
package/dist/public_api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_api.js","sourceRoot":"","sources":["../lib/public_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAqB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"public_api.js","sourceRoot":"","sources":["../lib/public_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAqB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAKjB,eAAe,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAmD,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { match, P } from "ts-pattern";
|
|
2
|
-
import { createSdkError } from "../../utils/error.utils.js";
|
|
3
2
|
import { createFetchQuery } from "./fetch-sdk-query.js";
|
|
4
3
|
export function createPagedFetchQuery(data) {
|
|
5
4
|
const getPagingData = (config) => {
|
|
@@ -72,32 +71,23 @@ async function* createPagingQueryIterator(data) {
|
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
function resolveNextPageState({ paginationConfig, getNextPageData, pageIndex, response, }) {
|
|
75
|
-
|
|
74
|
+
const { maxPagesCount } = paginationConfig;
|
|
75
|
+
if (maxPagesCount && maxPagesCount > 0 && maxPagesCount === pageIndex) {
|
|
76
|
+
return { hasNextPage: false };
|
|
77
|
+
}
|
|
78
|
+
return match(getNextPageData(response))
|
|
76
79
|
.returnType()
|
|
77
|
-
.with({
|
|
78
|
-
hasNextPage:
|
|
80
|
+
.with({ continuationToken: P.string.minLength(1) }, (m) => ({
|
|
81
|
+
hasNextPage: true,
|
|
82
|
+
pageSource: "continuationToken",
|
|
83
|
+
continuationToken: m.continuationToken,
|
|
79
84
|
}))
|
|
80
|
-
.with({
|
|
81
|
-
hasNextPage:
|
|
85
|
+
.with({ nextPageUrl: P.string.minLength(1) }, (m) => ({
|
|
86
|
+
hasNextPage: true,
|
|
87
|
+
pageSource: "nextPageUrl",
|
|
88
|
+
nextPageUrl: m.nextPageUrl,
|
|
82
89
|
}))
|
|
83
|
-
.otherwise((
|
|
84
|
-
const responsePageData = m.getNextPageData(m.response);
|
|
85
|
-
return match(responsePageData)
|
|
86
|
-
.returnType()
|
|
87
|
-
.with({ continuationToken: P.string.minLength(1) }, (m) => ({
|
|
88
|
-
hasNextPage: true,
|
|
89
|
-
pageSource: "continuationToken",
|
|
90
|
-
continuationToken: m.continuationToken,
|
|
91
|
-
}))
|
|
92
|
-
.with({ nextPageUrl: P.string.minLength(1) }, (m) => ({
|
|
93
|
-
hasNextPage: true,
|
|
94
|
-
pageSource: "nextPageUrl",
|
|
95
|
-
nextPageUrl: m.nextPageUrl,
|
|
96
|
-
}))
|
|
97
|
-
.otherwise(() => ({
|
|
98
|
-
hasNextPage: false,
|
|
99
|
-
}));
|
|
100
|
-
});
|
|
90
|
+
.otherwise(() => ({ hasNextPage: false }));
|
|
101
91
|
}
|
|
102
92
|
async function fetchAllPages(data) {
|
|
103
93
|
const responses = [];
|
|
@@ -107,36 +97,11 @@ async function fetchAllPages(data) {
|
|
|
107
97
|
}
|
|
108
98
|
responses.push(result.response);
|
|
109
99
|
}
|
|
110
|
-
return validateAndBuildPagingResult({
|
|
111
|
-
responses,
|
|
112
|
-
initialUrl: data.request.url,
|
|
113
|
-
mapError: data.mapError,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
function validateAndBuildPagingResult({ responses, initialUrl, mapError, }) {
|
|
117
100
|
const lastResponse = responses.at(-1);
|
|
118
|
-
if (!lastResponse) {
|
|
119
|
-
return {
|
|
120
|
-
success: false,
|
|
121
|
-
partialResponses: responses,
|
|
122
|
-
error: mapError(createSdkError({
|
|
123
|
-
baseErrorData: {
|
|
124
|
-
retryStrategyOptions: undefined,
|
|
125
|
-
retryAttempt: undefined,
|
|
126
|
-
url: initialUrl,
|
|
127
|
-
message: "No responses were processed. Expected at least one response to be fetched when using paging queries.",
|
|
128
|
-
},
|
|
129
|
-
details: {
|
|
130
|
-
reason: "noResponses",
|
|
131
|
-
url: initialUrl,
|
|
132
|
-
},
|
|
133
|
-
})),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
101
|
return {
|
|
137
102
|
success: true,
|
|
138
|
-
|
|
139
|
-
|
|
103
|
+
lastContinuationToken: lastResponse?.meta.continuationToken,
|
|
104
|
+
responses,
|
|
140
105
|
};
|
|
141
106
|
}
|
|
142
107
|
function isNextPageAvailable(nextPageState) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paged-fetch-sdk-query.js","sourceRoot":"","sources":["../../../lib/sdk/queries/paged-fetch-sdk-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"paged-fetch-sdk-query.js","sourceRoot":"","sources":["../../../lib/sdk/queries/paged-fetch-sdk-query.ts"],"names":[],"mappings":"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"}
|