UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

36 lines (35 loc) 1.76 kB
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; }