Skip to content

Commit

Permalink
2.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ukyo committed Dec 11, 2012
1 parent 6d6cf4f commit 2eaa322
Show file tree
Hide file tree
Showing 12 changed files with 1,221 additions and 938 deletions.
129 changes: 86 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

It's a utility of zlib, gzip and zip format binary data.

[API Reference](http://ukyo.github.com/jsziptools/docs/build/html/index.html)

## suported browser

chrome, firefox, IE10.
Expand All @@ -15,7 +13,8 @@ chrome, firefox, IE10.
decompress compressed swf file:

```javascript
jz.utils.load('compressed.swf', function(swf){
jz.utils.load('compressed.swf')
.done(function(swf){
var header = new Uint8Array(swf, 0, 8);
var decompressedData = jz.zlib.decompress(new Uint8Array(swf, 8));
});
Expand Down Expand Up @@ -46,28 +45,15 @@ var files = [
]}
];

jz.zip.pack({
files: files,
level: 5, // compress level
complete: function(buffer){ // buffer is ArrayBuffer
//...
},
error: function(err){
//...
}
});

// or

jz.zip.pack({
files: files,
level: 5
})
.done(function(buffer){})
.done(function(buffer){}) // ArrayBuffer
.fail(function(err){});


//set compress level each files.
// set compression level to each files.
var files = [
{name: "mimetype", buffer: "application/epub+zip", level: 0}, //string
{name: "META-INF", dir: [ //folder
Expand All @@ -77,45 +63,104 @@ var files = [
{name: "foo.xhtml", url: "foo.xhtml", level: 9} //xhr
];

jz.zip.pack({
files: files,
complete: function(buffer){
//...
}
});
jz.zip.pack(files)
.done(function(buffer){})
.fail(function(err){});;
```

unzip:

```javascript
jz.zip.unpack({
buffer: buffer,
encoding: 'cp932', //encoding of filenames.
complete: function(reader) {
// get file pathes.
reader.getFileNames();
// file is read lazy.
reader.getFileAsText(reader.getFileNames[0], function(result){
alert(result);
});
},
error: function(err) {}
});

// or

jz.zip.unpack({
buffer: buffer,
encoding: 'cp932'
})
.done(function(reader){})
.done(function(reader){
// get file pathes.
reader.getFileNames();
// file is read lazy.
reader.getFileAsText(reader.getFileNames[0], function(result){
alert(result);
});
})
.fail(function(err){});

// you can skip to set the encoding.

jz.zip.unpack(buffer)
.done(function(reader){})
.fail(function(err){});

// read file

jz.zip.unpack(ev.target.files[0])
.done(function(reader){})
.fail(function(err){});
```

### utilties

#### jz.utils.load

Load files as ArrayBuffer with XHR.

```javascript
jz.utils.load('a.txt', 'b.txt')
.done(function(a, b) {
//...
})
.fail(function(e) {});
```

#### jz.utils.bytesToString

Convert bytes(Array, ArrayBuffer or Uint8Array) to String

```javascript
jz.utils.bytesToString(bytes, 'UTF-8')
.done(function(str) {
//...
});
```

#### jz.utils.waterfall

Run in order from the top.

```javascript
jz.utils.waterfall(function() {
return jz.utils.load('foo.zip', 'a.txt');
}, function(foo, a) {
this.foo = foo;
return jz.utils.bytesToString(a);
}, function(a) {
this.a = a;
return jz.zip.unpack(this.foo);
}, function(reader) {
return reader.getFileAsText('b.txt');
})
.done(function(b) {
console.log(this.a);
console.log(b);
})
.fail(function(e) {});
```

#### jz.utils.parallel

Run in parallel.

```javascript
jz.utils.parallel(
jz.utils.load('a.txt'),
jz.utils.bytesToString(bytes),
jz.zip.pack(files),
jz.zip.unpack(zip)
)
.done(function(results) {
Array.isArray(results);
})
.fail(function(e) {});
```

## custom build
Expand Down Expand Up @@ -159,8 +204,6 @@ Example of a configuration file:
"compiler": "./compiler.jar",
"output": "./build/jsziptools.unzip.min.js",
"files": [
"src/jsziptools.js",
"src/utils.js",
"src/algorithms/crc32.js",
"src/algorithms/inflate.js",
"src/zip.unpack.js"
Expand Down
2 changes: 1 addition & 1 deletion component.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "jsziptools",
"version": "2.2.1",
"version": "2.3.0",
"main": "./build/jsziptools.min.js",
"dependencies": {}
}
637 changes: 319 additions & 318 deletions dist/jsziptools.min.js

Large diffs are not rendered by default.

21 changes: 4 additions & 17 deletions examples/deflate_text.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,8 @@
<html>
<head>
<title>deflate text</title>
<link rel="stylesheet" href="style.css">
<style type="text/css">
html, body {
margin: 0;
padding: 0;
}

body {
margin: 100px;
background-color: #fafafa;
color: #777;
}

h1 {
font-size: 48px;
}

#main > div {
width: 288px;
margin-right: 32px;
Expand All @@ -38,7 +24,7 @@

textarea {
width: 100%;
height: 128px;
height: 64px;
}
</style>
<script type="text/javascript" src="../dist/jsziptools.min.js"></script>
Expand Down Expand Up @@ -68,7 +54,8 @@
inputView.innerHTML = genBinaryView(inputBytes);
outputView.innerHTML = genBinaryView(deflatedBytes);

jz.utils.bytesToString(deflatedBytes, 'UTF-8', function(text) {
jz.utils.bytesToString(deflatedBytes)
.done(function(text) {
output.value = text;
});
};
Expand Down
24 changes: 9 additions & 15 deletions examples/zip_viewer.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,8 @@
<html>
<head>
<title>read filenames of a zip file</title>
<link rel="stylesheet" href="style.css">
<style type="text/css">
html, body, ul {
margin: 0;
padding: 0;
}

body {
padding: 40px;
background-color: #fafafa;
color: #444;
}

ul {
list-style-type: none;
}
Expand Down Expand Up @@ -104,19 +94,23 @@
function view(li) {
var filename = li.innerHTML;
if (/.*(png|gif|jpg|bmp)$/.test(filename.toLowerCase())) {
reader.getFileAsBlob(filename, function(blob) {
reader.getFileAsBlob(filename)
.done(function(blob) {
preview.innerHTML = img(blobURL(blob));
});
} else if (/.*(mp3|ogg|wav|m4a)$/.test(filename.toLowerCase())) {
reader.getFileAsBlob(filename, function(blob) {
reader.getFileAsBlob(filename)
.done(function(blob) {
preview.innerHTML = audio(blobURL(blob));
});
} else if (/.*(mp4|webm)$/.test(filename.toLowerCase())) {
reader.getFileAsBlob(filename, function(blob) {
reader.getFileAsBlob(filename)
.done(function(blob) {
preview.innerHTML = video(blobURL(blob));
});
} else {
reader.getFileAsText(filename, function(text) {
reader.getFileAsText(filename)
.done(function(text) {
preview.innerHTML = wrap('pre', escape(text));
});
}
Expand Down
2 changes: 1 addition & 1 deletion src/jsziptools.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* jsziptools 2.2.1
* jsziptools 2.3.0
*
* The MIT Lisence
*
Expand Down
Loading

0 comments on commit 2eaa322

Please sign in to comment.