67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
var assert = require('assert');
|
|
var fs = require('fs');
|
|
var VCard = require('../index.js');
|
|
|
|
VCard.debug = function(any){
|
|
if(any instanceof VCard.Item){
|
|
if(/^(photo)$/i.test(any.name) || typeof any._origin !== 'string')
|
|
return;
|
|
|
|
var vCard = any._vCard;
|
|
var line = any._origin;
|
|
var text = any.toString(vCard.version);
|
|
var json = any.toJSON();
|
|
|
|
if(text.toLowerCase() === line.toLowerCase())
|
|
return;
|
|
|
|
console.log('\n\nfilename : %s\nversion\t : %s', vCard._filename, vCard.version);
|
|
console.log('origin\t : %s', any._origin);
|
|
console.log('text\t : %s', text);
|
|
console.log('json\t : %j', json);
|
|
}else if(any instanceof VCard){
|
|
if(isNaN(any.version)){
|
|
console.log('\n\nfilename : %s\nversion\t : %s', any._filename, any.version);
|
|
}
|
|
}
|
|
};
|
|
|
|
var dir = '' || __dirname;
|
|
fs.readdir(dir, function(err, files){
|
|
if(err)
|
|
throw err;
|
|
for(var i in files)
|
|
(function(file){
|
|
if(/\.vcf$/i.test(file)){
|
|
var filename = dir + '/'+ file;
|
|
VCard.readFile(filename, {
|
|
filter : function(any){
|
|
if(any instanceof VCard){
|
|
return /^(2\.1|3\.0|4\.0)$/.test(any.version);
|
|
}
|
|
return true;
|
|
}
|
|
}, function(err, list, data){
|
|
if(err)
|
|
throw err;
|
|
var jsonStr = JSON.stringify(list, null, ' ');
|
|
var jsonArr = JSON.parse(jsonStr);
|
|
list = VCard.parse(jsonArr);
|
|
|
|
list.forEach(function(vCard){
|
|
var version = vCard.find('version')[0].value;
|
|
assert.ok(vCard.remove('version'))
|
|
assert.equal(vCard.add('VERSION:'+version).value, version);
|
|
});
|
|
|
|
jsonArr = list.map(function(vCard){
|
|
return vCard.toJSON();
|
|
});
|
|
|
|
fs.writeFileSync(filename + '.txt', VCard.serialize(jsonArr));
|
|
fs.writeFileSync(filename + '.json', jsonStr);
|
|
});
|
|
}
|
|
})(files[i]);
|
|
});
|