mirror of https://github.com/nodejs/node.git
zlib: separate sync/async methods
This commit is contained in:
parent
9a60bf3726
commit
2315703035
|
@ -195,36 +195,44 @@ the header.
|
|||
<!--type=misc-->
|
||||
|
||||
All of these take a string or buffer as the first argument, an optional second
|
||||
argument to supply options to the zlib classes and an optional callback. If a
|
||||
callback is supplied, they will call it asynchronously with
|
||||
`callback(error, result)`, otherwise they will return the result or throw the
|
||||
error synchronously.
|
||||
argument to supply options to the zlib classes and will call the supplied
|
||||
callback with `callback(error, result)`.
|
||||
|
||||
## zlib.deflate(buf, [options], [callback])
|
||||
Every method has a `*Sync` counterpart, which accept the same arguments, but
|
||||
without a callback.
|
||||
|
||||
## zlib.deflate(buf, [options], callback)
|
||||
## zlib.deflateSync(buf, [options])
|
||||
|
||||
Compress a string with Deflate.
|
||||
|
||||
## zlib.deflateRaw(buf, [options], [callback])
|
||||
## zlib.deflateRaw(buf, [options], callback)
|
||||
## zlib.deflateRawSync(buf, [options])
|
||||
|
||||
Compress a string with DeflateRaw.
|
||||
|
||||
## zlib.gzip(buf, [options], [callback])
|
||||
## zlib.gzip(buf, [options], callback)
|
||||
## zlib.gzipSync(buf, [options])
|
||||
|
||||
Compress a string with Gzip.
|
||||
|
||||
## zlib.gunzip(buf, [options], [callback])
|
||||
## zlib.gunzip(buf, [options], callback)
|
||||
## zlib.gunzipSync(buf, [options])
|
||||
|
||||
Decompress a raw Buffer with Gunzip.
|
||||
|
||||
## zlib.inflate(buf, [options], [callback])
|
||||
## zlib.inflate(buf, [options], callback)
|
||||
## zlib.inflateSync(buf, [options])
|
||||
|
||||
Decompress a raw Buffer with Inflate.
|
||||
|
||||
## zlib.inflateRaw(buf, [options], [callback])
|
||||
## zlib.inflateRaw(buf, [options], callback)
|
||||
## zlib.inflateRawSync(buf, [options])
|
||||
|
||||
Decompress a raw Buffer with InflateRaw.
|
||||
|
||||
## zlib.unzip(buf, [options], [callback])
|
||||
## zlib.unzip(buf, [options], callback)
|
||||
## zlib.unzipSync(buf, [options])
|
||||
|
||||
Decompress a raw Buffer with Unzip.
|
||||
|
||||
|
|
34
lib/zlib.js
34
lib/zlib.js
|
@ -115,6 +115,10 @@ exports.deflate = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new Deflate(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.deflateSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new Deflate(opts), buffer);
|
||||
};
|
||||
|
||||
exports.gzip = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -123,6 +127,10 @@ exports.gzip = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new Gzip(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.gzipSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new Gzip(opts), buffer);
|
||||
};
|
||||
|
||||
exports.deflateRaw = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -131,6 +139,10 @@ exports.deflateRaw = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new DeflateRaw(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.deflateRawSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new DeflateRaw(opts), buffer);
|
||||
};
|
||||
|
||||
exports.unzip = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -139,6 +151,10 @@ exports.unzip = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new Unzip(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.unzipSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new Unzip(opts), buffer);
|
||||
};
|
||||
|
||||
exports.inflate = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -147,6 +163,10 @@ exports.inflate = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new Inflate(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.inflateSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new Inflate(opts), buffer);
|
||||
};
|
||||
|
||||
exports.gunzip = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -155,6 +175,10 @@ exports.gunzip = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new Gunzip(opts), buffer, callback);
|
||||
};
|
||||
|
||||
exports.gunzipSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new Gunzip(opts), buffer);
|
||||
};
|
||||
|
||||
exports.inflateRaw = function(buffer, opts, callback) {
|
||||
if (util.isFunction(opts)) {
|
||||
callback = opts;
|
||||
|
@ -163,11 +187,11 @@ exports.inflateRaw = function(buffer, opts, callback) {
|
|||
return zlibBuffer(new InflateRaw(opts), buffer, callback);
|
||||
};
|
||||
|
||||
function zlibBuffer(engine, buffer, callback) {
|
||||
if (!util.isFunction(callback)) {
|
||||
return zlibBufferSync(engine, buffer, callback);
|
||||
}
|
||||
exports.inflateRawSync = function(buffer, opts) {
|
||||
return zlibBufferSync(new InflateRaw(opts), buffer);
|
||||
};
|
||||
|
||||
function zlibBuffer(engine, buffer, callback) {
|
||||
var buffers = [];
|
||||
var nread = 0;
|
||||
|
||||
|
@ -200,7 +224,7 @@ function zlibBuffer(engine, buffer, callback) {
|
|||
}
|
||||
}
|
||||
|
||||
function zlibBufferSync(engine, buffer, callback) {
|
||||
function zlibBufferSync(engine, buffer) {
|
||||
if (util.isString(buffer))
|
||||
buffer = new Buffer(buffer);
|
||||
if (!util.isBuffer(buffer))
|
||||
|
|
|
@ -58,15 +58,15 @@ var opts = {
|
|||
});
|
||||
});
|
||||
|
||||
var result = zlib[method[0]](expect, opts);
|
||||
result = zlib[method[1]](result, opts);
|
||||
var result = zlib[method[0] + 'Sync'](expect, opts);
|
||||
result = zlib[method[1] + 'Sync'](result, opts);
|
||||
assert.equal(result, expect,
|
||||
'Should get original string after ' +
|
||||
method[0] + '/' + method[1] + ' with options.');
|
||||
hadRun++;
|
||||
|
||||
result = zlib[method[0]](expect);
|
||||
result = zlib[method[1]](result);
|
||||
result = zlib[method[0] + 'Sync'](expect);
|
||||
result = zlib[method[1] + 'Sync'](result);
|
||||
assert.equal(result, expect,
|
||||
'Should get original string after ' +
|
||||
method[0] + '/' + method[1] + ' without options.');
|
||||
|
|
Loading…
Reference in New Issue