@prose-reader/core 1.13.0 → 1.15.0
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/dist/context.d.ts +4 -4
- package/dist/createReaderWithEnhancer.d.ts +5467 -4
- package/dist/enhancers/accessibility.d.ts +5464 -1
- package/dist/enhancers/chrome.d.ts +5464 -1
- package/dist/enhancers/fonts.d.ts +5466 -3
- package/dist/enhancers/hotkeys.d.ts +5464 -1
- package/dist/enhancers/layoutEnhancer/layoutEnhancer.d.ts +5464 -1
- package/dist/enhancers/layoutEnhancer/types.d.ts +3 -3
- package/dist/enhancers/links.d.ts +5466 -3
- package/dist/enhancers/loadingEnhancer.d.ts +5469 -5
- package/dist/enhancers/media.d.ts +5464 -1
- package/dist/enhancers/navigation.d.ts +5464 -1
- package/dist/enhancers/pagination.d.ts +5466 -4
- package/dist/enhancers/progression.d.ts +5464 -2
- package/dist/enhancers/resources/index.d.ts +5464 -1
- package/dist/enhancers/theme.d.ts +5465 -2
- package/dist/enhancers/types/enhancer.d.ts +5467 -4
- package/dist/enhancers/utils.d.ts +5464 -1
- package/dist/enhancers/webkit.d.ts +5464 -1
- package/dist/enhancers/zoom/index.d.ts +5464 -2
- package/dist/enhancers/zoom/types.d.ts +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/pagination.d.ts +2 -2
- package/dist/prose.js +6928 -4211
- package/dist/prose.js.map +1 -1
- package/dist/prose.umd.cjs +8053 -143
- package/dist/prose.umd.cjs.map +1 -1
- package/dist/reader.d.ts +5477 -7
- package/dist/settings.d.ts +2 -2
- package/dist/spine/locationResolver.d.ts +2 -2
- package/dist/spine/navigationResolver.d.ts +3 -3
- package/dist/spineItem/createSpineItem.d.ts +1 -1
- package/dist/spineItem/frameItem/frameItem.d.ts +3 -6
- package/dist/spineItem/locationResolver.d.ts +1 -1
- package/dist/spineItem/navigationResolver.d.ts +1 -1
- package/dist/spineItemManager.d.ts +1 -1
- package/dist/types/Hook.d.ts +1 -1
- package/dist/types/Spine.d.ts +8 -8
- package/dist/types/index.d.ts +1 -2
- package/dist/utils/dom.d.ts +1 -1
- package/dist/viewportNavigator/manualViewportNavigator.d.ts +1 -4
- package/dist/viewportNavigator/panViewportNavigator.d.ts +1 -4
- package/dist/viewportNavigator/scrollViewportNavigator.d.ts +1 -1
- package/dist/viewportNavigator/types.d.ts +3 -3
- package/dist/viewportNavigator/viewportNavigator.d.ts +5 -28
- package/package.json +5 -3
- package/dist/types/Reader.d.ts +0 -68
- package/dist/utils/compose.d.ts +0 -8
package/dist/settings.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Manifest } from "./types";
|
|
2
|
-
export
|
|
2
|
+
export type PublicSettings = {
|
|
3
3
|
forceSinglePageMode: boolean;
|
|
4
4
|
pageTurnAnimation: `none` | `fade` | `slide`;
|
|
5
5
|
pageTurnAnimationDuration: undefined | number;
|
|
@@ -8,7 +8,7 @@ export declare type PublicSettings = {
|
|
|
8
8
|
navigationSnapThreshold: number;
|
|
9
9
|
numberOfAdjacentSpineItemToPreLoad: number;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type InnerSettings = PublicSettings & {
|
|
12
12
|
computedPageTurnMode: PublicSettings[`pageTurnMode`];
|
|
13
13
|
computedPageTurnDirection: PublicSettings[`pageTurnDirection`];
|
|
14
14
|
computedPageTurnAnimation: PublicSettings[`pageTurnAnimation`];
|
|
@@ -2,11 +2,11 @@ import { Context } from "../context";
|
|
|
2
2
|
import { SpineItem } from "../spineItem/createSpineItem";
|
|
3
3
|
import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
|
|
4
4
|
import { SpineItemManager } from "../spineItemManager";
|
|
5
|
-
|
|
5
|
+
type SpinePosition = {
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
type SpineItemPosition = {
|
|
10
10
|
x: number;
|
|
11
11
|
y: number;
|
|
12
12
|
outsideOfBoundaries?: boolean;
|
|
@@ -3,16 +3,16 @@ import { SpineItemManager } from "../spineItemManager";
|
|
|
3
3
|
import { SpineItem } from "../spineItem/createSpineItem";
|
|
4
4
|
import { createLocationResolver } from "./locationResolver";
|
|
5
5
|
import { createCfiLocator } from "./cfiLocator";
|
|
6
|
-
export
|
|
6
|
+
export type ViewportNavigationEntry = {
|
|
7
7
|
x: number;
|
|
8
8
|
y: number;
|
|
9
9
|
spineItem?: SpineItem;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type ViewportPosition = {
|
|
12
12
|
x: number;
|
|
13
13
|
y: number;
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
type SpineItemPosition = {
|
|
16
16
|
x: number;
|
|
17
17
|
y: number;
|
|
18
18
|
};
|
|
@@ -178,4 +178,4 @@ export declare const createSpineItem: ({ item, context, containerElement, iframe
|
|
|
178
178
|
isReady$: Observable<boolean>;
|
|
179
179
|
};
|
|
180
180
|
};
|
|
181
|
-
export
|
|
181
|
+
export type SpineItem = ReturnType<typeof createSpineItem>;
|
|
@@ -2,6 +2,7 @@ import { Observable } from "rxjs";
|
|
|
2
2
|
import { Manifest } from "../../types";
|
|
3
3
|
import { Context } from "../../context";
|
|
4
4
|
import { Hook } from "../../types/Hook";
|
|
5
|
+
import { createFrameManipulator } from "./createFrameManipulator";
|
|
5
6
|
export declare const createFrameItem: ({ item, parent, fetchResource, context, hooks$, viewportState$, }: {
|
|
6
7
|
parent: HTMLElement;
|
|
7
8
|
item: Manifest[`spineItems`][number];
|
|
@@ -24,11 +25,7 @@ export declare const createFrameItem: ({ item, parent, fetchResource, context, h
|
|
|
24
25
|
width: number;
|
|
25
26
|
height: number;
|
|
26
27
|
}) => void;
|
|
27
|
-
getManipulableFrame: () =>
|
|
28
|
-
frame: HTMLIFrameElement;
|
|
29
|
-
removeStyle: (id: string) => void;
|
|
30
|
-
addStyle: (id: string, style: string, prepend?: boolean) => void;
|
|
31
|
-
} | undefined;
|
|
28
|
+
getManipulableFrame: () => ReturnType<typeof createFrameManipulator> | undefined;
|
|
32
29
|
getReadingDirection: () => `ltr` | `rtl` | undefined;
|
|
33
30
|
isUsingVerticalWriting: () => boolean;
|
|
34
31
|
getWritingMode: () => "vertical-rl" | "horizontal-tb" | undefined;
|
|
@@ -46,4 +43,4 @@ export declare const createFrameItem: ({ item, parent, fetchResource, context, h
|
|
|
46
43
|
}>;
|
|
47
44
|
};
|
|
48
45
|
};
|
|
49
|
-
export
|
|
46
|
+
export type SpineItemFrame = ReturnType<typeof createFrameItem>;
|
package/dist/types/Hook.d.ts
CHANGED
package/dist/types/Spine.d.ts
CHANGED
|
@@ -6,17 +6,17 @@ import { createCfiLocator } from "../spine/cfiLocator";
|
|
|
6
6
|
import { createLocationResolver } from "../spine/locationResolver";
|
|
7
7
|
import { createLocationResolver as createSpineItemLocator } from "../spineItem/locationResolver";
|
|
8
8
|
import { ViewportNavigationEntry } from "../spine/navigationResolver";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
type RequireLayout = boolean;
|
|
10
|
+
type ManipulableSpineItemCallback = Parameters<SpineItem[`manipulateSpineItem`]>[0];
|
|
11
|
+
type ManipulableSpineItemCallbackPayload = Parameters<ManipulableSpineItemCallback>[0];
|
|
12
|
+
type CfiLocator = ReturnType<typeof createCfiLocator>;
|
|
13
|
+
type SpineItemLocator = ReturnType<typeof createSpineItemLocator>;
|
|
14
|
+
type Locator = ReturnType<typeof createLocationResolver>;
|
|
15
|
+
type Event = {
|
|
16
16
|
type: `onSelectionChange`;
|
|
17
17
|
data: ReturnType<typeof createSelection> | null;
|
|
18
18
|
};
|
|
19
|
-
export
|
|
19
|
+
export type Spine = {
|
|
20
20
|
element: HTMLElement;
|
|
21
21
|
locator: Locator;
|
|
22
22
|
spineItemLocator: SpineItemLocator;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Manifest } from "@prose-reader/shared";
|
|
2
|
-
export
|
|
2
|
+
export type ViewportPosition = {
|
|
3
3
|
x: number;
|
|
4
4
|
y: number;
|
|
5
5
|
};
|
|
6
|
-
export type { LoadOptions, Reader } from "./Reader";
|
|
7
6
|
declare global {
|
|
8
7
|
interface Window {
|
|
9
8
|
__PROSE_READER_DEBUG?: boolean;
|
package/dist/utils/dom.d.ts
CHANGED
|
@@ -12,10 +12,7 @@ export declare const createManualViewportNavigator: ({ navigator, spineItemManag
|
|
|
12
12
|
locator: ReturnType<typeof createLocationResolver>;
|
|
13
13
|
}) => {
|
|
14
14
|
destroy: () => void;
|
|
15
|
-
adjustReadingOffset: (
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
}) => boolean;
|
|
15
|
+
adjustReadingOffset: () => boolean;
|
|
19
16
|
turnLeft: ({ allowSpineItemChange }?: {
|
|
20
17
|
allowSpineItemChange?: boolean | undefined;
|
|
21
18
|
}) => void;
|
|
@@ -27,10 +27,7 @@ export declare const createPanViewportNavigator: ({ getCurrentViewportPosition,
|
|
|
27
27
|
final?: boolean | undefined;
|
|
28
28
|
} | undefined) => void);
|
|
29
29
|
destroy: () => void;
|
|
30
|
-
adjustReadingOffset: (
|
|
31
|
-
x: number;
|
|
32
|
-
y: number;
|
|
33
|
-
}) => boolean;
|
|
30
|
+
adjustReadingOffset: () => boolean;
|
|
34
31
|
$: {
|
|
35
32
|
moveToSubject$: Subject<{
|
|
36
33
|
position: ViewportNavigationEntry;
|
|
@@ -4,7 +4,7 @@ import { Spine } from "../spine/createSpine";
|
|
|
4
4
|
import { createNavigationResolver, ViewportNavigationEntry } from "../spine/navigationResolver";
|
|
5
5
|
import { SpineItemManager } from "../spineItemManager";
|
|
6
6
|
import { ViewportPosition } from "../types";
|
|
7
|
-
|
|
7
|
+
type ScaledDownPosition = ViewportPosition;
|
|
8
8
|
export declare const createScrollViewportNavigator: ({ context, element, navigator, currentNavigationSubject$, spine, }: {
|
|
9
9
|
context: Context;
|
|
10
10
|
element: HTMLElement;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpineItem } from "../spineItem/createSpineItem";
|
|
2
|
-
export
|
|
2
|
+
export type LastUserExpectedNavigation = undefined | {
|
|
3
3
|
type: `navigate-from-previous-item`;
|
|
4
4
|
} | {
|
|
5
5
|
type: `navigate-from-next-item`;
|
|
@@ -10,7 +10,7 @@ export declare type LastUserExpectedNavigation = undefined | {
|
|
|
10
10
|
type: `navigate-from-anchor`;
|
|
11
11
|
data: string;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type Navigation = {
|
|
14
14
|
position: {
|
|
15
15
|
x: number;
|
|
16
16
|
y: number;
|
|
@@ -20,7 +20,7 @@ export declare type Navigation = {
|
|
|
20
20
|
animation: false | `turn` | `snap`;
|
|
21
21
|
lastUserExpectedNavigation: LastUserExpectedNavigation;
|
|
22
22
|
};
|
|
23
|
-
export
|
|
23
|
+
export type AdjustedNavigation = {
|
|
24
24
|
previousNavigationPosition: {
|
|
25
25
|
x: number;
|
|
26
26
|
y: number;
|
|
@@ -2,8 +2,8 @@ import { Context } from "../context";
|
|
|
2
2
|
import { Pagination } from "../pagination";
|
|
3
3
|
import { SpineItemManager } from "../spineItemManager";
|
|
4
4
|
import { createLocationResolver } from "../spine/locationResolver";
|
|
5
|
+
import { ViewportNavigationEntry } from "../spine/navigationResolver";
|
|
5
6
|
import { BehaviorSubject, Observable } from "rxjs";
|
|
6
|
-
import { SpineItem } from "../spineItem/createSpineItem";
|
|
7
7
|
import { createCfiLocator } from "../spine/cfiLocator";
|
|
8
8
|
import { Hook } from "../types/Hook";
|
|
9
9
|
import { LastUserExpectedNavigation, Navigation } from "./types";
|
|
@@ -20,10 +20,7 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
|
|
|
20
20
|
}) => {
|
|
21
21
|
destroy: () => void;
|
|
22
22
|
layout: () => void;
|
|
23
|
-
getCurrentNavigationPosition: () =>
|
|
24
|
-
x: number;
|
|
25
|
-
y: number;
|
|
26
|
-
};
|
|
23
|
+
getCurrentNavigationPosition: () => ViewportNavigationEntry;
|
|
27
24
|
getCurrentViewportPosition: (() => {
|
|
28
25
|
x: number;
|
|
29
26
|
y: number;
|
|
@@ -46,17 +43,6 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
|
|
|
46
43
|
animate: boolean;
|
|
47
44
|
}) => void;
|
|
48
45
|
goToPageOfCurrentChapter: (pageIndex: number) => void;
|
|
49
|
-
adjustNavigation: (spineItem: SpineItem) => Observable<{
|
|
50
|
-
previousNavigationPosition: {
|
|
51
|
-
x: number;
|
|
52
|
-
y: number;
|
|
53
|
-
};
|
|
54
|
-
adjustedSpinePosition: {
|
|
55
|
-
x: number;
|
|
56
|
-
y: number;
|
|
57
|
-
};
|
|
58
|
-
areDifferent: boolean;
|
|
59
|
-
}>;
|
|
60
46
|
moveTo: ((delta: {
|
|
61
47
|
x: number;
|
|
62
48
|
y: number;
|
|
@@ -76,19 +62,10 @@ export declare const createViewportNavigator: ({ spineItemManager, context, pagi
|
|
|
76
62
|
state$: Observable<"free" | "busy">;
|
|
77
63
|
navigation$: Observable<Navigation>;
|
|
78
64
|
navigationAdjustedAfterLayout$: Observable<{
|
|
79
|
-
previousNavigationPosition:
|
|
80
|
-
|
|
81
|
-
y: number;
|
|
82
|
-
};
|
|
83
|
-
adjustedSpinePosition: {
|
|
84
|
-
x: number;
|
|
85
|
-
y: number;
|
|
86
|
-
};
|
|
65
|
+
previousNavigationPosition: ViewportNavigationEntry;
|
|
66
|
+
adjustedSpinePosition: ViewportNavigationEntry;
|
|
87
67
|
areDifferent: boolean;
|
|
88
68
|
}>;
|
|
89
|
-
currentNavigationPosition$: Observable<
|
|
90
|
-
x: number;
|
|
91
|
-
y: number;
|
|
92
|
-
}>;
|
|
69
|
+
currentNavigationPosition$: Observable<ViewportNavigationEntry>;
|
|
93
70
|
};
|
|
94
71
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prose-reader/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/prose.umd.cjs",
|
|
6
6
|
"module": "./dist/prose.js",
|
|
@@ -21,10 +21,11 @@
|
|
|
21
21
|
"lint:read": "prettier --check . && eslint .",
|
|
22
22
|
"lint:write": "prettier --write . && eslint --fix .",
|
|
23
23
|
"test": "vitest run --coverage",
|
|
24
|
+
"test:watch": "vitest watch",
|
|
24
25
|
"tsc": "tsc"
|
|
25
26
|
},
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"@prose-reader/shared": "^1.
|
|
28
|
+
"@prose-reader/shared": "^1.15.0"
|
|
28
29
|
},
|
|
29
30
|
"peerDependencies": {
|
|
30
31
|
"rxjs": "*"
|
|
@@ -32,11 +33,12 @@
|
|
|
32
33
|
"devDependencies": {
|
|
33
34
|
"concurrently": "^7.4.0",
|
|
34
35
|
"html-webpack-plugin": "^5.5.0",
|
|
36
|
+
"jsdom": "^21.1.0",
|
|
35
37
|
"terser-webpack-plugin": "^5.3.0",
|
|
36
38
|
"ts-loader": "^9.2.8",
|
|
37
39
|
"webpack": "^5.65.0",
|
|
38
40
|
"webpack-bundle-analyzer": "^4.5.0",
|
|
39
41
|
"webpack-cli": "^4.9.1"
|
|
40
42
|
},
|
|
41
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "d31fddf1134ea528cefdc680b02a1aa5adc5205d"
|
|
42
44
|
}
|
package/dist/types/Reader.d.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Context } from "../context";
|
|
2
|
-
import { Spine } from "./Spine";
|
|
3
|
-
import { SpineItemManager } from "../spineItemManager";
|
|
4
|
-
import { RegisterHook } from "./Hook";
|
|
5
|
-
import { Manifest } from "@prose-reader/shared";
|
|
6
|
-
import { Pagination } from "../pagination";
|
|
7
|
-
import { Observable } from "rxjs";
|
|
8
|
-
import { createSelection } from "../selection";
|
|
9
|
-
import { createViewportNavigator } from "../viewportNavigator/viewportNavigator";
|
|
10
|
-
declare type ContextSettings = Parameters<Context[`setSettings`]>[0];
|
|
11
|
-
declare type ViewportNavigator = ReturnType<typeof createViewportNavigator>;
|
|
12
|
-
export declare type LoadOptions = {
|
|
13
|
-
cfi?: string;
|
|
14
|
-
fetchResource?: (item: Manifest[`spineItems`][number]) => Promise<Response>;
|
|
15
|
-
};
|
|
16
|
-
export declare type Reader = {
|
|
17
|
-
context: Context;
|
|
18
|
-
registerHook: RegisterHook;
|
|
19
|
-
spine: Spine;
|
|
20
|
-
viewportNavigator: ViewportNavigator;
|
|
21
|
-
manipulateSpineItems: Spine[`manipulateSpineItems`];
|
|
22
|
-
manipulateSpineItem: Spine[`manipulateSpineItem`];
|
|
23
|
-
manipulateContainer: (cb: (container: HTMLElement) => boolean) => void;
|
|
24
|
-
moveTo: ViewportNavigator[`moveTo`];
|
|
25
|
-
turnLeft: ViewportNavigator[`turnLeft`];
|
|
26
|
-
turnRight: ViewportNavigator[`turnRight`];
|
|
27
|
-
goToPageOfCurrentChapter: ViewportNavigator[`goToPageOfCurrentChapter`];
|
|
28
|
-
goToPage: ViewportNavigator[`goToPage`];
|
|
29
|
-
goToUrl: ViewportNavigator[`goToUrl`];
|
|
30
|
-
goToCfi: ViewportNavigator[`goToCfi`];
|
|
31
|
-
goToSpineItem: ViewportNavigator[`goToSpineItem`];
|
|
32
|
-
getFocusedSpineItemIndex: SpineItemManager[`getFocusedSpineItemIndex`];
|
|
33
|
-
getSpineItem: SpineItemManager[`get`];
|
|
34
|
-
getSpineItems: SpineItemManager[`getAll`];
|
|
35
|
-
getAbsolutePositionOf: SpineItemManager[`getAbsolutePositionOf`];
|
|
36
|
-
getSelection: Spine[`getSelection`];
|
|
37
|
-
isSelecting: Spine[`isSelecting`];
|
|
38
|
-
normalizeEventForViewport: Spine[`normalizeEventForViewport`];
|
|
39
|
-
getCfiMetaInformation: Spine[`cfiLocator`][`getCfiMetaInformation`];
|
|
40
|
-
resolveCfi: Spine[`cfiLocator`][`resolveCfi`];
|
|
41
|
-
generateCfi: Spine[`cfiLocator`][`generateFromRange`];
|
|
42
|
-
locator: Spine[`locator`];
|
|
43
|
-
getCurrentNavigationPosition: ViewportNavigator[`getCurrentNavigationPosition`];
|
|
44
|
-
getCurrentViewportPosition: ViewportNavigator[`getCurrentViewportPosition`];
|
|
45
|
-
layout: () => void;
|
|
46
|
-
load: (manifest: Manifest, loadOptions?: LoadOptions) => void;
|
|
47
|
-
destroy: () => void;
|
|
48
|
-
setSettings: Context[`setSettings`];
|
|
49
|
-
settings$: Context[`$`][`settings$`];
|
|
50
|
-
pagination$: Pagination[`$`][`info$`];
|
|
51
|
-
$: {
|
|
52
|
-
state$: Observable<{
|
|
53
|
-
supportedPageTurnAnimation: NonNullable<ContextSettings[`pageTurnAnimation`]>[];
|
|
54
|
-
supportedPageTurnMode: NonNullable<ContextSettings[`pageTurnMode`]>[];
|
|
55
|
-
supportedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
|
|
56
|
-
supportedComputedPageTurnDirection: NonNullable<ContextSettings[`pageTurnDirection`]>[];
|
|
57
|
-
}>;
|
|
58
|
-
ready$: Observable<void>;
|
|
59
|
-
selection$: Observable<ReturnType<typeof createSelection> | null>;
|
|
60
|
-
viewportState$: ViewportNavigator[`$`][`state$`];
|
|
61
|
-
layout$: Spine[`$`][`layout$`];
|
|
62
|
-
itemsCreated$: Spine[`$`][`itemsCreated$`];
|
|
63
|
-
itemsBeforeDestroy$: Spine[`$`][`itemsBeforeDestroy$`];
|
|
64
|
-
itemIsReady$: SpineItemManager[`$`][`itemIsReady$`];
|
|
65
|
-
destroy$: Observable<void>;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
export {};
|
package/dist/utils/compose.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
declare type Func<T extends any[], R> = (...a: T) => R;
|
|
2
|
-
declare function compose<F extends Function>(f: F): F;
|
|
3
|
-
declare function compose<A, T extends any[], R>(f1: (a: A) => R, f2: Func<T, A>): Func<T, R>;
|
|
4
|
-
declare function compose<A, B, T extends any[], R>(f1: (b: B) => R, f2: (a: A) => B, f3: Func<T, A>): Func<T, R>;
|
|
5
|
-
declare function compose<A, B, C, T extends any[], R>(f1: (c: C) => R, f2: (b: B) => C, f3: (a: A) => B, f4: Func<T, A>): Func<T, R>;
|
|
6
|
-
declare function compose<R>(f1: (a: any) => R, ...funcs: Function[]): (...args: any[]) => R;
|
|
7
|
-
declare function compose<R>(...funcs: Function[]): (...args: any[]) => R;
|
|
8
|
-
export { compose };
|