summaryrefslogtreecommitdiff
path: root/lib/epub.js/types/mapping.d.ts
blob: 00f6bb441a8bb7621c1ee81adb97e0d8306df6b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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;
}