epublib 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/epub.d.ts CHANGED
@@ -259,6 +259,7 @@ export declare class EpubFile {
259
259
  };
260
260
  constructor(filePath: string, dev?: boolean);
261
261
  getCoverImage(): File | undefined;
262
+ hasCoverImage(): boolean;
262
263
  getTitle(): EpubFileGetTitle;
263
264
  getISBN13(): ISBN13 | undefined;
264
265
  getLanguage(): BCP47LanguageTag;
@@ -1 +1 @@
1
- {"version":3,"file":"epub.d.ts","sourceRoot":"","sources":["../src/epub.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAiB7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,UAAU,gBAAgB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC7B;AAED,qBAAa,QAAQ;;IASpB,IAAI,QAAQ,WAEX;IAED,IAAI,GAAG,WAEN;IAED,IAAI,YAAY;;;;;;;;;;;;;;MAEf;IAED,IAAI,OAAO,cAEV;IAED,IAAI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEb;gBAqGW,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAQ;IAgBzC,aAAa,IAAI,IAAI,GAAG,SAAS;IAmFjC,QAAQ,IAAI,gBAAgB;IAmE5B,SAAS,IAAI,MAAM,GAAG,SAAS;IAgE/B,WAAW,IAAI,gBAAgB;IAa/B,aAAa,IAAI,qBAAqB,GAAG,SAAS;IAmFlD,OAAO,CACN,MAAM,GAAE,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAuB,GAC3D,MAAM,GAAG,SAAS;IAmCrB,YAAY,IAAI,MAAM,GAAG,SAAS;IAMlC,cAAc,CAAC,YAAY,GAAE,OAAc,GAAG,MAAM,GAAG,SAAS;IAWhE,eAAe,CACd,aAAa,GAAE,UAAU,EAAY,GACnC,mBAAmB,EAAE,GAAG,SAAS;CAwEpC"}
1
+ {"version":3,"file":"epub.d.ts","sourceRoot":"","sources":["../src/epub.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAiB7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,UAAU,gBAAgB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC7B;AAED,qBAAa,QAAQ;;IASpB,IAAI,QAAQ,WAEX;IAED,IAAI,GAAG,WAEN;IAED,IAAI,YAAY;;;;;;;;;;;;;;MAEf;IAED,IAAI,OAAO,cAEV;IAED,IAAI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEb;gBAqGW,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAQ;IAgBzC,aAAa,IAAI,IAAI,GAAG,SAAS;IAqGjC,aAAa,IAAI,OAAO;IAIxB,QAAQ,IAAI,gBAAgB;IAmE5B,SAAS,IAAI,MAAM,GAAG,SAAS;IAgE/B,WAAW,IAAI,gBAAgB;IAa/B,aAAa,IAAI,qBAAqB,GAAG,SAAS;IAmFlD,OAAO,CACN,MAAM,GAAE,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAuB,GAC3D,MAAM,GAAG,SAAS;IAmCrB,YAAY,IAAI,MAAM,GAAG,SAAS;IAMlC,cAAc,CAAC,YAAY,GAAE,OAAc,GAAG,MAAM,GAAG,SAAS;IAWhE,eAAe,CACd,aAAa,GAAE,UAAU,EAAY,GACnC,mBAAmB,EAAE,GAAG,SAAS;CAwEpC"}
package/dist/epub.js CHANGED
@@ -108,6 +108,15 @@ export class EpubFile {
108
108
  this.#packageOpf = this.#getPackageOpf();
109
109
  }
110
110
  getCoverImage() {
111
+ const coverImage = this.#getCoverImageEntry();
112
+ if (typeof coverImage === "undefined") {
113
+ return undefined;
114
+ }
115
+ return new File([Buffer.from(coverImage.entry.getData())], coverImage.filename, {
116
+ type: coverImage.type,
117
+ });
118
+ }
119
+ #getCoverImageEntry() {
111
120
  function epub2get(t) {
112
121
  const p = t.#packageOpf;
113
122
  const metaCover = [
@@ -127,9 +136,11 @@ export class EpubFile {
127
136
  if (entry === null) {
128
137
  throw new Error(`Could not find "${coverImagePath}" in epub "${t.#filePath}"`);
129
138
  }
130
- return new File([Buffer.from(entry.getData())], basename(coverImagePath), {
139
+ return {
140
+ entry,
131
141
  type: manifestItem["@_media-type"],
132
- });
142
+ filename: basename(coverImagePath),
143
+ };
133
144
  }
134
145
  if (this.#version === "3") {
135
146
  const coverImageItem = this.#packageOpf.package.manifest.item.find((e) => (e["@_properties"] ?? []).includes("cover-image"));
@@ -142,14 +153,19 @@ export class EpubFile {
142
153
  if (entry === null) {
143
154
  throw new Error(`Could not find "${coverImagePath}" in epub "${this.#filePath}"`);
144
155
  }
145
- return new File([Buffer.from(entry.getData())], basename(coverImagePath), {
156
+ return {
157
+ entry,
146
158
  type: coverImageItem["@_media-type"],
147
- });
159
+ filename: basename(coverImagePath),
160
+ };
148
161
  }
149
162
  else {
150
163
  return epub2get(this);
151
164
  }
152
165
  }
166
+ hasCoverImage() {
167
+ return typeof this.#getCoverImageEntry() !== "undefined";
168
+ }
153
169
  getTitle() {
154
170
  const t = this.#packageOpf.package.metadata["dc:title"]?.[0];
155
171
  if (!t) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "epublib",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",