kentico-cloud-delivery
Version: 
Official Kentico Cloud Delivery SDK
36 lines • 1.54 kB
JavaScript
import { FieldMapper } from '../mappers';
var ItemMapper = /** @class */ (function () {
    function ItemMapper(config, richTextHtmlParser) {
        this.config = config;
        this.richTextHtmlParser = richTextHtmlParser;
        this.fieldMapper = new FieldMapper(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(response.item, response.modular_content, 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;
        return response.items.map(function (item) {
            return that.mapItem(item, response.modular_content, queryConfig);
        });
    };
    ItemMapper.prototype.mapItem = function (item, modularContent, queryConfig) {
        if (item == null) {
            throw Error("Could not map item because its undefined");
        }
        return this.fieldMapper.mapFields(item, modularContent, queryConfig, []);
    };
    return ItemMapper;
}());
export { ItemMapper };
//# sourceMappingURL=item.mapper.js.map