UNPKG

appjs-package2

Version:

packaged resource module with streaming support

47 lines (42 loc) 1.29 kB
var fs=require('fs'); var file = __filename; //var binfile = "rainbowsky.jpg";//a binary file to test with. var b64Streamer = require('./base64-streamer.js'); console.log("input file:",file); var read = fs.createReadStream(file); var encode = b64Streamer.Encoder(); var decode = b64Streamer.Decoder(); var readStreamText = ""; read.on('data',function(dat) { readStreamText += dat; }); var encodeText = ""; encode.on('data',function(dat) { encodeText += dat; }); encode.on('end',function(dat) { fs.readFile(file,function(err,data) { /* Test1: stream encode == static encode */ console.log(encodeText == data.toString('base64'),"stream encode == static encode"); }); }); read.pipe(encode); var decodeStreamText = ""; decode.on('data',function(dat) { decodeStreamText += dat; }); decode.on('end',function() { /* Test2: decoded text == read text */ console.log(decodeStreamText == readStreamText,"decodedText = readText"); }); encode.pipe(decode); if (binfile) { var bread = fs.createReadStream(binfile); var bencode = b64Streamer.Encoder(); var bdecode = b64Streamer.Decoder(); var write2 = fs.createWriteStream(binfile+'.base64'); var write3 = fs.createWriteStream(binfile+'.unbase64'); bread.pipe(bencode); bencode.pipe(write2); bencode.pipe(bdecode).pipe(write3); }