Skip to content

Commit 772c668

Browse files
committed
LessThan, LessThanOrEqual, GreaterThanOrEqual: Add function parameter constraint examples
1 parent 1e24994 commit 772c668

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

source/greater-than-or-equal.d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ type B = GreaterThanOrEqual<1, 1>;
1616
type C = GreaterThanOrEqual<1, 5>;
1717
//=> false
1818
```
19+
20+
@example
21+
```
22+
import type {GreaterThanOrEqual} from 'type-fest';
23+
24+
// Use `GreaterThanOrEqual` to constrain a function parameter to non-negative numbers.
25+
declare function setNonNegative<N extends number>(value: GreaterThanOrEqual<N, 0> extends true ? N : never): void;
26+
27+
setNonNegative(0);
28+
setNonNegative(1);
29+
30+
// @ts-expect-error
31+
setNonNegative(-1);
32+
```
1933
*/
2034
export type GreaterThanOrEqual<A extends number, B extends number> = number extends A | B
2135
? never

source/less-than-or-equal.d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ type B = LessThanOrEqual<1, 1>;
1616
type C = LessThanOrEqual<1, 5>;
1717
//=> true
1818
```
19+
20+
@example
21+
```
22+
import type {LessThanOrEqual} from 'type-fest';
23+
24+
// Use `LessThanOrEqual` to constrain a function parameter to non-positive numbers.
25+
declare function setNonPositive<N extends number>(value: LessThanOrEqual<N, 0> extends true ? N : never): void;
26+
27+
setNonPositive(-1);
28+
setNonPositive(0);
29+
30+
// @ts-expect-error
31+
setNonPositive(1);
32+
```
1933
*/
2034
export type LessThanOrEqual<A extends number, B extends number> = number extends A | B
2135
? never

source/less-than.d.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,22 @@ type B = LessThan<1, 1>;
1616
type C = LessThan<1, 5>;
1717
//=> true
1818
```
19+
20+
@example
21+
```
22+
import type {LessThan} from 'type-fest';
23+
24+
// Use `LessThan` to constrain a function parameter to negative numbers.
25+
declare function setNegative<N extends number>(value: LessThan<N, 0> extends true ? N : never): void;
26+
27+
setNegative(-1);
28+
29+
// @ts-expect-error
30+
setNegative(0);
31+
32+
// @ts-expect-error
33+
setNegative(1);
34+
```
1935
*/
2036
export type LessThan<A extends number, B extends number> = number extends A | B
2137
? never

0 commit comments

Comments
 (0)