JsonObject
service, collectionJsonElementName, getObjectInstanceDelegate, clearPropertyBag, requestedPropertySet, summaryPropertiesOnly) {
var serviceObjects = [];
var serviceObject = null;
var collectionItems = jsonResponse[collectionJsonElementName];
for (var key in collectionItems) {
if (key.indexOf("__") === 0)
continue;
var jsonServiceObjects = collectionItems[key];
if (!Array.isArray(jsonServiceObjects)) {
jsonServiceObjects = [jsonServiceObjects];
}
for (var _i = 0; _i < jsonServiceObjects.length; _i++) {
var jsonServiceObject = jsonServiceObjects[_i];
if (jsonServiceObject != null) {
var typeName = ExtensionMethods_1.TypeSystem.GetJsObjectTypeName(jsonServiceObject);
if (ExtensionMethods_1.StringHelper.IsNullOrEmpty(typeName))
debugger; //check why typeName is empty - may be invalid xml parsing by xml2js
serviceObject = getObjectInstanceDelegate(service, typeName || key);
if (serviceObject != null) {
if ((typeName || key) !== serviceObject.GetXmlElementName()) {
throw new ServiceLocalException_1.ServiceLocalException(ExtensionMethods_1.StringHelper.Format("The type of the object in the store ({0}) does not match that of the local object ({1}).", typeName, serviceObject.GetXmlElementName()));
}
serviceObject.LoadFromXmlJsObject(jsonServiceObject, service, clearPropertyBag, requestedPropertySet, summaryPropertiesOnly);
serviceObjects.push(serviceObject);
}
else
debugger;
}
}
}
return serviceObjects;
};
return EwsServiceJsonReader;
})();
exports.EwsServiceJsonReader = EwsServiceJsonReader;