type-plus 6.5.0 → 6.6.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/README.md +27 -15
- package/cjs/any/any_or_never.d.ts +0 -2
- package/cjs/any/any_or_never.d.ts.map +1 -1
- package/cjs/any/any_type.d.ts +2 -6
- package/cjs/any/any_type.d.ts.map +1 -1
- package/cjs/array/array.d.ts +0 -4
- package/cjs/array/array.d.ts.map +1 -1
- package/cjs/array/array_index.d.ts +7 -10
- package/cjs/array/array_index.d.ts.map +1 -1
- package/cjs/array/array_type.d.ts +0 -8
- package/cjs/array/array_type.d.ts.map +1 -1
- package/cjs/bigint/bigint_type.d.ts +4 -12
- package/cjs/bigint/bigint_type.d.ts.map +1 -1
- package/cjs/bigint/strict_bigint_type.d.ts +4 -12
- package/cjs/bigint/strict_bigint_type.d.ts.map +1 -1
- package/cjs/boolean/boolean_type.d.ts +0 -8
- package/cjs/boolean/boolean_type.d.ts.map +1 -1
- package/cjs/boolean/false_type.d.ts +0 -8
- package/cjs/boolean/false_type.d.ts.map +1 -1
- package/cjs/boolean/strict_boolean_type.d.ts +0 -8
- package/cjs/boolean/strict_boolean_type.d.ts.map +1 -1
- package/cjs/boolean/true_type.d.ts +0 -8
- package/cjs/boolean/true_type.d.ts.map +1 -1
- package/cjs/equal/equal.d.ts +4 -5
- package/cjs/equal/equal.d.ts.map +1 -1
- package/cjs/function/function_type.d.ts +0 -8
- package/cjs/function/function_type.d.ts.map +1 -1
- package/cjs/function/strict_function_type.d.ts +0 -8
- package/cjs/function/strict_function_type.d.ts.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/never/never_type.d.ts +2 -10
- package/cjs/never/never_type.d.ts.map +1 -1
- package/cjs/null/null_type.d.ts +4 -12
- package/cjs/null/null_type.d.ts.map +1 -1
- package/cjs/number/integer.d.ts +1 -9
- package/cjs/number/integer.d.ts.map +1 -1
- package/cjs/number/negative.d.ts +0 -8
- package/cjs/number/negative.d.ts.map +1 -1
- package/cjs/number/number_type.d.ts +0 -8
- package/cjs/number/number_type.d.ts.map +1 -1
- package/cjs/number/numeric_type.d.ts +0 -8
- package/cjs/number/numeric_type.d.ts.map +1 -1
- package/cjs/number/positive.d.ts +1 -9
- package/cjs/number/positive.d.ts.map +1 -1
- package/cjs/number/strict_number_type.d.ts +4 -12
- package/cjs/number/strict_number_type.d.ts.map +1 -1
- package/cjs/object/object_type.d.ts +1 -9
- package/cjs/object/object_type.d.ts.map +1 -1
- package/cjs/string/strict_string_type.d.ts +14 -19
- package/cjs/string/strict_string_type.d.ts.map +1 -1
- package/cjs/string/string.d.ts +24 -0
- package/cjs/string/string.d.ts.map +1 -0
- package/cjs/string/string.js +3 -0
- package/cjs/string/string.js.map +1 -0
- package/cjs/string/string_plus.d.ts +27 -0
- package/cjs/string/string_plus.d.ts.map +1 -0
- package/cjs/string/string_plus.js +3 -0
- package/cjs/string/string_plus.js.map +1 -0
- package/cjs/string/string_type.d.ts +4 -12
- package/cjs/string/string_type.d.ts.map +1 -1
- package/cjs/symbol/symbol_type.d.ts +5 -15
- package/cjs/symbol/symbol_type.d.ts.map +1 -1
- package/cjs/tuple/tuple_type.d.ts +0 -8
- package/cjs/tuple/tuple_type.d.ts.map +1 -1
- package/cjs/type/failed.d.ts +2 -3
- package/cjs/type/failed.d.ts.map +1 -1
- package/cjs/type/failed.js +0 -1
- package/cjs/type/failed.js.map +1 -1
- package/cjs/undefined/undefined_type.d.ts +4 -12
- package/cjs/undefined/undefined_type.d.ts.map +1 -1
- package/cjs/unknown/unknown_type.d.ts +4 -12
- package/cjs/unknown/unknown_type.d.ts.map +1 -1
- package/cjs/void/void_type.d.ts +0 -8
- package/cjs/void/void_type.d.ts.map +1 -1
- package/esm/any/any_or_never.d.ts +0 -2
- package/esm/any/any_or_never.d.ts.map +1 -1
- package/esm/any/any_type.d.ts +2 -6
- package/esm/any/any_type.d.ts.map +1 -1
- package/esm/array/array.d.ts +0 -4
- package/esm/array/array.d.ts.map +1 -1
- package/esm/array/array_index.d.ts +7 -10
- package/esm/array/array_index.d.ts.map +1 -1
- package/esm/array/array_type.d.ts +0 -8
- package/esm/array/array_type.d.ts.map +1 -1
- package/esm/bigint/bigint_type.d.ts +4 -12
- package/esm/bigint/bigint_type.d.ts.map +1 -1
- package/esm/bigint/strict_bigint_type.d.ts +4 -12
- package/esm/bigint/strict_bigint_type.d.ts.map +1 -1
- package/esm/boolean/boolean_type.d.ts +0 -8
- package/esm/boolean/boolean_type.d.ts.map +1 -1
- package/esm/boolean/false_type.d.ts +0 -8
- package/esm/boolean/false_type.d.ts.map +1 -1
- package/esm/boolean/strict_boolean_type.d.ts +0 -8
- package/esm/boolean/strict_boolean_type.d.ts.map +1 -1
- package/esm/boolean/true_type.d.ts +0 -8
- package/esm/boolean/true_type.d.ts.map +1 -1
- package/esm/equal/equal.d.ts +4 -5
- package/esm/equal/equal.d.ts.map +1 -1
- package/esm/function/function_type.d.ts +0 -8
- package/esm/function/function_type.d.ts.map +1 -1
- package/esm/function/strict_function_type.d.ts +0 -8
- package/esm/function/strict_function_type.d.ts.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/never/never_type.d.ts +2 -10
- package/esm/never/never_type.d.ts.map +1 -1
- package/esm/null/null_type.d.ts +4 -12
- package/esm/null/null_type.d.ts.map +1 -1
- package/esm/number/integer.d.ts +1 -9
- package/esm/number/integer.d.ts.map +1 -1
- package/esm/number/negative.d.ts +0 -8
- package/esm/number/negative.d.ts.map +1 -1
- package/esm/number/number_type.d.ts +0 -8
- package/esm/number/number_type.d.ts.map +1 -1
- package/esm/number/numeric_type.d.ts +0 -8
- package/esm/number/numeric_type.d.ts.map +1 -1
- package/esm/number/positive.d.ts +1 -9
- package/esm/number/positive.d.ts.map +1 -1
- package/esm/number/strict_number_type.d.ts +4 -12
- package/esm/number/strict_number_type.d.ts.map +1 -1
- package/esm/object/object_type.d.ts +1 -9
- package/esm/object/object_type.d.ts.map +1 -1
- package/esm/string/strict_string_type.d.ts +14 -19
- package/esm/string/strict_string_type.d.ts.map +1 -1
- package/esm/string/string.d.ts +24 -0
- package/esm/string/string.d.ts.map +1 -0
- package/esm/string/string.js +2 -0
- package/esm/string/string.js.map +1 -0
- package/esm/string/string_plus.d.ts +27 -0
- package/esm/string/string_plus.d.ts.map +1 -0
- package/esm/string/string_plus.js +2 -0
- package/esm/string/string_plus.js.map +1 -0
- package/esm/string/string_type.d.ts +4 -12
- package/esm/string/string_type.d.ts.map +1 -1
- package/esm/symbol/symbol_type.d.ts +5 -15
- package/esm/symbol/symbol_type.d.ts.map +1 -1
- package/esm/tuple/tuple_type.d.ts +0 -8
- package/esm/tuple/tuple_type.d.ts.map +1 -1
- package/esm/type/failed.d.ts +2 -3
- package/esm/type/failed.d.ts.map +1 -1
- package/esm/type/failed.js +1 -1
- package/esm/type/failed.js.map +1 -1
- package/esm/undefined/undefined_type.d.ts +4 -12
- package/esm/undefined/undefined_type.d.ts.map +1 -1
- package/esm/unknown/unknown_type.d.ts +4 -12
- package/esm/unknown/unknown_type.d.ts.map +1 -1
- package/esm/void/void_type.d.ts +0 -8
- package/esm/void/void_type.d.ts.map +1 -1
- package/package.json +2 -2
- package/ts/any/any_or_never.ts +0 -2
- package/ts/any/any_type.ts +2 -6
- package/ts/array/array.ts +0 -4
- package/ts/array/array_index.ts +7 -10
- package/ts/array/array_type.ts +0 -8
- package/ts/bigint/bigint_type.ts +4 -12
- package/ts/bigint/strict_bigint_type.ts +4 -12
- package/ts/boolean/boolean_type.ts +0 -8
- package/ts/boolean/false_type.ts +0 -8
- package/ts/boolean/strict_boolean_type.ts +0 -8
- package/ts/boolean/true_type.ts +0 -8
- package/ts/equal/equal.ts +9 -5
- package/ts/equal/readme.md +3 -0
- package/ts/function/function_type.ts +0 -8
- package/ts/function/strict_function_type.ts +0 -8
- package/ts/index.ts +2 -0
- package/ts/never/never_type.ts +2 -10
- package/ts/null/null_type.ts +4 -12
- package/ts/number/integer.ts +1 -9
- package/ts/number/negative.ts +0 -8
- package/ts/number/number_type.ts +0 -8
- package/ts/number/numeric_type.ts +0 -8
- package/ts/number/positive.ts +1 -9
- package/ts/number/strict_number_type.ts +4 -12
- package/ts/object/object_type.ts +1 -9
- package/ts/string/readme.md +5 -0
- package/ts/string/strict_string_type.ts +15 -19
- package/ts/string/string.ts +36 -0
- package/ts/string/string_plus.ts +33 -0
- package/ts/string/string_type.ts +4 -12
- package/ts/symbol/symbol_type.ts +5 -17
- package/ts/tuple/tuple_type.ts +0 -8
- package/ts/type/failed.ts +1 -3
- package/ts/type/readme.md +22 -0
- package/ts/undefined/undefined_type.ts +4 -12
- package/ts/unknown/unknown_type.ts +4 -12
- package/ts/void/void_type.ts +0 -8
- package/cjs/type/constants.d.ts +0 -5
- package/cjs/type/constants.d.ts.map +0 -1
- package/cjs/type/constants.js +0 -8
- package/cjs/type/constants.js.map +0 -1
- package/esm/type/constants.d.ts +0 -5
- package/esm/type/constants.d.ts.map +0 -1
- package/esm/type/constants.js +0 -5
- package/esm/type/constants.js.map +0 -1
- package/ts/type/constants.ts +0 -4
package/ts/array/array_index.ts
CHANGED
|
@@ -11,14 +11,12 @@ import type { StrictNumberType } from '../number/strict_number_type.js'
|
|
|
11
11
|
/**
|
|
12
12
|
* Gets the normalized index to access the element of an array or tuple.
|
|
13
13
|
*
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* type R = ArrayPlus.IndexAt<['a', 'b', 'c'], 2> // 2
|
|
18
|
-
* type R = ArrayPlus.IndexAt<['a', 'b', 'c'], -2> // 1
|
|
14
|
+
* ```ts
|
|
15
|
+
* type R = IndexAt<['a', 'b', 'c'], 2> // 2
|
|
16
|
+
* type R = IndexAt<['a', 'b', 'c'], -2> // 1
|
|
19
17
|
*
|
|
20
|
-
* type R =
|
|
21
|
-
* type R =
|
|
18
|
+
* type R = IndexAt<['a', 'b', 'c'], 3> // never
|
|
19
|
+
* type R = IndexAt<['a', 'b', 'c'], -4> // never
|
|
22
20
|
* ```
|
|
23
21
|
*/
|
|
24
22
|
export type IndexAt<A extends Array<unknown>, N extends number, Fail = never> = Equal<
|
|
@@ -54,14 +52,13 @@ export type IndexAt<A extends Array<unknown>, N extends number, Fail = never> =
|
|
|
54
52
|
/**
|
|
55
53
|
* Is N an out of bound index of A.
|
|
56
54
|
*
|
|
57
|
-
* ```
|
|
58
|
-
* import { IsIndexOutOfBound } from 'type-plus'
|
|
59
|
-
*
|
|
55
|
+
* ```ts
|
|
60
56
|
* type R = IsIndexOutOfBound<[1], 0> // false
|
|
61
57
|
* type R = IsIndexOutOfBound<[1], -1> // false
|
|
62
58
|
|
|
63
59
|
* type R = IsIndexOutOfBound<[1], 1> // true
|
|
64
60
|
* type R = IsIndexOutOfBound<[1], -2> // true
|
|
61
|
+
* ```
|
|
65
62
|
*/
|
|
66
63
|
export type IsIndexOutOfBound<A extends unknown[], N extends number, Then = true, Else = false> = IsNever<
|
|
67
64
|
IndexAt<A, N>,
|
package/ts/array/array_type.ts
CHANGED
|
@@ -5,8 +5,6 @@ import type { StrictNumberType } from '../number/strict_number_type.js'
|
|
|
5
5
|
* Check if the type `T` is an array and not a tuple.
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
|
-
* import type { ArrayType } from 'type-plus'
|
|
9
|
-
*
|
|
10
8
|
* type R = ArrayType<number[]> // number[]
|
|
11
9
|
*
|
|
12
10
|
* type R = ArrayType<[1]> // never
|
|
@@ -22,8 +20,6 @@ export type ArrayType<T, Then = T, Else = never> = IsNever<
|
|
|
22
20
|
* Check if the type `T` is not an array.
|
|
23
21
|
*
|
|
24
22
|
* ```ts
|
|
25
|
-
* import type { NotArrayType } from 'type-plus'
|
|
26
|
-
*
|
|
27
23
|
* type R = NotArrayType<number[]> // never
|
|
28
24
|
*
|
|
29
25
|
* type R = NotArrayType<number> // number
|
|
@@ -36,8 +32,6 @@ export type NotArrayType<T, Then = T, Else = never> = ArrayType<T, Else, Then>
|
|
|
36
32
|
* Is `T` an array?
|
|
37
33
|
*
|
|
38
34
|
* ```ts
|
|
39
|
-
* import type { IsArray } from 'type-plus'
|
|
40
|
-
*
|
|
41
35
|
* type R = IsArray<number[]> // true
|
|
42
36
|
*
|
|
43
37
|
* type R = IsArray<number> // false
|
|
@@ -50,8 +44,6 @@ export type IsArray<T, Then = true, Else = false> = ArrayType<T, Then, Else>
|
|
|
50
44
|
* Is `T` not an array?
|
|
51
45
|
*
|
|
52
46
|
* ```ts
|
|
53
|
-
* import type { IsNotArray } from 'type-plus'
|
|
54
|
-
*
|
|
55
47
|
* type R = IsNotArray<number[]> // false
|
|
56
48
|
*
|
|
57
49
|
* type R = IsNotArray<number> // true
|
package/ts/bigint/bigint_type.ts
CHANGED
|
@@ -3,9 +3,7 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
3
3
|
/**
|
|
4
4
|
* Check if the type `T` is exactly `bigint`.
|
|
5
5
|
*
|
|
6
|
-
* ```
|
|
7
|
-
* import type { BigintType } from 'type-plus'
|
|
8
|
-
*
|
|
6
|
+
* ```ts
|
|
9
7
|
* type R = BigintType<bigint> // bigint
|
|
10
8
|
*
|
|
11
9
|
* type R = BigintType<1n> // never
|
|
@@ -19,9 +17,7 @@ export type BigintType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
|
|
|
19
17
|
/**
|
|
20
18
|
* Is the type `T` exactly `bigint`.
|
|
21
19
|
*
|
|
22
|
-
* ```
|
|
23
|
-
* import type { IsBigint } from 'type-plus'
|
|
24
|
-
*
|
|
20
|
+
* ```ts
|
|
25
21
|
* type R = IsBigint<bigint> // true
|
|
26
22
|
*
|
|
27
23
|
* type R = IsBigint<1n> // false
|
|
@@ -35,9 +31,7 @@ export type IsBigint<T, Then = true, Else = false> = BigintType<T, Then, Else>
|
|
|
35
31
|
/**
|
|
36
32
|
* Check if the type `T` is not exactly `null`.
|
|
37
33
|
*
|
|
38
|
-
* ```
|
|
39
|
-
* import type { NotBigintType } from 'type-plus'
|
|
40
|
-
*
|
|
34
|
+
* ```ts
|
|
41
35
|
* type R = NotBigintType<bigint> // never
|
|
42
36
|
*
|
|
43
37
|
* type R = NotBigintType<1n> // 1n
|
|
@@ -51,9 +45,7 @@ export type NotBigintType<T, Then = T, Else = never> = BigintType<T, Else, Then>
|
|
|
51
45
|
/**
|
|
52
46
|
* Is the type `T` not exactly `null`.
|
|
53
47
|
*
|
|
54
|
-
* ```
|
|
55
|
-
* import type { IsNotBigint } from 'type-plus'
|
|
56
|
-
*
|
|
48
|
+
* ```ts
|
|
57
49
|
* type R = IsNotBigint<bigint> // false
|
|
58
50
|
*
|
|
59
51
|
* type R = IsNotBigint<1n> // true
|
|
@@ -3,9 +3,7 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
3
3
|
/**
|
|
4
4
|
* Check if the type `T` is exactly `bigint`.
|
|
5
5
|
*
|
|
6
|
-
* ```
|
|
7
|
-
* import type { StrictBigintType } from 'type-plus'
|
|
8
|
-
*
|
|
6
|
+
* ```ts
|
|
9
7
|
* type R = StrictBigintType<bigint> // bigint
|
|
10
8
|
*
|
|
11
9
|
* type R = StrictBigintType<1n> // never
|
|
@@ -23,9 +21,7 @@ export type StrictBigintType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
23
21
|
/**
|
|
24
22
|
* Is the type `T` exactly `bigint`.
|
|
25
23
|
*
|
|
26
|
-
* ```
|
|
27
|
-
* import type { IsStrictBigint } from 'type-plus'
|
|
28
|
-
*
|
|
24
|
+
* ```ts
|
|
29
25
|
* type R = IsStrictBigint<bigint> // true
|
|
30
26
|
*
|
|
31
27
|
* type R = IsStrictBigint<1n> // false
|
|
@@ -39,9 +35,7 @@ export type IsStrictBigint<T, Then = true, Else = false> = StrictBigintType<T, T
|
|
|
39
35
|
/**
|
|
40
36
|
* Check if the type `T` is not exactly `bigint`.
|
|
41
37
|
*
|
|
42
|
-
* ```
|
|
43
|
-
* import type { NotStrictBigintType } from 'type-plus'
|
|
44
|
-
*
|
|
38
|
+
* ```ts
|
|
45
39
|
* type R = NotStrictBigintType<bigint> // never
|
|
46
40
|
*
|
|
47
41
|
* type R = NotStrictBigintType<1n> // 1n
|
|
@@ -55,9 +49,7 @@ export type NotStrictBigintType<T, Then = T, Else = never> = StrictBigintType<T,
|
|
|
55
49
|
/**
|
|
56
50
|
* Is the type `T` not exactly `bigint`.
|
|
57
51
|
*
|
|
58
|
-
* ```
|
|
59
|
-
* import type { IsNotStrictBigint } from 'type-plus'
|
|
60
|
-
*
|
|
52
|
+
* ```ts
|
|
61
53
|
* type R = IsNotStrictBigint<bigint> // false
|
|
62
54
|
*
|
|
63
55
|
* type R = IsNotStrictBigint<1n> // true
|
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if the type `T` is `boolean`, including `true` and `false`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { BooleanType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = BooleanType<boolean> // boolean
|
|
10
8
|
* type R = BooleanType<true> // true
|
|
11
9
|
* type R = BooleanType<false> // false
|
|
@@ -24,8 +22,6 @@ export type BooleanType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
24
22
|
* Check if the type `T` is not `boolean`, including `true` and `false`.
|
|
25
23
|
*
|
|
26
24
|
* ```ts
|
|
27
|
-
* import type { NotBooleanType } from 'type-plus'
|
|
28
|
-
*
|
|
29
25
|
* type R = NotBooleanType<boolean> // never
|
|
30
26
|
* type R = NotBooleanType<true> // never
|
|
31
27
|
* type R = NotBooleanType<false> // never
|
|
@@ -40,8 +36,6 @@ export type NotBooleanType<T, Then = T, Else = never> = BooleanType<T, Else, The
|
|
|
40
36
|
* Is the type `T` `boolean`, including `true` and `false`.
|
|
41
37
|
*
|
|
42
38
|
* ```ts
|
|
43
|
-
* import type { IsBoolean } from 'type-plus'
|
|
44
|
-
*
|
|
45
39
|
* type R = IsBoolean<boolean> // true
|
|
46
40
|
* type R = IsBoolean<true> // true
|
|
47
41
|
* type R = IsBoolean<false> // true
|
|
@@ -56,8 +50,6 @@ export type IsBoolean<T, Then = true, Else = false> = BooleanType<T, Then, Else>
|
|
|
56
50
|
* Is the type `T` not `boolean`, including `true` and `false`.
|
|
57
51
|
*
|
|
58
52
|
* ```ts
|
|
59
|
-
* import type { IsNotBoolean } from 'type-plus'
|
|
60
|
-
*
|
|
61
53
|
* type R = IsNotBoolean<boolean> // false
|
|
62
54
|
* type R = IsNotBoolean<true> // false
|
|
63
55
|
* type R = IsNotBoolean<false> // false
|
package/ts/boolean/false_type.ts
CHANGED
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if the type `T` is exactly `false`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { FalseType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = FalseType<false> // false
|
|
10
8
|
*
|
|
11
9
|
* type R = FalseType<true> // never
|
|
@@ -22,8 +20,6 @@ export type FalseType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
22
20
|
* Check if the type `T` is not exactly `false`.
|
|
23
21
|
*
|
|
24
22
|
* ```ts
|
|
25
|
-
* import type { NotFalseType } from 'type-plus'
|
|
26
|
-
*
|
|
27
23
|
* type R = NotFalseType<false> // never
|
|
28
24
|
*
|
|
29
25
|
* type R = NotFalseType<true> // true
|
|
@@ -36,8 +32,6 @@ export type NotFalseType<T, Then = T, Else = never> = FalseType<T, Else, Then>
|
|
|
36
32
|
* Is the type `T` exactly `false`.
|
|
37
33
|
*
|
|
38
34
|
* ```ts
|
|
39
|
-
* import type { IsFalse } from 'type-plus'
|
|
40
|
-
*
|
|
41
35
|
* type R = IsFalse<false> // true
|
|
42
36
|
*
|
|
43
37
|
* type R = IsFalse<true> // false
|
|
@@ -50,8 +44,6 @@ export type IsFalse<T, Then = true, Else = false> = FalseType<T, Then, Else>
|
|
|
50
44
|
* Is the type `T` not exactly `false`.
|
|
51
45
|
*
|
|
52
46
|
* ```ts
|
|
53
|
-
* import type { IsNotFalse } from 'type-plus'
|
|
54
|
-
*
|
|
55
47
|
* type R = IsNotFalse<false> // false
|
|
56
48
|
*
|
|
57
49
|
* type R = IsNotFalse<true> // true
|
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if the type `T` is exactly `boolean`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { StrictBooleanType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = StrictBooleanType<boolean> // true
|
|
10
8
|
*
|
|
11
9
|
* type R = StrictBooleanType<true> // never
|
|
@@ -23,8 +21,6 @@ export type StrictBooleanType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
23
21
|
* Check if the type `T` is not exactly `boolean`.
|
|
24
22
|
*
|
|
25
23
|
* ```ts
|
|
26
|
-
* import type { NotStrictBooleanType } from 'type-plus'
|
|
27
|
-
*
|
|
28
24
|
* type R = NotStrictBooleanType<boolean> // never
|
|
29
25
|
*
|
|
30
26
|
* type R = NotStrictBooleanType<true> // true
|
|
@@ -38,8 +34,6 @@ export type NotStrictBooleanType<T, Then = T, Else = never> = StrictBooleanType<
|
|
|
38
34
|
* Is the type `T` exactly `boolean`.
|
|
39
35
|
*
|
|
40
36
|
* ```ts
|
|
41
|
-
* import type { IsStrictBoolean } from 'type-plus'
|
|
42
|
-
*
|
|
43
37
|
* type R = IsStrictBoolean<boolean> // true
|
|
44
38
|
*
|
|
45
39
|
* type R = IsStrictBoolean<true> // false
|
|
@@ -53,8 +47,6 @@ export type IsStrictBoolean<T, Then = true, Else = false> = StrictBooleanType<T,
|
|
|
53
47
|
* Is the type `T` not exactly `false`.
|
|
54
48
|
*
|
|
55
49
|
* ```ts
|
|
56
|
-
* import type { IsNotStrictBoolean } from 'type-plus'
|
|
57
|
-
*
|
|
58
50
|
* type R = IsNotStrictBoolean<boolean> // false
|
|
59
51
|
*
|
|
60
52
|
* type R = IsNotStrictBoolean<true> // true
|
package/ts/boolean/true_type.ts
CHANGED
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if the type `T` is exactly `true`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { TrueType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = TrueType<true> // true
|
|
10
8
|
*
|
|
11
9
|
* type R = TrueType<false> // never
|
|
@@ -22,8 +20,6 @@ export type TrueType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
22
20
|
* Check if the type `T` is not exactly `true`.
|
|
23
21
|
*
|
|
24
22
|
* ```ts
|
|
25
|
-
* import type { NotTrueType } from 'type-plus'
|
|
26
|
-
*
|
|
27
23
|
* type R = NotTrueType<true> // never
|
|
28
24
|
*
|
|
29
25
|
* type R = NotTrueType<false> // false
|
|
@@ -36,8 +32,6 @@ export type NotTrueType<T, Then = T, Else = never> = TrueType<T, Else, Then>
|
|
|
36
32
|
* Is the type `T` exactly `true`.
|
|
37
33
|
*
|
|
38
34
|
* ```ts
|
|
39
|
-
* import type { IsTrue } from 'type-plus'
|
|
40
|
-
*
|
|
41
35
|
* type R = IsTrue<true> // true
|
|
42
36
|
*
|
|
43
37
|
* type R = IsTrue<false> // false
|
|
@@ -50,8 +44,6 @@ export type IsTrue<T, Then = true, Else = false> = TrueType<T, Then, Else>
|
|
|
50
44
|
* Is the type `T` not exactly `true`.
|
|
51
45
|
*
|
|
52
46
|
* ```ts
|
|
53
|
-
* import type { IsNotTrue } from 'type-plus'
|
|
54
|
-
*
|
|
55
47
|
* type R = IsNotTrue<true> // false
|
|
56
48
|
*
|
|
57
49
|
* type R = IsNotTrue<false> // true
|
package/ts/equal/equal.ts
CHANGED
|
@@ -26,8 +26,6 @@ type IdentityEqual<A, B, Then, Else> = (<_>() => _ extends (A & _) | _ ? 1 : 2)
|
|
|
26
26
|
* Checks `A` and `B` are equal.
|
|
27
27
|
*
|
|
28
28
|
* ```ts
|
|
29
|
-
* import { type Equal } from 'type-plus'
|
|
30
|
-
*
|
|
31
29
|
* type R = Equal<1, 1> // true
|
|
32
30
|
* type R = Equal<any, any> // true
|
|
33
31
|
* type R = Equal<boolean, boolean> // true
|
|
@@ -58,8 +56,16 @@ export type Equal<A, B, Then = true, Else = false> = [A, B] extends [B, A]
|
|
|
58
56
|
And<
|
|
59
57
|
IsObject<A>,
|
|
60
58
|
IsObject<B>,
|
|
61
|
-
IdentityEqual<
|
|
59
|
+
IdentityEqual<
|
|
60
|
+
Properties<A>,
|
|
61
|
+
Properties<B>,
|
|
62
|
+
[A, B] extends [(...args: infer P1) => any, (...args: infer P2) => any]
|
|
63
|
+
? Equal<P1, P2, Then, Else>
|
|
64
|
+
: Then,
|
|
65
|
+
Else
|
|
66
|
+
>,
|
|
62
67
|
// `A` and `B` are narrowed, need to check again.
|
|
68
|
+
// This is fixed in TS 5.0.2, but keeping it to support older versions.
|
|
63
69
|
[A, B] extends [B, A] ? Then : Else
|
|
64
70
|
>
|
|
65
71
|
>
|
|
@@ -71,8 +77,6 @@ export type Equal<A, B, Then = true, Else = false> = [A, B] extends [B, A]
|
|
|
71
77
|
* Checks `A` and `B` are not equal.
|
|
72
78
|
*
|
|
73
79
|
* ```ts
|
|
74
|
-
* import { type NotEqual } from 'type-plus'
|
|
75
|
-
*
|
|
76
80
|
* type R = NotEqual<1, 1> // false
|
|
77
81
|
* type R = NotEqual<any, any> // false
|
|
78
82
|
* type R = NotEqual<boolean, boolean> // false
|
package/ts/equal/readme.md
CHANGED
|
@@ -26,6 +26,9 @@ type R = Equal<{ a: 1 }, { a: 1; b: 2 }> // false
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
28
|
[![Just Code: Equality is hard][equality-is-hard]][equality-is-hard-url]
|
|
29
|
+
[![Just Code: Equality is hard part 2][equality-is-hard-2]][equality-is-hard-2-url]
|
|
29
30
|
|
|
30
31
|
[equality-is-hard]: https://img.youtube.com/vi/VEqrFzCzo28/0.jpg
|
|
31
32
|
[equality-is-hard-url]: https://www.youtube.com/watch?v=VEqrFzCzo28
|
|
33
|
+
[equality-is-hard-2]: https://img.youtube.com/vi/l6G6Rz1n9Sw/0.jpg
|
|
34
|
+
[equality-is-hard-2-url]: https://www.youtube.com/watch?v=l6G6Rz1n9Sw
|
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if `T` is a `Function`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { FunctionType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = FunctionType<Function> // Function
|
|
10
8
|
* type R = FunctionType<() => void> // () => void
|
|
11
9
|
* type R = FunctionType<(() => void) | { a: 1 }> // (() => void) | { a: 1 }
|
|
@@ -25,8 +23,6 @@ export type FunctionType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
25
23
|
* Is `T` a `Function`.
|
|
26
24
|
*
|
|
27
25
|
* ```ts
|
|
28
|
-
* import type { IsFunction } from 'type-plus'
|
|
29
|
-
*
|
|
30
26
|
* type R = IsFunction<Function> // Function
|
|
31
27
|
* type R = IsFunction<() => void> // () => void
|
|
32
28
|
* type R = IsFunction<(() => void) | { a: 1 }> // (() => void) | { a: 1 }
|
|
@@ -42,8 +38,6 @@ export type IsFunction<T, Then = true, Else = false> = FunctionType<T, Then, Els
|
|
|
42
38
|
* Check if `T` is not a `Function`.
|
|
43
39
|
*
|
|
44
40
|
* ```ts
|
|
45
|
-
* import type { NotFunctionType } from 'type-plus'
|
|
46
|
-
*
|
|
47
41
|
* type R = NotFunctionType<Function> // never
|
|
48
42
|
* type R = NotFunctionType<() => void> // never
|
|
49
43
|
* type R = NotFunctionType<(() => void) | { a: 1 }> // never
|
|
@@ -59,8 +53,6 @@ export type NotFunctionType<T, Then = T, Else = never> = FunctionType<T, Else, T
|
|
|
59
53
|
* Is `T` not a `Function`.
|
|
60
54
|
*
|
|
61
55
|
* ```ts
|
|
62
|
-
* import type { IsNotFunction } from 'type-plus'
|
|
63
|
-
*
|
|
64
56
|
* type R = IsNotFunction<Function> // false
|
|
65
57
|
* type R = IsNotFunction<() => void> // false
|
|
66
58
|
* type R = IsNotFunction<(() => void) | { a: 1 }> // false
|
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if `T` is exactly `Function`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { StrictFunctionType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = StrictFunctionType<Function> // Function
|
|
10
8
|
*
|
|
11
9
|
* type R = StrictFunctionType<() => void> // never
|
|
@@ -22,8 +20,6 @@ export type StrictFunctionType<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
22
20
|
* Check if `T` is not exactly `Function`.
|
|
23
21
|
*
|
|
24
22
|
* ```ts
|
|
25
|
-
* import type { NotStrictFunctionType } from 'type-plus'
|
|
26
|
-
*
|
|
27
23
|
* type R = NotStrictFunctionType<Function> // never
|
|
28
24
|
* type R = NotStrictFunctionType<() => void> // () => void
|
|
29
25
|
*
|
|
@@ -36,8 +32,6 @@ export type NotStrictFunctionType<T, Then = T, Else = never> = StrictFunctionTyp
|
|
|
36
32
|
* Is `T` exactly `Function`.
|
|
37
33
|
*
|
|
38
34
|
* ```ts
|
|
39
|
-
* import type { IsStrictFunction } from 'type-plus'
|
|
40
|
-
*
|
|
41
35
|
* type R = IsStrictFunction<Function> // true
|
|
42
36
|
*
|
|
43
37
|
* type R = IsStrictFunction<() => void> // false
|
|
@@ -50,8 +44,6 @@ export type IsStrictFunction<T, Then = true, Else = false> = StrictFunctionType<
|
|
|
50
44
|
* Is `T` not exactly `Function`.
|
|
51
45
|
*
|
|
52
46
|
* ```ts
|
|
53
|
-
* import type { IsNotStrictFunction } from 'type-plus'
|
|
54
|
-
*
|
|
55
47
|
* type R = IsNotStrictFunction<Function> // false
|
|
56
48
|
*
|
|
57
49
|
* type R = IsNotStrictFunction<() => void> // true
|
package/ts/index.ts
CHANGED
|
@@ -81,6 +81,8 @@ export type {
|
|
|
81
81
|
NotStrictStringType,
|
|
82
82
|
StrictStringType
|
|
83
83
|
} from './string/strict_string_type.js'
|
|
84
|
+
export type { StringIncludes, StringSplit } from './string/string.js'
|
|
85
|
+
export type { StringPlus } from './string/string_plus.js'
|
|
84
86
|
export type { IsNotString, IsString, NotStringType, StringType } from './string/string_type.js'
|
|
85
87
|
export type { IsNotSymbol, IsSymbol, NotSymbolType, SymbolType } from './symbol/symbol_type.js'
|
|
86
88
|
export * from './testing/stub.js'
|
package/ts/never/never_type.ts
CHANGED
|
@@ -16,8 +16,6 @@ export type Is_Never = Brand<'is_never', symbol>
|
|
|
16
16
|
* If it is not, returns `Not_Never`.
|
|
17
17
|
*
|
|
18
18
|
* ```ts
|
|
19
|
-
* import type { NeverType } from 'type-plus'
|
|
20
|
-
*
|
|
21
19
|
* type R = NeverType<never> // never
|
|
22
20
|
*
|
|
23
21
|
* type R = NeverType<1> // 'not never'
|
|
@@ -30,8 +28,6 @@ export type NeverType<T, Then = T, Else = Not_Never> = [T, never] extends [never
|
|
|
30
28
|
* If it is not, returns `Is_Never`.
|
|
31
29
|
*
|
|
32
30
|
* ```ts
|
|
33
|
-
* import type { NotNeverType } from 'type-plus'
|
|
34
|
-
*
|
|
35
31
|
* type R = NotNeverType<1> // 1
|
|
36
32
|
*
|
|
37
33
|
* type R = NotNeverType<never> // 'is_never'
|
|
@@ -42,9 +38,7 @@ export type NotNeverType<T, Then = T, Else = Is_Never> = NeverType<T, Else, Then
|
|
|
42
38
|
/**
|
|
43
39
|
* Is `T` `never`.
|
|
44
40
|
*
|
|
45
|
-
* ```
|
|
46
|
-
* import type { IsNever } from 'type-plus'
|
|
47
|
-
*
|
|
41
|
+
* ```ts
|
|
48
42
|
* type R = IsNever<never> // true
|
|
49
43
|
*
|
|
50
44
|
* type R = IsNever<1> // false
|
|
@@ -55,9 +49,7 @@ export type IsNever<T, Then = true, Else = false> = NeverType<T, Then, Else>
|
|
|
55
49
|
/**
|
|
56
50
|
* Is `T` not `never`.
|
|
57
51
|
*
|
|
58
|
-
* ```
|
|
59
|
-
* import type { IsNotNever } from 'type-plus'
|
|
60
|
-
*
|
|
52
|
+
* ```ts
|
|
61
53
|
* type R = IsNotNever<1> // true
|
|
62
54
|
*
|
|
63
55
|
* type R = IsNotNever<never> // false
|
package/ts/null/null_type.ts
CHANGED
|
@@ -3,9 +3,7 @@ import type { IsAny } from '../any/any_type.js'
|
|
|
3
3
|
/**
|
|
4
4
|
* Check if the type `T` is exactly `null`.
|
|
5
5
|
*
|
|
6
|
-
* ```
|
|
7
|
-
* import type { NullType } from 'type-plus'
|
|
8
|
-
*
|
|
6
|
+
* ```ts
|
|
9
7
|
* type R = NullType<null> // null
|
|
10
8
|
*
|
|
11
9
|
* type R = NullType<never> // never
|
|
@@ -18,9 +16,7 @@ export type NullType<T, Then = T, Else = never> = IsAny<T, Else, [T, null] exten
|
|
|
18
16
|
/**
|
|
19
17
|
* Is the type `T` exactly `null`.
|
|
20
18
|
*
|
|
21
|
-
* ```
|
|
22
|
-
* import type { IsNull } from 'type-plus'
|
|
23
|
-
*
|
|
19
|
+
* ```ts
|
|
24
20
|
* type R = IsNull<null> // true
|
|
25
21
|
*
|
|
26
22
|
* type R = IsNull<never> // false
|
|
@@ -33,9 +29,7 @@ export type IsNull<T, Then = true, Else = false> = NullType<T, Then, Else>
|
|
|
33
29
|
/**
|
|
34
30
|
* Check if the type `T` is not exactly `null`.
|
|
35
31
|
*
|
|
36
|
-
* ```
|
|
37
|
-
* import type { NotNullType } from 'type-plus'
|
|
38
|
-
*
|
|
32
|
+
* ```ts
|
|
39
33
|
* type R = NotNullType<null> // never
|
|
40
34
|
*
|
|
41
35
|
* type R = NotNullType<never> // never
|
|
@@ -48,9 +42,7 @@ export type NotNullType<T, Then = T, Else = never> = NullType<T, Else, Then>
|
|
|
48
42
|
/**
|
|
49
43
|
* Is the type `T` not exactly `null`.
|
|
50
44
|
*
|
|
51
|
-
* ```
|
|
52
|
-
* import type { IsNotNull } from 'type-plus'
|
|
53
|
-
*
|
|
45
|
+
* ```ts
|
|
54
46
|
* type R = IsNotNull<null> // false
|
|
55
47
|
*
|
|
56
48
|
* type R = IsNotNull<never> // true
|
package/ts/number/integer.ts
CHANGED
|
@@ -5,8 +5,6 @@ import type { Numeric } from './numeric_type.js'
|
|
|
5
5
|
* Check if T is an integer, including bigint.
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
|
-
* import type { Integer } from 'type-plus'
|
|
9
|
-
*
|
|
10
8
|
* type R = Integer<0> // 0
|
|
11
9
|
* type R = Integer<1n> // 1n
|
|
12
10
|
*
|
|
@@ -24,8 +22,6 @@ export type Integer<T, Then = T, Else = never> = IsAnyOrNever<
|
|
|
24
22
|
* Is T an integer, including bigint.
|
|
25
23
|
*
|
|
26
24
|
* ```ts
|
|
27
|
-
* import type { IsInteger } from 'type-plus'
|
|
28
|
-
*
|
|
29
25
|
* type R = IsInteger<0> // true
|
|
30
26
|
* type R = IsInteger<1n> // true
|
|
31
27
|
*
|
|
@@ -39,8 +35,6 @@ export type IsInteger<T, Then = true, Else = false> = Integer<T, Then, Else>
|
|
|
39
35
|
* Check if T is not an integer, including bigint.
|
|
40
36
|
*
|
|
41
37
|
* ```ts
|
|
42
|
-
* import type { NotInteger } from 'type-plus'
|
|
43
|
-
*
|
|
44
38
|
* type R = NotInteger<1.1> // 1.1
|
|
45
39
|
* type R = NotInteger<number> // number as it contains non-integer
|
|
46
40
|
*
|
|
@@ -68,9 +62,7 @@ export type IsNotInteger<T, Then = true, Else = false> = NotInteger<T, Else, The
|
|
|
68
62
|
/**
|
|
69
63
|
* Check if T is an integer, including bigint.
|
|
70
64
|
*
|
|
71
|
-
* ```
|
|
72
|
-
* import type { IsWhole } from 'type-plus'
|
|
73
|
-
*
|
|
65
|
+
* ```ts
|
|
74
66
|
* type R = IsWhole<0> // 0
|
|
75
67
|
* type R = IsWhole<1n> // 1n
|
|
76
68
|
*
|
package/ts/number/negative.ts
CHANGED
|
@@ -6,8 +6,6 @@ import type { Zero } from './numeric_type.js'
|
|
|
6
6
|
* Check if 'T' is a negative numeric type.
|
|
7
7
|
*
|
|
8
8
|
* ```ts
|
|
9
|
-
* import type { Negative } from 'type-plus'
|
|
10
|
-
*
|
|
11
9
|
* type R = Negative<-1> // -1
|
|
12
10
|
* type R = Negative<-1n> // -1n
|
|
13
11
|
*
|
|
@@ -42,8 +40,6 @@ export type Negative<T, Then = T, Else = never> = IsAny<
|
|
|
42
40
|
* Is 'T' a negative numeric type.
|
|
43
41
|
*
|
|
44
42
|
* ```ts
|
|
45
|
-
* import type { IsNegative } from 'type-plus'
|
|
46
|
-
*
|
|
47
43
|
* type R = IsNegative<-1> // true
|
|
48
44
|
* type R = IsNegative<-1n> // true
|
|
49
45
|
*
|
|
@@ -60,8 +56,6 @@ export type IsNegative<T, Then = true, Else = false> = Negative<T, Then, Else>
|
|
|
60
56
|
* Check if 'T' is not a negative numeric type.
|
|
61
57
|
*
|
|
62
58
|
* ```ts
|
|
63
|
-
* import type { NotNegative } from 'type-plus'
|
|
64
|
-
*
|
|
65
59
|
* type R = NotNegative<-1> // never
|
|
66
60
|
* type R = NotNegative<-1n> // never
|
|
67
61
|
*
|
|
@@ -94,8 +88,6 @@ export type NotNegative<T, Then = T, Else = never> = IsAny<
|
|
|
94
88
|
* Is 'T' not a negative numeric type.
|
|
95
89
|
*
|
|
96
90
|
* ```ts
|
|
97
|
-
* import type { IsNotNegative } from 'type-plus'
|
|
98
|
-
*
|
|
99
91
|
* type R = IsNotNegative<-1> // false
|
|
100
92
|
* type R = IsNotNegative<-1n> // false
|
|
101
93
|
*
|
package/ts/number/number_type.ts
CHANGED
|
@@ -4,8 +4,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js'
|
|
|
4
4
|
* Check if the type `T` is `number`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { NumberType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = NumberType<number> // true
|
|
10
8
|
* type R = NumberType<1> // true
|
|
11
9
|
*
|
|
@@ -19,8 +17,6 @@ export type NumberType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
|
|
|
19
17
|
* Is the type `T` is `number`.
|
|
20
18
|
*
|
|
21
19
|
* ```ts
|
|
22
|
-
* import type { IsNumber } from 'type-plus'
|
|
23
|
-
*
|
|
24
20
|
* type R = IsNumber<number> // true
|
|
25
21
|
* type R = IsNumber<1> // true
|
|
26
22
|
*
|
|
@@ -34,8 +30,6 @@ export type IsNumber<T, Then = true, Else = false> = NumberType<T, Then, Else>
|
|
|
34
30
|
* Check if the type `T` is not `number`.
|
|
35
31
|
*
|
|
36
32
|
* ```ts
|
|
37
|
-
* import type { NotNumberType } from 'type-plus'
|
|
38
|
-
*
|
|
39
33
|
* type R = NotNumberType<number> // false
|
|
40
34
|
* type R = NotNumberType<1> // false
|
|
41
35
|
*
|
|
@@ -49,8 +43,6 @@ export type NotNumberType<T, Then = T, Else = never> = NumberType<T, Else, Then>
|
|
|
49
43
|
* Is the type `T` not `number`.
|
|
50
44
|
*
|
|
51
45
|
* ```ts
|
|
52
|
-
* import type { IsNotNumber } from 'type-plus'
|
|
53
|
-
*
|
|
54
46
|
* type R = IsNotNumber<number> // false
|
|
55
47
|
* type R = IsNotNumber<1> // false
|
|
56
48
|
*
|
|
@@ -15,8 +15,6 @@ export type Zero = 0 | 0n
|
|
|
15
15
|
* Meaning it is either a `number` or a `bigint`.
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
* import type { NumericType } from 'type-plus'
|
|
19
|
-
*
|
|
20
18
|
* type R = NumericType<1> // 1
|
|
21
19
|
* type R = NumericType<1.1> // 1.1
|
|
22
20
|
*
|
|
@@ -30,8 +28,6 @@ export type NumericType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] e
|
|
|
30
28
|
* Is `T` numeric.
|
|
31
29
|
*
|
|
32
30
|
* ```ts
|
|
33
|
-
* import type { IsNumeric } from 'type-plus'
|
|
34
|
-
*
|
|
35
31
|
* type R = IsNumeric<1> // true
|
|
36
32
|
* type R = IsNumeric<1.1> // true
|
|
37
33
|
*
|
|
@@ -45,8 +41,6 @@ export type IsNumeric<T, Then = true, Else = false> = NumericType<T, Then, Else>
|
|
|
45
41
|
* Check if `T` is not numeric.
|
|
46
42
|
*
|
|
47
43
|
* ```ts
|
|
48
|
-
* import type { NotNumericType } from 'type-plus'
|
|
49
|
-
*
|
|
50
44
|
* type R = NotNumericType<1> // never
|
|
51
45
|
* type R = NotNumericType<1.1> // never
|
|
52
46
|
*
|
|
@@ -60,8 +54,6 @@ export type NotNumericType<T, Then = T, Else = never> = NumericType<T, Else, The
|
|
|
60
54
|
* Is `T` not numeric.
|
|
61
55
|
*
|
|
62
56
|
* ```ts
|
|
63
|
-
* import type { IsNotNumeric } from 'type-plus'
|
|
64
|
-
*
|
|
65
57
|
* type R = IsNotNumeric<1> // false
|
|
66
58
|
* type R = IsNotNumeric<1.1> // false
|
|
67
59
|
*
|