@kontent-ai/core-sdk 12.0.0-preview.11 → 12.0.0-preview.13

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.
@@ -13,7 +13,7 @@ type Failure = {
13
13
  readonly response?: never;
14
14
  readonly error: KontentSdkError;
15
15
  };
16
- export type HttpResult<TData> = Success<TData> | Failure;
16
+ type HttpResult<TData> = Success<TData> | Failure;
17
17
  /**
18
18
  * Helper status codes for the HTTP service.
19
19
  * It can be any valid number status code as this type only serves as a helper.
@@ -35,7 +35,6 @@ export type DefaultHttpServiceConfig = {
35
35
  };
36
36
  export type ResponseData = JsonValue | Blob;
37
37
  export type RequestBody = JsonObject | Blob | null;
38
- export type BodyData = RequestBody;
39
38
  export type HttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = HttpResult<{
40
39
  readonly payload: TResponsePayload;
41
40
  readonly body: TRequestBody;
@@ -6,9 +6,10 @@ export type { CommonHeaderNames, ContinuationHeaderName, ErrorResponseData, Head
6
6
  export { type ErrorReason, type ErrorReasonData, KontentSdkError } from "./models/error.models.js";
7
7
  export type { JsonArray, JsonObject, JsonValue } from "./models/json.models.js";
8
8
  export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
9
- export type { PagingQuery, PagingQueryResult, Query, QueryResponse, QueryResponseMeta, QueryResult, ResultOfSuccessfulQuery, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
10
- export { createPagingQuery, createQuery, extractContinuationToken, } from "./sdk/sdk-queries.js";
11
- export { isKontent404Error } from "./utils/error.utils.js";
9
+ export { createPagingQuery } from "./sdk/paging-sdk-query.js";
10
+ export type { PagingQuery, PagingQueryResult, Query, QueryResponse, QueryResponseMeta, QueryResult, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
11
+ export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
12
+ export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
12
13
  export { getSdkIdHeader } from "./utils/header.utils.js";
13
14
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
14
15
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
@@ -2,8 +2,9 @@
2
2
  export { getDefaultHttpAdapter } from "./http/http.adapter.js";
3
3
  export { getDefaultHttpService } from "./http/http.service.js";
4
4
  export { KontentSdkError } from "./models/error.models.js";
5
- export { createPagingQuery, createQuery, extractContinuationToken, } from "./sdk/sdk-queries.js";
6
- export { isKontent404Error } from "./utils/error.utils.js";
5
+ export { createPagingQuery } from "./sdk/paging-sdk-query.js";
6
+ export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
7
+ export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
7
8
  export { getSdkIdHeader } from "./utils/header.utils.js";
8
9
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
9
10
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
@@ -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;AAe/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,OAAO,EAA0C,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAcnG,OAAO,EACN,iBAAiB,EACjB,WAAW,EACX,wBAAwB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,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;AAe/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,OAAO,EAA0C,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAW9D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Paging query helpers built on top of core query. Fetches multiple pages (continuation token or next page URL)
3
+ * and aggregates results.
4
+ */
5
+ import type { GetNextPageData, RequestBody } from "../http/http.models.js";
6
+ import type { JsonValue } from "../models/json.models.js";
7
+ import type { PagingQuery } from "./sdk-models.js";
8
+ import { type ResolveQueryData } from "./sdk-query.js";
9
+ export declare function createPagingQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState" | "pageIndex"> & {
10
+ readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
11
+ }): PagingQuery<TResponsePayload, TMeta>;
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Paging query helpers built on top of core query. Fetches multiple pages (continuation token or next page URL)
3
+ * and aggregates results.
4
+ */
5
+ import { match, P } from "ts-pattern";
6
+ import { createSdkError } from "../utils/error.utils.js";
7
+ import { createQuery, resolveQueryAsync } from "./sdk-query.js";
8
+ export function createPagingQuery(data) {
9
+ const getPagingData = (config) => {
10
+ return {
11
+ ...data,
12
+ pageIndex: 0,
13
+ paginationConfig: config ?? {},
14
+ };
15
+ };
16
+ return {
17
+ toUrl: () => {
18
+ return data.request.url;
19
+ },
20
+ ...createQuery(data),
21
+ toAllPromise: async (config) => {
22
+ return await resolvePagingQueryAsync(getPagingData(config));
23
+ },
24
+ pages: (config) => createPagingQueryIterator(getPagingData(config)),
25
+ };
26
+ }
27
+ async function* createPagingQueryIterator(data) {
28
+ let nextPageState = { hasNextPage: true, pageSource: "firstRequest" };
29
+ let pageIndex = 0;
30
+ while (isNextPageAvailable(nextPageState)) {
31
+ const result = await resolveQueryAsync({
32
+ ...data,
33
+ nextPageState: nextPageState,
34
+ });
35
+ if (!result.success) {
36
+ throw result.error;
37
+ }
38
+ yield result.response;
39
+ pageIndex++;
40
+ nextPageState = resolveNextPageState({
41
+ getNextPageData: data.getNextPageData,
42
+ paginationConfig: data.paginationConfig,
43
+ pageIndex: pageIndex,
44
+ response: result.response,
45
+ });
46
+ }
47
+ }
48
+ function resolveNextPageState({ paginationConfig, getNextPageData, pageIndex, response, }) {
49
+ return match({ getNextPageData, paginationConfig, pageIndex, response })
50
+ .returnType()
51
+ .with({ response: undefined }, () => ({
52
+ hasNextPage: true,
53
+ pageSource: "firstRequest",
54
+ }))
55
+ .with({ paginationConfig: { maxPagesCount: 0 } }, () => ({
56
+ hasNextPage: false,
57
+ }))
58
+ .with({ paginationConfig: { maxPagesCount: pageIndex } }, () => ({
59
+ hasNextPage: false,
60
+ }))
61
+ .with({ response: P.not(undefined) }, (m) => {
62
+ const responsePageData = m.getNextPageData(m.response);
63
+ return match(responsePageData)
64
+ .returnType()
65
+ .with({ continuationToken: P.string.minLength(1) }, (m) => ({
66
+ hasNextPage: true,
67
+ pageSource: "continuationToken",
68
+ continuationToken: m.continuationToken,
69
+ }))
70
+ .with({ nextPageUrl: P.string.minLength(1) }, (m) => ({
71
+ hasNextPage: true,
72
+ pageSource: "nextPageUrl",
73
+ nextPageUrl: m.nextPageUrl,
74
+ }))
75
+ .otherwise(() => ({
76
+ hasNextPage: false,
77
+ }));
78
+ })
79
+ .otherwise(() => {
80
+ return {
81
+ hasNextPage: false,
82
+ };
83
+ });
84
+ }
85
+ async function resolvePagingQueryAsync(data) {
86
+ const { success, error, responses } = await fetchAllPagesAsync(data);
87
+ if (!success) {
88
+ return {
89
+ success: false,
90
+ error,
91
+ };
92
+ }
93
+ return validateAndBuildPagingResult(responses, data.request.url);
94
+ }
95
+ async function fetchAllPagesAsync(data) {
96
+ const initialPageState = resolveNextPageState({
97
+ getNextPageData: data.getNextPageData,
98
+ paginationConfig: data.paginationConfig,
99
+ pageIndex: data.pageIndex,
100
+ response: undefined,
101
+ });
102
+ return await fetchAllPagesInternal({
103
+ queryData: data,
104
+ nextPageState: initialPageState,
105
+ responses: [],
106
+ });
107
+ }
108
+ async function fetchAllPagesInternal({ queryData, nextPageState, responses, }) {
109
+ if (!isNextPageAvailable(nextPageState)) {
110
+ return {
111
+ success: true,
112
+ responses,
113
+ };
114
+ }
115
+ const { success, error, response } = await resolveQueryAsync({
116
+ ...queryData,
117
+ nextPageState: nextPageState,
118
+ });
119
+ if (!success) {
120
+ return {
121
+ success: false,
122
+ error: error,
123
+ };
124
+ }
125
+ const updatedResponses = [...responses, response];
126
+ return await fetchAllPagesInternal({
127
+ queryData: queryData,
128
+ nextPageState: resolveNextPageState({
129
+ getNextPageData: queryData.getNextPageData,
130
+ paginationConfig: queryData.paginationConfig,
131
+ pageIndex: updatedResponses.length,
132
+ response: response,
133
+ }),
134
+ responses: updatedResponses,
135
+ });
136
+ }
137
+ function validateAndBuildPagingResult(responses, requestUrl) {
138
+ const lastResponse = responses.at(-1);
139
+ if (!lastResponse) {
140
+ return {
141
+ success: false,
142
+ error: createSdkError({
143
+ reason: "noResponses",
144
+ url: requestUrl,
145
+ message: "No responses were processed. Expected at least one response to be fetched when using paging queries.",
146
+ }),
147
+ };
148
+ }
149
+ return {
150
+ success: true,
151
+ responses: [...responses],
152
+ lastContinuationToken: lastResponse.meta.continuationToken,
153
+ };
154
+ }
155
+ function isNextPageAvailable(nextPageState) {
156
+ return nextPageState.hasNextPage;
157
+ }
158
+ //# sourceMappingURL=paging-sdk-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paging-sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/paging-sdk-query.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import type { AdapterResponse, HttpResponse, HttpService, PaginationConfig, RequestBody, ResponseData } from "../http/http.models.js";
6
6
  import type { KontentSdkError } from "../models/error.models.js";
7
- import type { Prettify } from "../models/utility.models.js";
8
7
  export type QueryResponseMeta<TMeta = unknown> = Pick<AdapterResponse, "status" | "responseHeaders" | "url"> & {
9
8
  readonly continuationToken?: string;
10
9
  } & TMeta;
@@ -40,17 +39,31 @@ export type SdkConfig = {
40
39
  readonly enable: boolean;
41
40
  };
42
41
  };
43
- export type Query<TResponsePayload, TMeta = unknown> = {
42
+ export type Query<TResponsePayload, TMeta> = {
44
43
  toUrl(): string;
45
44
  toPromise(): Promise<QueryResult<QueryResponse<TResponsePayload, TMeta>>>;
46
45
  };
47
- export type PagingQuery<TResponsePayload, TMeta = unknown> = Query<TResponsePayload, TMeta> & {
46
+ export type PagingQuery<TResponsePayload, TMeta> = Query<TResponsePayload, TMeta> & {
48
47
  toAllPromise(config?: PaginationConfig): Promise<PagingQueryResult<QueryResponse<TResponsePayload, TMeta>>>;
48
+ pages(config?: PaginationConfig): AsyncGenerator<QueryResponse<TResponsePayload, TMeta>>;
49
49
  };
50
- export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Prettify<Extract<HttpResponse<TResponsePayload, TRequestBody>, {
51
- readonly success: true;
52
- }>["response"]>;
53
- export type ResultOfSuccessfulQuery<TQuery extends Query<unknown>> = Extract<Awaited<ReturnType<TQuery["toPromise"]>>, {
50
+ export type NextPageStateWithRequest = {
51
+ readonly pageSource: "continuationToken";
52
+ readonly hasNextPage: true;
53
+ readonly continuationToken: string;
54
+ readonly nextPageUrl?: never;
55
+ } | {
56
+ readonly pageSource: "nextPageUrl";
57
+ readonly hasNextPage: true;
58
+ readonly continuationToken?: never;
59
+ readonly nextPageUrl: string;
60
+ } | {
61
+ readonly pageSource: "firstRequest";
62
+ readonly hasNextPage: true;
63
+ readonly continuationToken?: never;
64
+ readonly nextPageUrl?: never;
65
+ };
66
+ export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Extract<HttpResponse<TResponsePayload, TRequestBody>, {
54
67
  readonly success: true;
55
68
  }>["response"];
56
69
  /**
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared query models/types intended to be reused across SDKs (e.g. Sync, Delivery, Management)
3
+ * to keep common code and behavior consistent.
4
+ */
5
+ import type { ZodType } from "zod";
6
+ import type { HttpService, RequestBody } from "../http/http.models.js";
7
+ import type { Header, SDKInfo } from "../models/core.models.js";
8
+ import type { JsonValue } from "../models/json.models.js";
9
+ import type { NextPageStateWithRequest, Query, SdkConfig, SuccessfulHttpResponse } from "./sdk-models.js";
10
+ export type QueryPromiseResult<TResponsePayload extends JsonValue, TMeta> = ReturnType<Pick<Query<TResponsePayload, TMeta>, "toPromise">["toPromise"]>;
11
+ type MetadataContextData = {
12
+ readonly continuationToken?: string;
13
+ };
14
+ type MetadataMapper<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta> = (response: SuccessfulHttpResponse<TResponsePayload, TRequestBody>, data: MetadataContextData) => TMeta;
15
+ type MetadataMapperConfig<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta> = {
16
+ readonly mapMetadata: MetadataMapper<TResponsePayload, TRequestBody, TMeta>;
17
+ };
18
+ export type ResolveQueryData<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta> = {
19
+ readonly nextPageState: NextPageStateWithRequest;
20
+ readonly request: Parameters<HttpService["requestAsync"]>[number] & {
21
+ readonly body: TRequestBody;
22
+ };
23
+ readonly config: SdkConfig;
24
+ readonly zodSchema: ZodType<TResponsePayload>;
25
+ readonly sdkInfo: SDKInfo;
26
+ readonly authorizationApiKey: string | undefined;
27
+ } & MetadataMapperConfig<TResponsePayload, TRequestBody, TMeta>;
28
+ export declare function createQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "continuationToken" | "nextPageState" | "pageIndex">): Pick<Query<TResponsePayload, TMeta>, "toPromise">;
29
+ export declare function extractContinuationToken(responseHeaders: readonly Header[]): string | undefined;
30
+ export declare function resolveQueryAsync<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>({ config, request, mapMetadata, zodSchema, sdkInfo, authorizationApiKey, nextPageState, }: ResolveQueryData<TResponsePayload, TRequestBody, TMeta>): QueryPromiseResult<TResponsePayload, TMeta>;
31
+ export {};
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Shared query models/types intended to be reused across SDKs (e.g. Sync, Delivery, Management)
3
+ * to keep common code and behavior consistent.
4
+ */
5
+ import { getDefaultHttpService } from "../http/http.service.js";
6
+ import { createSdkError } from "../utils/error.utils.js";
7
+ import { getSdkIdHeader } from "../utils/header.utils.js";
8
+ export function createQuery(data) {
9
+ return {
10
+ toPromise: async () => {
11
+ return await resolveQueryAsync({
12
+ ...data,
13
+ nextPageState: {
14
+ hasNextPage: true,
15
+ pageSource: "firstRequest",
16
+ },
17
+ });
18
+ },
19
+ };
20
+ }
21
+ export function extractContinuationToken(responseHeaders) {
22
+ return responseHeaders.find((header) => header.name.toLowerCase() === "X-Continuation".toLowerCase())
23
+ ?.value;
24
+ }
25
+ function getHttpService(config) {
26
+ return config.httpService ?? getDefaultHttpService();
27
+ }
28
+ function getCombinedRequestHeaders({ requestHeaders, continuationToken, authorizationApiKey, sdkInfo, }) {
29
+ return [
30
+ getSdkIdHeader({
31
+ host: sdkInfo.host,
32
+ name: sdkInfo.name,
33
+ version: sdkInfo.version,
34
+ }),
35
+ ...requestHeaders,
36
+ ...(continuationToken
37
+ ? [
38
+ {
39
+ name: "X-Continuation",
40
+ value: continuationToken,
41
+ },
42
+ ]
43
+ : []),
44
+ ...(authorizationApiKey
45
+ ? [
46
+ {
47
+ name: "Authorization",
48
+ value: `Bearer ${authorizationApiKey}`,
49
+ },
50
+ ]
51
+ : []),
52
+ ];
53
+ }
54
+ export async function resolveQueryAsync({ config, request, mapMetadata, zodSchema, sdkInfo, authorizationApiKey, nextPageState, }) {
55
+ const { success, response, error } = await getHttpService(config).requestAsync({
56
+ body: request.body,
57
+ url: nextPageState?.nextPageUrl ?? request.url,
58
+ method: request.method,
59
+ requestHeaders: getCombinedRequestHeaders({
60
+ requestHeaders: request.requestHeaders ?? [],
61
+ continuationToken: nextPageState?.continuationToken,
62
+ authorizationApiKey: authorizationApiKey,
63
+ sdkInfo,
64
+ }),
65
+ });
66
+ if (!success) {
67
+ return {
68
+ success: false,
69
+ error,
70
+ };
71
+ }
72
+ if (config.responseValidation?.enable) {
73
+ const { isValid, error: validationError } = await validateResponseSchemaAsync(response.payload, zodSchema);
74
+ if (!isValid) {
75
+ return {
76
+ success: false,
77
+ error: createSdkError({
78
+ message: `Failed to validate response schema for url '${request.url}'`,
79
+ reason: "validationFailed",
80
+ zodError: validationError,
81
+ response,
82
+ url: request.url,
83
+ }),
84
+ };
85
+ }
86
+ }
87
+ const continuationTokenFromResponse = extractContinuationToken(response.adapterResponse.responseHeaders);
88
+ const result = {
89
+ success: true,
90
+ response: {
91
+ payload: response.payload,
92
+ meta: {
93
+ url: response.adapterResponse.url,
94
+ responseHeaders: response.adapterResponse.responseHeaders,
95
+ status: response.adapterResponse.status,
96
+ continuationToken: continuationTokenFromResponse,
97
+ ...mapMetadata(response, { continuationToken: continuationTokenFromResponse }),
98
+ },
99
+ },
100
+ };
101
+ return result;
102
+ }
103
+ async function validateResponseSchemaAsync(payload, zodSchema) {
104
+ const validateResult = await zodSchema.safeParseAsync(payload);
105
+ if (validateResult.success) {
106
+ return {
107
+ isValid: true,
108
+ };
109
+ }
110
+ return {
111
+ isValid: false,
112
+ error: validateResult.error,
113
+ };
114
+ }
115
+ //# sourceMappingURL=sdk-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/sdk-query.ts"],"names":[],"mappings":"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"}
package/dist/sdk-info.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const sdkInfo = {
2
2
  host: "npmjs.com",
3
- version: "12.0.0-preview.11",
3
+ version: "12.0.0-preview.13",
4
4
  name: "@kontent-ai/core-sdk",
5
5
  };
6
6
  //# sourceMappingURL=sdk-info.js.map
@@ -3,7 +3,8 @@ import type { ErrorResponseData, HttpMethod } from "../models/core.models.js";
3
3
  import { type ErrorDetails, KontentSdkError } from "../models/error.models.js";
4
4
  import type { JsonValue } from "../models/json.models.js";
5
5
  export declare function createSdkError(details: ErrorDetails): KontentSdkError;
6
- export declare function isKontent404Error(error: KontentSdkError): boolean;
6
+ export declare function isKontent404Error(error: unknown): boolean;
7
+ export declare function isKontentSdkError(error: unknown): error is KontentSdkError;
7
8
  export declare function getErrorMessage({ method, url, adapterResponse, kontentErrorResponse, }: {
8
9
  readonly url: string;
9
10
  readonly method: HttpMethod;
@@ -4,7 +4,10 @@ export function createSdkError(details) {
4
4
  return new KontentSdkError(details);
5
5
  }
6
6
  export function isKontent404Error(error) {
7
- return error.details.reason === "notFound";
7
+ return isKontentSdkError(error) && error.details.reason === "notFound";
8
+ }
9
+ export function isKontentSdkError(error) {
10
+ return error instanceof KontentSdkError;
8
11
  }
9
12
  export function getErrorMessage({ method, url, adapterResponse, kontentErrorResponse, }) {
10
13
  const details = kontentErrorResponse ? getKontentErrorResponseMessage(adapterResponse, kontentErrorResponse) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"error.utils.js","sourceRoot":"","sources":["../../lib/utils/error.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,OAAqB;IACnD,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACvD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC/B,MAAM,EACN,GAAG,EACH,eAAe,EACf,oBAAoB,GAMpB;IACA,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,8BAA8B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzH,OAAO,sBAAsB,MAAM,cAAc,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAe;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IACC,IAAI,YAAY,MAAM;QACrB,SAA4C,IAAI,IAAI;QACpD,YAA+C,IAAI,IAAI;QACvD,YAA+C,IAAI,IAAI,EACvD,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,gBAA6C;IAC/E,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,gBAAgB;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,OAAO,GAAsB;YAClC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CAAC,eAAgC,EAAE,oBAAuC;IAChH,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACjG,OAAO,+BAA+B,eAAe,CAAC,MAAM,sBAAsB,eAAe,CAAC,UAAU,KAAK,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9M,CAAC"}
1
+ {"version":3,"file":"error.utils.js","sourceRoot":"","sources":["../../lib/utils/error.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,OAAqB;IACnD,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,eAAe,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC/B,MAAM,EACN,GAAG,EACH,eAAe,EACf,oBAAoB,GAMpB;IACA,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,8BAA8B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzH,OAAO,sBAAsB,MAAM,cAAc,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAe;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IACC,IAAI,YAAY,MAAM;QACrB,SAA4C,IAAI,IAAI;QACpD,YAA+C,IAAI,IAAI;QACvD,YAA+C,IAAI,IAAI,EACvD,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,gBAA6C;IAC/E,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,gBAAgB;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,OAAO,GAAsB;YAClC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACtC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CAAC,eAAgC,EAAE,oBAAuC;IAChH,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACjG,OAAO,+BAA+B,eAAe,CAAC,MAAM,sBAAsB,eAAe,CAAC,UAAU,KAAK,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9M,CAAC"}
@@ -9,4 +9,3 @@ export declare function runWithRetryAsync<TResponse extends ResponseData, TReque
9
9
  readonly method: HttpMethod;
10
10
  }): Promise<HttpResponse<TResponse, TRequestBody>>;
11
11
  export declare function toRequiredRetryStrategyOptions(options?: RetryStrategyOptions): Required<RetryStrategyOptions>;
12
- export declare function getDefaultRetryAttemptLogMessage(retryAttempt: number, maxRetries: number, url: string): string;
@@ -74,7 +74,7 @@ export function toRequiredRetryStrategyOptions(options) {
74
74
  },
75
75
  };
76
76
  }
77
- export function getDefaultRetryAttemptLogMessage(retryAttempt, maxRetries, url) {
77
+ function getDefaultRetryAttemptLogMessage(retryAttempt, maxRetries, url) {
78
78
  return `Retry attempt '${retryAttempt}' from a maximum of '${maxRetries}' retries. Requested url: '${url}'`;
79
79
  }
80
80
  function logRetryAttempt(opts, retryAttempt, url) {
@@ -1 +1 @@
1
- {"version":3,"file":"retry.utils.js","sourceRoot":"","sources":["../../lib/utils/retry.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.utils.js","sourceRoot":"","sources":["../../lib/utils/retry.utils.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ type Failure = {
16
16
  readonly error: KontentSdkError;
17
17
  };
18
18
 
19
- export type HttpResult<TData> = Success<TData> | Failure;
19
+ type HttpResult<TData> = Success<TData> | Failure;
20
20
 
21
21
  /**
22
22
  * Helper status codes for the HTTP service.
@@ -44,7 +44,6 @@ export type DefaultHttpServiceConfig = {
44
44
  export type ResponseData = JsonValue | Blob;
45
45
 
46
46
  export type RequestBody = JsonObject | Blob | null;
47
- export type BodyData = RequestBody;
48
47
 
49
48
  export type HttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = HttpResult<{
50
49
  readonly payload: TResponsePayload;
package/lib/public_api.ts CHANGED
@@ -28,6 +28,7 @@ export type {
28
28
  export { type ErrorReason, type ErrorReasonData, KontentSdkError } from "./models/error.models.js";
29
29
  export type { JsonArray, JsonObject, JsonValue } from "./models/json.models.js";
30
30
  export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
31
+ export { createPagingQuery } from "./sdk/paging-sdk-query.js";
31
32
  export type {
32
33
  PagingQuery,
33
34
  PagingQueryResult,
@@ -35,16 +36,11 @@ export type {
35
36
  QueryResponse,
36
37
  QueryResponseMeta,
37
38
  QueryResult,
38
- ResultOfSuccessfulQuery,
39
39
  SdkConfig,
40
40
  SuccessfulHttpResponse,
41
41
  } from "./sdk/sdk-models.js";
42
- export {
43
- createPagingQuery,
44
- createQuery,
45
- extractContinuationToken,
46
- } from "./sdk/sdk-queries.js";
47
- export { isKontent404Error } from "./utils/error.utils.js";
42
+ export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
43
+ export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
48
44
  export { getSdkIdHeader } from "./utils/header.utils.js";
49
45
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
50
46
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";