UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

40 lines (39 loc) 1.72 kB
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;