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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
import { SpineItem } from "./section";
export interface PackagingObject {
metadata: PackagingMetadataObject,
spine: Array<SpineItem>,
manifest: PackagingManifestObject,
navPath: string,
ncxPath: string,
coverPath: string,
spineNodeIndex: number
}
export interface PackagingMetadataObject {
title: string,
creator: string,
description: string,
pubdate: string,
publisher: string,
identifier: string,
language: string,
rights: string,
modified_date: string,
layout: string,
orientation: string,
flow: string,
viewport: string,
spread: string
}
export interface PackagingSpineItem {
idref: string,
properties: Array<string>,
index: number
}
export interface PackagingManifestItem {
href: string,
type: string,
properties: Array<string>
}
export interface PackagingManifestObject {
[key: string]: PackagingManifestItem
}
export default class Packaging {
constructor(packageDocument: XMLDocument);
manifest: PackagingManifestObject;
navPath: string;
ncxPath: string;
coverPath: string;
spineNodeIndex: number;
spine: Array<PackagingSpineItem>;
metadata: PackagingMetadataObject;
parse(packageDocument: XMLDocument): PackagingObject;
load(json: string): PackagingObject;
destroy(): void;
private parseMetadata(xml: Node): PackagingMetadataObject;
private parseManifest(xml: Node): PackagingManifestObject;
private parseSpine(xml: Node, manifest: PackagingManifestObject): Array<PackagingSpineItem>;
private findNavPath(manifestNode: Node): string | false;
private findNcxPath(manifestNode: Node, spineNode: Node): string | false;
private findCoverPath(packageXml: Node): string;
private getElementText(xml: Node, tag: string): string
private getPropertyText(xml: Node, property: string): string
}
|