rets-client
Advanced tools
Comparing version
@@ -73,52 +73,65 @@ /*jshint node:true */ | ||
var metaObj = {}; | ||
var i, j; | ||
if (metadataXml.length === 1) { | ||
return processMetaItem(metadataXml[0], dataType); | ||
} | ||
var metaObjList = []; | ||
for(var metaItem = 0; metaItem < metadataXml.length; metaItem++) { | ||
//parse columns | ||
var columnsDtLst = metadataXml[metaItem].COLUMNS; | ||
var columns = []; | ||
if (columnsDtLst && columnsDtLst.length > 0) { | ||
var tmpCols = columnsDtLst[0].split("\t"); | ||
for(i = 1; i < tmpCols.length-1; i++) { | ||
columns.push(tmpCols[i]); | ||
} | ||
} | ||
metaObjList.push(processMetaItem(metadataXml[metaItem], dataType)); | ||
} | ||
//parse data list | ||
var dataLst = metadataXml[metaItem].DATA; | ||
var rows = []; | ||
for(i = 0; i < dataLst.length; i++) { | ||
var tmpData = dataLst[i].split("\t"); | ||
var rowData = []; | ||
for(j = 1; j < tmpData.length-1; j++) { | ||
rowData.push(tmpData[j]); | ||
} | ||
rows.push(rowData); | ||
} | ||
return metaObjList; | ||
}; | ||
//map cols & rows into object | ||
var metaDataLst = []; | ||
function processMetaItem(metaItem, dataType) { | ||
for(i = 0; i < rows.length; i++) { | ||
var res = {}; | ||
for(j = 0; j < columns.length; j++) { | ||
res[columns[j]] = rows[i][j]; | ||
} | ||
var i, j; | ||
var metaObj = {}; | ||
//parse columns | ||
var columnsDtLst = metaItem.COLUMNS; | ||
var columns = []; | ||
if (columnsDtLst && columnsDtLst.length > 0) { | ||
var tmpCols = columnsDtLst[0].split("\t"); | ||
for(i = 1; i < tmpCols.length-1; i++) { | ||
columns.push(tmpCols[i]); | ||
} | ||
} | ||
metaDataLst.push(res); | ||
//parse data list | ||
var dataLst = metaItem.DATA; | ||
var rows = []; | ||
for(i = 0; i < dataLst.length; i++) { | ||
var tmpData = dataLst[i].split("\t"); | ||
var rowData = []; | ||
for(j = 1; j < tmpData.length-1; j++) { | ||
rowData.push(tmpData[j]); | ||
} | ||
rows.push(rowData); | ||
} | ||
var metaAttrs = metadataXml[metaItem].$; | ||
//map cols & rows into object | ||
var metaDataLst = []; | ||
for(var key in metaAttrs) { | ||
metaObj[key] = metaAttrs[key]; | ||
for(i = 0; i < rows.length; i++) { | ||
var res = {}; | ||
for(j = 0; j < columns.length; j++) { | ||
res[columns[j]] = rows[i][j]; | ||
} | ||
if (!dataType) dataType = "Data"; | ||
metaDataLst.push(res); | ||
} | ||
metaObj[dataType] = metaDataLst; | ||
var metaAttrs = metaItem.$; | ||
for(var key in metaAttrs) { | ||
metaObj[key] = metaAttrs[key]; | ||
} | ||
if (!dataType) dataType = "Data"; | ||
metaObj[dataType] = metaDataLst; | ||
return metaObj; | ||
}; | ||
} | ||
@@ -125,0 +138,0 @@ /** |
{ | ||
"name": "rets-client", | ||
"version": "1.1.25", | ||
"version": "1.2.0", | ||
"description": "A RETS client (Real Estate Transaction Standard).", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -149,17 +149,22 @@ /*jshint node:true */ | ||
assert.ifError(error); | ||
assert.isNotNull(data, "Data is present"); | ||
assert(data.Classes, "data.Classes is present"); | ||
assert.typeOf(data.Classes, 'array', "data.Classes is an array"); | ||
assert(data.Version, "data.Version field is present"); | ||
assert(data.Date, "data.Date field is present"); | ||
assert(data.Resource, "data.Resource field is present"); | ||
for(var classItem = 0; classItem < data.Classes.length; classItem++) { | ||
assert.isArray(data); | ||
for(var i = 0; i < data.length; i++) { | ||
var cls = data[i]; | ||
assert.isNotNull(cls, "Data is present"); | ||
assert(cls.Classes, "data.Classes is present"); | ||
assert.typeOf(cls.Classes, 'array', "data.Classes is an array"); | ||
assert(cls.Version, "data.Version field is present"); | ||
assert(cls.Date, "data.Date field is present"); | ||
assert(cls.Resource, "data.Resource field is present"); | ||
for(var classItem = 0; classItem < cls.Classes.length; classItem++) { | ||
assert.isNotNull(data.Classes[classItem]); | ||
assert(data.Classes[classItem].ClassName, "data.Classes["+classItem+"] ClassName field is present"); | ||
assert(data.Classes[classItem].StandardName, "data.Classes["+classItem+"] StandardName field is present"); | ||
assert(data.Classes[classItem].VisibleName, "data.Classes["+classItem+"] VisibleName field is present"); | ||
assert(data.Classes[classItem].TableVersion, "data.Classes["+classItem+"] TableVersion field is present"); | ||
assert.isNotNull(cls.Classes[classItem]); | ||
assert(cls.Classes[classItem].ClassName, "cls.Classes["+classItem+"] ClassName field is present"); | ||
assert(cls.Classes[classItem].StandardName, "cls.Classes["+classItem+"] StandardName field is present"); | ||
assert(cls.Classes[classItem].VisibleName, "cls.Classes["+classItem+"] VisibleName field is present"); | ||
assert(cls.Classes[classItem].TableVersion, "cls.Classes["+classItem+"] TableVersion field is present"); | ||
} | ||
} | ||
client.logout(function(error){ | ||
@@ -251,19 +256,23 @@ assert.ifError(error); | ||
assert.ifError(error); | ||
assert.isNotNull(data, "Data is present"); | ||
assert(data.Fields, "data.Fields is present"); | ||
assert.typeOf(data.Fields, 'array', "data.Fields is an array"); | ||
assert.isArray(data); | ||
for(var i = 0; i < data.length; i++) { | ||
var tbl = data[i]; | ||
assert.isNotNull(tbl, "Data is present"); | ||
assert(tbl.Fields, "data.Fields is present"); | ||
assert.typeOf(tbl.Fields, 'array', "data.Fields is an array"); | ||
assert(data.Version, "data.Version field is present"); | ||
assert(data.Date, "data.Date field is present"); | ||
assert(data.Resource, "data.Resource field is present"); | ||
assert(data.Class, "data.Class field is present"); | ||
assert(tbl.Version, "data.Version field is present"); | ||
assert(tbl.Date, "data.Date field is present"); | ||
assert(tbl.Resource, "data.Resource field is present"); | ||
assert(tbl.Class, "data.Class field is present"); | ||
for(var fieldItem = 0; fieldItem < data.Fields.length; fieldItem++) { | ||
for(var fieldItem = 0; fieldItem < tbl.Fields.length; fieldItem++) { | ||
assert.isNotNull(data.Fields[fieldItem]); | ||
assert(data.Fields[fieldItem].MetadataEntryID, "data.Fields["+fieldItem+"] MetadataEntryID field is present"); | ||
assert(data.Fields[fieldItem].SystemName, "data.Fields["+fieldItem+"] SystemName field is present"); | ||
assert(data.Fields[fieldItem].ShortName, "data.Fields["+fieldItem+"] ShortName field is present"); | ||
assert(data.Fields[fieldItem].LongName, "data.Fields["+fieldItem+"] LongName field is present"); | ||
assert(data.Fields[fieldItem].DataType, "data.Fields["+fieldItem+"] DataType field is present"); | ||
assert.isNotNull(tbl.Fields[fieldItem]); | ||
assert(tbl.Fields[fieldItem].MetadataEntryID, "tbl.Fields["+fieldItem+"] MetadataEntryID field is present"); | ||
assert(tbl.Fields[fieldItem].SystemName, "tbl.Fields["+fieldItem+"] SystemName field is present"); | ||
assert(tbl.Fields[fieldItem].ShortName, "tbl.Fields["+fieldItem+"] ShortName field is present"); | ||
assert(tbl.Fields[fieldItem].LongName, "tbl.Fields["+fieldItem+"] LongName field is present"); | ||
assert(tbl.Fields[fieldItem].DataType, "tbl.Fields["+fieldItem+"] DataType field is present"); | ||
} | ||
} | ||
@@ -357,22 +366,26 @@ | ||
assert.ifError(error); | ||
assert.isNotNull(data, "Data is present"); | ||
assert.isArray(data); | ||
assert(data.Lookups, "data.Lookups is present"); | ||
assert.typeOf(data.Lookups, 'array', "data.Lookups is an array"); | ||
for(var i = 0; i < data.length; i++) { | ||
var lookup = data[i]; | ||
assert.isNotNull(lookup, "Data is present"); | ||
assert(data.Version, "data.Version field is present"); | ||
assert(data.Date, "data.Date field is present"); | ||
assert(data.Resource, "data.Resource field is present"); | ||
assert(lookup.Lookups, "data.Lookups is present"); | ||
assert.typeOf(lookup.Lookups, 'array', "data.Lookups is an array"); | ||
assert(lookup.Version, "data.Version field is present"); | ||
assert(lookup.Date, "data.Date field is present"); | ||
assert(lookup.Resource, "data.Resource field is present"); | ||
for(var lookupItem = 0; lookupItem < data.Lookups.length; lookupItem++) { | ||
assert.isNotNull(data.Lookups[lookupItem]); | ||
assert(data.Lookups[lookupItem].MetaDataEntryID, "data.Lookups["+lookupItem+"] MetadataEntryID field is present"); | ||
assert(data.Lookups[lookupItem].LookupName, "data.Lookups["+lookupItem+"] LookupName field is present"); | ||
assert(data.Lookups[lookupItem].VisibleName, "data.Lookups["+lookupItem+"] VisibleName field is present"); | ||
assert(data.Lookups[lookupItem].Version, "data.Lookups["+lookupItem+"] Version field is present"); | ||
assert(data.Lookups[lookupItem].Date, "data.Lookups["+lookupItem+"] Date field is present"); | ||
for(var lookupItem = 0; lookupItem < lookup.Lookups.length; lookupItem++) { | ||
assert.isNotNull(lookup.Lookups[lookupItem]); | ||
assert(lookup.Lookups[lookupItem].MetadataEntryID, "lookup.Lookups["+lookupItem+"] MetadataEntryID field is present"); | ||
assert(lookup.Lookups[lookupItem].LookupName, "lookup.Lookups["+lookupItem+"] LookupName field is present"); | ||
assert(lookup.Lookups[lookupItem].VisibleName, "lookup.Lookups["+lookupItem+"] VisibleName field is present"); | ||
} | ||
} | ||
client.logout(function(error){ | ||
@@ -422,7 +435,5 @@ assert.ifError(error); | ||
assert.isNotNull(data.Lookups[lookupItem]); | ||
assert(data.Lookups[lookupItem].MetaDataEntryID, "data.Lookups["+lookupItem+"] MetadataEntryID field is present"); | ||
assert(data.Lookups[lookupItem].MetadataEntryID, "data.Lookups["+lookupItem+"] MetadataEntryID field is present"); | ||
assert(data.Lookups[lookupItem].LookupName, "data.Lookups["+lookupItem+"] LookupName field is present"); | ||
assert(data.Lookups[lookupItem].VisibleName, "data.Lookups["+lookupItem+"] VisibleName field is present"); | ||
assert(data.Lookups[lookupItem].Version, "data.Lookups["+lookupItem+"] Version field is present"); | ||
assert(data.Lookups[lookupItem].Date, "data.Lookups["+lookupItem+"] Date field is present"); | ||
} | ||
@@ -464,19 +475,26 @@ | ||
assert.ifError(error); | ||
assert.isNotNull(data, "Data is present"); | ||
assert(data.LookupTypes, "data.LookupTypes is present"); | ||
assert.typeOf(data.LookupTypes, 'array', "data.LookupTypes is an array"); | ||
assert(data.Version, "data.Version field is present"); | ||
assert(data.Date, "data.Date field is present"); | ||
assert(data.Resource, "data.Resource field is present"); | ||
assert(data.Lookup, "data.Lookup field is present"); | ||
assert.isArray(data); | ||
for(var lookupTypeItem = 0; lookupTypeItem < data.LookupTypes.length; lookupTypeItem++) { | ||
for(var i = 0; i < data.length; i++) { | ||
var lookupType = data[i]; | ||
assert.isNotNull(data.LookupTypes[lookupTypeItem]); | ||
assert.isNotNull(lookupType, "Data is present"); | ||
assert(lookupType.LookupTypes, "data.LookupTypes is present"); | ||
assert.typeOf(lookupType.LookupTypes, 'array', "data.LookupTypes is an array"); | ||
assert(data.LookupTypes[lookupTypeItem].MetadataEntryID, "data.LookupTypes["+lookupTypeItem+"] MetadataEntryID field is present"); | ||
assert(data.LookupTypes[lookupTypeItem].LongValue, "data.LookupTypes["+lookupTypeItem+"] LongValue field is present"); | ||
assert(data.LookupTypes[lookupTypeItem].ShortValue, "data.LookupTypes["+lookupTypeItem+"] ShortValue field is present"); | ||
assert(data.LookupTypes[lookupTypeItem].Value, "data.LookupTypes["+lookupTypeItem+"] Value field is present"); | ||
assert(lookupType.Version, "data.Version field is present"); | ||
assert(lookupType.Date, "data.Date field is present"); | ||
assert(lookupType.Resource, "data.Resource field is present"); | ||
assert(lookupType.Lookup, "data.Lookup field is present"); | ||
for(var lookupTypeItem = 0; lookupTypeItem < lookupType.LookupTypes.length; lookupTypeItem++) { | ||
assert.isNotNull(lookupType.LookupTypes[lookupTypeItem]); | ||
assert(lookupType.LookupTypes[lookupTypeItem].MetadataEntryID, "lookupType.LookupTypes["+lookupTypeItem+"] MetadataEntryID field is present"); | ||
assert(lookupType.LookupTypes[lookupTypeItem].LongValue, "lookupType.LookupTypes["+lookupTypeItem+"] LongValue field is present"); | ||
assert(lookupType.LookupTypes[lookupTypeItem].ShortValue, "lookupType.LookupTypes["+lookupTypeItem+"] ShortValue field is present"); | ||
assert(lookupType.LookupTypes[lookupTypeItem].Value, "lookupType.LookupTypes["+lookupTypeItem+"] Value field is present"); | ||
} | ||
} | ||
@@ -483,0 +501,0 @@ |
108308
0.52%2458
0.82%