Skip to content
This repository was archived by the owner on Jul 20, 2025. It is now read-only.

Commit 26d55ad

Browse files
committed
chore: maybe improve assert type inference
1 parent 2f7eaf3 commit 26d55ad

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/index.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,20 @@ import {
1010

1111
type DataType = { a: string; b: string };
1212

13+
// HasProperties
1314
assert<HasProperties<DataType, "a">>(true);
1415
assert<HasProperties<DataType, "a" | "b">>(true);
1516
assert<HasProperties<DataType, "a" | "b" | "c">>(false);
1617
assert<HasProperties<DataType, "c">>(false);
18+
19+
// Extends
1720
assert<Extends<DataType, { c: string }>>(false);
1821
assert<Extends<DataType, { a: string; b: string }>>(true);
22+
23+
//Equals
1924
assert<Equals<DataType, { a: string; b: string }>>(true);
2025
assert<Not<Equals<DataType, { a: string; b: string }>>>(false);
2126

27+
// Extra
2228
assertTrue<Equals<DataType, { a: string; b: string }>>();
2329
assertFalse<Extends<DataType, { c: string }>>();

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ export type HasProperties<T, K extends IndexType> = Extends<
88
>;
99
export type Not<T extends boolean> = T extends true ? false : true;
1010

11-
export function assert<T>(expected: T) {}
11+
export function assert<T extends boolean>(expected: T) {}
1212
export function assertTrue<T extends true>() {}
1313
export function assertFalse<T extends false>() {}

0 commit comments

Comments
 (0)