remove old examples
This commit is contained in:
parent
dac59f97b3
commit
45fdb7aa66
|
@ -1,15 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src="../lib/crypto-js/rollups/sha256.js"></script>
|
||||
<script>
|
||||
|
||||
console.log(CryptoJS.SHA256('/').toString(CryptoJS.enc.hex));
|
||||
|
||||
</script>
|
||||
</html>
|
|
@ -1,87 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src='../lib/require.js'></script>
|
||||
<script>
|
||||
|
||||
require.config({
|
||||
baseUrl: "../lib",
|
||||
paths: {
|
||||
"src": "../src"
|
||||
}
|
||||
});
|
||||
|
||||
require(["src/indexeddb2"], function(idb) {
|
||||
|
||||
var opened = idb.open('test').then(
|
||||
function(event) {
|
||||
return event.db;
|
||||
},
|
||||
function(event) {
|
||||
console.error('error:', event);
|
||||
},
|
||||
function(event) {
|
||||
if('upgradeneeded' == event.type) {
|
||||
db = event.target.result;
|
||||
if(db.objectStoreNames.contains('FILES')) {
|
||||
db.deleteObjectStore('FILES');
|
||||
}
|
||||
var files = db.createObjectStore('FILES');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
opened.then(
|
||||
function(db) {
|
||||
console.log(db);
|
||||
}
|
||||
);
|
||||
|
||||
/*
|
||||
|
||||
var db = idb.open('test');
|
||||
db.progress(
|
||||
function(event) {
|
||||
if('upgradeneeded' == event.type) {
|
||||
db = event.target.result;
|
||||
if(db.objectStoreNames.contains('FILES')) {
|
||||
db.deleteObjectStore('FILES');
|
||||
}
|
||||
var files = db.createObjectStore('FILES');
|
||||
}
|
||||
}
|
||||
);
|
||||
db.otherwise(
|
||||
function(event) {
|
||||
console.error('error:', event);
|
||||
}
|
||||
);
|
||||
|
||||
db.transaction(['FILES'], 'readwrite')(
|
||||
function(transaction) {
|
||||
var files = transaction.objectStore('FILES');
|
||||
return files.clear();
|
||||
}
|
||||
).transaction(['FILES'], 'readonly')(
|
||||
function(transaction) {
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
db.transaction(['FILES'], 'readwrite')(
|
||||
function(transaction) {
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
*/
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</html>
|
|
@ -1,94 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src="../lib/require.js"></script>
|
||||
<script>
|
||||
require.config({
|
||||
baseUrl: "../lib",
|
||||
paths: {
|
||||
"src": "../src"
|
||||
}
|
||||
});
|
||||
|
||||
require(["src/fs"], function(IDBFS) {
|
||||
|
||||
IDBFS.mount("default", "format", function(error, fs) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.mkdir("/tmp", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.stat("/tmp", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp", result);
|
||||
fs.open("/tmp/0", "create", "rw", function(error, fd) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
var writeBuffer = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
|
||||
fd.write(writeBuffer, function(error, bytes_written, buffer) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("bytes written:", bytes_written);
|
||||
var readBuffer = new Uint8Array(8);
|
||||
fd.seek(-bytes_written, "current", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fd.read(readBuffer, function(error, bytes_read, buffer) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("bytes read:", bytes_read);
|
||||
console.info("buffer:", buffer);
|
||||
fs.close(fd, function(error) {
|
||||
fs.stat("/tmp/0", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp/0", result);
|
||||
fs.link("/tmp/0", "/tmp/1", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.stat("/tmp/1", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp/1", result);
|
||||
fs.unlink("/tmp/0", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.stat("/tmp/1", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp/1", result);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -1,67 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src="../lib/require.js"></script>
|
||||
<script>
|
||||
require.config({
|
||||
baseUrl: "../lib",
|
||||
paths: {
|
||||
"src": "../src"
|
||||
}
|
||||
});
|
||||
|
||||
require(["src/fs"], function(IDBFS) {
|
||||
|
||||
IDBFS.mount("default", "format", function(error, fs) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.mkdir("/tmp", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.stat("/tmp", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp", result);
|
||||
fs.open("/tmp/file-0", "create", "rw", function(error, fd) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.link("/tmp/file-0", "/tmp/file-1", function(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.stat("/tmp", function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat /tmp", result);
|
||||
fs.open("/tmp", "", "ro", function(error, fd) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
var dirBuffer = [];
|
||||
fd.readdir(dirBuffer, 4, function(error, count, buffer) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info(count, buffer);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -1,97 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src="../lib/require.js"></script>
|
||||
<script>
|
||||
require.config({
|
||||
baseUrl: "../lib",
|
||||
paths: {
|
||||
"src": "../src"
|
||||
}
|
||||
});
|
||||
|
||||
function Archive(text) {
|
||||
this.files = [];
|
||||
this.offset = 0;
|
||||
this.offset = this.parseTarChunk(text, this.offset)
|
||||
}
|
||||
|
||||
Archive.prototype = {
|
||||
parseTarNumber: function parseTarNumber(text) {
|
||||
// if (text.charCodeAt(0) & 0x80 == 1) {
|
||||
// GNU tar 8-byte binary big-endian number
|
||||
// } else {
|
||||
return parseInt(text, 8);
|
||||
// }
|
||||
},
|
||||
|
||||
parseTarHeader: function parseTarHeader(text, offset) {
|
||||
var i = offset || 0;
|
||||
var h = {};
|
||||
h.filename = text.substring(i, i+=100).split("\0", 1)[0];
|
||||
h.mode = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.uid = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.gid = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.length = this.parseTarNumber(text.substring(i, i+=12));
|
||||
h.lastModified = text.substring(i, i+=12).split("\0", 1)[0];
|
||||
h.checkSum = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.fileType = text.substring(i, i+=1).split("\0", 1)[0];
|
||||
h.linkName = text.substring(i, i+=100).split("\0", 1)[0];
|
||||
return h;
|
||||
},
|
||||
|
||||
parseTarChunk: function parseTarChunk(text, offset) {
|
||||
while (text.length >= offset + 512) {
|
||||
var header = this.files.length == 0 ? null : this.files[this.files.length-1];
|
||||
if (header && header.data == null) {
|
||||
if (offset + header.length <= text.length) {
|
||||
header.data = text.substring(offset, offset+header.length);
|
||||
offset += 512 * Math.ceil(header.length / 512);
|
||||
} else { // not loaded yet
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
var header = this.parseTarHeader(text, offset);
|
||||
if (header.length > 0 || header.filename != '') {
|
||||
this.files.push(header);
|
||||
offset += 512;
|
||||
header.offset = offset;
|
||||
} else { // empty header, stop processing
|
||||
offset = text.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
};
|
||||
|
||||
require(["src/fs"], function(IDBFS) {
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', './archive.tar', true);
|
||||
// xhr.responseType = 'arraybuffer';
|
||||
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
||||
xhr.setRequestHeader("Content-Type", "text/plain");
|
||||
|
||||
xhr.onload = function(e) {
|
||||
// var uInt8Array = new Uint8Array(this.response);
|
||||
var archive = new Archive(this.response);
|
||||
archive.files.forEach(function(file) {
|
||||
console.log(file.filename);
|
||||
});
|
||||
};
|
||||
|
||||
xhr.send(null);
|
||||
|
||||
function unpack(archive) {
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -1,152 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="stdout"></div>
|
||||
</body>
|
||||
<script src="../dist/idbfs.min.js"></script>
|
||||
<script src="../lib/buffer.js"></script>
|
||||
<script>
|
||||
|
||||
var LF_NORMAL = "0",
|
||||
LF_LINK = "1",
|
||||
LF_SYMLINK = "2",
|
||||
LF_CHR = "3",
|
||||
LF_BLK = "4",
|
||||
LF_DIR = "5",
|
||||
LF_FIFO = "6",
|
||||
LF_CONTIG = "7";
|
||||
|
||||
|
||||
function Archive(buffer) {
|
||||
this.files = [];
|
||||
this.offset = 0;
|
||||
this.offset = this.parseTarChunk(buffer, this.offset)
|
||||
}
|
||||
|
||||
Archive.prototype = {
|
||||
parseTarHeader: function parseTarHeader(buffer) {
|
||||
var text = new Buffer(buffer).toString();
|
||||
var i = 0;
|
||||
var h = {};
|
||||
h.filename = text.substring(i, i+=100).split("\0", 1)[0];
|
||||
h.mode = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.uid = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.gid = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.length = parseInt(text.substring(i, i+=12), 8);
|
||||
h.lastModified = text.substring(i, i+=12).split("\0", 1)[0];
|
||||
h.checkSum = text.substring(i, i+=8).split("\0", 1)[0];
|
||||
h.fileType = text.substring(i, i+=1).split("\0", 1)[0];
|
||||
h.linkName = text.substring(i, i+=100).split("\0", 1)[0];
|
||||
return h;
|
||||
},
|
||||
|
||||
parseTarChunk: function parseTarChunk(buffer, offset) {
|
||||
while (buffer.length >= offset + 512) {
|
||||
var header = this.files.length == 0 ? null : this.files[this.files.length-1];
|
||||
if (header && header.data == null) {
|
||||
if (offset + header.length <= buffer.length) {
|
||||
header.data = buffer.subarray(offset, offset+header.length);
|
||||
offset += 512 * Math.ceil(header.length / 512);
|
||||
} else { // not loaded yet
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
var header = this.parseTarHeader(buffer.subarray(offset, offset+512));
|
||||
if (header.length > 0 || header.filename != '') {
|
||||
this.files.push(header);
|
||||
offset += 512;
|
||||
header.offset = offset;
|
||||
} else { // empty header, stop processing
|
||||
offset = buffer.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
};
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', './archive.tar', true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
|
||||
xhr.onload = function(e) {
|
||||
var buffer = new Uint8Array(this.response);
|
||||
var archive = new Archive(buffer);
|
||||
|
||||
IDBFS.mount("default", "format", function(error, fs) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
|
||||
function stat(path) {
|
||||
fs.stat(path, function(error, result) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("stat " + path, result);
|
||||
});
|
||||
}
|
||||
|
||||
function ls(dir) {
|
||||
fs.open(dir, "", "R", function(error, fd) {
|
||||
contents = [];
|
||||
fd.readdir(contents, undefined, function(error, count, contents) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
console.info("ls " + dir, contents);
|
||||
fs.close(fd);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
var i = 0;
|
||||
function createNextFile(error) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
} else if(i >= archive.files.length) {
|
||||
stat("/");
|
||||
ls("/");
|
||||
stat("/archive");
|
||||
ls("/archive");
|
||||
stat("/archive/js");
|
||||
ls("/archive/js");
|
||||
stat("/archive/js/gl-matrix.js");
|
||||
stat("/archive/img");
|
||||
ls("/archive/img");
|
||||
stat("/archive/img/firefox_logo-only_RGB-300dpi.jpg");
|
||||
} else {
|
||||
var file = archive.files[i ++];
|
||||
if(LF_DIR == file.fileType) {
|
||||
fs.mkdir(file.filename, createNextFile);
|
||||
} else {
|
||||
fs.open(file.filename, "CREATE", "RW", function(error, fd) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fd.write(file.data, function(error, bytes_written, buffer) {
|
||||
if(error) {
|
||||
return console.error(error);
|
||||
}
|
||||
fs.close(fd, createNextFile);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
createNextFile();
|
||||
});
|
||||
};
|
||||
|
||||
xhr.send(null);
|
||||
|
||||
function unpack(archive) {
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</html>
|
Loading…
Reference in New Issue