/*! * SAPUI5 * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. */ import Log from "sap/base/Log"; import { defaultSearchConfigurationSettings, urlForbiddenParameters } from "./SearchConfigurationSettings"; import { ObjectSafeAssignment, ListSafeAssignment, StringSafeAssigment, } from "./sinaNexTS/core/safeAssignmentUtil"; import { sinaConfigurationSafeAssignment } from "./sinaNexTS/sina/sinaConfigurationSafeAssigment"; const logger = Log.getLogger("sap.esh.search.ui.searchConfigurationSafeAssignment"); const logWarn = logger.warning.bind(logger); // all sina configuration properties except : forbidden properties / sinaConfiguration / resultViewTypes / eventConsumers const sinaConfigurationProperties = Object.keys(defaultSearchConfigurationSettings).filter( (property) => ![...urlForbiddenParameters, "sinaConfiguration", "resultViewTypes", "eventConsumers"].includes( property ) ); export const searchConfigurationSafeAssigment = new ObjectSafeAssignment({ log: logWarn, properties: [ ...sinaConfigurationProperties, { name: "sinaConfiguration", safeAssigment: sinaConfigurationSafeAssignment, }, { name: "resultViewTypes", safeAssigment: new ListSafeAssignment({ listElementSafeAssigment: new StringSafeAssigment(logWarn), }), }, { name: "eventConsumers", safeAssigment: new ListSafeAssignment({ log: logWarn, listElementSafeAssigment: new ObjectSafeAssignment({ log: logWarn, properties: ["label"] }), }), }, { name: /SuggestionsLimit$/ }, { name: /SuggestionsLimitAll$/ }, ], });