UNPKG

@dotcms/client

Version:

Official JavaScript library for interacting with DotCMS REST APIs.

46 lines (45 loc) 2.14 kB
import { DotGraphQLApiResponse, DotHttpClient } from '@dotcms/types'; /** * Builds a GraphQL query for retrieving page content from DotCMS. * * @param {string} pageQuery - Custom fragment fields to include in the ClientPage fragment * @param {string} additionalQueries - Additional GraphQL queries to include in the main query * @returns {string} Complete GraphQL query string for page content */ export declare const buildPageQuery: ({ page, fragments, additionalQueries, verbose }: { page?: string; fragments?: string[]; additionalQueries?: string; verbose?: boolean; }) => string; /** * Converts a record of query strings into a single GraphQL query string. * * @param {Record<string, string>} queryData - Object containing named query strings * @returns {string} Combined query string or empty string if no queryData provided */ export declare function buildQuery(queryData: Record<string, string>): string; /** * Filters response data to include only specified keys. * * @param {Record<string, unknown> | undefined} responseData - Original response data object * @param {string[]} keys - Array of keys to extract from the response data * @returns {Record<string, unknown> | undefined} New object containing only the specified keys */ export declare function mapContentResponse(responseData: Record<string, unknown> | undefined, keys: string[]): Record<string, unknown> | undefined; /** * Executes a GraphQL query against the DotCMS API. * * @param {Object} options - Options for the fetch request * @param {string} options.body - GraphQL query string * @param {Record<string, string>} options.headers - HTTP headers for the request * @param {DotHttpClient} options.httpClient - HTTP client for making requests * @returns {Promise<DotGraphQLApiResponse>} Parsed JSON response from the GraphQL API * @throws {DotHttpError} If the HTTP request fails (non-2xx status or network error) */ export declare function fetchGraphQL({ baseURL, body, headers, httpClient }: { baseURL: string; body: string; headers?: HeadersInit; httpClient: DotHttpClient; }): Promise<DotGraphQLApiResponse>;