Fix ESLint errors

This commit is contained in:
Peter deHaan 2017-06-09 10:44:12 -07:00
parent f0b4bb7341
commit 1dbda38995
No known key found for this signature in database
GPG key ID: F0FC6C01C6305097
12 changed files with 151 additions and 156 deletions

View file

@ -5,13 +5,11 @@ $(document).ready(function() {
$('#send-file').click(() => {
window.location.replace(`${window.location.origin}`);
});
let download = () => {
const download = () => {
const fileReceiver = new FileReceiver();
let li = document.createElement('li');
let name = document.createElement('p');
let progress = document.createElement('p');
let btn = $('#download-btn');
const name = document.createElement('p');
const progress = document.createElement('p');
const btn = $('#download-btn');
fileReceiver.on('progress', percentComplete => {
progress.innerText = `Progress: ${percentComplete}%`;
@ -25,7 +23,7 @@ $(document).ready(function() {
fileReceiver
.download()
.catch(err => {
.catch(() => {
$('.title').text(
'This link has expired or never existed in the first place.'
);
@ -36,11 +34,11 @@ $(document).ready(function() {
})
.then(([decrypted, fname]) => {
name.innerText = fname;
let dataView = new DataView(decrypted);
let blob = new Blob([dataView]);
let downloadUrl = URL.createObjectURL(blob);
const dataView = new DataView(decrypted);
const blob = new Blob([dataView]);
const downloadUrl = URL.createObjectURL(blob);
let a = document.createElement('a');
const a = document.createElement('a');
a.href = downloadUrl;
if (window.navigator.msSaveBlob) {
// if we are in microsoft edge or IE

View file

@ -10,16 +10,18 @@ class FileReceiver extends EventEmitter {
download() {
return Promise.all([
new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
const xhr = new XMLHttpRequest();
xhr.onprogress = e => {
if (e.lengthComputable) {
let percentComplete = Math.floor(e.loaded / e.total * 100);
xhr.onprogress = event => {
if (event.lengthComputable) {
const percentComplete = Math.floor(
event.loaded / event.total * 100
);
this.emit('progress', percentComplete);
}
};
xhr.onload = function(e) {
xhr.onload = event => {
if (xhr.status === 404) {
reject(
new Error('The file has expired, or has already been deleted.')
@ -27,8 +29,8 @@ class FileReceiver extends EventEmitter {
return;
}
let blob = new Blob([this.response]);
let fileReader = new FileReader();
const blob = new Blob([this.response]);
const fileReader = new FileReader();
fileReader.onload = function() {
resolve({
data: this.result,
@ -60,7 +62,7 @@ class FileReceiver extends EventEmitter {
['encrypt', 'decrypt']
)
]).then(([fdata, key]) => {
let salt = this.salt;
const salt = this.salt;
return Promise.all([
window.crypto.subtle.decrypt(
{

View file

@ -13,7 +13,7 @@ class FileSender extends EventEmitter {
if (!fileId || !token) {
return reject();
}
let xhr = new XMLHttpRequest();
const xhr = new XMLHttpRequest();
xhr.open('post', '/delete/' + fileId, true);
xhr.setRequestHeader('Content-Type', 'application/json');
@ -51,55 +51,55 @@ class FileSender extends EventEmitter {
};
})
])
.then(([secretKey, plaintext]) => {
return Promise.all([
window.crypto.subtle.encrypt(
{
name: 'AES-CBC',
iv: this.iv
},
secretKey,
plaintext
),
window.crypto.subtle.exportKey('jwk', secretKey)
]);
})
.then(([encrypted, keydata]) => {
return new Promise((resolve, reject) => {
let file = this.file;
let fileId = ivToStr(this.iv);
let dataView = new DataView(encrypted);
let blob = new Blob([dataView], { type: file.type });
let fd = new FormData();
fd.append('fname', file.name);
fd.append('data', blob, file.name);
.then(([secretKey, plaintext]) => {
return Promise.all([
window.crypto.subtle.encrypt(
{
name: 'AES-CBC',
iv: this.iv
},
secretKey,
plaintext
),
window.crypto.subtle.exportKey('jwk', secretKey)
]);
})
.then(([encrypted, keydata]) => {
return new Promise((resolve, reject) => {
const file = this.file;
const fileId = ivToStr(this.iv);
const dataView = new DataView(encrypted);
const blob = new Blob([dataView], { type: file.type });
const fd = new FormData();
fd.append('fname', file.name);
fd.append('data', blob, file.name);
let xhr = new XMLHttpRequest();
const xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', e => {
if (e.lengthComputable) {
let percentComplete = Math.floor(e.loaded / e.total * 100);
this.emit('progress', percentComplete);
}
xhr.upload.addEventListener('progress', e => {
if (e.lengthComputable) {
const percentComplete = Math.floor(e.loaded / e.total * 100);
this.emit('progress', percentComplete);
}
});
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
// uuid field and url field
const responseObj = JSON.parse(xhr.responseText);
resolve({
url: responseObj.url,
fileId: fileId,
secretKey: keydata.k,
deleteToken: responseObj.uuid
});
}
};
xhr.open('post', '/upload/' + fileId, true);
xhr.send(fd);
});
xhr.onreadystatechange = () => {
if (xhr.readyState == XMLHttpRequest.DONE) {
// uuid field and url field
let responseObj = JSON.parse(xhr.responseText);
resolve({
url: responseObj.url,
fileId: fileId,
secretKey: keydata.k,
deleteToken: responseObj.uuid
});
}
};
xhr.open('post', '/upload/' + fileId, true);
xhr.send(fd);
});
});
}
}

View file

@ -3,7 +3,7 @@ const $ = require('jquery');
$(document).ready(function() {
// reset copy button
let copyBtn = $('#copy-btn');
const copyBtn = $('#copy-btn');
copyBtn.attr('disabled', false);
copyBtn.html('Copy');
@ -14,7 +14,7 @@ $(document).ready(function() {
// copy link to clipboard
copyBtn.click(() => {
var aux = document.createElement('input');
const aux = document.createElement('input');
aux.setAttribute('value', $('#link').attr('value'));
document.body.appendChild(aux);
aux.select();
@ -38,22 +38,22 @@ $(document).ready(function() {
window.onUpload = event => {
event.preventDefault();
let file = '';
if (event.type == 'drop') {
if (event.type === 'drop') {
file = event.dataTransfer.files[0];
} else {
file = event.target.files[0];
}
let $fileList = $('#uploaded-files');
let row = document.createElement('tr');
let name = document.createElement('td');
let link = document.createElement('td');
let expiry = document.createElement('td');
let del = document.createElement('td');
let btn = document.createElement('button');
let popupDiv = document.createElement('div');
let $popupText = $('<span>', { 'class': 'popuptext' });
let cellText = document.createTextNode(file.name);
let progress = document.createElement('p');
const $fileList = $('#uploaded-files');
const row = document.createElement('tr');
const name = document.createElement('td');
const link = document.createElement('td');
const expiry = document.createElement('td');
const del = document.createElement('td');
const btn = document.createElement('button');
const popupDiv = document.createElement('div');
const $popupText = $('<span>', { class: 'popuptext' });
const cellText = document.createTextNode(file.name);
const progress = document.createElement('p');
name.appendChild(cellText);
@ -64,7 +64,7 @@ $(document).ready(function() {
// create popup
popupDiv.classList.add('popup');
$popupText.html(
"<span class='del-file'>Delete</span><span class='nvm'> Nevermind</span>"
'<span class="del-file">Delete</span><span class="nvm" > Nevermind</span>'
);
// add data cells to table row
@ -96,7 +96,7 @@ $(document).ready(function() {
FileSender.delete(
info.fileId,
localStorage.getItem(info.fileId)
).then(() => {
).then(() => {
//
$(e.target).parents('tr').remove();
localStorage.removeItem(info.fileId);
@ -111,7 +111,7 @@ $(document).ready(function() {
$('#share-link').show();
});
function toggleShow(){
function toggleShow() {
$popupText.toggleClass('show');
}
};

View file

@ -1,6 +1,6 @@
function ivToStr(iv) {
let hexStr = '';
for (let i in iv) {
for (const i in iv) {
if (iv[i] < 16) {
hexStr += '0' + iv[i].toString(16);
} else {
@ -12,7 +12,7 @@ function ivToStr(iv) {
}
function strToIv(str) {
let iv = new Uint8Array(16);
const iv = new Uint8Array(16);
for (let i = 0; i < str.length; i += 2) {
iv[i / 2] = parseInt(str.charAt(i) + str.charAt(i + 1), 16);
}