summaryrefslogtreecommitdiff
path: root/lib/epub.js/types/navigation.d.ts
blob: 8b4f8a0080ea7b4f9f1724284fe96730e143390d (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
35
36
37
38
39
40
41
42
43
44
45
46
export interface NavItem {
  id: string,
  href: string,
  label: string,
  subitems?: Array<NavItem>,
  parent?: string
}

export interface LandmarkItem {
  href?: string,
  label?: string,
  type?: string
}

export default class Navigation {
  constructor(xml: XMLDocument);

  toc: Array<NavItem>;
  landmarks: Array<LandmarkItem>;

  parse(xml: XMLDocument): void;

  get(target: string) : NavItem;

  landmark(type: string) : LandmarkItem;

  load(json: string): Array<NavItem>;

  forEach(fn: (item: NavItem) => {}): any;

  private unpack(toc: Array<NavItem>): void;

  private parseNav(navHtml: XMLDocument): Array<NavItem>;

  private navItem(item: Element): NavItem;

  private parseLandmarks(navHtml: XMLDocument): Array<LandmarkItem>;

  private landmarkItem(item: Element): LandmarkItem;

  private parseNcx(navHtml: XMLDocument): Array<NavItem>;

  private ncxItem(item: Element): NavItem;

  private getByIndex(target: string, index: number, navItems: NavItem[]): NavItem;
}