summaryrefslogtreecommitdiff
path: root/lib/epub.js/types/packaging.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/epub.js/types/packaging.d.ts')
-rw-r--r--lib/epub.js/types/packaging.d.ts78
1 files changed, 78 insertions, 0 deletions
diff --git a/lib/epub.js/types/packaging.d.ts b/lib/epub.js/types/packaging.d.ts
new file mode 100644
index 0000000..7151956
--- /dev/null
+++ b/lib/epub.js/types/packaging.d.ts
@@ -0,0 +1,78 @@
+import { SpineItem } from "./section";
+
+export interface PackagingObject {
+ metadata: PackagingMetadataObject,
+ spine: Array<SpineItem>,
+ manifest: PackagingManifestObject,
+ navPath: string,
+ ncxPath: string,
+ coverPath: string,
+ spineNodeIndex: number
+}
+
+export interface PackagingMetadataObject {
+ title: string,
+ creator: string,
+ description: string,
+ pubdate: string,
+ publisher: string,
+ identifier: string,
+ language: string,
+ rights: string,
+ modified_date: string,
+ layout: string,
+ orientation: string,
+ flow: string,
+ viewport: string,
+ spread: string
+}
+
+export interface PackagingSpineItem {
+ idref: string,
+ properties: Array<string>,
+ index: number
+}
+
+export interface PackagingManifestItem {
+ href: string,
+ type: string,
+ properties: Array<string>
+}
+
+export interface PackagingManifestObject {
+ [key: string]: PackagingManifestItem
+}
+
+export default class Packaging {
+ constructor(packageDocument: XMLDocument);
+
+ manifest: PackagingManifestObject;
+ navPath: string;
+ ncxPath: string;
+ coverPath: string;
+ spineNodeIndex: number;
+ spine: Array<PackagingSpineItem>;
+ metadata: PackagingMetadataObject;
+
+ parse(packageDocument: XMLDocument): PackagingObject;
+
+ load(json: string): PackagingObject;
+
+ destroy(): void;
+
+ private parseMetadata(xml: Node): PackagingMetadataObject;
+
+ private parseManifest(xml: Node): PackagingManifestObject;
+
+ private parseSpine(xml: Node, manifest: PackagingManifestObject): Array<PackagingSpineItem>;
+
+ private findNavPath(manifestNode: Node): string | false;
+
+ private findNcxPath(manifestNode: Node, spineNode: Node): string | false;
+
+ private findCoverPath(packageXml: Node): string;
+
+ private getElementText(xml: Node, tag: string): string
+
+ private getPropertyText(xml: Node, property: string): string
+}