Skip to content

Commit 9b3b3c8

Browse files
Add typescript definitions
1 parent 3a77c4c commit 9b3b3c8

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
dist
22
node_modules
33
*.md
4+
package.json

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.1.0",
44
"description": "",
55
"main": "dist/index.js",
6+
"types": "src/index.d.ts",
67
"scripts": {
78
"build": "babel -d dist/ src/",
89
"test": "echo \"Error: no test specified\" && exit 1"

src/index.d.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
interface Result<TData = any, TError = Error | string> {
2+
data?: TData;
3+
error?: TError;
4+
loading: boolean;
5+
refetch?(): void;
6+
}
7+
8+
type AnyFunction = (...args: any[]) => any;
9+
type Callback<TParams = any[]> = (...args: TParams) => void;
10+
11+
export function useAsyncCallback(asyncCallback: AnyFunction, deps?: ReadonlyArray<any>): [Callback, Result];
12+
export function useAsyncCallback<TData>(
13+
asyncCallback: AnyFunction,
14+
deps?: ReadonlyArray<any>,
15+
): [Callback, Result<TData>];
16+
export function useAsyncCallback<TData, TError>(
17+
asyncCallback: AnyFunction,
18+
deps?: ReadonlyArray<any>,
19+
): [Callback, Result<TData, TError>];
20+
export function useAsyncCallback<TData, TError, TCallback extends AnyFunction>(
21+
asyncCallback: TCallback,
22+
deps?: ReadonlyArray<any>,
23+
): [Callback<Parameters<TCallback>>, Result<TData, TError>];
24+
25+
export function useAsyncEffect(asyncEffect: AnyFunction, deps?: ReadonlyArray<any>): Result;
26+
export function useAsyncEffect<TData>(asyncEffect: AnyFunction, deps?: ReadonlyArray<any>): Result<TData>;
27+
export function useAsyncEffect<TData, TError>(
28+
asyncEffect: AnyFunction,
29+
deps?: ReadonlyArray<any>,
30+
): Result<TData, TError>;

0 commit comments

Comments
 (0)