type-plus 6.4.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 +3 -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/nominal/brand.d.ts +7 -5
- package/cjs/nominal/brand.d.ts.map +1 -1
- package/cjs/nominal/brand.js +4 -4
- package/cjs/nominal/brand.js.map +1 -1
- package/cjs/nominal/{types.d.ts → constants.d.ts} +1 -1
- package/cjs/nominal/constants.d.ts.map +1 -0
- package/cjs/nominal/{types.js → constants.js} +1 -1
- package/cjs/nominal/constants.js.map +1 -0
- package/cjs/nominal/flavor.d.ts +14 -3
- package/cjs/nominal/flavor.d.ts.map +1 -1
- package/cjs/nominal/flavor.js +2 -2
- package/cjs/nominal/flavor.js.map +1 -1
- package/cjs/nominal/nominal_match.js +2 -2
- package/cjs/nominal/nominal_match.js.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 +32 -0
- package/cjs/type/failed.d.ts.map +1 -0
- package/cjs/type/failed.js +3 -0
- package/cjs/type/failed.js.map +1 -0
- package/cjs/undefined/undefined_type.d.ts +4 -12
- package/cjs/undefined/undefined_type.d.ts.map +1 -1
- package/cjs/union/union_to_intersection.d.ts.map +1 -0
- package/cjs/union/union_to_intersection.js.map +1 -0
- 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 +3 -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/nominal/brand.d.ts +7 -5
- package/esm/nominal/brand.d.ts.map +1 -1
- package/esm/nominal/brand.js +4 -4
- package/esm/nominal/brand.js.map +1 -1
- package/esm/nominal/{types.d.ts → constants.d.ts} +1 -1
- package/esm/nominal/constants.d.ts.map +1 -0
- package/esm/nominal/{types.js → constants.js} +1 -1
- package/esm/nominal/constants.js.map +1 -0
- package/esm/nominal/flavor.d.ts +14 -3
- package/esm/nominal/flavor.d.ts.map +1 -1
- package/esm/nominal/flavor.js +1 -1
- package/esm/nominal/flavor.js.map +1 -1
- package/esm/nominal/nominal_match.js +1 -1
- package/esm/nominal/nominal_match.js.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 +32 -0
- package/esm/type/failed.d.ts.map +1 -0
- package/esm/type/failed.js +2 -0
- package/esm/type/failed.js.map +1 -0
- package/esm/undefined/undefined_type.d.ts +4 -12
- package/esm/undefined/undefined_type.d.ts.map +1 -1
- package/esm/union/union_to_intersection.d.ts.map +1 -0
- package/esm/union/union_to_intersection.js.map +1 -0
- 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 +6 -6
- 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/assertion/readme.md +1 -2
- 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 +4 -0
- package/ts/never/never_type.ts +2 -10
- package/ts/nominal/brand.ts +15 -7
- package/ts/nominal/flavor.ts +17 -2
- package/ts/nominal/nominal_match.ts +1 -1
- 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 +32 -0
- 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/nominal/types.d.ts.map +0 -1
- package/cjs/nominal/types.js.map +0 -1
- package/cjs/union_to_intersection.d.ts.map +0 -1
- package/cjs/union_to_intersection.js.map +0 -1
- package/esm/nominal/types.d.ts.map +0 -1
- package/esm/nominal/types.js.map +0 -1
- package/esm/union_to_intersection.d.ts.map +0 -1
- package/esm/union_to_intersection.js.map +0 -1
- /package/cjs/{union_to_intersection.d.ts → union/union_to_intersection.d.ts} +0 -0
- /package/cjs/{union_to_intersection.js → union/union_to_intersection.js} +0 -0
- /package/esm/{union_to_intersection.d.ts → union/union_to_intersection.d.ts} +0 -0
- /package/esm/{union_to_intersection.js → union/union_to_intersection.js} +0 -0
- /package/ts/nominal/{types.ts → constants.ts} +0 -0
- /package/ts/{union_to_intersection.ts → union/union_to_intersection.ts} +0 -0
|
@@ -2,25 +2,24 @@ import type { IsAny } from '../any/any_type.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if the type `T` is exactly `string`.
|
|
4
4
|
*
|
|
5
|
-
* ```
|
|
6
|
-
* import type { StrictStringType } from 'type-plus'
|
|
7
|
-
*
|
|
5
|
+
* ```ts
|
|
8
6
|
* type R = StrictStringType<string> // string
|
|
9
|
-
*
|
|
10
|
-
* type R = StrictStringType<''> // never
|
|
11
|
-
* type R = StrictStringType<'1'> // never
|
|
12
|
-
* type R = StrictStringType<string | boolean> // never
|
|
13
|
-
* type R = StrictStringType<never> // never
|
|
14
|
-
* type R = StrictStringType<unknown> // never
|
|
7
|
+
*
|
|
8
|
+
* type R = StrictStringType<''> // never
|
|
9
|
+
* type R = StrictStringType<'1'> // never
|
|
10
|
+
* type R = StrictStringType<string | boolean> // never
|
|
11
|
+
* type R = StrictStringType<never> // never
|
|
12
|
+
* type R = StrictStringType<unknown> // never
|
|
15
13
|
* ```
|
|
16
14
|
*/
|
|
17
|
-
export type StrictStringType<T, Then = T, Else = never> = IsAny<T, Else, [
|
|
15
|
+
export type StrictStringType<T, Then = T, Else = never> = IsAny<T, Else, [
|
|
16
|
+
T,
|
|
17
|
+
string
|
|
18
|
+
] extends [string, T] ? Then : Else>;
|
|
18
19
|
/**
|
|
19
20
|
* Is the type `T` exactly `string`.
|
|
20
21
|
*
|
|
21
|
-
* ```
|
|
22
|
-
* import type { IsStrictString } from 'type-plus'
|
|
23
|
-
*
|
|
22
|
+
* ```ts
|
|
24
23
|
* type R = IsStrictString<string> // true
|
|
25
24
|
*
|
|
26
25
|
* type R = IsStrictString<''> // false
|
|
@@ -34,9 +33,7 @@ export type IsStrictString<T, Then = true, Else = false> = StrictStringType<T, T
|
|
|
34
33
|
/**
|
|
35
34
|
* Check if the type `T` is not exactly `string`.
|
|
36
35
|
*
|
|
37
|
-
* ```
|
|
38
|
-
* import type { NotStrictStringType } from 'type-plus'
|
|
39
|
-
*
|
|
36
|
+
* ```ts
|
|
40
37
|
* type R = NotStrictStringType<string> // never
|
|
41
38
|
*
|
|
42
39
|
* type R = NotStrictStringType<''> // ''
|
|
@@ -50,9 +47,7 @@ export type NotStrictStringType<T, Then = T, Else = never> = StrictStringType<T,
|
|
|
50
47
|
/**
|
|
51
48
|
* Is the type `T` not exactly `string`.
|
|
52
49
|
*
|
|
53
|
-
* ```
|
|
54
|
-
* import type { IsNotStrictString } from 'type-plus'
|
|
55
|
-
*
|
|
50
|
+
* ```ts
|
|
56
51
|
* type R = IsNotStrictString<string> // false
|
|
57
52
|
*
|
|
58
53
|
* type R = IsNotStrictString<''> // true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict_string_type.d.ts","sourceRoot":"","sources":["../../ts/string/strict_string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"strict_string_type.d.ts","sourceRoot":"","sources":["../../ts/string/strict_string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAC9D,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;IAAE,MAAM;CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAC7C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if `Subject` includes `Search`.
|
|
3
|
+
* If either of them is not a string, returns `Else`.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* type R = StringIncludes<'abc', 'a'> // true
|
|
7
|
+
*
|
|
8
|
+
* type R = StringIncludes<'abc', 'd'> // false
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export type StringIncludes<Subject extends string, Search extends string, Then = true, Else = false> = Subject extends `${infer _}${Search}${infer _}` ? Then : Else;
|
|
12
|
+
/**
|
|
13
|
+
* Split a string into substrings using the specified separator,
|
|
14
|
+
* and return them as an array.
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* type R = StringSplit<'abc', ''> // ['a', 'b', 'c']
|
|
18
|
+
* type R = StringSplit<'abc', 'a'> // ['', 'bc']
|
|
19
|
+
* type R = StringSplit<'abc', 'b'> // ['a', 'c']
|
|
20
|
+
* type R = StringSplit<'abc', 'c'> // ['ab', '']
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export type StringSplit<Subject extends string, Seperator extends string> = Subject extends `${infer A}${Seperator}${infer B}` ? [A, ...StringSplit<B, Seperator>] : Seperator extends '' ? [] : [Subject];
|
|
24
|
+
//# sourceMappingURL=string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../ts/string/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,CACzB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,EACrB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACT,OAAO,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CACtB,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,MAAM,IACrB,OAAO,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,EAAE,GACnD,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GACjC,SAAS,SAAS,EAAE,GACpB,EAAE,GACF,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../ts/string/string.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { StringIncludes, StringSplit } from './string.js';
|
|
2
|
+
export declare namespace StringPlus {
|
|
3
|
+
/**
|
|
4
|
+
* Check if `Subject` includes `Search`.
|
|
5
|
+
* If either of them is not a string, returns `Else`.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* type R = StringPlus.Includes<'abc', 'a'> // true
|
|
9
|
+
*
|
|
10
|
+
* type R = StringPlus.Includes<'abc', 'd'> // false
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
type Includes<Subject extends string, Search extends string, Then = true, Else = false> = StringIncludes<Subject, Search, Then, Else>;
|
|
14
|
+
/**
|
|
15
|
+
* Split a string into substrings using the specified separator,
|
|
16
|
+
* and return them as an array.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* type R = StringPlus.Split<'abc', ''> // ['a', 'b', 'c']
|
|
20
|
+
* type R = StringPlus.Split<'abc', 'a'> // ['', 'bc']
|
|
21
|
+
* type R = StringPlus.Split<'abc', 'b'> // ['a', 'c']
|
|
22
|
+
* type R = StringPlus.Split<'abc', 'c'> // ['ab', '']
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
type Split<Subject extends string, Seperator extends string> = StringSplit<Subject, Seperator>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=string_plus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string_plus.d.ts","sourceRoot":"","sources":["../../ts/string/string_plus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9D,yBAAiB,UAAU,CAAC;IAC3B;;;;;;;;;OASG;IACH,KAAY,QAAQ,CACnB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,EACrB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACT,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAE/C;;;;;;;;;;OAUG;IACH,KAAY,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;CACrG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string_plus.js","sourceRoot":"","sources":["../../ts/string/string_plus.ts"],"names":[],"mappings":""}
|
|
@@ -2,9 +2,7 @@ import type { IsAnyOrNever } from '../any/any_or_never.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if the type `T` is `string` or string literals.
|
|
4
4
|
*
|
|
5
|
-
* ```
|
|
6
|
-
* import type { StringType } from 'type-plus'
|
|
7
|
-
*
|
|
5
|
+
* ```ts
|
|
8
6
|
* type R = StringType<string> // string
|
|
9
7
|
* type R = StringType<''> // ''
|
|
10
8
|
* type R = StringType<'1'> // '1'
|
|
@@ -18,9 +16,7 @@ export type StringType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
|
|
|
18
16
|
/**
|
|
19
17
|
* Is the type `T` `string` or string literals.
|
|
20
18
|
*
|
|
21
|
-
* ```
|
|
22
|
-
* import type { IsString } from 'type-plus'
|
|
23
|
-
*
|
|
19
|
+
* ```ts
|
|
24
20
|
* type R = IsString<string> // true
|
|
25
21
|
* type R = IsString<''> // true
|
|
26
22
|
* type R = IsString<'a'> // true
|
|
@@ -34,9 +30,7 @@ export type IsString<T, Then = true, Else = false> = StringType<T, Then, Else>;
|
|
|
34
30
|
/**
|
|
35
31
|
* Check if the type `T` is not `string` nor string literals.
|
|
36
32
|
*
|
|
37
|
-
* ```
|
|
38
|
-
* import type { NotStringType } from 'type-plus'
|
|
39
|
-
*
|
|
33
|
+
* ```ts
|
|
40
34
|
* type R = NotStringType<string> // never
|
|
41
35
|
* type R = NotStringType<''> // ''
|
|
42
36
|
* type R = NotStringType<'a'> // 'a'
|
|
@@ -50,9 +44,7 @@ export type NotStringType<T, Then = T, Else = never> = StringType<T, Else, Then>
|
|
|
50
44
|
/**
|
|
51
45
|
* Is the type `T` not `string` nor string literals.
|
|
52
46
|
*
|
|
53
|
-
* ```
|
|
54
|
-
* import type { IsNotString } from 'type-plus'
|
|
55
|
-
*
|
|
47
|
+
* ```ts
|
|
56
48
|
* type R = IsNotString<string> // false
|
|
57
49
|
* type R = IsNotString<''> // false
|
|
58
50
|
* type R = IsNotString<'a'> // false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string_type.d.ts","sourceRoot":"","sources":["../../ts/string/string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D
|
|
1
|
+
{"version":3,"file":"string_type.d.ts","sourceRoot":"","sources":["../../ts/string/string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -2,9 +2,7 @@ import type { IsAnyOrNever } from '../any/any_or_never.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if the type `T` is exactly `symbol`.
|
|
4
4
|
*
|
|
5
|
-
* ```
|
|
6
|
-
* import type { SymbolType } from 'type-plus'
|
|
7
|
-
*
|
|
5
|
+
* ```ts
|
|
8
6
|
* type R = SymbolType<symbol> // symbol
|
|
9
7
|
*
|
|
10
8
|
* type R = SymbolType<never> // never
|
|
@@ -12,15 +10,11 @@ import type { IsAnyOrNever } from '../any/any_or_never.js';
|
|
|
12
10
|
* type R = SymbolType<symbol | boolean> // never
|
|
13
11
|
* ```
|
|
14
12
|
*/
|
|
15
|
-
export type SymbolType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [
|
|
16
|
-
T
|
|
17
|
-
] extends [symbol] ? Then : Else>;
|
|
13
|
+
export type SymbolType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] extends [symbol] ? Then : Else>;
|
|
18
14
|
/**
|
|
19
15
|
* Is the type `T` exactly `symbol`.
|
|
20
16
|
*
|
|
21
|
-
* ```
|
|
22
|
-
* import type { IsSymbol } from 'type-plus'
|
|
23
|
-
*
|
|
17
|
+
* ```ts
|
|
24
18
|
* type R = IsSymbol<symbol> // true
|
|
25
19
|
*
|
|
26
20
|
* type R = IsSymbol<never> // false
|
|
@@ -32,9 +26,7 @@ export type IsSymbol<T, Then = true, Else = false> = SymbolType<T, Then, Else>;
|
|
|
32
26
|
/**
|
|
33
27
|
* Check if the type `T` is not `symbol`.
|
|
34
28
|
*
|
|
35
|
-
* ```
|
|
36
|
-
* import type { NotSymbolType } from 'type-plus'
|
|
37
|
-
*
|
|
29
|
+
* ```ts
|
|
38
30
|
* type R = NotSymbolType<symbol> // never
|
|
39
31
|
*
|
|
40
32
|
* type R = NotSymbolType<never> // never
|
|
@@ -46,9 +38,7 @@ export type NotSymbolType<T, Then = T, Else = never> = SymbolType<T, Else, Then>
|
|
|
46
38
|
/**
|
|
47
39
|
* Is the type `T` not `symbol`.
|
|
48
40
|
*
|
|
49
|
-
* ```
|
|
50
|
-
* import type { IsNotSymbol } from 'type-plus'
|
|
51
|
-
*
|
|
41
|
+
* ```ts
|
|
52
42
|
* type R = IsNotSymbol<symbol> // false
|
|
53
43
|
*
|
|
54
44
|
* type R = IsNotSymbol<never> // true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol_type.d.ts","sourceRoot":"","sources":["../../ts/symbol/symbol_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D
|
|
1
|
+
{"version":3,"file":"symbol_type.d.ts","sourceRoot":"","sources":["../../ts/symbol/symbol_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -3,8 +3,6 @@ import type { IsNever } from '../never/never_type.js';
|
|
|
3
3
|
* Check if `T` is a tuple and not an array.
|
|
4
4
|
*
|
|
5
5
|
* ```ts
|
|
6
|
-
* import type { TupleType } from 'type-plus'
|
|
7
|
-
*
|
|
8
6
|
* type R = TupleType<[]> // []
|
|
9
7
|
* type R = TupleType<[1]> // [1]
|
|
10
8
|
*
|
|
@@ -21,8 +19,6 @@ export type TupleType<T, Then = T, Else = never> = IsNever<T, Else, [
|
|
|
21
19
|
* Check if `T` is not a tuple.
|
|
22
20
|
*
|
|
23
21
|
* ```ts
|
|
24
|
-
* import type { NotTupleType } from 'type-plus'
|
|
25
|
-
*
|
|
26
22
|
* type R = NotTupleType<[]> // never
|
|
27
23
|
* type R = NotTupleType<[1]> // never
|
|
28
24
|
*
|
|
@@ -37,8 +33,6 @@ export type NotTupleType<T, Then = T, Else = never> = TupleType<T, Else, Then>;
|
|
|
37
33
|
* Is `T` a tuple and not an array.
|
|
38
34
|
*
|
|
39
35
|
* ```ts
|
|
40
|
-
* import type { IsTuple } from 'type-plus'
|
|
41
|
-
*
|
|
42
36
|
* type R = IsTuple<[]> // true
|
|
43
37
|
*
|
|
44
38
|
* type R = IsTuple<number[]> // false
|
|
@@ -52,8 +46,6 @@ export type IsTuple<T, Then = true, Else = false> = TupleType<T, Then, Else>;
|
|
|
52
46
|
* Is `T` not a tuple.
|
|
53
47
|
*
|
|
54
48
|
* ```ts
|
|
55
|
-
* import type { IsNotTuple } from 'type-plus'
|
|
56
|
-
*
|
|
57
49
|
* type R = IsNotTuple<[]> // false
|
|
58
50
|
* type R = IsNotTuple<[1]> // false
|
|
59
51
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple_type.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"tuple_type.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACzD,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CACvE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
declare const uniSym: unique symbol;
|
|
2
|
+
/**
|
|
3
|
+
* A failed type with message.
|
|
4
|
+
*
|
|
5
|
+
* This is analogous to the `Error` class in JavaScript.
|
|
6
|
+
*
|
|
7
|
+
* It can be used in type-level programming to failed an error message.
|
|
8
|
+
*
|
|
9
|
+
* If you want to add additional type information,
|
|
10
|
+
* use `FailedT` or create your own failed type instead.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* type T = Failed<'error message'>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export interface Failed<Msg extends string> {
|
|
17
|
+
[uniSym]: Msg;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A failed type with message and one additional type.
|
|
21
|
+
*
|
|
22
|
+
* Use this to add a generic type to the failed type.
|
|
23
|
+
*
|
|
24
|
+
* e.g. `FailedT<'missing', number | string>`
|
|
25
|
+
*
|
|
26
|
+
* It's recommended to create custom failed types instead of using this to provide better message.
|
|
27
|
+
*/
|
|
28
|
+
export interface FailedT<Msg extends string, T> {
|
|
29
|
+
[uniSym]: Msg;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=failed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failed.d.ts","sourceRoot":"","sources":["../../ts/type/failed.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,MAAM,CAAA;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,MAAM,CAAC,GAAG,SAAS,MAAM;IACzC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC;IAC7C,CAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failed.js","sourceRoot":"","sources":["../../ts/type/failed.ts"],"names":[],"mappings":""}
|
|
@@ -2,9 +2,7 @@ import type { IsAny } from '../any/any_type.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if the type `T` is exactly `undefined`.
|
|
4
4
|
*
|
|
5
|
-
* ```
|
|
6
|
-
* import type { UndefinedType } from 'type-plus'
|
|
7
|
-
*
|
|
5
|
+
* ```ts
|
|
8
6
|
* type R = UndefinedType<undefined> // undefined
|
|
9
7
|
*
|
|
10
8
|
* type R = UndefinedType<never> // never
|
|
@@ -19,9 +17,7 @@ export type UndefinedType<T, Then = T, Else = never> = IsAny<T, Else, [
|
|
|
19
17
|
/**
|
|
20
18
|
* Is the type `T` exactly `undefined`.
|
|
21
19
|
*
|
|
22
|
-
* ```
|
|
23
|
-
* import type { IsUndefined } from 'type-plus'
|
|
24
|
-
*
|
|
20
|
+
* ```ts
|
|
25
21
|
* type R = IsUndefined<undefined> // true
|
|
26
22
|
*
|
|
27
23
|
* type R = IsUndefined<never> // false
|
|
@@ -33,9 +29,7 @@ export type IsUndefined<T, Then = true, Else = false> = UndefinedType<T, Then, E
|
|
|
33
29
|
/**
|
|
34
30
|
* Check if the type `T` is not `undefined`.
|
|
35
31
|
*
|
|
36
|
-
* ```
|
|
37
|
-
* import type { NotUndefinedType } from 'type-plus'
|
|
38
|
-
*
|
|
32
|
+
* ```ts
|
|
39
33
|
* type R = NotUndefinedType<undefined> // never
|
|
40
34
|
*
|
|
41
35
|
* type R = NotUndefinedType<never> // never
|
|
@@ -47,9 +41,7 @@ export type NotUndefinedType<T, Then = T, Else = never> = UndefinedType<T, Else,
|
|
|
47
41
|
/**
|
|
48
42
|
* Is the type `T` not `undefined`.
|
|
49
43
|
*
|
|
50
|
-
* ```
|
|
51
|
-
* import type { IsNotUndefined } from 'type-plus'
|
|
52
|
-
*
|
|
44
|
+
* ```ts
|
|
53
45
|
* type R = IsNotUndefined<undefined> // false
|
|
54
46
|
*
|
|
55
47
|
* type R = IsNotUndefined<never> // true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undefined_type.d.ts","sourceRoot":"","sources":["../../ts/undefined/undefined_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"undefined_type.d.ts","sourceRoot":"","sources":["../../ts/undefined/undefined_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAC3D,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;IAAE,SAAS;CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CACnD,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEtF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union_to_intersection.d.ts","sourceRoot":"","sources":["../../ts/union/union_to_intersection.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GACvG,CAAC,GACD,KAAK,CAAA;AAER,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAElE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union_to_intersection.js","sourceRoot":"","sources":["../../ts/union/union_to_intersection.ts"],"names":[],"mappings":";;;AAMA,SAAgB,cAAc,CAAI,KAAQ;IACzC,OAAO,KAAsC,CAAA;AAC9C,CAAC;AAFD,wCAEC"}
|
|
@@ -2,9 +2,7 @@ import type { IsAny } from '../any/any_type.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Check if the type `T` is exactly `unknown`.
|
|
4
4
|
*
|
|
5
|
-
* ```
|
|
6
|
-
* import type { UnknownType } from 'type-plus'
|
|
7
|
-
*
|
|
5
|
+
* ```ts
|
|
8
6
|
* type R = UnknownType<unknown> // unknown
|
|
9
7
|
*
|
|
10
8
|
* type R = UnknownType<number> // never
|
|
@@ -18,9 +16,7 @@ export type UnknownType<T, Then = T, Else = never> = IsAny<T, Else, [
|
|
|
18
16
|
/**
|
|
19
17
|
* Is the type `T` exactly `unknown`.
|
|
20
18
|
*
|
|
21
|
-
* ```
|
|
22
|
-
* import type { IsUnknown } from 'type-plus'
|
|
23
|
-
*
|
|
19
|
+
* ```ts
|
|
24
20
|
* type R = IsUnknown<unknown> // true
|
|
25
21
|
*
|
|
26
22
|
* type R = IsUnknown<number> // false
|
|
@@ -31,9 +27,7 @@ export type IsUnknown<T, Then = true, Else = false> = UnknownType<T, Then, Else>
|
|
|
31
27
|
/**
|
|
32
28
|
* Check if the type `T` is not `unknown`.
|
|
33
29
|
*
|
|
34
|
-
* ```
|
|
35
|
-
* import type { NotUnknownType } from 'type-plus'
|
|
36
|
-
*
|
|
30
|
+
* ```ts
|
|
37
31
|
* type R = NotUnknownType<unknown> // never
|
|
38
32
|
*
|
|
39
33
|
* type R = NotUnknownType<never> // never
|
|
@@ -45,9 +39,7 @@ export type NotUnknownType<T, Then = T, Else = never> = UnknownType<T, Else, The
|
|
|
45
39
|
/**
|
|
46
40
|
* Is the type `T` not exactly `unknown`.
|
|
47
41
|
*
|
|
48
|
-
* ```
|
|
49
|
-
* import type { IsNotUnknown } from 'type-plus'
|
|
50
|
-
*
|
|
42
|
+
* ```ts
|
|
51
43
|
* type R = IsNotUnknown<unknown> // false
|
|
52
44
|
*
|
|
53
45
|
* type R = IsNotUnknown<never> // true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown_type.d.ts","sourceRoot":"","sources":["../../ts/unknown/unknown_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"unknown_type.d.ts","sourceRoot":"","sources":["../../ts/unknown/unknown_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACzD,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;IAAE,OAAO;CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAC/C,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
package/cjs/void/void_type.d.ts
CHANGED
|
@@ -4,8 +4,6 @@ import type { IsUndefined } from '../undefined/undefined_type.js';
|
|
|
4
4
|
* Check if `T` is `void`.
|
|
5
5
|
*
|
|
6
6
|
* ```ts
|
|
7
|
-
* import type { VoidType } from 'type-plus'
|
|
8
|
-
*
|
|
9
7
|
* type R = VoidType<void> // void
|
|
10
8
|
*
|
|
11
9
|
* type R = VoidType<1> // never
|
|
@@ -16,8 +14,6 @@ export type VoidType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, IsUndefi
|
|
|
16
14
|
* Check if `T` is not `void`.
|
|
17
15
|
*
|
|
18
16
|
* ```ts
|
|
19
|
-
* import type { VoidType } from 'type-plus'
|
|
20
|
-
*
|
|
21
17
|
* type R = VoidType<void> // never
|
|
22
18
|
*
|
|
23
19
|
* type R = VoidType<1> // 1
|
|
@@ -28,8 +24,6 @@ export type NotVoidType<T, Then = T, Else = never> = VoidType<T, Else, Then>;
|
|
|
28
24
|
* Is `T` `void`.
|
|
29
25
|
*
|
|
30
26
|
* ```ts
|
|
31
|
-
* import type { IsVoid } from 'type-plus'
|
|
32
|
-
*
|
|
33
27
|
* type R = IsVoid<void> // true
|
|
34
28
|
*
|
|
35
29
|
* type R = IsVoid<1> // false
|
|
@@ -40,8 +34,6 @@ export type IsVoid<T, Then = true, Else = false> = VoidType<T, Then, Else>;
|
|
|
40
34
|
* Is `T` not `void`.
|
|
41
35
|
*
|
|
42
36
|
* ```ts
|
|
43
|
-
* import type { IsNotVoid } from 'type-plus'
|
|
44
|
-
*
|
|
45
37
|
* type R = IsNotVoid<void> // false
|
|
46
38
|
*
|
|
47
39
|
* type R = IsNotVoid<1> // true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"void_type.d.ts","sourceRoot":"","sources":["../../ts/void/void_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAEjE
|
|
1
|
+
{"version":3,"file":"void_type.d.ts","sourceRoot":"","sources":["../../ts/void/void_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAEjE;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAC7D,CAAC,EACD,IAAI,EACJ,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CACtD,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any_or_never.d.ts","sourceRoot":"","sources":["../../ts/any/any_or_never.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C
|
|
1
|
+
{"version":3,"file":"any_or_never.d.ts","sourceRoot":"","sources":["../../ts/any/any_or_never.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA"}
|
package/esm/any/any_type.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Check if the type `T` is exactly `any`.
|
|
3
3
|
*
|
|
4
|
-
* ```
|
|
5
|
-
* import type { AnyType } from 'type-plus'
|
|
6
|
-
*
|
|
4
|
+
* ```ts
|
|
7
5
|
* type R = AnyType<any> // any
|
|
8
6
|
*
|
|
9
7
|
* type R = AnyType<never> // never
|
|
@@ -15,9 +13,7 @@ export type AnyType<T, Then = T, Else = never> = 0 extends 1 & T ? Then : Else;
|
|
|
15
13
|
/**
|
|
16
14
|
* Is the type `T` exactly `any`.
|
|
17
15
|
*
|
|
18
|
-
* ```
|
|
19
|
-
* import type { IsAny } from 'type-plus'
|
|
20
|
-
*
|
|
16
|
+
* ```ts
|
|
21
17
|
* type R = IsAny<any> // true
|
|
22
18
|
*
|
|
23
19
|
* type R = IsAny<never> // false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any_type.d.ts","sourceRoot":"","sources":["../../ts/any/any_type.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"any_type.d.ts","sourceRoot":"","sources":["../../ts/any/any_type.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAExE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
package/esm/array/array.d.ts
CHANGED
|
@@ -8,8 +8,6 @@ import type { IndexAt } from './array_index.js';
|
|
|
8
8
|
* @see https://github.com/microsoft/TypeScript/issues/53345#issuecomment-1477138167
|
|
9
9
|
*
|
|
10
10
|
* ```ts
|
|
11
|
-
* import type { At } from 'type-plus'
|
|
12
|
-
*
|
|
13
11
|
* type R = At<[1, 2, 3], 2> // 3
|
|
14
12
|
* type R = At<[1, 2, 3], -1> // 3
|
|
15
13
|
* ```
|
|
@@ -23,8 +21,6 @@ export type At<A extends unknown[], N extends number, Fail = never> = IndexAt<A,
|
|
|
23
21
|
* @alias ArrayPlus.Concat
|
|
24
22
|
*
|
|
25
23
|
* ```ts
|
|
26
|
-
* import type { Concat } form 'type-plus'
|
|
27
|
-
*
|
|
28
24
|
* type R = Concat<[1], [2, 3]> // [1, 2, 3]
|
|
29
25
|
* ```
|
|
30
26
|
*/
|
package/esm/array/array.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../ts/array/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../ts/array/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,GACtG,CAAC,SAAS,MAAM,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,IAAI,GACL,KAAK,CAAA;AAER;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA"}
|
|
@@ -10,28 +10,25 @@ import type { StrictNumberType } from '../number/strict_number_type.js';
|
|
|
10
10
|
/**
|
|
11
11
|
* Gets the normalized index to access the element of an array or tuple.
|
|
12
12
|
*
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* type R = ArrayPlus.IndexAt<['a', 'b', 'c'], 2> // 2
|
|
17
|
-
* type R = ArrayPlus.IndexAt<['a', 'b', 'c'], -2> // 1
|
|
13
|
+
* ```ts
|
|
14
|
+
* type R = IndexAt<['a', 'b', 'c'], 2> // 2
|
|
15
|
+
* type R = IndexAt<['a', 'b', 'c'], -2> // 1
|
|
18
16
|
*
|
|
19
|
-
* type R =
|
|
20
|
-
* type R =
|
|
17
|
+
* type R = IndexAt<['a', 'b', 'c'], 3> // never
|
|
18
|
+
* type R = IndexAt<['a', 'b', 'c'], -4> // never
|
|
21
19
|
* ```
|
|
22
20
|
*/
|
|
23
21
|
export type IndexAt<A extends Array<unknown>, N extends number, Fail = never> = Equal<A['length'], 0, Fail, Integer<N, StrictNumberType<A['length'], N, Negative<N, GreaterThan<Abs<N>, A['length']> extends true ? Fail : Subtract<A['length'], Abs<N>>, GreaterThan<A['length'], N> extends true ? N : Fail>>, IsAny<N, number, StrictNumberType<N, N>>>>;
|
|
24
22
|
/**
|
|
25
23
|
* Is N an out of bound index of A.
|
|
26
24
|
*
|
|
27
|
-
* ```
|
|
28
|
-
* import { IsIndexOutOfBound } from 'type-plus'
|
|
29
|
-
*
|
|
25
|
+
* ```ts
|
|
30
26
|
* type R = IsIndexOutOfBound<[1], 0> // false
|
|
31
27
|
* type R = IsIndexOutOfBound<[1], -1> // false
|
|
32
28
|
|
|
33
29
|
* type R = IsIndexOutOfBound<[1], 1> // true
|
|
34
30
|
* type R = IsIndexOutOfBound<[1], -2> // true
|
|
31
|
+
* ```
|
|
35
32
|
*/
|
|
36
33
|
export type IsIndexOutOfBound<A extends unknown[], N extends number, Then = true, Else = false> = IsNever<IndexAt<A, N>, Then, Else>;
|
|
37
34
|
//# sourceMappingURL=array_index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array_index.d.ts","sourceRoot":"","sources":["../../ts/array/array_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE
|
|
1
|
+
{"version":3,"file":"array_index.d.ts","sourceRoot":"","sources":["../../ts/array/array_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACpF,CAAC,CAAC,QAAQ,CAAC,EACX,CAAC,EACD,IAAI,EACJ,OAAO,CACN,CAAC,EACD,gBAAgB,CACf,CAAC,CAAC,QAAQ,CAAC,EAEX,CAAC,EAED,QAAQ,CACP,CAAC,EACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EACpF,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CACnD,CACD,EAED,KAAK,CACJ,CAAC,EACD,MAAM,EACN,gBAAgB,CACf,CAAC,EAED,CAAC,CACD,CACD,CACD,CACD,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACxG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACb,IAAI,EACJ,IAAI,CACJ,CAAA"}
|