this is partial section of CreateEwsObjectFromXmlElementName from serviceobjectinfo, other parts are moved to different object type like itemInfo etc.
this to is to avoid circular referencing with requirejs/commonjs/nodejs
var FolderInfo = (function (_super) {
__extends(FolderInfo, _super);
function FolderInfo() {
_super.apply(this, arguments);
}
FolderInfo.prototype.InitializeServiceObjectClassMap = function () {
// CalendarFolder
this.AddServiceObjectType(XmlElementNames_1.XmlElementNames.CalendarFolder, "CalendarFolder", function (srv) { return new CalendarFolder_1.CalendarFolder(srv); }, null);
// ContactsFolder
this.AddServiceObjectType(XmlElementNames_1.XmlElementNames.ContactsFolder, "ContactsFolder", function (srv) { return new ContactsFolder_1.ContactsFolder(srv); }, null);
// Folder
this.AddServiceObjectType(XmlElementNames_1.XmlElementNames.Folder, "Folder", function (srv) { return new Folder_1.Folder(srv); }, null);
// SearchFolder
this.AddServiceObjectType(XmlElementNames_1.XmlElementNames.SearchFolder, "SearchFolder", function (srv) { return new SearchFolder_1.SearchFolder(srv); }, null);
// TasksFolder
this.AddServiceObjectType(XmlElementNames_1.XmlElementNames.TasksFolder, "TasksFolder", function (srv) { return new TasksFolder_1.TasksFolder(srv); }, null);
};
FolderInfo.prototype.CreateEwsObjectFromXmlElementName = function (service, xmlElementName) {
//var itemClass = this.XmlElementNameToServiceObjectClassMap[xmlElementName];
//if (itemClass) {
// return new itemClass(service);
//no need of itemclass due to lack of type conversion and dictionary implementation in javascript
var creationDelegate = this.ServiceObjectConstructorsWithServiceParam[xmlElementName];
if (creationDelegate) {
return creationDelegate(service);
}
else
return null;
};
return FolderInfo;
})(ServiceObjectInfo_1.ServiceObjectInfo);
exports.FolderInfo = FolderInfo;