Merge branch 'master' into feature-octal
commit
497824ff21
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1060,20 +1060,37 @@ var Utils = {
|
|||
};
|
||||
|
||||
var formatFile = function(file, i) {
|
||||
var blob = new Blob(
|
||||
[new Uint8Array(file.bytes)],
|
||||
{type: "octet/stream"}
|
||||
);
|
||||
var blobUrl = URL.createObjectURL(blob);
|
||||
|
||||
var downloadAnchorElem = "<a href='" + blobUrl + "' " +
|
||||
"title='Download " + Utils.escapeHtml(file.fileName) + "' " +
|
||||
"download='" + Utils.escapeHtml(file.fileName) + "'>\u21B4</a>";
|
||||
|
||||
var expandFileContentsElem = "<a href='#collapse" + i + "' " +
|
||||
"class='collapsed' " +
|
||||
"data-toggle='collapse' " +
|
||||
"aria-expanded='true' " +
|
||||
"aria-controls='collapse" + i + "' " +
|
||||
"title=\"Show/hide contents of '" + Utils.escapeHtml(file.fileName) + "'\">🔍</a>";
|
||||
|
||||
var html = "<div class='panel panel-default'>" +
|
||||
"<div class='panel-heading' role='tab' id='heading" + i + "'>" +
|
||||
"<h4 class='panel-title'>" +
|
||||
"<a class='collapsed' role='button' data-toggle='collapse' " +
|
||||
"href='#collapse" + i + "' " +
|
||||
"aria-expanded='true' aria-controls='collapse" + i +"'>" +
|
||||
file.fileName +
|
||||
"<div>" +
|
||||
Utils.escapeHtml(file.fileName) +
|
||||
" " + expandFileContentsElem +
|
||||
" " + downloadAnchorElem +
|
||||
"<span class='pull-right'>" +
|
||||
// These are for formatting when stripping HTML
|
||||
"<span style='display: none'>\n</span>" +
|
||||
file.size.toLocaleString() + " bytes" +
|
||||
"<span style='display: none'>\n</span>" +
|
||||
"</span>" +
|
||||
"</a>" +
|
||||
"</div>" +
|
||||
"</h4>" +
|
||||
"</div>" +
|
||||
"<div id='collapse" + i + "' class='panel-collapse collapse' " +
|
||||
|
|
|
@ -103,7 +103,7 @@ var Base64 = {
|
|||
enc3 = (chr2 >> 1) & 31;
|
||||
enc4 = ((chr2 & 1) << 4) | (chr3 >> 4);
|
||||
enc5 = ((chr3 & 15) << 1) | (chr4 >> 7);
|
||||
enc6 = (chr4 >> 2) & 63;
|
||||
enc6 = (chr4 >> 2) & 31;
|
||||
enc7 = ((chr4 & 3) << 3) | (chr5 >> 5);
|
||||
enc8 = chr5 & 31;
|
||||
|
||||
|
|
|
@ -309,9 +309,8 @@ var Compress = {
|
|||
files = [];
|
||||
|
||||
filenames.forEach(function(fileName) {
|
||||
var contents = unzip.decompress(fileName);
|
||||
|
||||
contents = Utils.byteArrayToUtf8(contents);
|
||||
var bytes = unzip.decompress(fileName);
|
||||
var contents = Utils.byteArrayToUtf8(bytes);
|
||||
|
||||
var file = {
|
||||
fileName: fileName,
|
||||
|
@ -320,6 +319,7 @@ var Compress = {
|
|||
|
||||
var isDir = contents.length === 0 && fileName.endsWith("/");
|
||||
if (!isDir) {
|
||||
file.bytes = bytes;
|
||||
file.contents = contents;
|
||||
}
|
||||
|
||||
|
@ -477,6 +477,13 @@ var Compress = {
|
|||
this.position = 0;
|
||||
};
|
||||
|
||||
Stream.prototype.getBytes = function(bytesToGet) {
|
||||
var newPosition = this.position + bytesToGet;
|
||||
var bytes = this.bytes.slice(this.position, newPosition);
|
||||
this.position = newPosition;
|
||||
return bytes;
|
||||
};
|
||||
|
||||
Stream.prototype.readString = function(numBytes) {
|
||||
var result = "";
|
||||
for (var i = this.position; i < this.position + numBytes; i++) {
|
||||
|
@ -535,11 +542,9 @@ var Compress = {
|
|||
endPosition += 512 - (file.size % 512);
|
||||
}
|
||||
|
||||
file.contents = "";
|
||||
|
||||
while (stream.position < endPosition) {
|
||||
file.contents += stream.readString(512);
|
||||
}
|
||||
file.bytes = stream.getBytes(file.size);
|
||||
file.contents = Utils.byteArrayToUtf8(file.bytes);
|
||||
stream.position = endPosition;
|
||||
} else if (file.type === "5") {
|
||||
// Directory
|
||||
files.push(file);
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
215 source files
|
||||
117391 lines
|
||||
117429 lines
|
||||
4.4M size
|
||||
|
||||
145 JavaScript source files
|
||||
108190 lines
|
||||
108228 lines
|
||||
3.8M size
|
||||
|
||||
84 third party JavaScript source files
|
||||
|
@ -11,11 +11,11 @@
|
|||
3.1M size
|
||||
|
||||
61 first party JavaScript source files
|
||||
20773 lines
|
||||
20811 lines
|
||||
776K size
|
||||
|
||||
3.5M uncompressed JavaScript size
|
||||
compressed JavaScript size
|
||||
1.9M compressed JavaScript size
|
||||
|
||||
15 categories
|
||||
177 operations
|
||||
|
|
Loading…
Reference in New Issue