function isSerializable(vPrimitiveOrObject, vIndexOrKey, vParent) {
		// check for primitives: boolean, undefined, null, number, string, symbol
		if (Object(vPrimitiveOrObject) !== vPrimitiveOrObject) {
			return true;
		}
		if (typeof vPrimitiveOrObject === "function") { // function
			return false;
		}
		if (typeof vPrimitiveOrObject === "object") {
			if (Array.isArray(vPrimitiveOrObject)) { // array
				return vPrimitiveOrObject.every(isSerializable);
			} else if (vPrimitiveOrObject instanceof Map) { // map -> convert to object
				var oMapEquivalent = {};
				vPrimitiveOrObject.forEach(function(vValue, sKey) {
					oMapEquivalent[sKey] = vValue;
				});
				if (vParent) {
					vParent[vIndexOrKey] = oMapEquivalent;
				}
				vPrimitiveOrObject = oMapEquivalent;
			}
			return Object.keys(vPrimitiveOrObject).every(function(sKey) { // object
				return isSerializable(vPrimitiveOrObject[sKey], sKey, vPrimitiveOrObject);
			});
		}
		return false;
	}
Object containing the detailed information about design time properties of the passed control.

@typedef {object} sap.ui.rta.service.Property.PropertyObject
@since 1.58
@private
@ui5-restricted
@property {object} name - Name object from design time metadata
@property {object} properties - Properties object from design time metadata and control metadata
@property {object} annotations - Annotations object from design time metadata
@property {string} [label] - Label from <code>getLabel</code> property of design time metadata
@property {object} [links] - Links from design time metadata