kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
33 lines (32 loc) • 1.73 kB
TypeScript
import { IDeliveryClientConfig } from '../config';
import { ItemContracts } from '../data-contracts';
import { IItemQueryConfig } from '../interfaces';
import { ContentItem } from '../models';
import { IRichTextHtmlParser } from '../parser/parse-models';
export declare class FieldMapper {
private readonly config;
private readonly richTextHtmlParser;
private readonly defaultModularContentWrapperTag;
private readonly defaultModularContentWrapperClasses;
constructor(config: IDeliveryClientConfig, richTextHtmlParser: IRichTextHtmlParser);
/**
* Maps all fields in given content item and returns strongly typed content item based on the resolver specified
* in DeliveryClientConfig
* @param item Item to map (raw response from Kentico Cloud)
* @param modularContent Modular content sent along with item
* @param queryConfig Query configuration
*/
mapFields<TItem extends ContentItem>(item: ItemContracts.IContentItemContract, modularContent: any, queryConfig: IItemQueryConfig, processedItems: ContentItem[]): TItem;
private mapField(field, modularContent, item, queryConfig, processedItems);
private mapRichTextField(field, modularContent, queryConfig, processedItems);
private mapDateTimeField(field);
private mapMultipleChoiceField(field);
private mapNumberField(field);
private mapTextField(field);
private mapAssetsField(field);
private mapTaxonomyField(field);
private mapUrlSlugField(field, item, queryConfig);
private mapModularField(field, modularContent, queryConfig, processedItems);
private getLinkResolverForUrlSlugField(item, queryConfig);
private mapRichTextLinks(linksJson);
}