@kontent-ai/core-sdk 12.0.0-preview.12 → 12.0.0-preview.14

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.
Files changed (40) hide show
  1. package/dist/devkit/environment.utils.d.ts +2 -0
  2. package/dist/devkit/environment.utils.js +12 -0
  3. package/dist/devkit/environment.utils.js.map +1 -0
  4. package/dist/devkit_api.d.ts +1 -0
  5. package/dist/devkit_api.js +1 -0
  6. package/dist/devkit_api.js.map +1 -1
  7. package/dist/models/utility.models.d.ts +0 -12
  8. package/dist/public_api.d.ts +5 -2
  9. package/dist/public_api.js +3 -0
  10. package/dist/public_api.js.map +1 -1
  11. package/dist/sdk/paging-sdk-query.d.ts +2 -3
  12. package/dist/sdk/paging-sdk-query.js +3 -0
  13. package/dist/sdk/paging-sdk-query.js.map +1 -1
  14. package/dist/sdk/sdk-models.d.ts +7 -7
  15. package/dist/sdk/sdk-models.js +3 -1
  16. package/dist/sdk/sdk-models.js.map +1 -1
  17. package/dist/sdk/sdk-query.d.ts +2 -3
  18. package/dist/sdk/sdk-query.js +1 -0
  19. package/dist/sdk/sdk-query.js.map +1 -1
  20. package/dist/sdk/sdk-utils.d.ts +2 -0
  21. package/dist/sdk/sdk-utils.js +4 -0
  22. package/dist/sdk/sdk-utils.js.map +1 -0
  23. package/dist/sdk-info.js +1 -1
  24. package/dist/utils/type.utils.d.ts +2 -0
  25. package/dist/utils/type.utils.js +5 -0
  26. package/dist/utils/type.utils.js.map +1 -0
  27. package/dist/utils/url.utils.d.ts +5 -0
  28. package/dist/utils/url.utils.js +10 -0
  29. package/dist/utils/url.utils.js.map +1 -0
  30. package/lib/devkit/environment.utils.ts +15 -0
  31. package/lib/devkit_api.ts +2 -0
  32. package/lib/models/utility.models.ts +0 -12
  33. package/lib/public_api.ts +6 -2
  34. package/lib/sdk/paging-sdk-query.ts +10 -8
  35. package/lib/sdk/sdk-models.ts +10 -9
  36. package/lib/sdk/sdk-query.ts +4 -4
  37. package/lib/sdk/sdk-utils.ts +5 -0
  38. package/lib/utils/type.utils.ts +5 -0
  39. package/lib/utils/url.utils.ts +19 -0
  40. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function getEnvironmentRequiredValue(variableName: string): string;
2
+ export declare function getEnvironmentOptionalValue(variableName: string): string | undefined;
@@ -0,0 +1,12 @@
1
+ import chalk from "chalk";
2
+ export function getEnvironmentRequiredValue(variableName) {
3
+ const value = getEnvironmentOptionalValue(variableName);
4
+ if (!value) {
5
+ throw new Error(`Missing environment variable '${chalk.red(variableName)}'`);
6
+ }
7
+ return value;
8
+ }
9
+ export function getEnvironmentOptionalValue(variableName) {
10
+ return process.env[variableName];
11
+ }
12
+ //# sourceMappingURL=environment.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.utils.js","sourceRoot":"","sources":["../../lib/devkit/environment.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC/D,MAAM,KAAK,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9E,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,3 +1,4 @@
1
1
  /** biome-ignore-all lint/performance/noBarrelFile: One barrel for exported API is fine */
2
+ export { getEnvironmentOptionalValue, getEnvironmentRequiredValue } from "./devkit/environment.utils.js";
2
3
  export { deleteFolderRecursive } from "./devkit/script.utils.js";
3
4
  export { replaceSdkVersionPlaceholder } from "./utils/sdk-version.utils.js";
@@ -1,4 +1,5 @@
1
1
  /** biome-ignore-all lint/performance/noBarrelFile: One barrel for exported API is fine */
2
+ export { getEnvironmentOptionalValue, getEnvironmentRequiredValue } from "./devkit/environment.utils.js";
2
3
  export { deleteFolderRecursive } from "./devkit/script.utils.js";
3
4
  export { replaceSdkVersionPlaceholder } from "./utils/sdk-version.utils.js";
4
5
  //# sourceMappingURL=devkit_api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devkit_api.js","sourceRoot":"","sources":["../lib/devkit_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"devkit_api.js","sourceRoot":"","sources":["../lib/devkit_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,15 +1,3 @@
1
- /**
2
- * Improves the type readability by flattening the type.
3
- */
4
- export type Prettify<T> = {
5
- [K in keyof T]: T[K];
6
- } & {};
7
- /**
8
- * Override selected properties of a type. Uses Omit to remove the properties and then adds the new properties.
9
- */
10
- export type Override<Type, NewType extends {
11
- [key in keyof Type]?: NewType[key];
12
- }> = Omit<Type, keyof NewType> & NewType;
13
1
  /**
14
2
  * Represents an empty object type.
15
3
  */
@@ -5,11 +5,14 @@ export { getDefaultHttpService } from "./http/http.service.js";
5
5
  export type { CommonHeaderNames, ContinuationHeaderName, ErrorResponseData, Header, HttpMethod, RetryStrategyOptions, SDKInfo, ValidationError, } from "./models/core.models.js";
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
- export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
8
+ export type { EmptyObject } from "./models/utility.models.js";
9
9
  export { createPagingQuery } from "./sdk/paging-sdk-query.js";
10
- export type { PagingQuery, PagingQueryResult, Query, QueryResponse, QueryResponseMeta, QueryResult, ResultOfSuccessfulQuery, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
10
+ export type { kontentUuidSchema, nilUuid, PagingQuery, PagingQueryResult, Query, QueryResponse, QueryResponseMeta, QueryResult, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
11
11
  export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
12
+ export { isPagingQuery } from "./sdk/sdk-utils.js";
12
13
  export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
13
14
  export { getSdkIdHeader } from "./utils/header.utils.js";
14
15
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
15
16
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
17
+ export { getCodenameSchema } from "./utils/type.utils.js";
18
+ export { getEndpointUrl } from "./utils/url.utils.js";
@@ -4,8 +4,11 @@ export { getDefaultHttpService } from "./http/http.service.js";
4
4
  export { KontentSdkError } from "./models/error.models.js";
5
5
  export { createPagingQuery } from "./sdk/paging-sdk-query.js";
6
6
  export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
7
+ export { isPagingQuery } from "./sdk/sdk-utils.js";
7
8
  export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
8
9
  export { getSdkIdHeader } from "./utils/header.utils.js";
9
10
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
10
11
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
12
+ export { getCodenameSchema } from "./utils/type.utils.js";
13
+ export { getEndpointUrl } from "./utils/url.utils.js";
11
14
  //# sourceMappingURL=public_api.js.map
@@ -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;AAGnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY9D,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"}
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;AAa9D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,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;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -4,9 +4,8 @@
4
4
  */
5
5
  import type { GetNextPageData, RequestBody } from "../http/http.models.js";
6
6
  import type { JsonValue } from "../models/json.models.js";
7
- import type { EmptyObject } from "../models/utility.models.js";
8
7
  import type { PagingQuery } from "./sdk-models.js";
9
8
  import { type ResolveQueryData } from "./sdk-query.js";
10
- export declare function createPagingQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>(data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState" | "pageIndex"> & {
9
+ export declare function createPagingQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState" | "pageIndex"> & {
11
10
  readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
12
- }): Pick<PagingQuery<TResponsePayload, TMeta>, "toPromise" | "toAllPromise" | "pages">;
11
+ }): PagingQuery<TResponsePayload, TMeta>;
@@ -14,6 +14,9 @@ export function createPagingQuery(data) {
14
14
  };
15
15
  };
16
16
  return {
17
+ toUrl: () => {
18
+ return data.request.url;
19
+ },
17
20
  ...createQuery(data),
18
21
  toAllPromise: async (config) => {
19
22
  return await resolvePagingQueryAsync(getPagingData(config));
@@ -1 +1 @@
1
- {"version":3,"file":"paging-sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/paging-sdk-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paging-sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/paging-sdk-query.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
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 z from "zod";
5
6
  import type { AdapterResponse, HttpResponse, HttpService, PaginationConfig, RequestBody, ResponseData } from "../http/http.models.js";
6
7
  import type { KontentSdkError } from "../models/error.models.js";
7
- import type { Prettify } from "../models/utility.models.js";
8
8
  export type QueryResponseMeta<TMeta = unknown> = Pick<AdapterResponse, "status" | "responseHeaders" | "url"> & {
9
9
  readonly continuationToken?: string;
10
10
  } & TMeta;
@@ -40,11 +40,12 @@ export type SdkConfig = {
40
40
  readonly enable: boolean;
41
41
  };
42
42
  };
43
- export type Query<TResponsePayload, TMeta = unknown> = {
43
+ export type Query<TResponsePayload, TMeta> = {
44
+ schema: z.ZodType<TResponsePayload>;
44
45
  toUrl(): string;
45
46
  toPromise(): Promise<QueryResult<QueryResponse<TResponsePayload, TMeta>>>;
46
47
  };
47
- export type PagingQuery<TResponsePayload, TMeta = unknown> = Query<TResponsePayload, TMeta> & {
48
+ export type PagingQuery<TResponsePayload, TMeta> = Query<TResponsePayload, TMeta> & {
48
49
  toAllPromise(config?: PaginationConfig): Promise<PagingQueryResult<QueryResponse<TResponsePayload, TMeta>>>;
49
50
  pages(config?: PaginationConfig): AsyncGenerator<QueryResponse<TResponsePayload, TMeta>>;
50
51
  };
@@ -64,10 +65,7 @@ export type NextPageStateWithRequest = {
64
65
  readonly continuationToken?: never;
65
66
  readonly nextPageUrl?: never;
66
67
  };
67
- export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Prettify<Extract<HttpResponse<TResponsePayload, TRequestBody>, {
68
- readonly success: true;
69
- }>["response"]>;
70
- export type ResultOfSuccessfulQuery<TQuery extends Query<unknown>> = Extract<Awaited<ReturnType<TQuery["toPromise"]>>, {
68
+ export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Extract<HttpResponse<TResponsePayload, TRequestBody>, {
71
69
  readonly success: true;
72
70
  }>["response"];
73
71
  /**
@@ -87,6 +85,8 @@ export type PagingQueryResult<TResponsePayload> = (Success & {
87
85
  readonly responses?: never;
88
86
  readonly lastContinuationToken?: never;
89
87
  });
88
+ export declare const nilUuid = "00000000-0000-0000-0000-000000000000";
89
+ export declare const kontentUuidSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodLiteral<"00000000-0000-0000-0000-000000000000">]>;
90
90
  type Success = {
91
91
  readonly success: true;
92
92
  readonly error?: never;
@@ -2,5 +2,7 @@
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
- export {};
5
+ import z from "zod";
6
+ export const nilUuid = "00000000-0000-0000-0000-000000000000";
7
+ export const kontentUuidSchema = z.union([z.uuid({ version: "v4" }), z.literal(nilUuid)]);
6
8
  //# sourceMappingURL=sdk-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-models.js","sourceRoot":"","sources":["../../lib/sdk/sdk-models.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"sdk-models.js","sourceRoot":"","sources":["../../lib/sdk/sdk-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,CAAC,MAAM,KAAK,CAAC;AA2FpB,MAAM,CAAC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -6,9 +6,8 @@ import type { ZodType } from "zod";
6
6
  import type { HttpService, RequestBody } from "../http/http.models.js";
7
7
  import type { Header, SDKInfo } from "../models/core.models.js";
8
8
  import type { JsonValue } from "../models/json.models.js";
9
- import type { EmptyObject } from "../models/utility.models.js";
10
9
  import type { NextPageStateWithRequest, Query, SdkConfig, SuccessfulHttpResponse } from "./sdk-models.js";
11
- export type QueryPromiseResult<TResponsePayload extends JsonValue, TMeta = EmptyObject> = ReturnType<Pick<Query<TResponsePayload, TMeta>, "toPromise">["toPromise"]>;
10
+ export type QueryPromiseResult<TResponsePayload extends JsonValue, TMeta> = ReturnType<Pick<Query<TResponsePayload, TMeta>, "toPromise">["toPromise"]>;
12
11
  type MetadataContextData = {
13
12
  readonly continuationToken?: string;
14
13
  };
@@ -26,7 +25,7 @@ export type ResolveQueryData<TResponsePayload extends JsonValue, TRequestBody ex
26
25
  readonly sdkInfo: SDKInfo;
27
26
  readonly authorizationApiKey: string | undefined;
28
27
  } & MetadataMapperConfig<TResponsePayload, TRequestBody, TMeta>;
29
- export declare function createQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>(data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "continuationToken" | "nextPageState" | "pageIndex">): Pick<Query<TResponsePayload, TMeta>, "toPromise">;
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" | "schema">;
30
29
  export declare function extractContinuationToken(responseHeaders: readonly Header[]): string | undefined;
31
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>;
32
31
  export {};
@@ -7,6 +7,7 @@ import { createSdkError } from "../utils/error.utils.js";
7
7
  import { getSdkIdHeader } from "../utils/header.utils.js";
8
8
  export function createQuery(data) {
9
9
  return {
10
+ schema: data.zodSchema,
10
11
  toPromise: async () => {
11
12
  return await resolveQueryAsync({
12
13
  ...data,
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/sdk-query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA4B1D,MAAM,UAAU,WAAW,CAC1B,IAAwH;IAExH,OAAO;QACN,SAAS,EAAE,KAAK,IAAI,EAAE;YACrB,OAAO,MAAM,iBAAiB,CAAwC;gBACrE,GAAG,IAAI;gBACP,aAAa,EAAE;oBACd,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,cAAc;iBAC1B;aACD,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,eAAkC;IAC1E,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAM,gBAAkD,CAAC,WAAW,EAAE,CAAC;QACvI,EAAE,KAAK,CAAC;AACV,CAAC;AAED,SAAS,cAAc,CAAC,MAAiB;IACxC,OAAO,MAAM,CAAC,WAAW,IAAI,qBAAqB,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,yBAAyB,CAAC,EAClC,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,OAAO,GAMP;IACA,OAAO;QACN,cAAc,CAAC;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC;QACF,GAAG,cAAc;QACjB,GAAG,CAAC,iBAAiB;YACpB,CAAC,CAAC;gBACA;oBACC,IAAI,EAAE,gBAA4C;oBAClD,KAAK,EAAE,iBAAiB;iBACxB;aACD;YACF,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,mBAAmB;YACtB,CAAC,CAAC;gBACA;oBACC,IAAI,EAAE,eAA2C;oBACjD,KAAK,EAAE,UAAU,mBAAmB,EAAE;iBACtC;aACD;YACF,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAA8E,EACpH,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,aAAa,GAC4C;IACzD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CAAiC;QAC9G,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,aAAa,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,yBAAyB,CAAC;YACzC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;YACnD,mBAAmB,EAAE,mBAAmB;YACxC,OAAO;SACP,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK;SACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,2BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3G,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,cAAc,CAAC;oBACrB,OAAO,EAAE,+CAA+C,OAAO,CAAC,GAAG,GAAG;oBACtE,MAAM,EAAE,kBAAkB;oBAC1B,QAAQ,EAAE,eAAe;oBACzB,QAAQ;oBACR,GAAG,EAAE,OAAO,CAAC,GAAG;iBAChB,CAAC;aACF,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,6BAA6B,GAAG,wBAAwB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAEzG,MAAM,MAAM,GAAyD;QACpE,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE;YACT,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;gBACjC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,eAAe;gBACzD,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;gBACvC,iBAAiB,EAAE,6BAA6B;gBAChD,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,CAAC;aAC9E;SACD;KACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,2BAA2B,CACzC,OAAyB,EACzB,SAAoC;IAWpC,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/D,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO;YACN,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,cAAc,CAAC,KAAK;KAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sdk-query.js","sourceRoot":"","sources":["../../lib/sdk/sdk-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { PagingQuery, Query } from "./sdk-models.js";
2
+ export declare function isPagingQuery<T, TBody = null>(query: Query<T, TBody> | PagingQuery<T, TBody>): query is PagingQuery<T, TBody>;
@@ -0,0 +1,4 @@
1
+ export function isPagingQuery(query) {
2
+ return "toPromise" in query && "toAllPromise" in query && "pages" in query;
3
+ }
4
+ //# sourceMappingURL=sdk-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-utils.js","sourceRoot":"","sources":["../../lib/sdk/sdk-utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAkB,KAA8C;IAC5F,OAAO,WAAW,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC;AAC5E,CAAC"}
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.12",
3
+ version: "12.0.0-preview.14",
4
4
  name: "@kontent-ai/core-sdk",
5
5
  };
6
6
  //# sourceMappingURL=sdk-info.js.map
@@ -0,0 +1,2 @@
1
+ import { z } from "zod";
2
+ export declare function getCodenameSchema<const TCodenames extends readonly string[]>(codenames?: TCodenames): z.ZodType<TCodenames[number]>;
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export function getCodenameSchema(codenames) {
3
+ return codenames && codenames.length > 0 ? z.enum(codenames) : z.string();
4
+ }
5
+ //# sourceMappingURL=type.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.utils.js","sourceRoot":"","sources":["../../lib/utils/type.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,iBAAiB,CAA6C,SAAsB;IACnG,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getEndpointUrl({ environmentId, path, baseUrl, }: {
2
+ readonly environmentId: string;
3
+ readonly path: string;
4
+ readonly baseUrl: string;
5
+ }): string;
@@ -0,0 +1,10 @@
1
+ export function getEndpointUrl({ environmentId, path, baseUrl, }) {
2
+ return `${removeTrailingSlashes(baseUrl)}${removeDuplicateSlashes(`/${environmentId}/${path}`)}`;
3
+ }
4
+ function removeDuplicateSlashes(path) {
5
+ return path.replace(/\/+/g, "/");
6
+ }
7
+ function removeTrailingSlashes(path) {
8
+ return path.replace(/\/+$/, "");
9
+ }
10
+ //# sourceMappingURL=url.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.utils.js","sourceRoot":"","sources":["../../lib/utils/url.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,EAC9B,aAAa,EACb,IAAI,EACJ,OAAO,GAKP;IACA,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import chalk from "chalk";
2
+
3
+ export function getEnvironmentRequiredValue(variableName: string): string {
4
+ const value = getEnvironmentOptionalValue(variableName);
5
+
6
+ if (!value) {
7
+ throw new Error(`Missing environment variable '${chalk.red(variableName)}'`);
8
+ }
9
+
10
+ return value;
11
+ }
12
+
13
+ export function getEnvironmentOptionalValue(variableName: string): string | undefined {
14
+ return process.env[variableName];
15
+ }
package/lib/devkit_api.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  /** biome-ignore-all lint/performance/noBarrelFile: One barrel for exported API is fine */
2
+
3
+ export { getEnvironmentOptionalValue, getEnvironmentRequiredValue } from "./devkit/environment.utils.js";
2
4
  export { deleteFolderRecursive } from "./devkit/script.utils.js";
3
5
  export { replaceSdkVersionPlaceholder } from "./utils/sdk-version.utils.js";
@@ -1,15 +1,3 @@
1
- /**
2
- * Improves the type readability by flattening the type.
3
- */
4
- export type Prettify<T> = {
5
- [K in keyof T]: T[K];
6
- } & {};
7
-
8
- /**
9
- * Override selected properties of a type. Uses Omit to remove the properties and then adds the new properties.
10
- */
11
- export type Override<Type, NewType extends { [key in keyof Type]?: NewType[key] }> = Omit<Type, keyof NewType> & NewType;
12
-
13
1
  /**
14
2
  * Represents an empty object type.
15
3
  */
package/lib/public_api.ts CHANGED
@@ -27,21 +27,25 @@ export type {
27
27
  } from "./models/core.models.js";
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
- export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
30
+ export type { EmptyObject } from "./models/utility.models.js";
31
31
  export { createPagingQuery } from "./sdk/paging-sdk-query.js";
32
32
  export type {
33
+ kontentUuidSchema,
34
+ nilUuid,
33
35
  PagingQuery,
34
36
  PagingQueryResult,
35
37
  Query,
36
38
  QueryResponse,
37
39
  QueryResponseMeta,
38
40
  QueryResult,
39
- ResultOfSuccessfulQuery,
40
41
  SdkConfig,
41
42
  SuccessfulHttpResponse,
42
43
  } from "./sdk/sdk-models.js";
43
44
  export { createQuery, extractContinuationToken } from "./sdk/sdk-query.js";
45
+ export { isPagingQuery } from "./sdk/sdk-utils.js";
44
46
  export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
45
47
  export { getSdkIdHeader } from "./utils/header.utils.js";
46
48
  export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
47
49
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
50
+ export { getCodenameSchema } from "./utils/type.utils.js";
51
+ export { getEndpointUrl } from "./utils/url.utils.js";
@@ -6,12 +6,11 @@
6
6
  import { match, P } from "ts-pattern";
7
7
  import type { GetNextPageData, PaginationConfig, RequestBody } from "../http/http.models.js";
8
8
  import type { JsonValue } from "../models/json.models.js";
9
- import type { EmptyObject } from "../models/utility.models.js";
10
9
  import { createSdkError } from "../utils/error.utils.js";
11
10
  import type { NextPageStateWithRequest, PagingQuery, PagingQueryResult, QueryResponse } from "./sdk-models.js";
12
11
  import { createQuery, type QueryPromiseResult, type ResolveQueryData, resolveQueryAsync } from "./sdk-query.js";
13
12
 
14
- type PagingQueryPromiseResult<TResponsePayload extends JsonValue, TMeta = EmptyObject> = ReturnType<
13
+ type PagingQueryPromiseResult<TResponsePayload extends JsonValue, TMeta> = ReturnType<
15
14
  Pick<PagingQuery<TResponsePayload, TMeta>, "toAllPromise">["toAllPromise"]
16
15
  >;
17
16
 
@@ -33,11 +32,11 @@ type FetchAllPagesResult<TResponsePayload extends JsonValue, TMeta> =
33
32
  readonly error: ReturnType<typeof createSdkError>;
34
33
  };
35
34
 
36
- export function createPagingQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>(
35
+ export function createPagingQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(
37
36
  data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState" | "pageIndex"> & {
38
37
  readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
39
38
  },
40
- ): Pick<PagingQuery<TResponsePayload, TMeta>, "toPromise" | "toAllPromise" | "pages"> {
39
+ ): PagingQuery<TResponsePayload, TMeta> {
41
40
  const getPagingData: (
42
41
  config: PaginationConfig | undefined,
43
42
  ) => Parameters<typeof resolvePagingQueryAsync<TResponsePayload, TRequestBody, TMeta>>[0] = (config) => {
@@ -49,6 +48,9 @@ export function createPagingQuery<TResponsePayload extends JsonValue, TRequestBo
49
48
  };
50
49
 
51
50
  return {
51
+ toUrl: () => {
52
+ return data.request.url;
53
+ },
52
54
  ...createQuery<TResponsePayload, TRequestBody, TMeta>(data),
53
55
  toAllPromise: async (config?: PaginationConfig) => {
54
56
  return await resolvePagingQueryAsync<TResponsePayload, TRequestBody, TMeta>(getPagingData(config));
@@ -57,7 +59,7 @@ export function createPagingQuery<TResponsePayload extends JsonValue, TRequestBo
57
59
  };
58
60
  }
59
61
 
60
- async function* createPagingQueryIterator<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>(
62
+ async function* createPagingQueryIterator<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(
61
63
  data: Omit<Parameters<typeof resolvePagingQueryAsync<TResponsePayload, TRequestBody, TMeta>>[0], "pageIndex">,
62
64
  ): AsyncGenerator<QueryResponse<TResponsePayload, TMeta>> {
63
65
  let nextPageState: NextPageState = { hasNextPage: true, pageSource: "firstRequest" };
@@ -136,7 +138,7 @@ function resolveNextPageState<TResponsePayload extends JsonValue, TMeta>({
136
138
  });
137
139
  }
138
140
 
139
- async function resolvePagingQueryAsync<TResponsePayload extends JsonValue, TRequestBody extends RequestBody = null, TMeta = EmptyObject>(
141
+ async function resolvePagingQueryAsync<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(
140
142
  data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState" | "getNextPageData"> & {
141
143
  readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
142
144
  readonly paginationConfig: PaginationConfig;
@@ -155,7 +157,7 @@ async function resolvePagingQueryAsync<TResponsePayload extends JsonValue, TRequ
155
157
  return validateAndBuildPagingResult(responses, data.request.url);
156
158
  }
157
159
 
158
- async function fetchAllPagesAsync<TResponsePayload extends JsonValue, TRequestBody extends RequestBody = null, TMeta = EmptyObject>(
160
+ async function fetchAllPagesAsync<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(
159
161
  data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "nextPageState"> & {
160
162
  readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
161
163
  readonly paginationConfig: PaginationConfig;
@@ -176,7 +178,7 @@ async function fetchAllPagesAsync<TResponsePayload extends JsonValue, TRequestBo
176
178
  });
177
179
  }
178
180
 
179
- async function fetchAllPagesInternal<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>({
181
+ async function fetchAllPagesInternal<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>({
180
182
  queryData,
181
183
  nextPageState,
182
184
  responses,
@@ -3,9 +3,9 @@
3
3
  * to keep common code and behavior consistent.
4
4
  */
5
5
 
6
+ import z from "zod";
6
7
  import type { AdapterResponse, HttpResponse, HttpService, PaginationConfig, RequestBody, ResponseData } from "../http/http.models.js";
7
8
  import type { KontentSdkError } from "../models/error.models.js";
8
- import type { Prettify } from "../models/utility.models.js";
9
9
 
10
10
  export type QueryResponseMeta<TMeta = unknown> = Pick<AdapterResponse, "status" | "responseHeaders" | "url"> & {
11
11
  readonly continuationToken?: string;
@@ -47,12 +47,13 @@ export type SdkConfig = {
47
47
  };
48
48
  };
49
49
 
50
- export type Query<TResponsePayload, TMeta = unknown> = {
50
+ export type Query<TResponsePayload, TMeta> = {
51
+ schema: z.ZodType<TResponsePayload>;
51
52
  toUrl(): string;
52
53
  toPromise(): Promise<QueryResult<QueryResponse<TResponsePayload, TMeta>>>;
53
54
  };
54
55
 
55
- export type PagingQuery<TResponsePayload, TMeta = unknown> = Query<TResponsePayload, TMeta> & {
56
+ export type PagingQuery<TResponsePayload, TMeta> = Query<TResponsePayload, TMeta> & {
56
57
  toAllPromise(config?: PaginationConfig): Promise<PagingQueryResult<QueryResponse<TResponsePayload, TMeta>>>;
57
58
  pages(config?: PaginationConfig): AsyncGenerator<QueryResponse<TResponsePayload, TMeta>>;
58
59
  };
@@ -77,12 +78,8 @@ export type NextPageStateWithRequest =
77
78
  readonly nextPageUrl?: never;
78
79
  };
79
80
 
80
- export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Prettify<
81
- Extract<HttpResponse<TResponsePayload, TRequestBody>, { readonly success: true }>["response"]
82
- >;
83
-
84
- export type ResultOfSuccessfulQuery<TQuery extends Query<unknown>> = Extract<
85
- Awaited<ReturnType<TQuery["toPromise"]>>,
81
+ export type SuccessfulHttpResponse<TResponsePayload extends ResponseData, TRequestBody extends RequestBody> = Extract<
82
+ HttpResponse<TResponsePayload, TRequestBody>,
86
83
  { readonly success: true }
87
84
  >["response"];
88
85
 
@@ -97,6 +94,10 @@ export type PagingQueryResult<TResponsePayload> =
97
94
  | (Success & { readonly responses: TResponsePayload[]; readonly lastContinuationToken: string | undefined })
98
95
  | (Failure & { readonly responses?: never; readonly lastContinuationToken?: never });
99
96
 
97
+ export const nilUuid = "00000000-0000-0000-0000-000000000000";
98
+
99
+ export const kontentUuidSchema = z.union([z.uuid({ version: "v4" }), z.literal(nilUuid)]);
100
+
100
101
  type Success = {
101
102
  readonly success: true;
102
103
  readonly error?: never;
@@ -8,12 +8,11 @@ import type { HttpService, RequestBody } from "../http/http.models.js";
8
8
  import { getDefaultHttpService } from "../http/http.service.js";
9
9
  import type { CommonHeaderNames, ContinuationHeaderName, Header, SDKInfo } from "../models/core.models.js";
10
10
  import type { JsonValue } from "../models/json.models.js";
11
- import type { EmptyObject } from "../models/utility.models.js";
12
11
  import { createSdkError } from "../utils/error.utils.js";
13
12
  import { getSdkIdHeader } from "../utils/header.utils.js";
14
13
  import type { NextPageStateWithRequest, Query, SdkConfig, SuccessfulHttpResponse } from "./sdk-models.js";
15
14
 
16
- export type QueryPromiseResult<TResponsePayload extends JsonValue, TMeta = EmptyObject> = ReturnType<
15
+ export type QueryPromiseResult<TResponsePayload extends JsonValue, TMeta> = ReturnType<
17
16
  Pick<Query<TResponsePayload, TMeta>, "toPromise">["toPromise"]
18
17
  >;
19
18
 
@@ -38,10 +37,11 @@ export type ResolveQueryData<TResponsePayload extends JsonValue, TRequestBody ex
38
37
  readonly authorizationApiKey: string | undefined;
39
38
  } & MetadataMapperConfig<TResponsePayload, TRequestBody, TMeta>;
40
39
 
41
- export function createQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta = EmptyObject>(
40
+ export function createQuery<TResponsePayload extends JsonValue, TRequestBody extends RequestBody, TMeta>(
42
41
  data: Omit<ResolveQueryData<TResponsePayload, TRequestBody, TMeta>, "continuationToken" | "nextPageState" | "pageIndex">,
43
- ): Pick<Query<TResponsePayload, TMeta>, "toPromise"> {
42
+ ): Pick<Query<TResponsePayload, TMeta>, "toPromise" | "schema"> {
44
43
  return {
44
+ schema: data.zodSchema,
45
45
  toPromise: async () => {
46
46
  return await resolveQueryAsync<TResponsePayload, TRequestBody, TMeta>({
47
47
  ...data,
@@ -0,0 +1,5 @@
1
+ import type { PagingQuery, Query } from "./sdk-models.js";
2
+
3
+ export function isPagingQuery<T, TBody = null>(query: Query<T, TBody> | PagingQuery<T, TBody>): query is PagingQuery<T, TBody> {
4
+ return "toPromise" in query && "toAllPromise" in query && "pages" in query;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+
3
+ export function getCodenameSchema<const TCodenames extends readonly string[]>(codenames?: TCodenames): z.ZodType<TCodenames[number]> {
4
+ return codenames && codenames.length > 0 ? z.enum(codenames) : z.string();
5
+ }
@@ -0,0 +1,19 @@
1
+ export function getEndpointUrl({
2
+ environmentId,
3
+ path,
4
+ baseUrl,
5
+ }: {
6
+ readonly environmentId: string;
7
+ readonly path: string;
8
+ readonly baseUrl: string;
9
+ }): string {
10
+ return `${removeTrailingSlashes(baseUrl)}${removeDuplicateSlashes(`/${environmentId}/${path}`)}`;
11
+ }
12
+
13
+ function removeDuplicateSlashes(path: string): string {
14
+ return path.replace(/\/+/g, "/");
15
+ }
16
+
17
+ function removeTrailingSlashes(path: string): string {
18
+ return path.replace(/\/+$/, "");
19
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontent-ai/core-sdk",
3
- "version": "12.0.0-preview.12",
3
+ "version": "12.0.0-preview.14",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/kontent-ai/core-sdk-js"