summaryrefslogtreecommitdiff
path: root/lib/epub.js/types/mapping.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/epub.js/types/mapping.d.ts')
-rw-r--r--lib/epub.js/types/mapping.d.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/epub.js/types/mapping.d.ts b/lib/epub.js/types/mapping.d.ts
new file mode 100644
index 0000000..00f6bb4
--- /dev/null
+++ b/lib/epub.js/types/mapping.d.ts
@@ -0,0 +1,34 @@
+import Layout from "./layout";
+import Contents from "./contents";
+
+export interface EpubCFIPair {
+ start: string,
+ end: string
+}
+
+export interface RangePair {
+ start: Range,
+ end: Range
+}
+
+export default class Mapping {
+ constructor(layout: Layout, direction?: string, axis?: string, dev?: boolean);
+
+ page(contents: Contents, cfiBase: string, start: number, end: number): EpubCFIPair;
+
+ axis(axis: string): boolean;
+
+ private walk(root: Node, func: Function);
+
+ private findStart(root: Node, start: number, end: number): Range;
+
+ private findEnd(root: Node, start: number, end: number): Range;
+
+ private findTextStartRange(node: Node, start: number, end: number): Range;
+
+ private findTextEndRange(node: Node, start: number, end: number): Range;
+
+ private splitTextNodeIntoRanges(node: Node, _splitter?: string): Array<Range>;
+
+ private rangePairToCfiPair(cfiBase: string, rangePair: RangePair): EpubCFIPair;
+}