gtk3/debian/missing-sources/zlib.js-0.1.6/node/exports.js
Simon McVittie 7e6de580a7 * debian/missing-sources/zlib.js-0.1.6: add missing source code for gdk/broadway/rawinflate.min.js (Closes: #753968)
- some files in zlib.js upstream had missing source code themselves
    (closure-compiler.jar) or are not needed here, and have been removed
    to save space; see debian/missing-sources/README for details
2014-08-11 09:43:29 +00:00

231 lines
5.7 KiB
JavaScript

/**
* zlib.js wrapper for node.js
*/
goog.require('Zlib.Inflate');
goog.require('Zlib.Deflate');
goog.require('Zlib.Gunzip');
//-----------------------------------------------------------------------------
// exports methods
//-----------------------------------------------------------------------------
exports['deflate'] = deflate;
exports['deflateSync'] = deflateSync;
exports['inflate'] = inflate;
exports['inflateSync'] = inflateSync;
exports['gzip'] = gzip;
exports['gzipSync'] = gzipSync;
exports['gunzip'] = gunzip;
exports['gunzipSync'] = gunzipSync;
/**
* deflate async.
* @param {!(Buffer|Array.<number>|Uint8Array)} buffer plain data buffer.
* @param {function(Error, !(Buffer|Array.<number>|Uint8Array))} callback
* error calllback function.
* @param {Object=} opt_params option parameters.
*/
function deflate(buffer, callback, opt_params) {
process.nextTick(function(){
/** @type {Error} error */
var error;
/** @type {!(Buffer|Array.<number>|Uint8Array)} deflated buffer. */
var deflated;
try {
deflated = deflateSync(buffer, opt_params);
} catch(e){
error = e;
}
callback(error, deflated);
});
}
/**
* deflate sync.
* @param {!(Buffer|Array.<number>|Uint8Array)} buffer plain data buffer.
* @param {Object=} opt_params option parameters.
* @return {!(Buffer|Array.<number>|Uint8Array)} deflated buffer.
*/
function deflateSync(buffer, opt_params) {
/** @type {Zlib.Deflate} deflate encoder. */
var deflate = new Zlib.Deflate(
/** @type {!(Array.<number>|Uint8Array)} */(buffer)
);
/** @type {!(Array.<number>|Uint8Array)} deflated buffer. */
var deflated;
deflated = deflate.compress();
if (!opt_params) {
opt_params = {};
}
return opt_params.noBuffer ? deflated : toBuffer(deflated);
}
/**
* inflate async.
* @param {!(Array.<number>|Uint8Array)} buffer deflated buffer.
* @param {function(Error, !(Buffer|Array.<number>|Uint8Array))} callback
* error calllback function.
* @param {Object=} opt_params option parameters.
*/
function inflate(buffer, callback, opt_params) {
process.nextTick(function(){
/** @type {Error} error */
var error;
/** @type {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer. */
var inflated;
try {
inflated = inflateSync(buffer, opt_params);
} catch(e){
error = e;
}
callback(error, inflated);
});
};
/**
* inflate sync.
* @param {!(Array.<number>|Uint8Array)} buffer deflated buffer.
* @param {Object=} opt_params option parameters.
* @return {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer.
*/
function inflateSync(buffer, opt_params) {
/** @type {Zlib.Inflate} deflate decoder. */
var inflate;
/** @type {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer. */
var inflated;
buffer.subarray = buffer.slice;
inflate = new Zlib.Inflate(buffer);
inflated = inflate.decompress();
if (!opt_params) {
opt_params = {};
}
return opt_params['noBuffer'] ? inflated : toBuffer(inflated);
}
/**
* gunzip async.
* @param {!(Array.<number>|Uint8Array)} buffer inflated buffer.
* @param {function(Error, !(Buffer|Array.<number>|Uint8Array))} callback
* error calllback function.
* @param {Object=} opt_params option parameters.
*/
function gzip(buffer, callback, opt_params) {
process.nextTick(function(){
/** @type {Error} error */
var error;
/** @type {!(Buffer|Array.<number>|Uint8Array)} deflated buffer. */
var deflated;
try {
deflated = gzipSync(buffer, opt_params);
} catch(e){
error = e;
}
callback(error, deflated);
});
}
/**
* deflate sync.
* @param {!(Array.<number>|Uint8Array)} buffer inflated buffer.
* @param {Object=} opt_params option parameters.
* @return {!(Buffer|Array.<number>|Uint8Array)} deflated buffer.
*/
function gzipSync(buffer, opt_params) {
/** @type {Zlib.Gzip} deflate compressor. */
var deflate;
/** @type {!(Buffer|Array.<number>|Uint8Array)} deflated buffer. */
var deflated;
buffer.subarray = buffer.slice;
deflate = new Zlib.Gzip(buffer);
deflated = deflate.compress();
if (!opt_params) {
opt_params = {};
}
return opt_params.noBuffer ? deflated : toBuffer(deflated);
}
/**
* gunzip async.
* @param {!(Array.<number>|Uint8Array)} buffer deflated buffer.
* @param {function(Error, !(Buffer|Array.<number>|Uint8Array))} callback
* error calllback function.
* @param {Object=} opt_params option parameters.
*/
function gunzip(buffer, callback, opt_params) {
process.nextTick(function(){
/** @type {Error} error */
var error;
/** @type {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer. */
var inflated;
try {
inflated = gunzipSync(buffer, opt_params);
} catch(e){
error = e;
}
callback(error, inflated);
});
}
/**
* inflate sync.
* @param {!(Array.<number>|Uint8Array)} buffer deflated buffer.
* @param {Object=} opt_params option parameters.
* @return {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer.
*/
function gunzipSync(buffer, opt_params) {
/** @type {Zlib.Gunzip} deflate decompressor. */
var inflate;
/** @type {!(Buffer|Array.<number>|Uint8Array)} inflated plain buffer. */
var inflated;
buffer.subarray = buffer.slice;
inflate = new Zlib.Gunzip(buffer);
inflated = inflate.decompress();
if (!opt_params) {
opt_params = {};
}
return opt_params.noBuffer ? inflated : toBuffer(inflated);
}
/**
* convert to Buffer.
* @param {!(Array.<number>|Uint8Array)} array arraylike object.
* @return {!Buffer} Buffer object.
*/
function toBuffer(array) {
var buffer = new Buffer(array.length);
var i;
var il;
// TODO: loop unrolling for performance
for (i = 0, il = array.length; i < il; ++i) {
buffer[i] = array[i];
}
return buffer;
}