1
0
Fork 0
mirror of https://github.com/futurepress/epub.js.git synced 2025-10-03 14:59:18 +02:00

Change Book.coverUrl to return null when there is no cover

CoverUrl now returns an undefined when there is no cover. However not
having a cover is expected behavior for an epub without a cover.
This commit is contained in:
Christiaan Baartse 2020-05-22 11:34:03 +02:00
parent 0b0f2e1b2d
commit d690dd9d68
4 changed files with 15 additions and 14 deletions

View file

@ -134,9 +134,9 @@ Set headers request should use
### coverUrl
Get the cover url
Get the cover url if there is a cover
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>** Promise resolves with url string
Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[?string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>** Promise resolves with maybe a url string
### getRange

View file

@ -661,19 +661,20 @@ class Book {
/**
* Get the cover url
* @return {Promise<string>} coverUrl
* @return {Promise<?string>} coverUrl
*/
coverUrl() {
var retrieved = this.loaded.cover.
then(() => {
if(this.archived && this.cover) {
return this.archive.createUrl(this.cover);
}else{
return this.cover;
}
});
return this.loaded.cover.then(() => {
if (!this.cover) {
return null;
}
return retrieved;
if (this.archived) {
return this.archive.createUrl(this.cover);
} else {
return this.cover;
}
});
}
/**

View file

@ -61,7 +61,7 @@ describe('Book', function() {
});
it('should have a empty coverUrl', async function() {
let coverUrl = await book.coverUrl()
assert.equal(coverUrl, undefined, "cover url should be undefined" );
assert.equal(coverUrl, null, "cover url should be null" );
});
});
});

2
types/book.d.ts vendored
View file

@ -65,7 +65,7 @@ export default class Book {
canonical(path: string): string;
coverUrl(): Promise<string>;
coverUrl(): Promise<string | null>;
destroy(): void;