@papyrus-sdk/engine-epub 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,9 +5,11 @@ Web engine for EPUB documents, built on top of `epubjs`.
5
5
  ## Install
6
6
 
7
7
  ```bash
8
- npm install @papyrus-sdk/engine-epub
8
+ npm install @papyrus-sdk/engine-epub @papyrus-sdk/core @papyrus-sdk/types
9
9
  ```
10
10
 
11
+ `@papyrus-sdk/core` and `@papyrus-sdk/types` are required peer dependencies.
12
+
11
13
  ## Usage
12
14
 
13
15
  ```ts
@@ -0,0 +1,53 @@
1
+ import { BaseDocumentEngine } from '@papyrus-sdk/core';
2
+ import { DocumentLoadInput, TextSelection, TextItem, OutlineItem, PageDestination } from '@papyrus-sdk/types';
3
+
4
+ declare class EPUBEngine extends BaseDocumentEngine {
5
+ private book;
6
+ private spineItems;
7
+ private renditions;
8
+ private renditionTargets;
9
+ private pageSizes;
10
+ private currentPage;
11
+ private zoom;
12
+ private rotation;
13
+ getRenderTargetType(): 'element';
14
+ load(input: DocumentLoadInput): Promise<void>;
15
+ getPageCount(): number;
16
+ getCurrentPage(): number;
17
+ goToPage(page: number): void;
18
+ setZoom(zoom: number): void;
19
+ getZoom(): number;
20
+ rotate(direction: 'clockwise' | 'counterclockwise'): void;
21
+ getRotation(): number;
22
+ getPageDimensions(pageIndex: number): Promise<{
23
+ width: number;
24
+ height: number;
25
+ }>;
26
+ selectText(pageIndex: number, rect: {
27
+ x: number;
28
+ y: number;
29
+ width: number;
30
+ height: number;
31
+ }): Promise<TextSelection | null>;
32
+ renderPage(pageIndex: number, target: any, scale: number): Promise<void>;
33
+ renderTextLayer(pageIndex: number, container: any, scale: number): Promise<void>;
34
+ getTextContent(pageIndex: number): Promise<TextItem[]>;
35
+ getOutline(): Promise<OutlineItem[]>;
36
+ getPageIndex(dest: PageDestination): Promise<number | null>;
37
+ destroy(): void;
38
+ private applyRenditionTheme;
39
+ private getSpineIndexByHref;
40
+ private normalizeHref;
41
+ private isUriSource;
42
+ private isDataSource;
43
+ private isFileLike;
44
+ private normalizeLoadInput;
45
+ private isLoadRequest;
46
+ private resolveSource;
47
+ private parseDataUri;
48
+ private decodeBase64;
49
+ private looksLikeUri;
50
+ private isLikelyBase64;
51
+ }
52
+
53
+ export { EPUBEngine };
@@ -0,0 +1,53 @@
1
+ import { BaseDocumentEngine } from '@papyrus-sdk/core';
2
+ import { DocumentLoadInput, TextSelection, TextItem, OutlineItem, PageDestination } from '@papyrus-sdk/types';
3
+
4
+ declare class EPUBEngine extends BaseDocumentEngine {
5
+ private book;
6
+ private spineItems;
7
+ private renditions;
8
+ private renditionTargets;
9
+ private pageSizes;
10
+ private currentPage;
11
+ private zoom;
12
+ private rotation;
13
+ getRenderTargetType(): 'element';
14
+ load(input: DocumentLoadInput): Promise<void>;
15
+ getPageCount(): number;
16
+ getCurrentPage(): number;
17
+ goToPage(page: number): void;
18
+ setZoom(zoom: number): void;
19
+ getZoom(): number;
20
+ rotate(direction: 'clockwise' | 'counterclockwise'): void;
21
+ getRotation(): number;
22
+ getPageDimensions(pageIndex: number): Promise<{
23
+ width: number;
24
+ height: number;
25
+ }>;
26
+ selectText(pageIndex: number, rect: {
27
+ x: number;
28
+ y: number;
29
+ width: number;
30
+ height: number;
31
+ }): Promise<TextSelection | null>;
32
+ renderPage(pageIndex: number, target: any, scale: number): Promise<void>;
33
+ renderTextLayer(pageIndex: number, container: any, scale: number): Promise<void>;
34
+ getTextContent(pageIndex: number): Promise<TextItem[]>;
35
+ getOutline(): Promise<OutlineItem[]>;
36
+ getPageIndex(dest: PageDestination): Promise<number | null>;
37
+ destroy(): void;
38
+ private applyRenditionTheme;
39
+ private getSpineIndexByHref;
40
+ private normalizeHref;
41
+ private isUriSource;
42
+ private isDataSource;
43
+ private isFileLike;
44
+ private normalizeLoadInput;
45
+ private isLoadRequest;
46
+ private resolveSource;
47
+ private parseDataUri;
48
+ private decodeBase64;
49
+ private looksLikeUri;
50
+ private isLikelyBase64;
51
+ }
52
+
53
+ export { EPUBEngine };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@papyrus-sdk/engine-epub",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "papyrus",
@@ -34,10 +34,16 @@
34
34
  "url": "https://github.com/solrachix/Papyrus/issues"
35
35
  },
36
36
  "dependencies": {
37
- "@papyrus-sdk/core": "0.2.1",
38
- "@papyrus-sdk/types": "0.2.1",
39
37
  "epubjs": "^0.3.92"
40
38
  },
39
+ "peerDependencies": {
40
+ "@papyrus-sdk/core": ">=0.2.1",
41
+ "@papyrus-sdk/types": ">=0.2.1"
42
+ },
43
+ "devDependencies": {
44
+ "@papyrus-sdk/core": "0.2.1",
45
+ "@papyrus-sdk/types": "0.2.1"
46
+ },
41
47
  "scripts": {
42
48
  "build": "tsup index.ts --dts --format cjs,esm --out-dir dist --clean --sourcemap"
43
49
  }