@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
47 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PageResourceMenusConverter = void 0;
const ta_json_1 = require("ta-json");
const menu_item_1 = require("../models/pages/menu-item");
class PageResourceMenusConverter {
/**
* Serializes a string map of arrays of {@link MenuItem}s.
*
* @param value - The map of strings to arrays of {@link MenuItem}s
* @returns A JSON value object.
*/
serialize(value) {
const result = {};
Object.keys(value).forEach(menuName => {
const menu = value[menuName];
result[menuName] = menu.map(menuItem => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return ta_json_1.TaJson.serialize(menuItem);
});
});
return result;
}
/**
* Deserializes a JSON object into a string map of arrays of {@link MenuItem}s.
*
* @param value - A JSON object
* @returns A mapping of strings to arrays of {@link MenuItem}s.
*/
deserialize(value) {
if (!value) {
return {};
}
const result = {};
Object.keys(value).forEach(menuName => {
const menu = value[menuName];
if (Array.isArray(menu)) {
result[menuName] = menu.map(menuItem => {
return ta_json_1.TaJson.deserialize(menuItem, menu_item_1.MenuItem);
});
}
});
return result;
}
}
exports.PageResourceMenusConverter = PageResourceMenusConverter;
//# sourceMappingURL=page-resource-menus-converter.js.map