UNPKG

@kontent-ai/delivery-sdk

Version:
41 lines (40 loc) 2.14 kB
import { Contracts } from '../../contracts'; import { IDeliveryClientConfig } from '../../config'; import { IContentItem, IItemQueryConfig, IDeliveryNetworkResponse, Responses, ClientTypes } from '../../models'; import { QueryService } from '../../services'; import { BaseQuery } from '../common/base-query.class'; export declare class SingleItemQuery<TClientTypes extends ClientTypes, TContentItem extends IContentItem = IContentItem> extends BaseQuery<TClientTypes, Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>, IItemQueryConfig, Contracts.IViewContentItemContract> { protected config: IDeliveryClientConfig; protected queryService: QueryService<TClientTypes>; private codename; protected _queryConfig: IItemQueryConfig; constructor(config: IDeliveryClientConfig, queryService: QueryService<TClientTypes>, codename: string); /** * Indicates depth of query that affects loading of nested linked items. * @param depth Depth of the query (> 0) */ depthParameter(depth: number): this; /** * Used to configure query * @param queryConfig Query configuration */ queryConfig(queryConfig: IItemQueryConfig): this; /** * Language codename * @param languageCodename Codename of the language */ languageParameter(languageCodename: TClientTypes['languageCodenames']): this; /** * Used to limit the number of elements returned by query. * @param elementCodenames Array of element codenames to fetch */ elementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this; /** * Used to exclude elements returned by query. * @param elementCodenames Array of element codenames to exclude */ excludeElementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this; toPromise(): Promise<IDeliveryNetworkResponse<Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>, Contracts.IViewContentItemContract>>; getUrl(): string; map(json: any): Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>; }