in JSLib/src/odata-json-light.js [323:354]
var jsonLightApplyMediaAnnotation = function (name, target, targetType, value, obj, baseURI) {
/// <summary>
/// Converts a JSON light media annotation in and its value into their library's internal representation
/// and saves it back to data or metadata.
/// </summary>
/// <param name="name" type="String">Annotation name.</param>
/// <param name="target" type="String">Name of the property on which the annotation should be applied.</param>
/// <param name="targetType" type="String">Type name of the target property.</param>
/// <param name="value" type="Object">Annotation value.</param>
/// <param name="obj" type="Object">Object that will hold properties produced by the annotation.</param>
/// <param name="baseURI" type="String">Base URI for normalizing relative URIs found in the payload.</param>
var metadata = obj.__metadata = obj.__metadata || {};
var mappedName = jsonLightNameMap[name];
if (name === "mediaReadLink" || name === "mediaEditLink") {
value = normalizeURI(value, baseURI);
}
if (target) {
var propertiesMetadata = metadata.properties = metadata.properties || {};
var propertyMetadata = propertiesMetadata[target] = propertiesMetadata[target] || {};
propertyMetadata.type = propertyMetadata.type || targetType;
obj.__metadata = metadata;
obj[target] = obj[target] || { __mediaresource: {} };
obj[target].__mediaresource[mappedName] = value;
return;
}
metadata[mappedName] = value;
};