Refactor the ViewHistory
to utilize async
methods rather than manually returning Promise
s
This commit is contained in:
parent
233b3274bf
commit
a60963f882
@ -54,64 +54,54 @@ class ViewHistory {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_writeToStorage() {
|
async _writeToStorage() {
|
||||||
return new Promise((resolve) => {
|
let databaseStr = JSON.stringify(this.database);
|
||||||
let databaseStr = JSON.stringify(this.database);
|
|
||||||
|
|
||||||
if (typeof PDFJSDev !== 'undefined' &&
|
if (typeof PDFJSDev !== 'undefined' &&
|
||||||
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
sessionStorage.setItem('pdfjs.history', databaseStr);
|
sessionStorage.setItem('pdfjs.history', databaseStr);
|
||||||
} else {
|
return;
|
||||||
localStorage.setItem('pdfjs.history', databaseStr);
|
}
|
||||||
}
|
localStorage.setItem('pdfjs.history', databaseStr);
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_readFromStorage() {
|
async _readFromStorage() {
|
||||||
return new Promise(function(resolve) {
|
if (typeof PDFJSDev !== 'undefined' &&
|
||||||
if (typeof PDFJSDev !== 'undefined' &&
|
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
return sessionStorage.getItem('pdfjs.history');
|
||||||
resolve(sessionStorage.getItem('pdfjs.history'));
|
}
|
||||||
} else {
|
return localStorage.getItem('pdfjs.history');
|
||||||
resolve(localStorage.getItem('pdfjs.history'));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set(name, val) {
|
async set(name, val) {
|
||||||
return this._initializedPromise.then(() => {
|
await this._initializedPromise;
|
||||||
this.file[name] = val;
|
this.file[name] = val;
|
||||||
return this._writeToStorage();
|
return this._writeToStorage();
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setMultiple(properties) {
|
async setMultiple(properties) {
|
||||||
return this._initializedPromise.then(() => {
|
await this._initializedPromise;
|
||||||
for (let name in properties) {
|
for (let name in properties) {
|
||||||
this.file[name] = properties[name];
|
this.file[name] = properties[name];
|
||||||
}
|
}
|
||||||
return this._writeToStorage();
|
return this._writeToStorage();
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get(name, defaultValue) {
|
async get(name, defaultValue) {
|
||||||
return this._initializedPromise.then(() => {
|
await this._initializedPromise;
|
||||||
|
let val = this.file[name];
|
||||||
|
return val !== undefined ? val : defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
async getMultiple(properties) {
|
||||||
|
await this._initializedPromise;
|
||||||
|
let values = Object.create(null);
|
||||||
|
|
||||||
|
for (let name in properties) {
|
||||||
let val = this.file[name];
|
let val = this.file[name];
|
||||||
return val !== undefined ? val : defaultValue;
|
values[name] = val !== undefined ? val : properties[name];
|
||||||
});
|
}
|
||||||
}
|
return values;
|
||||||
|
|
||||||
getMultiple(properties) {
|
|
||||||
return this._initializedPromise.then(() => {
|
|
||||||
let values = Object.create(null);
|
|
||||||
|
|
||||||
for (let name in properties) {
|
|
||||||
let val = this.file[name];
|
|
||||||
values[name] = val !== undefined ? val : properties[name];
|
|
||||||
}
|
|
||||||
return values;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user