kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
40 lines (39 loc) • 1.72 kB
TypeScript
import { ItemContracts } from '../data-contracts';
import { ContentItemSystemAttributes, IContentItem, ITypeResolverData } from '../models';
import { TypeResolver } from '../models/item/type-resolver.class';
export declare class DeliveryItemStronglyTypeResolver {
private readonly systemElementName;
private readonly elementsElementName;
/**
* Creates item instance using either TypeResolver (if registered) or returns ContentItem
*/
createItemInstance<TItem extends IContentItem = IContentItem>(type: string, data: ITypeResolverData, typeResolvers: TypeResolver[]): TItem;
/**
* Maps raw system response to strongly typed class
* @param rawSystem Raw system response
*/
mapSystemAttributes(rawSystem: ItemContracts.IContentItemSystemAttributesContract): ContentItemSystemAttributes;
/**
* Creates new instance of given type
* @param type Type of the content item
* @param resolvers Type resolvers
*/
private createInstanceWithResolver;
/**
* Gets TypeResolver associated with given type (type = codename of Kentico Cloud content type)
* @param type Kentico Cloud content type codename
* @param resolvers Array of TypeResolver
*/
private getTypeResolver;
/**
* Creates base ContentItem when content type does not have a strongly typed model
*/
private createContentItem;
/**
* Maps default properties (system & elements)
* @param item Mapped content item
* @param rawItem Raw content item from response
*/
private assignRequiredContentItemData;
}
export declare const stronglyTypedResolver: DeliveryItemStronglyTypeResolver;