kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
76 lines • 3.02 kB
JavaScript
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
;