Skip to content

Commit 5368617

Browse files
committed
fix!: imporve types
1 parent 3ccca37 commit 5368617

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

index.d.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
export type MaybePromise<T = any> = Promise<Awaited<T>> | Awaited<T>
1+
export type MaybePromise<T = any> = PromiseLike<T> | T
22

33
export type Fn<R = void, P extends any[] = any[]> = (...args: P) => R
44

5+
export type AsyncFn<R = void, P extends any[] = any[]> = (...args: P) => Promise<R>
6+
57
export type MaybeFunction<T, P extends any[] = any[]> = T | Fn<T, P>
68

79
export type MaybeFn<T, P extends any[] = any[]> = MaybeFunction<T,P>
@@ -10,17 +12,17 @@ export type MaybeAsyncFunction<T, P extends any[] = any[],Promised extends boole
1012

1113
export type MaybeArray<T> = T | T[]
1214

13-
export type MaybeNumber<T = string> = T | number
15+
export type Numeric = number | BigInt
1416

15-
export type Num = MaybeNumber<string>
17+
export type MaybeNumeric<T = string> = T | Numeric
1618

1719
export type MaybeDate = Date | string | number
1820

1921
export type MaybeRegex = RegExp | string
2022

2123
export type MaybeFalsy = false | null | undefined | "" | 0 | void
2224

23-
export type UnwrapPromise <T> = T extends Promise<infer U> ? U : T
25+
export type UnwrapPromise <T> = T extends PromiseLike<infer U> ? U : T
2426

2527
export type UnwrapFunction <T> = T extends Fn<infer U> ? U : T
2628

test/prime.test-d.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { expectTypeOf, it } from "vitest";
2-
import type { MaybeArray, MaybeDate, MaybeFalsy, MaybeNumber, MaybeRegex } from "..";
2+
import type { MaybeArray, MaybeDate, MaybeFalsy, MaybeNumeric, MaybeRegex } from "..";
33

44
it("should typecheck prime", () => {
5-
expectTypeOf<MaybeNumber>(1);
6-
expectTypeOf<MaybeNumber>("1");
5+
expectTypeOf<MaybeNumeric>(1);
6+
expectTypeOf<MaybeNumeric>("1");
77

88
expectTypeOf<MaybeRegex>(/\d+/);
99
expectTypeOf<MaybeRegex>("\d+");

test/promise.test-d.ts

-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ it("should typecheck MaybePromise", () => {
66

77
expectTypeOf<MaybePromise<number>>(1);
88

9-
expectTypeOf<MaybePromise<Promise<number>>>(1);
10-
119
expectTypeOf<UnwrapPromise<MaybePromise<number>>>(1);
1210
});
1311

0 commit comments

Comments
 (0)