mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-02 14:49:16 +02:00
35 lines
953 B
TypeScript
35 lines
953 B
TypeScript
import Contents from "./contents";
|
|
import Layout from "./layout";
|
|
|
|
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;
|
|
}
|