UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

76 lines 3.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var element_mapper_1 = require("./element.mapper"); var ItemMapper = /** @class */ (function () { function ItemMapper(config, richTextHtmlParser) { this.config = config; this.richTextHtmlParser = richTextHtmlParser; this.elementMapper = new element_mapper_1.ElementMapper(config, richTextHtmlParser); } /** * 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 */ ItemMapper.prototype.mapSingleItem = function (response, queryConfig) { return this.mapItem({ item: response.item, modularContent: response.modular_content, preparedItems: {}, processedItems: {}, rocessingStartedForCodenames: [], queryConfig: queryConfig }); }; /** * 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 */ ItemMapper.prototype.mapMultipleItems = function (response, queryConfig) { var that = this; var processedItems = {}; var preparedItems = {}; var processingStartedForCodenames = []; var mappedItems = []; response.items.forEach(function (item) { var mappedItem = that.mapItem({ item: item, modularContent: response.modular_content, processedItems: processedItems, queryConfig: queryConfig, preparedItems: preparedItems, rocessingStartedForCodenames: processingStartedForCodenames }); mappedItems.push(mappedItem.item); }); return { items: mappedItems, processedItems: processedItems, preparedItems: preparedItems, processingStartedForCodenames: processingStartedForCodenames }; }; ItemMapper.prototype.mapItem = function (data) { if (!data.item) { throw Error("Could not map item because its undefined"); } var result = this.elementMapper.mapElements({ item: data.item, modularContent: data.modularContent, preparedItems: {}, processingStartedForCodenames: [], processedItems: data.processedItems, queryConfig: data.queryConfig }); return { item: result.item, processedItems: result.processedItems, preparedItems: result.preparedItems, processingStartedForCodenames: result.processingStartedForCodenames }; }; return ItemMapper; }()); exports.ItemMapper = ItemMapper; //# sourceMappingURL=item.mapper.js.map