UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

43 lines 1.42 kB
import { TaJson } from "ta-json"; import { MenuItem } from "../models/pages/menu-item"; export 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 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 TaJson.deserialize(menuItem, MenuItem); }); } }); return result; } } //# sourceMappingURL=page-resource-menus-converter.js.map