@prose-reader/archive-reader 1.332.0 → 1.333.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.
@@ -27,7 +27,7 @@ async function E(e) {
27
27
  var D = (e) => {
28
28
  let t = Object.entries(e).filter(([, e]) => e !== void 0);
29
29
  return Object.fromEntries(t);
30
- }, ee = { displayOptions: "apple.options" }, te = (e) => {
30
+ }, ee = { displayOptions: "apple.options" }, O = (e) => {
31
31
  let t = e.displayOptions?.platform?.options, n = t?.find((e) => e.name === "fixed-layout")?.value.trim().toLowerCase(), r = n === "true" || n !== "false" && void 0, i = D({
32
32
  fixedLayout: r,
33
33
  options: t !== void 0 && t.length > 0 ? t.map(({ name: e, value: t }) => D({
@@ -39,7 +39,7 @@ var D = (e) => {
39
39
  renditionLayout: r === !0 ? "pre-paginated" : void 0,
40
40
  apple: Object.keys(i).length > 0 ? i : void 0
41
41
  });
42
- }, ne = async (e, t = {}) => n(e, (e) => e.isDir ? {
42
+ }, te = async (e, t = {}) => n(e, (e) => e.isDir ? {
43
43
  dir: !0,
44
44
  uri: e.name
45
45
  } : {
@@ -50,7 +50,7 @@ var D = (e) => {
50
50
  }, {
51
51
  ...t,
52
52
  close: () => Promise.resolve()
53
- }), re = async (t, { mimeType: n, direction: i } = { mimeType: "text/plain" }) => {
53
+ }), ne = async (t, { mimeType: n, direction: i } = { mimeType: "text/plain" }) => {
54
54
  let a = `
55
55
  <?xml version="1.0" encoding="UTF-8"?>
56
56
  <package xmlns="http://www.idpf.org/2007/opf" version="3.0" xml:lang="ja" prefix="rendition: http://www.idpf.org/vocab/rendition/#"
@@ -86,7 +86,7 @@ var D = (e) => {
86
86
  }],
87
87
  close: () => Promise.resolve()
88
88
  });
89
- }, ie = async (t, n) => {
89
+ }, re = async (t, n) => {
90
90
  let i = c(), a = t.map((e) => ({
91
91
  id: i(e),
92
92
  url: e
@@ -124,59 +124,59 @@ var D = (e) => {
124
124
  }, ...s],
125
125
  close: () => Promise.resolve()
126
126
  });
127
- }, ae = (e) => h(e.encodingFormat ?? "") || l(e.basename), O = (e) => S(e) && ae(e)?.startsWith("image/") === !0, oe = (e) => e.records.filter(S).filter(O), k = "ComicInfo.xml", se = /* @__PURE__ */ "AgeRating.AlternateCount.AlternateNumber.AlternateSeries.BlackAndWhite.Characters.Colorist.CommunityRating.Count.CoverArtist.Day.Editor.Format.Genre.GTIN.Imprint.Inker.LanguageISO.Letterer.Locations.MainCharacterOrTeam.Manga.Month.Notes.Number.PageCount.Penciller.Publisher.Review.ScanInformation.Series.SeriesGroup.StoryArc.StoryArcNumber.Summary.Tags.Teams.Title.Translator.Volume.Web.Writer.Year".split("."), ce = /* @__PURE__ */ new Set(["Pages", "ComicInfo"]), le = (e) => e.children.some((e) => e.type === "element"), ue = (e) => {
127
+ }, ie = (e) => h(e.encodingFormat ?? "") || l(e.basename), k = (e) => S(e) && ie(e)?.startsWith("image/") === !0, ae = (e) => e.records.filter(S).filter(k), A = "ComicInfo.xml", oe = /* @__PURE__ */ "AgeRating.AlternateCount.AlternateNumber.AlternateSeries.BlackAndWhite.Characters.Colorist.CommunityRating.Count.CoverArtist.Day.Editor.Format.Genre.GTIN.Imprint.Inker.LanguageISO.Letterer.Locations.MainCharacterOrTeam.Manga.Month.Notes.Number.PageCount.Penciller.Publisher.Review.ScanInformation.Series.SeriesGroup.StoryArc.StoryArcNumber.Summary.Tags.Teams.Title.Translator.Volume.Web.Writer.Year".split("."), se = /* @__PURE__ */ new Set(["Pages", "ComicInfo"]), ce = (e) => e.children.some((e) => e.type === "element"), le = (e) => {
128
128
  let t = e.val.trim();
129
129
  return t.length > 0 ? t : void 0;
130
- }, A = (e) => {
130
+ }, j = (e) => {
131
131
  let t;
132
132
  try {
133
133
  t = new a(e);
134
134
  } catch (e) {
135
135
  let t = e instanceof Error ? e.message : String(e);
136
- throw Error(`${k} is malformed: ${t}`, { cause: e });
136
+ throw Error(`${A} is malformed: ${t}`, { cause: e });
137
137
  }
138
138
  let n = {};
139
139
  return t.eachChild((e) => {
140
- if (e.type !== "element" || ce.has(e.name) || le(e)) return;
141
- let t = ue(e);
140
+ if (e.type !== "element" || se.has(e.name) || ce(e)) return;
141
+ let t = le(e);
142
142
  t !== void 0 && n[e.name] === void 0 && (n[e.name] = t);
143
143
  }), {
144
144
  kind: "comicInfo",
145
145
  ...n
146
146
  };
147
- }, de = k.toLowerCase(), j = (e) => e.records.find((e) => S(e) && e.basename.toLowerCase() === de), M = [
147
+ }, ue = A.toLowerCase(), M = (e) => e.records.find((e) => S(e) && e.basename.toLowerCase() === ue), de = [
148
148
  "Unknown",
149
149
  "No",
150
150
  "Yes",
151
151
  "YesAndRightToLeft"
152
152
  ], fe = (e) => {
153
- for (let t of M) if (t === e) return !0;
153
+ for (let t of de) if (t === e) return !0;
154
154
  return !1;
155
155
  };
156
156
  //#endregion
157
157
  //#region src/comicInfo/readArchiveComicInfo.ts
158
- async function pe(e) {
159
- let t = j(e);
160
- if (t) return A(await x(t));
158
+ async function N(e) {
159
+ let t = M(e);
160
+ if (t) return j(await x(t));
161
161
  }
162
162
  //#endregion
163
163
  //#region src/utils/normalizeGtin.ts
164
- var me = /* @__PURE__ */ new Set([
164
+ var pe = /* @__PURE__ */ new Set([
165
165
  8,
166
166
  12,
167
167
  13,
168
168
  14
169
- ]), N = (e) => {
169
+ ]), P = (e) => {
170
170
  if (e == null) return;
171
171
  let t = String(e).replace(/\D/g, "");
172
- if (!(t.length === 0 || !me.has(t.length))) return t;
173
- }, he = /(?:97[89])?\d{9}[\dXx]/, P = (e) => {
172
+ if (!(t.length === 0 || !pe.has(t.length))) return t;
173
+ }, me = /(?:97[89])?\d{9}[\dXx]/, F = (e) => {
174
174
  if (e == null) return;
175
175
  let t = String(e).trim().replace(/^urn:isbn:/i, "").replace(/^isbn[:\s-]*/i, ""), n = t.replace(/[^0-9Xx]/g, "");
176
176
  if (n.length === 10 || n.length === 13) return n.toUpperCase();
177
- let r = t.match(he);
177
+ let r = t.match(me);
178
178
  if (r) return r[0].toUpperCase();
179
- }, ge = {
179
+ }, he = {
180
180
  AgeRating: "comic.ageRating",
181
181
  AlternateCount: "comic.alternateSeries",
182
182
  AlternateNumber: "comic.alternateSeries",
@@ -220,46 +220,46 @@ var me = /* @__PURE__ */ new Set([
220
220
  Web: "comic.web",
221
221
  Writer: "contributors",
222
222
  Year: "published"
223
- }, _e = (e) => {
223
+ }, ge = (e) => {
224
224
  switch (e.Manga) {
225
225
  case "YesAndRightToLeft": return "rtl";
226
226
  case "Yes":
227
227
  case "No": return "ltr";
228
228
  default: return;
229
229
  }
230
- }, F = (e) => {
230
+ }, I = (e) => {
231
231
  if (e === void 0) return;
232
232
  let t = e.trim();
233
233
  return t.length > 0 ? t : void 0;
234
- }, I = (e) => e === void 0 ? [] : e.split(",").map((e) => e.trim()).filter((e) => e.length > 0), L = (e) => {
235
- let t = F(e);
234
+ }, L = (e) => e === void 0 ? [] : e.split(",").map((e) => e.trim()).filter((e) => e.length > 0), R = (e) => {
235
+ let t = I(e);
236
236
  if (t === void 0 || !/^\d+$/.test(t)) return;
237
237
  let n = Number.parseInt(t, 10);
238
238
  return Number.isFinite(n) ? n : void 0;
239
- }, R = (e) => {
240
- let t = F(e);
239
+ }, z = (e) => {
240
+ let t = I(e);
241
241
  if (t === void 0 || !/^\d+(\.\d+)?$/.test(t)) return;
242
242
  let n = Number.parseFloat(t);
243
243
  return Number.isFinite(n) ? n : void 0;
244
- }, ve = (e) => {
245
- let t = F(e)?.toLowerCase();
244
+ }, _e = (e) => {
245
+ let t = I(e)?.toLowerCase();
246
246
  if (t === "yes") return !0;
247
247
  if (t === "no") return !1;
248
- }, ye = (e) => {
248
+ }, ve = (e) => {
249
249
  switch (e.Manga) {
250
250
  case "Yes":
251
251
  case "YesAndRightToLeft": return !0;
252
252
  case "No": return !1;
253
253
  default: return;
254
254
  }
255
- }, be = (e) => {
256
- let t = L(e.Year), n = L(e.Month), r = L(e.Day);
255
+ }, ye = (e) => {
256
+ let t = R(e.Year), n = R(e.Month), r = R(e.Day);
257
257
  if (!(t === void 0 && n === void 0 && r === void 0)) return {
258
258
  ...t === void 0 ? {} : { year: t },
259
259
  ...n === void 0 ? {} : { month: n },
260
260
  ...r === void 0 ? {} : { day: r }
261
261
  };
262
- }, xe = [
262
+ }, be = [
263
263
  ["Writer", "author"],
264
264
  ["Penciller", "penciler"],
265
265
  ["Inker", "inker"],
@@ -268,9 +268,9 @@ var me = /* @__PURE__ */ new Set([
268
268
  ["CoverArtist", "coverArtist"],
269
269
  ["Editor", "editor"],
270
270
  ["Translator", "translator"]
271
- ], Se = (e) => {
271
+ ], xe = (e) => {
272
272
  let t = /* @__PURE__ */ new Map();
273
- for (let [n, r] of xe) for (let i of I(e[n])) {
273
+ for (let [n, r] of be) for (let i of L(e[n])) {
274
274
  let e = t.get(i);
275
275
  e ? e.roles.includes(r) || e.roles.push(r) : t.set(i, {
276
276
  name: i,
@@ -278,84 +278,84 @@ var me = /* @__PURE__ */ new Set([
278
278
  });
279
279
  }
280
280
  return [...t.values()];
281
- }, Ce = (e) => {
282
- let t = F(e.Series);
281
+ }, Se = (e) => {
282
+ let t = I(e.Series);
283
283
  if (t !== void 0) return D({
284
284
  name: t,
285
- position: R(e.Number),
286
- total: L(e.Count)
285
+ position: z(e.Number),
286
+ total: R(e.Count)
287
287
  });
288
- }, we = (e) => {
289
- let t = F(e.AlternateSeries);
288
+ }, Ce = (e) => {
289
+ let t = I(e.AlternateSeries);
290
290
  if (t !== void 0) return D({
291
291
  name: t,
292
- position: R(e.AlternateNumber),
293
- total: L(e.AlternateCount)
292
+ position: z(e.AlternateNumber),
293
+ total: R(e.AlternateCount)
294
294
  });
295
- }, Te = (e) => {
296
- let t = I(e.StoryArc);
295
+ }, we = (e) => {
296
+ let t = L(e.StoryArc);
297
297
  if (t.length === 0) return [];
298
- let n = I(e.StoryArcNumber);
298
+ let n = L(e.StoryArcNumber);
299
299
  return t.map((e, t) => D({
300
300
  name: e,
301
- position: R(n[t])
301
+ position: z(n[t])
302
302
  }));
303
- }, z = (e) => e.length > 0 ? e : void 0, Ee = (e) => {
304
- let t = z((e.Web ?? "").split(/\s+/).filter((e) => e.length > 0)), n = D({
305
- manga: ye(e),
306
- blackAndWhite: ve(e.BlackAndWhite),
307
- volume: L(e.Volume),
308
- format: F(e.Format),
309
- ageRating: F(e.AgeRating),
310
- communityRating: R(e.CommunityRating),
311
- notes: F(e.Notes),
312
- review: F(e.Review),
303
+ }, B = (e) => e.length > 0 ? e : void 0, Te = (e) => {
304
+ let t = B((e.Web ?? "").split(/\s+/).filter((e) => e.length > 0)), n = D({
305
+ manga: ve(e),
306
+ blackAndWhite: _e(e.BlackAndWhite),
307
+ volume: R(e.Volume),
308
+ format: I(e.Format),
309
+ ageRating: I(e.AgeRating),
310
+ communityRating: z(e.CommunityRating),
311
+ notes: I(e.Notes),
312
+ review: I(e.Review),
313
313
  web: t,
314
- scanInformation: F(e.ScanInformation),
315
- mainCharacterOrTeam: F(e.MainCharacterOrTeam),
316
- characters: z(I(e.Characters)),
317
- teams: z(I(e.Teams)),
318
- locations: z(I(e.Locations)),
319
- storyArcs: z(Te(e)),
320
- alternateSeries: we(e)
314
+ scanInformation: I(e.ScanInformation),
315
+ mainCharacterOrTeam: I(e.MainCharacterOrTeam),
316
+ characters: B(L(e.Characters)),
317
+ teams: B(L(e.Teams)),
318
+ locations: B(L(e.Locations)),
319
+ storyArcs: B(we(e)),
320
+ alternateSeries: Ce(e)
321
321
  });
322
322
  return Object.keys(n).length > 0 ? n : void 0;
323
- }, De = (e) => {
324
- let t = Ce(e), n = z(I(e.SeriesGroup).map((e) => ({ name: e })));
323
+ }, Ee = (e) => {
324
+ let t = Se(e), n = B(L(e.SeriesGroup).map((e) => ({ name: e })));
325
325
  if (!(t === void 0 && n === void 0)) return D({
326
326
  series: t === void 0 ? void 0 : [t],
327
327
  collection: n
328
328
  });
329
- }, Oe = (e) => {
330
- let t = e.GTIN, n = F(t), r = F(e.LanguageISO), i = [...I(e.Genre), ...I(e.Tags)];
329
+ }, De = (e) => {
330
+ let t = e.GTIN, n = I(t), r = I(e.LanguageISO), i = [...L(e.Genre), ...L(e.Tags)];
331
331
  return D({
332
- title: F(e.Title),
333
- description: F(e.Summary),
334
- publisher: F(e.Publisher),
335
- imprint: F(e.Imprint),
332
+ title: I(e.Title),
333
+ description: I(e.Summary),
334
+ publisher: I(e.Publisher),
335
+ imprint: I(e.Imprint),
336
336
  languages: r === void 0 ? void 0 : [r],
337
- subjects: z(i),
338
- contributors: z(Se(e)),
339
- published: be(e),
340
- readingDirection: _e(e),
341
- numberOfPages: L(e.PageCount),
342
- gtin: N(t),
343
- isbn: P(t),
337
+ subjects: B(i),
338
+ contributors: B(xe(e)),
339
+ published: ye(e),
340
+ readingDirection: ge(e),
341
+ numberOfPages: R(e.PageCount),
342
+ gtin: P(t),
343
+ isbn: F(t),
344
344
  identifiers: n === void 0 ? void 0 : [{
345
345
  value: n,
346
346
  scheme: "GTIN"
347
347
  }],
348
- belongsTo: De(e),
349
- comic: Ee(e)
348
+ belongsTo: Ee(e),
349
+ comic: Te(e)
350
350
  });
351
- }, ke = (e) => {
351
+ }, Oe = (e) => {
352
352
  let t = e.records.filter((e) => !e.dir).find((e) => e.uri.endsWith(".opf"));
353
353
  return {
354
354
  data: t,
355
355
  basePath: t?.uri.substring(0, t.uri.lastIndexOf("/")) || ""
356
356
  };
357
- }, B = (e) => e === void 0 || e.trim().length === 0 ? [] : e.trim().split(/\s+/).filter((e) => e.length > 0), Ae = (e) => {
358
- let t = B(e);
357
+ }, V = (e) => e === void 0 || e.trim().length === 0 ? [] : e.trim().split(/\s+/).filter((e) => e.length > 0), ke = (e) => {
358
+ let t = V(e);
359
359
  if (t.length === 0) return {};
360
360
  let n;
361
361
  t.includes("rendition:layout-reflowable") && (n = "reflowable"), t.includes("rendition:layout-pre-paginated") && (n = "pre-paginated");
@@ -366,16 +366,16 @@ var me = /* @__PURE__ */ new Set([
366
366
  ...t.includes("page-spread-left") ? { pageSpreadLeft: !0 } : {},
367
367
  ...t.includes("page-spread-right") ? { pageSpreadRight: !0 } : {}
368
368
  };
369
- }, V = (e) => e.includes(":") ? e.slice(e.lastIndexOf(":") + 1) : e, H = (e, t) => V(e).toLowerCase() === t.toLowerCase(), U = (e) => e.type === "element", W = (e, t) => {
370
- for (let n of e.children) if (U(n) && H(n.name, t)) return n;
371
- }, G = (e, t) => {
369
+ }, H = (e) => e.includes(":") ? e.slice(e.lastIndexOf(":") + 1) : e, U = (e, t) => H(e).toLowerCase() === t.toLowerCase(), W = (e) => e.type === "element", G = (e, t) => {
370
+ for (let n of e.children) if (W(n) && U(n.name, t)) return n;
371
+ }, K = (e, t) => {
372
372
  let n = [];
373
- for (let r of e.children) U(r) && H(r.name, t) && n.push(r);
373
+ for (let r of e.children) W(r) && U(r.name, t) && n.push(r);
374
374
  return n;
375
- }, je = (e) => {
375
+ }, Ae = (e) => {
376
376
  let t = [];
377
377
  return e.eachChild((e) => {
378
- if (V(e.name).toLowerCase() !== "identifier") return;
378
+ if (H(e.name).toLowerCase() !== "identifier") return;
379
379
  let n = e.val.trim();
380
380
  if (n.length === 0) return;
381
381
  let r = (e.attr["opf:scheme"] ?? e.attr["opf:Scheme"] ?? e.attr.scheme)?.trim();
@@ -384,46 +384,46 @@ var me = /* @__PURE__ */ new Set([
384
384
  ...r !== void 0 && r.length > 0 ? { scheme: r } : {}
385
385
  });
386
386
  }), t;
387
- }, K = (e, t) => {
387
+ }, q = (e, t) => {
388
388
  let n;
389
389
  return e.eachChild((e) => {
390
- if (n !== void 0 || V(e.name).toLowerCase() !== t.toLowerCase()) return;
390
+ if (n !== void 0 || H(e.name).toLowerCase() !== t.toLowerCase()) return;
391
391
  let r = e.val.trim();
392
392
  r.length > 0 && (n = r);
393
393
  }), n;
394
- }, q = (e, t) => {
394
+ }, J = (e, t) => {
395
395
  let n = [];
396
396
  return e.eachChild((e) => {
397
- if (V(e.name).toLowerCase() !== t.toLowerCase()) return;
397
+ if (H(e.name).toLowerCase() !== t.toLowerCase()) return;
398
398
  let r = e.val.trim();
399
399
  r.length > 0 && n.push(r);
400
400
  }), n;
401
- }, Me = (e) => {
401
+ }, je = (e) => {
402
402
  let t;
403
403
  return e.eachChild((e) => {
404
- if (t !== void 0 || V(e.name).toLowerCase() !== "meta" || e.attr.name?.toLowerCase() !== "cover") return;
404
+ if (t !== void 0 || H(e.name).toLowerCase() !== "meta" || e.attr.name?.toLowerCase() !== "cover") return;
405
405
  let n = e.attr.content?.trim();
406
406
  n !== void 0 && n.length > 0 && (t = n);
407
407
  }), t;
408
- }, Ne = ({ manifestItems: e, metadataEl: t }) => {
409
- let n = (e) => e.mediaType?.toLowerCase().includes("image/") === !0, r = e.find((e) => n(e) ? B(e.properties).includes("cover-image") : !1);
408
+ }, Me = ({ manifestItems: e, metadataEl: t }) => {
409
+ let n = (e) => e.mediaType?.toLowerCase().includes("image/") === !0, r = e.find((e) => n(e) ? V(e.properties).includes("cover-image") : !1);
410
410
  if (r !== void 0) return r.href;
411
411
  if (t !== void 0) {
412
- let r = Me(t);
412
+ let r = je(t);
413
413
  if (r !== void 0) {
414
414
  let t = e.find((e) => e.id === r && n(e));
415
415
  if (t !== void 0) return t.href;
416
416
  }
417
417
  }
418
418
  return e.find((e) => e.id.toLowerCase().includes("cover") && n(e))?.href;
419
- }, J = (e, t) => {
419
+ }, Y = (e, t) => {
420
420
  let n = e.attr[t]?.trim();
421
421
  return n !== void 0 && n.length > 0 ? n : void 0;
422
- }, Pe = (e) => {
422
+ }, Ne = (e) => {
423
423
  let t = [];
424
424
  return e.eachChild((e) => {
425
- if (V(e.name).toLowerCase() !== "meta") return;
426
- let n = J(e, "property"), r = J(e, "refines"), i = J(e, "scheme"), a = J(e, "id"), o = J(e, "name"), s = J(e, "content"), c = e.val.trim(), l = c.length > 0 ? c : void 0, u = {
425
+ if (H(e.name).toLowerCase() !== "meta") return;
426
+ let n = Y(e, "property"), r = Y(e, "refines"), i = Y(e, "scheme"), a = Y(e, "id"), o = Y(e, "name"), s = Y(e, "content"), c = e.val.trim(), l = c.length > 0 ? c : void 0, u = {
427
427
  ...n === void 0 ? {} : { property: n },
428
428
  ...r === void 0 ? {} : { refines: r },
429
429
  ...i === void 0 ? {} : { scheme: i },
@@ -434,14 +434,14 @@ var me = /* @__PURE__ */ new Set([
434
434
  };
435
435
  Object.keys(u).length !== 0 && t.push(u);
436
436
  }), t;
437
- }, Fe = (e, t) => e.replace(/^#/, "") === t, Ie = (e, t) => {
437
+ }, Pe = (e, t) => e.replace(/^#/, "") === t, Fe = (e, t) => {
438
438
  let n = [];
439
439
  return e.eachChild((e) => {
440
- let r = V(e.name).toLowerCase();
440
+ let r = H(e.name).toLowerCase();
441
441
  if (r !== "creator" && r !== "contributor") return;
442
442
  let i = e.val.trim();
443
443
  if (i.length === 0) return;
444
- let a = J(e, "id"), o = (e) => a === void 0 ? [] : t.flatMap((t) => t.refines !== void 0 && Fe(t.refines, a) && t.property === e && t.value !== void 0 ? [t.value] : []), s = J(e, "opf:role") ?? J(e, "role"), c = [...s === void 0 ? [] : [s], ...o("role")], l = J(e, "opf:file-as") ?? J(e, "file-as") ?? o("file-as")[0];
444
+ let a = Y(e, "id"), o = (e) => a === void 0 ? [] : t.flatMap((t) => t.refines !== void 0 && Pe(t.refines, a) && t.property === e && t.value !== void 0 ? [t.value] : []), s = Y(e, "opf:role") ?? Y(e, "role"), c = [...s === void 0 ? [] : [s], ...o("role")], l = Y(e, "opf:file-as") ?? Y(e, "file-as") ?? o("file-as")[0];
445
445
  n.push({
446
446
  name: i,
447
447
  source: r,
@@ -450,14 +450,14 @@ var me = /* @__PURE__ */ new Set([
450
450
  ...l === void 0 ? {} : { fileAs: l }
451
451
  });
452
452
  }), n;
453
- }, Y = (e, t) => {
454
- let n = G(e, "meta").find((e) => e.attr.property === t)?.val;
453
+ }, X = (e, t) => {
454
+ let n = K(e, "meta").find((e) => e.attr.property === t)?.val;
455
455
  if (!(n === void 0 || n.trim().length === 0)) return n;
456
- }, Le = (e) => {
457
- let t = W(e, "guide");
456
+ }, Ie = (e) => {
457
+ let t = G(e, "guide");
458
458
  if (t === void 0) return [];
459
459
  let n = [];
460
- for (let e of G(t, "reference")) {
460
+ for (let e of K(t, "reference")) {
461
461
  let t = e.attr.href?.trim();
462
462
  t === void 0 || t.length === 0 || n.push({
463
463
  href: t,
@@ -466,7 +466,7 @@ var me = /* @__PURE__ */ new Set([
466
466
  });
467
467
  }
468
468
  return n;
469
- }, Re = (e) => {
469
+ }, Le = (e) => {
470
470
  let t = e.attr.id, n = e.attr.href;
471
471
  if (t === void 0 || t.length === 0 || n === void 0 || n.length === 0) return;
472
472
  let r = e.attr["media-type"], i = e.attr.properties?.trim();
@@ -476,24 +476,24 @@ var me = /* @__PURE__ */ new Set([
476
476
  ...r !== void 0 && r.length > 0 ? { mediaType: r } : {},
477
477
  ...i !== void 0 && i.length > 0 ? { properties: i } : {}
478
478
  };
479
- }, ze = (e) => {
479
+ }, Re = (e) => {
480
480
  let t = [], n = /* @__PURE__ */ new Map();
481
- for (let r of G(e, "item")) {
482
- let e = Re(r);
481
+ for (let r of K(e, "item")) {
482
+ let e = Le(r);
483
483
  e !== void 0 && (t.push(e), n.set(e.id, e));
484
484
  }
485
485
  return {
486
486
  items: t,
487
487
  byId: n
488
488
  };
489
- }, Be = (e, t) => {
489
+ }, ze = (e, t) => {
490
490
  let n = [];
491
- for (let r of G(t, "itemref")) {
491
+ for (let r of K(t, "itemref")) {
492
492
  let t = r.attr.idref;
493
493
  if (t === void 0 || t.trim().length === 0) continue;
494
494
  let i = e.get(t);
495
495
  if (i === void 0) continue;
496
- let a = Ae(r.attr.properties);
496
+ let a = ke(r.attr.properties);
497
497
  n.push({
498
498
  idref: t,
499
499
  id: i.id,
@@ -507,18 +507,18 @@ var me = /* @__PURE__ */ new Set([
507
507
  });
508
508
  }
509
509
  return n;
510
- }, Ve = (e) => {
511
- let t = new a(e), n = W(t, "manifest"), r = W(t, "spine"), i = W(t, "metadata"), o = [], s = [];
510
+ }, Be = (e) => {
511
+ let t = new a(e), n = G(t, "manifest"), r = G(t, "spine"), i = G(t, "metadata"), o = [], s = [];
512
512
  if (n !== void 0) {
513
- let { items: e, byId: t } = ze(n);
514
- o = e, r !== void 0 && (s = Be(t, r));
513
+ let { items: e, byId: t } = Re(n);
514
+ o = e, r !== void 0 && (s = ze(t, r));
515
515
  }
516
516
  let c = r?.attr["page-progression-direction"], l = c !== void 0 && c.trim().length > 0 ? c : void 0, u = r?.attr.toc, d = u !== void 0 && u.trim().length > 0 ? u.trim() : void 0, f, p, m, h, g, _ = [], v = [], y = [], b = [], x, S, C, w = [], T = [];
517
- i !== void 0 && (f = K(i, "title"), p = K(i, "publisher"), m = K(i, "description"), h = K(i, "rights"), g = K(i, "date"), _ = q(i, "creator"), y = q(i, "language"), b = q(i, "subject"), x = Y(i, "rendition:layout"), S = Y(i, "rendition:flow"), C = Y(i, "rendition:spread"), w = Pe(i), v = Ie(i, w), T.push(...je(i)));
518
- let E = Ne({
517
+ i !== void 0 && (f = q(i, "title"), p = q(i, "publisher"), m = q(i, "description"), h = q(i, "rights"), g = q(i, "date"), _ = J(i, "creator"), y = J(i, "language"), b = J(i, "subject"), x = X(i, "rendition:layout"), S = X(i, "rendition:flow"), C = X(i, "rendition:spread"), w = Ne(i), v = Fe(i, w), T.push(...Ae(i)));
518
+ let E = Me({
519
519
  manifestItems: o,
520
520
  metadataEl: i
521
- }), D = Le(t);
521
+ }), D = Ie(t);
522
522
  return {
523
523
  kind: "opf",
524
524
  manifestItems: o,
@@ -545,27 +545,27 @@ var me = /* @__PURE__ */ new Set([
545
545
  };
546
546
  //#endregion
547
547
  //#region src/opf/readArchiveOpf.ts
548
- async function X(e) {
549
- let { data: t, basePath: n } = ke(e) || {};
548
+ async function Z(e) {
549
+ let { data: t, basePath: n } = Oe(e) || {};
550
550
  if (!(!t || t.dir)) return {
551
- opf: Ve(await x(t)),
551
+ opf: Be(await x(t)),
552
552
  basePath: n
553
553
  };
554
554
  }
555
555
  //#endregion
556
556
  //#region src/kobo/parse.ts
557
- var He = "com.kobobooks.display-options.xml", Ue = (e) => {
557
+ var Ve = "com.kobobooks.display-options.xml", He = (e) => {
558
558
  let t = e.childNamed("platform");
559
559
  if (!t) return {};
560
560
  for (let e of t.childrenNamed("option")) if (e.attr?.name === "fixed-layout") return e.val.trim().toLowerCase() === "true" ? { renditionLayout: "pre-paginated" } : {};
561
561
  return {};
562
- }, We = (e) => {
562
+ }, Ue = (e) => {
563
563
  let t = new a(e);
564
564
  return t.name?.toLowerCase() === "display_options" ? {
565
565
  kind: "kobo",
566
- ...Ue(t)
566
+ ...He(t)
567
567
  } : { kind: "kobo" };
568
- }, Ge = (e) => {
568
+ }, We = (e) => {
569
569
  let t = [];
570
570
  for (let n of e.split("/")) if (n !== ".") {
571
571
  if (n === "..") {
@@ -575,12 +575,12 @@ var He = "com.kobobooks.display-options.xml", Ue = (e) => {
575
575
  t.push(n);
576
576
  }
577
577
  return t.join("/");
578
- }, Ke = (e, t) => /^https?:\/\//.test(e) ? e : Ge(t ? `${t}/${e}` : e), qe = (e) => {
578
+ }, Ge = (e, t) => /^https?:\/\//.test(e) ? e : We(t ? `${t}/${e}` : e), Ke = (e) => {
579
579
  let t = e?.trim().toLowerCase();
580
580
  return t === "reflowable" || t === "pre-paginated" ? t : void 0;
581
- }, Je = (e, { opf: t, basePath: n }) => {
582
- let r = qe(t.renditionLayoutMeta), i = t.spineRows.map((t) => {
583
- let r = Ke(t.href, n);
581
+ }, qe = (e, { opf: t, basePath: n }) => {
582
+ let r = Ke(t.renditionLayoutMeta), i = t.spineRows.map((t) => {
583
+ let r = Ge(t.href, n);
584
584
  return {
585
585
  row: t,
586
586
  uri: r,
@@ -598,11 +598,11 @@ var He = "com.kobobooks.display-options.xml", Ue = (e) => {
598
598
  pageSpreadRight: e.pageSpreadRight,
599
599
  progressionWeight: a > 0 ? (i?.size ?? 0) / a : 1 / t.spineRows.length
600
600
  }));
601
- }, Ye = k.toLowerCase(), Xe = v.toLowerCase(), Ze = (e) => {
601
+ }, Je = A.toLowerCase(), Ye = v.toLowerCase(), Xe = (e) => {
602
602
  let t = e.basename.toLowerCase();
603
- return t === Ye || t === Xe || e.uri.endsWith("com.kobobooks.display-options.xml") || t.endsWith(".db");
604
- }, Qe = (e) => {
605
- let t = e.records.filter(S).filter((e) => !Ze(e));
603
+ return t === Je || t === Ye || e.uri.endsWith("com.kobobooks.display-options.xml") || t.endsWith(".db");
604
+ }, Ze = (e) => {
605
+ let t = e.records.filter(S).filter((e) => !Xe(e));
606
606
  return t.map((e) => {
607
607
  let n = h(e.encodingFormat ?? "") || l(e.basename);
608
608
  return D({
@@ -613,23 +613,23 @@ var He = "com.kobobooks.display-options.xml", Ue = (e) => {
613
613
  progressionWeight: 1 / t.length
614
614
  });
615
615
  });
616
- }, Z = async (e, { opf: t } = {}) => {
617
- let n = t ?? await X(e).catch(() => void 0);
618
- return n ? Je(e, n) : Qe(e);
619
- }, $e = (e, t) => {
616
+ }, Q = async (e, { opf: t } = {}) => {
617
+ let n = t ?? await Z(e).catch(() => void 0);
618
+ return n ? qe(e, n) : Ze(e);
619
+ }, Qe = (e, t) => {
620
620
  let n = w(e, t);
621
621
  if (n !== void 0) return h(n.encodingFormat ?? "") || l(n.basename);
622
- }, et = async (e, { opf: t, readingOrder: n } = {}) => {
623
- let r = t ?? await X(e).catch(() => void 0);
622
+ }, $e = async (e, { opf: t, readingOrder: n } = {}) => {
623
+ let r = t ?? await Z(e).catch(() => void 0);
624
624
  if (r !== void 0 && r.opf.coverHref !== void 0) {
625
- let t = Ke(r.opf.coverHref, r.basePath);
625
+ let t = Ge(r.opf.coverHref, r.basePath);
626
626
  return D({
627
627
  uri: t,
628
- mediaType: $e(e, t),
628
+ mediaType: Qe(e, t),
629
629
  confidence: "derived"
630
630
  });
631
631
  }
632
- let i = (n ?? await Z(e, { opf: r })).find((e) => e.mediaType?.startsWith("image/") === !0);
632
+ let i = (n ?? await Q(e, { opf: r })).find((e) => e.mediaType?.startsWith("image/") === !0);
633
633
  if (i !== void 0) return D({
634
634
  uri: i.uri,
635
635
  mediaType: i.mediaType,
@@ -638,17 +638,17 @@ var He = "com.kobobooks.display-options.xml", Ue = (e) => {
638
638
  };
639
639
  //#endregion
640
640
  //#region src/kobo/readArchiveKobo.ts
641
- async function tt(e) {
641
+ async function et(e) {
642
642
  let n = e.records.filter((e) => S(e) && e.uri.endsWith("com.kobobooks.display-options.xml"));
643
643
  if (n.length === 0) return;
644
644
  let r;
645
645
  for (let e of n) {
646
646
  let n = await x(e);
647
647
  try {
648
- let { renditionLayout: e } = We(n);
648
+ let { renditionLayout: e } = Ue(n);
649
649
  e && (r = e);
650
650
  } catch (n) {
651
- t.error(`Unable to parse ${He} (${e.uri})`, n);
651
+ t.error(`Unable to parse ${Ve} (${e.uri})`, n);
652
652
  }
653
653
  }
654
654
  return {
@@ -658,13 +658,13 @@ async function tt(e) {
658
658
  }
659
659
  //#endregion
660
660
  //#region src/kobo/resolve.ts
661
- var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
661
+ var tt = { renditionLayout: "renditionLayout" }, nt = (e) => D({
662
662
  renditionLayout: e.renditionLayout,
663
663
  kobo: e.renditionLayout === void 0 ? void 0 : { fixedLayout: e.renditionLayout === "pre-paginated" }
664
- }), it = (e) => {
664
+ }), rt = (e) => {
665
665
  let t = e.descendantWithPath("head")?.childrenNamed("meta").find((e) => e.attr.name === "viewport");
666
666
  return !!(t && t.attr.name === "viewport");
667
- }, at = async (e, n) => {
667
+ }, it = async (e, n) => {
668
668
  if (n.length === 0) return !1;
669
669
  for (let r of n) {
670
670
  if (!m({
@@ -674,17 +674,17 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
674
674
  let n = w(e, r.uri);
675
675
  if (!n || !S(n)) return !1;
676
676
  try {
677
- if (!it(new a(await x(n)))) return !1;
677
+ if (!rt(new a(await x(n)))) return !1;
678
678
  } catch (e) {
679
679
  return t.error(`layout scan: unable to inspect ${r.uri}`, e), !1;
680
680
  }
681
681
  }
682
682
  return !0;
683
- }, ot = async ({ archive: e, archiveOpf: t }) => {
683
+ }, at = async ({ archive: e, archiveOpf: t }) => {
684
684
  if (!t) return [];
685
685
  let { opf: n, basePath: r } = t, { spineRows: i } = n;
686
686
  return e.records.filter((e) => i.find((t) => r ? `${r}/${t.href}` === e.uri : `${t.href}` === e.uri));
687
- }, st = (e) => e.toLowerCase().endsWith(".opf"), ct = (e) => e.records.some((e) => !e.dir && (st(e.basename) || st(e.uri))), Q = (e) => {
687
+ }, ot = (e) => e.toLowerCase().endsWith(".opf"), st = (e) => e.records.some((e) => !e.dir && (ot(e.basename) || ot(e.uri))), ct = (e) => {
688
688
  if (e === void 0) return;
689
689
  let t = e.trim().match(/^(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?/);
690
690
  if (t === null) return;
@@ -716,8 +716,8 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
716
716
  guide: "guide",
717
717
  metas: "properties"
718
718
  }, ut = (e) => {
719
- for (let t of e) if (t.scheme !== void 0 && t.scheme.trim().toLowerCase() === "isbn" && P(t.value) !== void 0) return t.value;
720
- for (let t of e) if (P(t.value) !== void 0) return t.value;
719
+ for (let t of e) if (t.scheme !== void 0 && t.scheme.trim().toLowerCase() === "isbn" && F(t.value) !== void 0) return t.value;
720
+ for (let t of e) if (F(t.value) !== void 0) return t.value;
721
721
  }, dt = {
722
722
  art: "artist",
723
723
  aut: "author",
@@ -779,13 +779,13 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
779
779
  languages: e.languages.length > 0 ? [...e.languages] : void 0,
780
780
  subjects: e.subjects.length > 0 ? [...e.subjects] : void 0,
781
781
  contributors: o.length > 0 ? o : void 0,
782
- published: Q(e.date),
782
+ published: ct(e.date),
783
783
  readingDirection: n,
784
784
  renditionLayout: i,
785
785
  renditionFlow: gt(e.renditionFlowMeta),
786
786
  renditionSpread: _t(e.renditionSpreadMeta),
787
- gtin: N(a),
788
- isbn: P(a),
787
+ gtin: P(a),
788
+ isbn: F(a),
789
789
  identifiers: e.identifiers.length > 0 ? e.identifiers.map(({ value: e, scheme: t }) => D({
790
790
  value: e,
791
791
  scheme: t
@@ -793,8 +793,8 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
793
793
  belongsTo: l,
794
794
  properties: e.metas.length > 0 ? [...e.metas] : void 0
795
795
  });
796
- }, yt = (e) => e.kind === "comicInfo" ? Oe(e) : e.kind === "kobo" ? rt(e) : e.kind === "apple" ? te(e) : vt(e), bt = (e) => {
797
- let t = e.opf === void 0 ? void 0 : vt(e.opf), n = e.comicInfo === void 0 ? void 0 : Oe(e.comicInfo), r = e.apple === void 0 ? void 0 : te(e.apple), i = e.kobo === void 0 ? void 0 : rt(e.kobo), a = [...t?.identifiers ?? [], ...n?.identifiers ?? []];
796
+ }, yt = (e) => e.kind === "comicInfo" ? De(e) : e.kind === "kobo" ? nt(e) : e.kind === "apple" ? O(e) : vt(e), bt = (e) => {
797
+ let t = e.opf === void 0 ? void 0 : vt(e.opf), n = e.comicInfo === void 0 ? void 0 : De(e.comicInfo), r = e.apple === void 0 ? void 0 : O(e.apple), i = e.kobo === void 0 ? void 0 : nt(e.kobo), a = [...t?.identifiers ?? [], ...n?.identifiers ?? []];
798
798
  return D({
799
799
  title: t?.title ?? n?.title,
800
800
  description: t?.description ?? n?.description,
@@ -848,7 +848,7 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
848
848
  let a = encodeURI(t.uri).replace(/#/g, "%23").replace(/\?/g, "%3F").replace(/\/$/, ""), o = t.uri.replace(/\/$/, "");
849
849
  return n(e, r, i, a, o);
850
850
  }, []);
851
- }, St = (e) => e ? e.children.map((e) => e instanceof s ? e.text : e instanceof o ? St(e) : "").join("").trim() : "", Ct = (e) => B(e.properties).includes("nav"), wt = (e, { basePath: t }) => {
851
+ }, St = (e) => e ? e.children.map((e) => e instanceof s ? e.text : e instanceof o ? St(e) : "").join("").trim() : "", Ct = (e) => V(e.properties).includes("nav"), wt = (e, { basePath: t }) => {
852
852
  let n = {
853
853
  contents: [],
854
854
  path: "",
@@ -875,7 +875,7 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
875
875
  let e = t.records.find((e) => e.uri.endsWith(n.href));
876
876
  if (e && !e.dir) return Tt(new a(await x(e)), { basePath: d(e.uri) });
877
877
  }
878
- }, Dt = (e, { opfBasePath: t, prefix: n }) => {
878
+ }, Dt = (e, { basePath: t, prefix: n }) => {
879
879
  let r = _(t, e?.childNamed(`${n}content`)?.attr.src || ""), i = {
880
880
  title: e?.descendantWithPath(`${n}navLabel.${n}text`)?.val || "",
881
881
  path: r,
@@ -883,14 +883,14 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
883
883
  contents: []
884
884
  }, a = e.childrenNamed(`${n}navPoint`);
885
885
  return a && a.length > 0 && (i.contents = a.map((e) => Dt(e, {
886
- opfBasePath: t,
886
+ basePath: t,
887
887
  prefix: n
888
888
  }))), i;
889
- }, Ot = (e, { opfBasePath: t }) => {
889
+ }, Ot = (e, { basePath: t }) => {
890
890
  let n = [], r = e.name, i = "";
891
891
  return r.indexOf(":") !== -1 && (i = `${r.split(":")[0]}:`), e.childNamed(`${i}navMap`)?.childrenNamed(`${i}navPoint`).forEach((e) => {
892
892
  n.push(Dt(e, {
893
- opfBasePath: t,
893
+ basePath: t,
894
894
  prefix: i
895
895
  }));
896
896
  }), n;
@@ -900,11 +900,11 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
900
900
  let i = e.manifestItems.find((e) => e.id === r);
901
901
  if (i) {
902
902
  let e = `${t}${t === "" ? "" : "/"}${i.href}`, r = n.records.find((t) => t.uri.endsWith(e));
903
- if (r && !r.dir) return Ot(new a(await x(r)), { opfBasePath: t });
903
+ if (r && !r.dir) return Ot(new a(await x(r)), { basePath: d(r.uri) });
904
904
  }
905
905
  }
906
906
  }, At = async (e, { opf: t } = {}) => {
907
- let n = t ?? await X(e);
907
+ let n = t ?? await Z(e);
908
908
  if (n) return await Et(n.opf, e) || await kt({
909
909
  opf: n.opf,
910
910
  opfBasePath: n.basePath,
@@ -927,20 +927,20 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
927
927
  let t = (e) => e?.startsWith("audio/") === !0 || e?.startsWith("video/") === !0, n = e.filter((e) => e.renditionLayout === "pre-paginated" && !t(e.mediaType)).length;
928
928
  return n > 0 ? n : void 0;
929
929
  }, Nt = 1, Pt = async (e, t = {}) => {
930
- let n = new Set(t.include ?? jt), r = n.has("metadata"), i = n.has("sources"), a = n.has("readingOrder"), o = n.has("toc"), s = t.layoutScan === !0 && (r || a), c = r || i || a || o ? await $(() => X(e), "opf") : void 0, l = r || i || s, u = l ? await $(() => pe(e), "comicInfo") : void 0, d = l ? await $(() => E(e), "apple") : void 0, f = l ? await $(() => tt(e), "kobo") : void 0, p = r || s ? bt({
930
+ let n = new Set(t.include ?? jt), r = n.has("metadata"), i = n.has("sources"), a = n.has("readingOrder"), o = n.has("toc"), s = t.layoutScan === !0 && (r || a), c = r || i || a || o ? await $(() => Z(e), "opf") : void 0, l = r || i || s, u = l ? await $(() => N(e), "comicInfo") : void 0, d = l ? await $(() => E(e), "apple") : void 0, f = l ? await $(() => et(e), "kobo") : void 0, p = r || s ? bt({
931
931
  opf: c?.opf,
932
932
  comicInfo: u,
933
933
  apple: d,
934
934
  kobo: f
935
- }) : void 0, m = a || s ? await Z(e, { opf: c }) : void 0;
936
- if (s && p !== void 0 && m !== void 0 && p.renditionLayout === "reflowable" && m.every((e) => e.renditionLayout === "reflowable") && await at(e, m) && (p = {
935
+ }) : void 0, m = a || s ? await Q(e, { opf: c }) : void 0;
936
+ if (s && p !== void 0 && m !== void 0 && p.renditionLayout === "reflowable" && m.every((e) => e.renditionLayout === "reflowable") && await it(e, m) && (p = {
937
937
  ...p,
938
938
  renditionLayout: "pre-paginated"
939
939
  }, m = m.map((e) => ({
940
940
  ...e,
941
941
  renditionLayout: "pre-paginated"
942
942
  }))), r && p !== void 0) {
943
- let t = m ?? await Z(e, { opf: c }), n = await et(e, {
943
+ let t = m ?? await Q(e, { opf: c }), n = await $e(e, {
944
944
  opf: c,
945
945
  readingOrder: t
946
946
  }), r = p.numberOfPages ?? Mt(t);
@@ -959,6 +959,6 @@ var nt = { renditionLayout: "renditionLayout" }, rt = (e) => D({
959
959
  })), g;
960
960
  };
961
961
  //#endregion
962
- export { v as APPLE_IBOOKS_DISPLAY_OPTIONS_FILENAME, k as COMIC_INFO_FILENAME, se as COMIC_INFO_KNOWN_FIELDS, M as COMIC_INFO_MANGA_VALUES, He as KOBO_DISPLAY_OPTIONS_FILENAME, ee as appleMetadataHomes, i as arrayBufferFileAccessors, r as blobFileAccessors, ge as comicInfoMetadataHomes, e as createArchive, ne as createArchiveFromArrayBufferList, n as createArchiveFromEntries, re as createArchiveFromText, ie as createArchiveFromUrls, w as getArchiveFileRecordByUri, j as getArchiveHasComicInfo, oe as getArchiveImageRecords, ke as getArchiveOpfInfo, ot as getSpineItemFilesFromArchive, ct as isArchiveEpub, fe as isComicInfoManga, C as isDirectoryRecord, S as isFileRecord, O as isImageRecord, nt as koboMetadataHomes, N as normalizeGtin, P as normalizeIsbn, lt as opfMetadataHomes, b as parseAppleDisplayOptionsXml, A as parseComicInfo, We as parseKoboXml, Ve as parseOpf, Q as parseW3cDtfDate, E as readArchiveApple, pe as readArchiveComicInfo, tt as readArchiveKobo, X as readArchiveOpf, x as readRecordAsText, at as readingOrderDocumentsAllHaveViewport, Pt as resolveArchive, et as resolveArchiveCover, yt as resolveArchiveMetadata, Z as resolveArchiveReadingOrder, At as resolveArchiveToc, bt as resolveMetadata, B as tokenizeXmlSpaceSeparatedList };
962
+ export { v as APPLE_IBOOKS_DISPLAY_OPTIONS_FILENAME, A as COMIC_INFO_FILENAME, oe as COMIC_INFO_KNOWN_FIELDS, de as COMIC_INFO_MANGA_VALUES, Ve as KOBO_DISPLAY_OPTIONS_FILENAME, ee as appleMetadataHomes, i as arrayBufferFileAccessors, r as blobFileAccessors, he as comicInfoMetadataHomes, e as createArchive, te as createArchiveFromArrayBufferList, n as createArchiveFromEntries, ne as createArchiveFromText, re as createArchiveFromUrls, w as getArchiveFileRecordByUri, M as getArchiveHasComicInfo, ae as getArchiveImageRecords, Oe as getArchiveOpfInfo, at as getSpineItemFilesFromArchive, st as isArchiveEpub, fe as isComicInfoManga, C as isDirectoryRecord, S as isFileRecord, k as isImageRecord, tt as koboMetadataHomes, P as normalizeGtin, F as normalizeIsbn, lt as opfMetadataHomes, b as parseAppleDisplayOptionsXml, j as parseComicInfo, Ue as parseKoboXml, Be as parseOpf, ct as parseW3cDtfDate, E as readArchiveApple, N as readArchiveComicInfo, et as readArchiveKobo, Z as readArchiveOpf, x as readRecordAsText, it as readingOrderDocumentsAllHaveViewport, Pt as resolveArchive, $e as resolveArchiveCover, yt as resolveArchiveMetadata, Q as resolveArchiveReadingOrder, At as resolveArchiveToc, bt as resolveMetadata, V as tokenizeXmlSpaceSeparatedList };
963
963
 
964
964
  //# sourceMappingURL=index.js.map