You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					42 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					42 lines
				
				1.1 KiB
			| 
											3 years ago
										 | /** | ||
|  |  * Convert input to process stdout | ||
|  |  */ | ||
|  | 
 | ||
|  | //implementation
 | ||
|  | var Converter = require("../../core/Converter.js"); | ||
|  | function _initConverter(){ | ||
|  |     var csvConverter = new Converter(); | ||
|  |     var started = false; | ||
|  |     var writeStream = process.stdout; | ||
|  |     csvConverter.on("record_parsed",function(rowJSON){ | ||
|  |         if (started){ | ||
|  |             writeStream.write(",\n"); | ||
|  |         } | ||
|  |         writeStream.write(JSON.stringify(rowJSON));  //write parsed JSON object one by one.
 | ||
|  |         if (started === false){ | ||
|  |             started = true; | ||
|  |         } | ||
|  |     }); | ||
|  |     writeStream.write("[\n"); //write array symbol
 | ||
|  | 
 | ||
|  |     csvConverter.on("end_parsed",function(){ | ||
|  |         writeStream.write("\n]"); //end array symbol
 | ||
|  |     }); | ||
|  |     csvConverter.on("error",function(err){ | ||
|  |         console.error(err); | ||
|  |         process.exit(-1); | ||
|  |     }); | ||
|  |     return csvConverter; | ||
|  | } | ||
|  | function convertFile(fileName){ | ||
|  |     var csvConverter=_initConverter(); | ||
|  |     csvConverter.from(fileName); | ||
|  | } | ||
|  | 
 | ||
|  | function convertString(csvString){ | ||
|  |     var csvConverter=_initConverter(); | ||
|  |     csvConverter.from(csvString); | ||
|  | } | ||
|  | //module interfaces
 | ||
|  | module.exports.convertFile = convertFile; | ||
|  | module.exports.convertString = convertString; |