Skip to content

Instantly share code, notes, and snippets.

@ryankurte
Created March 25, 2015 01:45
Show Gist options
  • Save ryankurte/702029c4df4911279468 to your computer and use it in GitHub Desktop.
Save ryankurte/702029c4df4911279468 to your computer and use it in GitHub Desktop.
Javascript data compressor and decompressor
var winston = require('winston');
var compressjs = require('compressjs');
var algorithm = compressjs.Bzip2;
exports.compressString = function(string) {
var bufferedString = new Buffer(string, 'utf8');
var compressedString = algorithm.compressFile(bufferedString);
var encodedString = new Buffer(compressedString).toString('base64');
return encodedString;
}
exports.decompressString = function(string) {
var unencodedString = new Buffer(string, 'base64');
var decompressedString = algorithm.decompressFile(unencodedString);
var originalString = new Buffer(decompressedString).toString('utf8');
return originalString;
}
exports.compressData = function(data) {
var jsonString = JSON.stringify(data);
var compressedData = exports.compressString(jsonString);
return compressedData;
}
exports.decompressData = function(data) {
var jsonString = exports.decompressString(data);
var actualData = JSON.parse(jsonString);
return actualData;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment