kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
36 lines (35 loc) • 1.76 kB
TypeScript
import { IDeliveryClientConfig } from '../config';
import { ItemContracts } from '../data-contracts';
import { IContentItem, IContentItemsContainer, IItemQueryConfig } from '../models';
import { IRichTextHtmlParser } from '../parser';
export interface MapItemResult<TItem extends IContentItem = IContentItem> {
item: TItem;
processedItems: IContentItemsContainer;
preparedItems: IContentItemsContainer;
processingStartedForCodenames: string[];
}
export interface MapItemsResult<TItem extends IContentItem = IContentItem> {
items: TItem[];
processedItems: IContentItemsContainer;
preparedItems: IContentItemsContainer;
processingStartedForCodenames: string[];
}
export declare class ItemMapper {
readonly config: IDeliveryClientConfig;
readonly richTextHtmlParser: IRichTextHtmlParser;
private readonly elementMapper;
constructor(config: IDeliveryClientConfig, richTextHtmlParser: IRichTextHtmlParser);
/**
* Maps single item to its proper strongly typed model from the given Cloud response
* @param response Cloud response used to map the item
* @param queryConfig Query configuration
*/
mapSingleItem<TItem extends IContentItem = IContentItem>(response: ItemContracts.IViewContentItemContract, queryConfig: IItemQueryConfig): MapItemResult<TItem>;
/**
* Maps multiple items to their strongly typed model from the given Cloud response
* @param response Cloud response used to map the item
* @param queryConfig Query configuration
*/
mapMultipleItems<TItem extends IContentItem = IContentItem>(response: ItemContracts.IListContentItemsContract, queryConfig: IItemQueryConfig): MapItemsResult<TItem>;
private mapItem;
}