@kontent-ai/core-sdk 12.0.0-preview.39 → 12.0.0-preview.40
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/dist/core-sdk-info.js +1 -1
- package/dist/public_api.d.ts +1 -0
- package/dist/public_api.js +1 -0
- package/dist/public_api.js.map +1 -1
- package/dist/sdk/resolve-query.js +11 -7
- package/dist/sdk/resolve-query.js.map +1 -1
- package/dist/sdk/sdk-models.d.ts +3 -3
- package/dist/sdk/transform/transform-fetch-query.d.ts +4 -4
- package/dist/sdk/transform/transform-mutation-query.d.ts +4 -4
- package/dist/sdk/transform/transform-paged-fetch-query.d.ts +4 -4
- package/dist/sdk/transform/transform-paged-fetch-query.js +33 -17
- package/dist/sdk/transform/transform-paged-fetch-query.js.map +1 -1
- package/dist/sdk/transform/transform-utils.d.ts +12 -4
- package/dist/sdk/transform/transform-utils.js +41 -9
- package/dist/sdk/transform/transform-utils.js.map +1 -1
- package/dist/utils/array.utils.d.ts +1 -0
- package/dist/utils/array.utils.js +4 -0
- package/dist/utils/array.utils.js.map +1 -0
- package/dist/utils/schema.utils.d.ts +3 -0
- package/dist/utils/schema.utils.js +10 -0
- package/dist/utils/schema.utils.js.map +1 -0
- package/package.json +1 -1
package/dist/core-sdk-info.js
CHANGED
package/dist/public_api.d.ts
CHANGED
|
@@ -19,5 +19,6 @@ export { isDefined } from "./utils/core.utils.js";
|
|
|
19
19
|
export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
|
|
20
20
|
export { createSdkIdHeader, extractContinuationToken } from "./utils/header.utils.js";
|
|
21
21
|
export { resolveDefaultRetryStrategyOptions } from "./utils/retry.utils.js";
|
|
22
|
+
export { resolveSchema, type SchemaInput } from "./utils/schema.utils.js";
|
|
22
23
|
export { tryCatch, tryCatchAsync } from "./utils/try-catch.utils.js";
|
|
23
24
|
export { getEndpointUrl } from "./utils/url.utils.js";
|
package/dist/public_api.js
CHANGED
|
@@ -15,6 +15,7 @@ export { isDefined } from "./utils/core.utils.js";
|
|
|
15
15
|
export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
|
|
16
16
|
export { createSdkIdHeader, extractContinuationToken } from "./utils/header.utils.js";
|
|
17
17
|
export { resolveDefaultRetryStrategyOptions } from "./utils/retry.utils.js";
|
|
18
|
+
export { resolveSchema } from "./utils/schema.utils.js";
|
|
18
19
|
export { tryCatch, tryCatchAsync } from "./utils/try-catch.utils.js";
|
|
19
20
|
export { getEndpointUrl } from "./utils/url.utils.js";
|
|
20
21
|
//# sourceMappingURL=public_api.js.map
|
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;AAoB/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,EACN,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,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;AAoB/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,EACN,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getDefaultHttpService } from "../http/http.service.js";
|
|
2
2
|
import { createSdkError } from "../utils/error.utils.js";
|
|
3
3
|
import { createAuthorizationHeader, createContinuationHeader, createSdkIdHeader, extractContinuationToken } from "../utils/header.utils.js";
|
|
4
|
+
import { resolveSchema } from "../utils/schema.utils.js";
|
|
4
5
|
import { tryCatch } from "../utils/try-catch.utils.js";
|
|
5
6
|
import { parseResponse } from "./sdk-utils.js";
|
|
6
7
|
export function inspectQuery(data) {
|
|
@@ -64,13 +65,16 @@ async function executeQuery({ url, requestHeaders, httpService, body, method, ab
|
|
|
64
65
|
return { success: false, error: mapError(error) };
|
|
65
66
|
}
|
|
66
67
|
if (responseValidation?.validateResponses) {
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
const resolvedSchema = await resolveSchema(schema);
|
|
69
|
+
if (resolvedSchema) {
|
|
70
|
+
const validationError = await parseResponse({
|
|
71
|
+
url: response.adapterResponse.url,
|
|
72
|
+
payload: response.payload,
|
|
73
|
+
schema: resolvedSchema,
|
|
74
|
+
});
|
|
75
|
+
if (validationError) {
|
|
76
|
+
return { success: false, error: mapError(validationError.error) };
|
|
77
|
+
}
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
const continuationTokenFromResponse = extractContinuationToken(response.adapterResponse.responseHeaders);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-query.js","sourceRoot":"","sources":["../../lib/sdk/resolve-query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolve-query.js","sourceRoot":"","sources":["../../lib/sdk/resolve-query.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/sdk-models.d.ts
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Shared query models/types intended to be reused across SDKs (e.g. Sync, Delivery, Management)
|
|
3
3
|
* to keep common code and behavior consistent.
|
|
4
4
|
*/
|
|
5
|
-
import type { ZodMiniType } from "zod/mini";
|
|
6
5
|
import type { AdapterPayload, AdapterResponse, HttpRequestBody, HttpResponse, HttpService, PagingConfig } from "../http/http.models.js";
|
|
7
6
|
import type { Header, HttpMethod, SdkInfo } from "../models/core.models.js";
|
|
8
7
|
import type { KontentSdkError } from "../models/error.models.js";
|
|
9
8
|
import type { JsonValue } from "../models/json.models.js";
|
|
10
9
|
import type { PickStringLiteral } from "../models/utility.types.js";
|
|
10
|
+
import type { SchemaInput } from "../utils/schema.utils.js";
|
|
11
11
|
import type { Failure, Success, TryCatchResult } from "../utils/try-catch.utils.js";
|
|
12
12
|
export type QueryResponseMeta<TMeta> = Pick<AdapterResponse<AdapterPayload>, "status" | "responseHeaders" | "url"> & TMeta;
|
|
13
13
|
export type QueryResponse<TPayload extends JsonValue, TMeta = unknown, TExtra = unknown> = {
|
|
@@ -112,7 +112,7 @@ export type MutationQueryRequest<TPayload extends JsonValue, TBody extends HttpR
|
|
|
112
112
|
export type QueryInputData<TPayload extends JsonValue, TBody extends HttpRequestBody, TMeta, TExtra, TError> = {
|
|
113
113
|
readonly method: HttpMethod;
|
|
114
114
|
readonly config: SdkConfig;
|
|
115
|
-
readonly schema:
|
|
115
|
+
readonly schema: SchemaInput<TPayload>;
|
|
116
116
|
readonly sdkInfo: SdkInfo;
|
|
117
117
|
readonly abortSignal?: AbortSignal | undefined;
|
|
118
118
|
readonly url: string | URL;
|
|
@@ -132,7 +132,7 @@ export type ResolvedQueryData<TPayload extends JsonValue, TBody extends HttpRequ
|
|
|
132
132
|
readonly body: TBody;
|
|
133
133
|
readonly method: HttpMethod;
|
|
134
134
|
readonly abortSignal?: AbortSignal | undefined;
|
|
135
|
-
readonly schema:
|
|
135
|
+
readonly schema: SchemaInput<TPayload>;
|
|
136
136
|
readonly responseValidation: SdkConfig["runtimeValidation"];
|
|
137
137
|
} & MetadataMapperConfig<TPayload, TBody, TMeta> & ExtraResponsePropsMapper<TPayload, TBody, TExtra> & ErrorMapper<TError>;
|
|
138
138
|
type MetadataMapperConfig<TPayload extends JsonValue, TBody extends HttpRequestBody, TMeta> = {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ZodMiniType } from "zod/mini";
|
|
2
1
|
import type { KontentSdkError } from "../../models/error.models.js";
|
|
3
2
|
import type { JsonValue } from "../../models/json.models.js";
|
|
4
|
-
import type {
|
|
3
|
+
import type { SchemaInput } from "../../utils/schema.utils.js";
|
|
4
|
+
import type { FetchQuery, QueryResponse, SdkConfig } from "../sdk-models.js";
|
|
5
5
|
export declare function transformFetchQuery<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError extends KontentSdkError, TMeta, TExtra>({ query, transform, transformSchema, mapError, config }: {
|
|
6
6
|
readonly config: Pick<SdkConfig, "runtimeValidation">;
|
|
7
7
|
readonly query: FetchQuery<TPayload, TError, TMeta, TExtra>;
|
|
8
|
-
readonly transform: (
|
|
9
|
-
readonly transformSchema:
|
|
8
|
+
readonly transform: (response: QueryResponse<TPayload, TMeta, TExtra>) => QueryResponse<TTransformedPayload, TMeta, TExtra>;
|
|
9
|
+
readonly transformSchema: SchemaInput<TTransformedPayload>;
|
|
10
10
|
readonly mapError: (error: KontentSdkError) => TError;
|
|
11
11
|
}): FetchQuery<TTransformedPayload, TError, TMeta, TExtra>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ZodMiniType } from "zod/mini";
|
|
2
1
|
import type { KontentSdkError } from "../../models/error.models.js";
|
|
3
2
|
import type { JsonValue } from "../../models/json.models.js";
|
|
4
|
-
import type {
|
|
3
|
+
import type { SchemaInput } from "../../utils/schema.utils.js";
|
|
4
|
+
import type { MutationQuery, QueryResponse, SdkConfig } from "../sdk-models.js";
|
|
5
5
|
export declare function transformMutationQuery<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError extends KontentSdkError, TMeta, TExtra>({ query, transform, transformSchema, mapError, config }: {
|
|
6
6
|
readonly config: Pick<SdkConfig, "runtimeValidation">;
|
|
7
7
|
readonly query: MutationQuery<TPayload, TError, TMeta, TExtra>;
|
|
8
|
-
readonly transform: (
|
|
9
|
-
readonly transformSchema:
|
|
8
|
+
readonly transform: (response: QueryResponse<TPayload, TMeta, TExtra>) => QueryResponse<TTransformedPayload, TMeta, TExtra>;
|
|
9
|
+
readonly transformSchema: SchemaInput<TTransformedPayload>;
|
|
10
10
|
readonly mapError: (error: KontentSdkError) => TError;
|
|
11
11
|
}): MutationQuery<TTransformedPayload, TError, TMeta, TExtra>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ZodMiniType } from "zod/mini";
|
|
2
1
|
import type { KontentSdkError } from "../../models/error.models.js";
|
|
3
2
|
import type { JsonValue } from "../../models/json.models.js";
|
|
4
|
-
import type {
|
|
3
|
+
import type { SchemaInput } from "../../utils/schema.utils.js";
|
|
4
|
+
import type { PagedFetchQuery, QueryResponse, SdkConfig } from "../sdk-models.js";
|
|
5
5
|
export declare function transformPagedFetchQuery<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError extends KontentSdkError, TMeta, TExtra, TPagingExtra>({ query, transform, transformSchema, mapError, config }: {
|
|
6
6
|
readonly config: Pick<SdkConfig, "runtimeValidation">;
|
|
7
7
|
readonly query: PagedFetchQuery<TPayload, TError, TMeta, TExtra, TPagingExtra>;
|
|
8
|
-
readonly transform: (
|
|
9
|
-
readonly transformSchema:
|
|
8
|
+
readonly transform: (responses: readonly QueryResponse<TPayload, TMeta, TExtra>[]) => readonly QueryResponse<TTransformedPayload, TMeta, TExtra>[];
|
|
9
|
+
readonly transformSchema: SchemaInput<TTransformedPayload>;
|
|
10
10
|
readonly mapError: (error: KontentSdkError) => TError;
|
|
11
11
|
}): PagedFetchQuery<TTransformedPayload, TError, TMeta, TExtra, TPagingExtra>;
|
|
@@ -1,28 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isNonEmptyArray } from "../../utils/array.utils.js";
|
|
2
|
+
import { createBatchTransformResponses, createTransformError } from "./transform-utils.js";
|
|
2
3
|
export function transformPagedFetchQuery({ query, transform, transformSchema, mapError, config, }) {
|
|
3
|
-
const
|
|
4
|
+
const batchTransformResponses = createBatchTransformResponses({
|
|
4
5
|
config,
|
|
5
6
|
transform,
|
|
6
7
|
transformSchema,
|
|
7
8
|
mapError,
|
|
8
9
|
});
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const transformSingleOrThrow = async (response) => {
|
|
11
|
+
const { success, data, error } = await batchTransformResponses([response]);
|
|
12
|
+
if (!success) {
|
|
13
|
+
throw error;
|
|
14
|
+
}
|
|
15
|
+
if (isNonEmptyArray(data)) {
|
|
16
|
+
return data[0];
|
|
17
|
+
}
|
|
18
|
+
throw mapError(createTransformError(new Error("Transform returned no response for input"), response.meta.url));
|
|
19
|
+
};
|
|
20
|
+
const transformSingleSafely = async (safeResult) => {
|
|
21
|
+
if (!safeResult.success) {
|
|
22
|
+
return { success: false, error: safeResult.error };
|
|
23
|
+
}
|
|
24
|
+
const { success, data, error } = await batchTransformResponses([safeResult.response]);
|
|
25
|
+
if (!success) {
|
|
26
|
+
return { success: false, error };
|
|
27
|
+
}
|
|
28
|
+
if (isNonEmptyArray(data)) {
|
|
29
|
+
return { success: true, response: data[0] };
|
|
17
30
|
}
|
|
18
|
-
return {
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
error: mapError(createTransformError(new Error("Transform returned no response for input"), safeResult.response.meta.url)),
|
|
34
|
+
};
|
|
19
35
|
};
|
|
20
36
|
return {
|
|
21
|
-
fetchPage: async () =>
|
|
22
|
-
fetchPageSafe: async () =>
|
|
37
|
+
fetchPage: async () => transformSingleOrThrow(await query.fetchPage()),
|
|
38
|
+
fetchPageSafe: async () => transformSingleSafely(await query.fetchPageSafe()),
|
|
23
39
|
fetchAllPages: async (config) => {
|
|
24
40
|
const result = await query.fetchAllPages(config);
|
|
25
|
-
const { success, data, error } = await
|
|
41
|
+
const { success, data, error } = await batchTransformResponses(result.responses);
|
|
26
42
|
if (!success) {
|
|
27
43
|
throw error;
|
|
28
44
|
}
|
|
@@ -33,7 +49,7 @@ export function transformPagedFetchQuery({ query, transform, transformSchema, ma
|
|
|
33
49
|
if (!result.success) {
|
|
34
50
|
return { success: false, error: result.error };
|
|
35
51
|
}
|
|
36
|
-
const { success, data, error } = await
|
|
52
|
+
const { success, data, error } = await batchTransformResponses(result.responses);
|
|
37
53
|
if (!success) {
|
|
38
54
|
return { success: false, error };
|
|
39
55
|
}
|
|
@@ -41,12 +57,12 @@ export function transformPagedFetchQuery({ query, transform, transformSchema, ma
|
|
|
41
57
|
},
|
|
42
58
|
pages: async function* (config) {
|
|
43
59
|
for await (const response of query.pages(config)) {
|
|
44
|
-
yield await
|
|
60
|
+
yield await transformSingleOrThrow(response);
|
|
45
61
|
}
|
|
46
62
|
},
|
|
47
63
|
pagesSafe: async function* (config) {
|
|
48
64
|
for await (const safeResult of query.pagesSafe(config)) {
|
|
49
|
-
const result = await
|
|
65
|
+
const result = await transformSingleSafely(safeResult);
|
|
50
66
|
yield result;
|
|
51
67
|
if (!result.success) {
|
|
52
68
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-paged-fetch-query.js","sourceRoot":"","sources":["../../../lib/sdk/transform/transform-paged-fetch-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-paged-fetch-query.js","sourceRoot":"","sources":["../../../lib/sdk/transform/transform-paged-fetch-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import type { ZodMiniType } from "zod/mini";
|
|
2
1
|
import type { KontentSdkError } from "../../models/error.models.js";
|
|
3
2
|
import type { JsonValue } from "../../models/json.models.js";
|
|
3
|
+
import { type SchemaInput } from "../../utils/schema.utils.js";
|
|
4
4
|
import { type TryCatchResult } from "../../utils/try-catch.utils.js";
|
|
5
5
|
import type { QueryResponse, SafeQueryResult, SdkConfig } from "../sdk-models.js";
|
|
6
|
+
type TransformResponseFn<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra> = (response: QueryResponse<TPayload, TMeta, TExtra>) => Promise<TryCatchResult<QueryResponse<TTransformedPayload, TMeta, TExtra>, TError>>;
|
|
7
|
+
type BatchTransformResponsesFn<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra> = (responses: readonly QueryResponse<TPayload, TMeta, TExtra>[]) => Promise<TryCatchResult<readonly QueryResponse<TTransformedPayload, TMeta, TExtra>[], TError>>;
|
|
6
8
|
export declare function createTransformError(error: unknown, url: URL): KontentSdkError;
|
|
7
|
-
export type TransformResponseFn<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra> = (response: QueryResponse<TPayload, TMeta, TExtra>) => Promise<TryCatchResult<QueryResponse<TTransformedPayload, TMeta, TExtra>, TError>>;
|
|
8
9
|
export declare function createTransformResponse<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra>({ config, transform, transformSchema, mapError }: {
|
|
9
10
|
readonly config: Pick<SdkConfig, "runtimeValidation">;
|
|
10
|
-
readonly transform: (
|
|
11
|
-
readonly transformSchema:
|
|
11
|
+
readonly transform: (response: QueryResponse<TPayload, TMeta, TExtra>) => QueryResponse<TTransformedPayload, TMeta, TExtra>;
|
|
12
|
+
readonly transformSchema: SchemaInput<TTransformedPayload>;
|
|
12
13
|
readonly mapError: (error: KontentSdkError) => TError;
|
|
13
14
|
}): TransformResponseFn<TPayload, TTransformedPayload, TError, TMeta, TExtra>;
|
|
15
|
+
export declare function createBatchTransformResponses<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra>({ config, transform, transformSchema, mapError }: {
|
|
16
|
+
readonly config: Pick<SdkConfig, "runtimeValidation">;
|
|
17
|
+
readonly transform: (responses: readonly QueryResponse<TPayload, TMeta, TExtra>[]) => readonly QueryResponse<TTransformedPayload, TMeta, TExtra>[];
|
|
18
|
+
readonly transformSchema: SchemaInput<TTransformedPayload>;
|
|
19
|
+
readonly mapError: (error: KontentSdkError) => TError;
|
|
20
|
+
}): BatchTransformResponsesFn<TPayload, TTransformedPayload, TError, TMeta, TExtra>;
|
|
14
21
|
export declare function applyTransformOrThrow<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra>(response: QueryResponse<TPayload, TMeta, TExtra>, transformResponse: TransformResponseFn<TPayload, TTransformedPayload, TError, TMeta, TExtra>): Promise<QueryResponse<TTransformedPayload, TMeta, TExtra>>;
|
|
15
22
|
export declare function applyTransformSafely<TPayload extends JsonValue, TTransformedPayload extends TPayload, TError, TMeta, TExtra>(safeResult: SafeQueryResult<QueryResponse<TPayload, TMeta, TExtra>, TError>, transformResponse: TransformResponseFn<TPayload, TTransformedPayload, TError, TMeta, TExtra>): Promise<SafeQueryResult<QueryResponse<TTransformedPayload, TMeta, TExtra>, TError>>;
|
|
23
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createSdkError } from "../../utils/error.utils.js";
|
|
2
|
+
import { resolveSchema } from "../../utils/schema.utils.js";
|
|
2
3
|
import { tryCatch } from "../../utils/try-catch.utils.js";
|
|
3
4
|
import { parseResponse } from "../sdk-utils.js";
|
|
4
5
|
export function createTransformError(error, url) {
|
|
@@ -17,21 +18,52 @@ export function createTransformError(error, url) {
|
|
|
17
18
|
}
|
|
18
19
|
export function createTransformResponse({ config, transform, transformSchema, mapError, }) {
|
|
19
20
|
return async (response) => {
|
|
20
|
-
const { success, data:
|
|
21
|
+
const { success, data: transformedResponse, error } = tryCatch(() => transform(response));
|
|
21
22
|
if (!success) {
|
|
22
23
|
return { success: false, error: mapError(createTransformError(error, response.meta.url)) };
|
|
23
24
|
}
|
|
24
25
|
if (config.runtimeValidation?.validateResponses) {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
const schema = await resolveSchema(transformSchema);
|
|
27
|
+
if (schema) {
|
|
28
|
+
const validationError = await parseResponse({
|
|
29
|
+
url: transformedResponse.meta.url,
|
|
30
|
+
payload: transformedResponse.payload,
|
|
31
|
+
schema,
|
|
32
|
+
});
|
|
33
|
+
if (validationError) {
|
|
34
|
+
return { success: false, error: mapError(validationError.error) };
|
|
35
|
+
}
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
return { success: true, data:
|
|
38
|
+
return { success: true, data: transformedResponse };
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function createBatchTransformResponses({ config, transform, transformSchema, mapError, }) {
|
|
42
|
+
return async (responses) => {
|
|
43
|
+
const firstResponse = responses?.[0];
|
|
44
|
+
if (!firstResponse) {
|
|
45
|
+
return { success: true, data: [] };
|
|
46
|
+
}
|
|
47
|
+
const { success, data: transformedResponses, error } = tryCatch(() => transform(responses));
|
|
48
|
+
if (!success) {
|
|
49
|
+
return { success: false, error: mapError(createTransformError(error, firstResponse.meta.url)) };
|
|
50
|
+
}
|
|
51
|
+
if (config.runtimeValidation?.validateResponses) {
|
|
52
|
+
const schema = await resolveSchema(transformSchema);
|
|
53
|
+
if (schema) {
|
|
54
|
+
for (const transformedResponse of transformedResponses) {
|
|
55
|
+
const validationError = await parseResponse({
|
|
56
|
+
url: transformedResponse.meta.url,
|
|
57
|
+
payload: transformedResponse.payload,
|
|
58
|
+
schema,
|
|
59
|
+
});
|
|
60
|
+
if (validationError) {
|
|
61
|
+
return { success: false, error: mapError(validationError.error) };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return { success: true, data: transformedResponses };
|
|
35
67
|
};
|
|
36
68
|
}
|
|
37
69
|
export async function applyTransformOrThrow(response, transformResponse) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-utils.js","sourceRoot":"","sources":["../../../lib/sdk/transform/transform-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-utils.js","sourceRoot":"","sources":["../../../lib/sdk/transform/transform-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isNonEmptyArray<T>(array: readonly T[]): array is [T, ...T[]];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.utils.js","sourceRoot":"","sources":["../../lib/utils/array.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAI,KAAmB;IACrD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../lib/utils/schema.utils.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,KAAqB;IAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|