summaryrefslogtreecommitdiff
path: root/lib/epub.js/types/book.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/epub.js/types/book.d.ts')
-rw-r--r--lib/epub.js/types/book.d.ts122
1 files changed, 122 insertions, 0 deletions
diff --git a/lib/epub.js/types/book.d.ts b/lib/epub.js/types/book.d.ts
new file mode 100644
index 0000000..7835053
--- /dev/null
+++ b/lib/epub.js/types/book.d.ts
@@ -0,0 +1,122 @@
+import {
+ PackagingManifestObject,
+ PackagingMetadataObject,
+ PackagingSpineItem,
+ PackagingObject
+} from "./packaging";
+import Rendition, { RenditionOptions } from "./rendition";
+import Section, { SpineItem } from "./section";
+import Archive from "./archive";
+import Navigation from "./navigation";
+import PageList, {PageListItem} from "./pagelist";
+import Spine from "./spine";
+import Locations from "./locations";
+import Url from "./utils/url";
+import Path from "./utils/path";
+import Resources from "./resources";
+import Container from "./container";
+import Packaging from "./packaging";
+import Store from "./store";
+
+export interface BookOptions {
+ requestMethod?: (url: string, type: string, withCredentials: object, headers: object) => Promise<object>;
+ requestCredentials?: object,
+ requestHeaders?: object,
+ encoding?: string,
+ replacements?: string,
+ canonical?: (path: string) => string,
+ openAs?: string,
+ store?: string
+}
+
+export default class Book {
+ constructor(url: string, options?: BookOptions);
+ constructor(options?: BookOptions);
+
+ settings: BookOptions;
+ opening: any; // should be core.defer
+ opened: Promise<Book>;
+ isOpen: boolean;
+ loaded: {
+ metadata: Promise<PackagingMetadataObject>,
+ spine: Promise<SpineItem[]>,
+ manifest: Promise<PackagingManifestObject>,
+ cover: Promise<string>,
+ navigation: Promise<Navigation>,
+ pageList: Promise<PageListItem[]>,
+ resources: Promise<string[]>,
+ }
+ ready: Promise<void>;
+ request: Function;
+ spine: Spine;
+ locations: Locations;
+ navigation: Navigation;
+ pageList: PageList;
+ url: Url;
+ path: Path;
+ archived: boolean;
+ archive: Archive;
+ resources: Resources;
+ rendition: Rendition
+ container: Container;
+ packaging: Packaging;
+ storage: Store;
+
+
+ canonical(path: string): string;
+
+ coverUrl(): Promise<string | null>;
+
+ destroy(): void;
+
+ determineType(input: string): string;
+
+ getRange(cfiRange: string): Promise<Range>;
+
+ key(identifier?: string): string;
+
+ load(path: string): Promise<object>;
+
+ loadNavigation(opf: XMLDocument): Promise<Navigation>;
+
+ open(input: string, what?: string): Promise<object>;
+ open(input: ArrayBuffer, what?: string): Promise<object>;
+
+ openContainer(url: string): Promise<string>;
+
+ openEpub(data: BinaryType, encoding?: string): Promise<Book>;
+
+ openManifest(url: string): Promise<Book>;
+
+ openPackaging(url: string): Promise<Book>;
+
+ renderTo(element: Element, options?: RenditionOptions): Rendition;
+ renderTo(element: string, options?: RenditionOptions): Rendition;
+
+ private replacements(): Promise<void>;
+
+ resolve(path: string, absolute?: boolean): string;
+
+ section(target: string): Section;
+ section(target: number): Section;
+
+ setRequestCredentials(credentials: object): void;
+
+ setRequestHeaders(headers: object): void;
+
+ unarchive(input: BinaryType, encoding?: string): Promise<Archive>;
+
+ store(name: string): Store;
+
+ unpack(opf: XMLDocument): Promise<Book>;
+
+ // Event emitters
+ emit(type: any, ...args: any[]): void;
+
+ off(type: any, listener: any): any;
+
+ on(type: any, listener: any): any;
+
+ once(type: any, listener: any, ...args: any[]): any;
+
+}