Skip to content

Commit

Permalink
Refactor the ViewHistory to utilize async methods rather than man…
Browse files Browse the repository at this point in the history
…ually returning `Promise`s
  • Loading branch information
Snuffleupagus committed Aug 5, 2018
1 parent 78cbb31 commit abd23a6
Showing 1 changed file with 36 additions and 46 deletions.
82 changes: 36 additions & 46 deletions web/view_history.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,64 +54,54 @@ class ViewHistory {
});
}

_writeToStorage() {
return new Promise((resolve) => {
let databaseStr = JSON.stringify(this.database);
async _writeToStorage() {
let databaseStr = JSON.stringify(this.database);

if (typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
sessionStorage.setItem('pdfjs.history', databaseStr);
} else {
localStorage.setItem('pdfjs.history', databaseStr);
}
resolve();
});
if (typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
sessionStorage.setItem('pdfjs.history', databaseStr);
return;
}
localStorage.setItem('pdfjs.history', databaseStr);
}

_readFromStorage() {
return new Promise(function(resolve) {
if (typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
resolve(sessionStorage.getItem('pdfjs.history'));
} else {
resolve(localStorage.getItem('pdfjs.history'));
}
});
async _readFromStorage() {
if (typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
return sessionStorage.getItem('pdfjs.history');
}
return localStorage.getItem('pdfjs.history');
}

set(name, val) {
return this._initializedPromise.then(() => {
this.file[name] = val;
return this._writeToStorage();
});
async set(name, val) {
await this._initializedPromise;
this.file[name] = val;
return this._writeToStorage();
}

setMultiple(properties) {
return this._initializedPromise.then(() => {
for (let name in properties) {
this.file[name] = properties[name];
}
return this._writeToStorage();
});
async setMultiple(properties) {
await this._initializedPromise;
for (let name in properties) {
this.file[name] = properties[name];
}
return this._writeToStorage();
}

get(name, defaultValue) {
return this._initializedPromise.then(() => {
let val = this.file[name];
return val !== undefined ? val : defaultValue;
});
async get(name, defaultValue) {
await this._initializedPromise;
let val = this.file[name];
return val !== undefined ? val : defaultValue;
}

getMultiple(properties) {
return this._initializedPromise.then(() => {
let values = Object.create(null);
async getMultiple(properties) {
await this._initializedPromise;
let values = Object.create(null);

for (let name in properties) {
let val = this.file[name];
values[name] = val !== undefined ? val : properties[name];
}
return values;
});
for (let name in properties) {
let val = this.file[name];
values[name] = val !== undefined ? val : properties[name];
}
return values;
}
}

Expand Down

0 comments on commit abd23a6

Please sign in to comment.