type-plus 7.3.0 → 7.4.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 +131 -156
- package/cjs/any/any_type.d.ts +8 -8
- package/cjs/any/any_type.d.ts.map +1 -1
- package/cjs/array/array.at.d.ts +3 -1
- package/cjs/array/array.at.d.ts.map +1 -1
- package/cjs/array/array.find.d.ts +3 -1
- package/cjs/array/array.find.d.ts.map +1 -1
- package/cjs/array/array.find_last.d.ts +3 -1
- package/cjs/array/array.find_last.d.ts.map +1 -1
- package/cjs/array/array.some.d.ts +1 -1
- package/cjs/array/array.some.d.ts.map +1 -1
- package/cjs/array/{array.concat.d.ts → array_plus.concat.d.ts} +4 -1
- package/cjs/array/array_plus.concat.d.ts.map +1 -0
- package/cjs/array/{array.concat.js → array_plus.concat.js} +1 -1
- package/cjs/array/array_plus.concat.js.map +1 -0
- package/cjs/array/array_plus.d.ts +3 -2
- package/cjs/array/array_plus.d.ts.map +1 -1
- package/cjs/array/array_plus.filter.d.ts +2 -0
- package/cjs/array/array_plus.filter.d.ts.map +1 -0
- package/cjs/array/array_plus.filter.js +3 -0
- package/cjs/array/array_plus.filter.js.map +1 -0
- package/cjs/array/array_plus.pad_start.d.ts +5 -0
- package/cjs/array/array_plus.pad_start.d.ts.map +1 -0
- package/cjs/array/array_plus.pad_start.js +3 -0
- package/cjs/array/array_plus.pad_start.js.map +1 -0
- package/cjs/array/array_type.d.ts +30 -12
- package/cjs/array/array_type.d.ts.map +1 -1
- package/cjs/array/filter.d.ts +24 -4
- package/cjs/array/filter.d.ts.map +1 -1
- package/cjs/array/head.d.ts +18 -1
- package/cjs/array/head.d.ts.map +1 -1
- package/cjs/array/intersect_of_props.d.ts +5 -3
- package/cjs/array/intersect_of_props.d.ts.map +1 -1
- package/cjs/array/last.d.ts +16 -2
- package/cjs/array/last.d.ts.map +1 -1
- package/cjs/array/literal_array.d.ts +5 -0
- package/cjs/array/literal_array.d.ts.map +1 -1
- package/cjs/array/literal_array.js +5 -0
- package/cjs/array/literal_array.js.map +1 -1
- package/cjs/array/pad_start.d.ts +5 -5
- package/cjs/array/pad_start.d.ts.map +1 -1
- package/cjs/array/reduce_while.d.ts +6 -0
- package/cjs/array/reduce_while.d.ts.map +1 -1
- package/cjs/array/reduce_while.js +6 -0
- package/cjs/array/reduce_while.js.map +1 -1
- package/cjs/array/reverse.d.ts +5 -0
- package/cjs/array/reverse.d.ts.map +1 -1
- package/cjs/array/union_of_props.d.ts +1 -1
- package/cjs/array/union_of_props.d.ts.map +1 -1
- package/cjs/functional/compose.d.ts +2 -1
- package/cjs/functional/compose.d.ts.map +1 -1
- package/cjs/functional/compose.js.map +1 -1
- package/cjs/functional/context.d.ts.map +1 -1
- package/cjs/index.d.ts +19 -3
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +9 -3
- package/cjs/index.js.map +1 -1
- package/cjs/math/numeric_struct.d.ts +1 -1
- package/cjs/math/numeric_struct.d.ts.map +1 -1
- package/cjs/mix_types/any_or_never_type.d.ts +18 -10
- package/cjs/mix_types/any_or_never_type.d.ts.map +1 -1
- package/cjs/nodejs/isNodeError.d.ts.map +1 -1
- package/cjs/nominal/brand.d.ts.map +1 -1
- package/cjs/nominal/flavor.d.ts.map +1 -1
- package/cjs/testing/test_type.d.ts +44 -1
- package/cjs/testing/test_type.d.ts.map +1 -1
- package/cjs/tuple/common_prop_keys.d.ts +29 -0
- package/cjs/tuple/common_prop_keys.d.ts.map +1 -0
- package/cjs/tuple/common_prop_keys.js.map +1 -0
- package/cjs/tuple/create_tuple.d.ts.map +1 -1
- package/cjs/tuple/drop.d.ts +72 -0
- package/cjs/tuple/drop.d.ts.map +1 -0
- package/cjs/{array → tuple}/drop.js +3 -1
- package/cjs/tuple/drop.js.map +1 -0
- package/{esm/array → cjs/tuple}/tail.d.ts +1 -1
- package/cjs/{array → tuple}/tail.d.ts.map +1 -1
- package/cjs/{array → tuple}/tail.js.map +1 -1
- package/cjs/tuple/tuple_plus.d.ts +2 -1
- package/cjs/tuple/tuple_plus.d.ts.map +1 -1
- package/cjs/tuple/tuple_plus.filter.d.ts +13 -0
- package/cjs/tuple/tuple_plus.filter.d.ts.map +1 -0
- package/cjs/tuple/tuple_plus.filter.js +3 -0
- package/cjs/tuple/tuple_plus.filter.js.map +1 -0
- package/cjs/tuple/tuple_plus.js +0 -15
- package/cjs/tuple/tuple_plus.js.map +1 -1
- package/cjs/tuple/tuple_plus.pad_start.d.ts +8 -3
- package/cjs/tuple/tuple_plus.pad_start.d.ts.map +1 -1
- package/esm/any/any_type.d.ts +8 -8
- package/esm/any/any_type.d.ts.map +1 -1
- package/esm/array/array.at.d.ts +3 -1
- package/esm/array/array.at.d.ts.map +1 -1
- package/esm/array/array.find.d.ts +3 -1
- package/esm/array/array.find.d.ts.map +1 -1
- package/esm/array/array.find_last.d.ts +3 -1
- package/esm/array/array.find_last.d.ts.map +1 -1
- package/esm/array/array.some.d.ts +1 -1
- package/esm/array/array.some.d.ts.map +1 -1
- package/esm/array/{array.concat.d.ts → array_plus.concat.d.ts} +4 -1
- package/esm/array/array_plus.concat.d.ts.map +1 -0
- package/esm/array/array_plus.concat.js +2 -0
- package/esm/array/array_plus.concat.js.map +1 -0
- package/esm/array/array_plus.d.ts +3 -2
- package/esm/array/array_plus.d.ts.map +1 -1
- package/esm/array/array_plus.filter.d.ts +2 -0
- package/esm/array/array_plus.filter.d.ts.map +1 -0
- package/esm/array/array_plus.filter.js +2 -0
- package/esm/array/array_plus.filter.js.map +1 -0
- package/esm/array/array_plus.pad_start.d.ts +5 -0
- package/esm/array/array_plus.pad_start.d.ts.map +1 -0
- package/esm/array/array_plus.pad_start.js +2 -0
- package/esm/array/array_plus.pad_start.js.map +1 -0
- package/esm/array/array_type.d.ts +30 -12
- package/esm/array/array_type.d.ts.map +1 -1
- package/esm/array/filter.d.ts +24 -4
- package/esm/array/filter.d.ts.map +1 -1
- package/esm/array/head.d.ts +18 -1
- package/esm/array/head.d.ts.map +1 -1
- package/esm/array/intersect_of_props.d.ts +5 -3
- package/esm/array/intersect_of_props.d.ts.map +1 -1
- package/esm/array/last.d.ts +16 -2
- package/esm/array/last.d.ts.map +1 -1
- package/esm/array/literal_array.d.ts +5 -0
- package/esm/array/literal_array.d.ts.map +1 -1
- package/esm/array/literal_array.js +5 -0
- package/esm/array/literal_array.js.map +1 -1
- package/esm/array/pad_start.d.ts +5 -5
- package/esm/array/pad_start.d.ts.map +1 -1
- package/esm/array/reduce_while.d.ts +6 -0
- package/esm/array/reduce_while.d.ts.map +1 -1
- package/esm/array/reduce_while.js +6 -0
- package/esm/array/reduce_while.js.map +1 -1
- package/esm/array/reverse.d.ts +5 -0
- package/esm/array/reverse.d.ts.map +1 -1
- package/esm/array/union_of_props.d.ts +1 -1
- package/esm/array/union_of_props.d.ts.map +1 -1
- package/esm/functional/compose.d.ts +2 -1
- package/esm/functional/compose.d.ts.map +1 -1
- package/esm/functional/compose.js.map +1 -1
- package/esm/functional/context.d.ts.map +1 -1
- package/esm/index.d.ts +19 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -2
- package/esm/index.js.map +1 -1
- package/esm/math/numeric_struct.d.ts +1 -1
- package/esm/math/numeric_struct.d.ts.map +1 -1
- package/esm/mix_types/any_or_never_type.d.ts +18 -10
- package/esm/mix_types/any_or_never_type.d.ts.map +1 -1
- package/esm/nodejs/isNodeError.d.ts.map +1 -1
- package/esm/nominal/brand.d.ts.map +1 -1
- package/esm/nominal/flavor.d.ts.map +1 -1
- package/esm/testing/test_type.d.ts +44 -1
- package/esm/testing/test_type.d.ts.map +1 -1
- package/esm/tuple/common_prop_keys.d.ts +29 -0
- package/esm/tuple/common_prop_keys.d.ts.map +1 -0
- package/esm/tuple/common_prop_keys.js.map +1 -0
- package/esm/tuple/create_tuple.d.ts.map +1 -1
- package/esm/tuple/drop.d.ts +72 -0
- package/esm/tuple/drop.d.ts.map +1 -0
- package/esm/tuple/drop.js +9 -0
- package/esm/tuple/drop.js.map +1 -0
- package/{cjs/array → esm/tuple}/tail.d.ts +1 -1
- package/esm/{array → tuple}/tail.d.ts.map +1 -1
- package/esm/{array → tuple}/tail.js.map +1 -1
- package/esm/tuple/tuple_plus.d.ts +2 -1
- package/esm/tuple/tuple_plus.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.filter.d.ts +13 -0
- package/esm/tuple/tuple_plus.filter.d.ts.map +1 -0
- package/esm/tuple/tuple_plus.filter.js +2 -0
- package/esm/tuple/tuple_plus.filter.js.map +1 -0
- package/esm/tuple/tuple_plus.js +1 -1
- package/esm/tuple/tuple_plus.js.map +1 -1
- package/esm/tuple/tuple_plus.pad_start.d.ts +8 -3
- package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
- package/package.json +15 -11
- package/ts/any/any_type.ts +8 -9
- package/ts/any/readme.md +91 -7
- package/ts/array/array.at.ts +3 -1
- package/ts/array/array.find.ts +3 -1
- package/ts/array/array.find_last.ts +3 -1
- package/ts/array/array.some.ts +1 -1
- package/ts/array/{array.concat.ts → array_plus.concat.ts} +3 -0
- package/ts/array/array_plus.filter.ts +5 -0
- package/ts/array/array_plus.pad_start.ts +13 -0
- package/ts/array/array_plus.ts +3 -2
- package/ts/array/array_type.ts +30 -12
- package/ts/array/filter.ts +27 -22
- package/ts/array/head.ts +18 -1
- package/ts/array/intersect_of_props.ts +7 -3
- package/ts/array/last.ts +16 -2
- package/ts/array/literal_array.ts +5 -0
- package/ts/array/pad_start.ts +6 -10
- package/ts/array/readme.md +181 -16
- package/ts/array/reduce_while.ts +6 -0
- package/ts/array/reverse.ts +5 -0
- package/ts/array/union_of_props.ts +1 -1
- package/ts/assertion/readme.md +3 -3
- package/ts/functional/compose.ts +2 -1
- package/ts/functional/context.ts +1 -1
- package/ts/index.ts +22 -3
- package/ts/math/numeric_struct.ts +9 -9
- package/ts/mix_types/any_or_never_type.ts +18 -10
- package/ts/mix_types/readme.md +40 -0
- package/ts/nodejs/isNodeError.ts +13 -13
- package/ts/nominal/brand.ts +1 -1
- package/ts/nominal/flavor.ts +1 -1
- package/ts/testing/readme.md +30 -0
- package/ts/testing/test_type.ts +90 -47
- package/ts/tuple/common_prop_keys.ts +55 -0
- package/ts/tuple/create_tuple.ts +9 -9
- package/ts/tuple/drop.ts +124 -0
- package/ts/tuple/readme.md +116 -1
- package/ts/{array → tuple}/tail.ts +1 -1
- package/ts/tuple/tuple_plus.filter.ts +29 -0
- package/ts/tuple/tuple_plus.pad_start.ts +26 -13
- package/ts/tuple/tuple_plus.ts +2 -1
- package/cjs/array/array.concat.d.ts.map +0 -1
- package/cjs/array/array.concat.js.map +0 -1
- package/cjs/array/common_prop_keys.d.ts +0 -11
- package/cjs/array/common_prop_keys.d.ts.map +0 -1
- package/cjs/array/common_prop_keys.js.map +0 -1
- package/cjs/array/drop.d.ts +0 -19
- package/cjs/array/drop.d.ts.map +0 -1
- package/cjs/array/drop.js.map +0 -1
- package/cjs/array/index.d.ts +0 -17
- package/cjs/array/index.d.ts.map +0 -1
- package/cjs/array/index.js +0 -33
- package/cjs/array/index.js.map +0 -1
- package/esm/array/array.concat.d.ts.map +0 -1
- package/esm/array/array.concat.js +0 -2
- package/esm/array/array.concat.js.map +0 -1
- package/esm/array/common_prop_keys.d.ts +0 -11
- package/esm/array/common_prop_keys.d.ts.map +0 -1
- package/esm/array/common_prop_keys.js.map +0 -1
- package/esm/array/drop.d.ts +0 -19
- package/esm/array/drop.d.ts.map +0 -1
- package/esm/array/drop.js +0 -7
- package/esm/array/drop.js.map +0 -1
- package/esm/array/index.d.ts +0 -17
- package/esm/array/index.d.ts.map +0 -1
- package/esm/array/index.js +0 -17
- package/esm/array/index.js.map +0 -1
- package/ts/array/common_prop_keys.ts +0 -18
- package/ts/array/drop.ts +0 -71
- package/ts/array/index.ts +0 -16
- /package/cjs/{array → tuple}/common_prop_keys.js +0 -0
- /package/cjs/{array → tuple}/tail.js +0 -0
- /package/esm/{array → tuple}/common_prop_keys.js +0 -0
- /package/esm/{array → tuple}/tail.js +0 -0
|
@@ -1,20 +1,28 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { AnyType } from '../any/any_type.js';
|
|
2
|
+
import type { NeverType } from '../never/never_type.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Parse `T` to ensure it is either exactly `any` or exactly `never`.
|
|
5
|
+
*
|
|
6
|
+
* 🌪️ *filter*
|
|
7
|
+
* 🩳 *shortcut*
|
|
5
8
|
*
|
|
6
9
|
* @example
|
|
7
10
|
* ```ts
|
|
8
|
-
* type R =
|
|
11
|
+
* type R = AnyOrNeverType<any> // any
|
|
12
|
+
* type R = AnyOrNeverType<never> // never
|
|
13
|
+
* type R = AnyOrNeverType<never, 1, 2> // 1
|
|
9
14
|
*
|
|
10
|
-
* type R =
|
|
11
|
-
* type R =
|
|
12
|
-
* type R =
|
|
15
|
+
* type R = AnyOrNeverType<unknown> // never
|
|
16
|
+
* type R = AnyOrNeverType<unknown, 1, 2> // 2
|
|
17
|
+
* type R = AnyOrNeverType<string | boolean> // never
|
|
13
18
|
* ```
|
|
14
19
|
*/
|
|
15
|
-
export type AnyOrNeverType<T, Then = T, Else = never> =
|
|
20
|
+
export type AnyOrNeverType<T, Then = T, Else = never> = NeverType<T, Then, AnyType<T, Then, Else>>;
|
|
16
21
|
/**
|
|
17
|
-
*
|
|
22
|
+
* Validate if `T` is either exactly `any` or exactly `never`.
|
|
23
|
+
*
|
|
24
|
+
* 🎭 *validate*
|
|
25
|
+
* 🩳 *shortcut*
|
|
18
26
|
*
|
|
19
27
|
* @example
|
|
20
28
|
* ```ts
|
|
@@ -25,5 +33,5 @@ export type AnyOrNeverType<T, Then = T, Else = never> = IsNever<T, Then, IsAny<T
|
|
|
25
33
|
* type R = IsAnyOrNever<unknown> // false
|
|
26
34
|
* ```
|
|
27
35
|
*/
|
|
28
|
-
export type IsAnyOrNever<T, Then = true, Else = false> =
|
|
36
|
+
export type IsAnyOrNever<T, Then = true, Else = false> = NeverType<T, Then, AnyType<T, Then, Else>>;
|
|
29
37
|
//# sourceMappingURL=any_or_never_type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any_or_never_type.d.ts","sourceRoot":"","sources":["../../ts/mix_types/any_or_never_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"any_or_never_type.d.ts","sourceRoot":"","sources":["../../ts/mix_types/any_or_never_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAElG;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isNodeError.d.ts","sourceRoot":"","sources":["../../ts/nodejs/isNodeError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"isNodeError.d.ts","sourceRoot":"","sources":["../../ts/nodejs/isNodeError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;IACnC,UAAU,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAC3C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,KAAK,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAA;AAEjD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAEvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../ts/nominal/brand.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAClG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAC3C,CAAC,OAAO,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../ts/nominal/brand.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAClG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAC3C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACb,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACvF;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAC3F,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAElB;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM;IACzC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAC3F,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAElB;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM;IACzC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACzF;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -240,7 +240,8 @@ interface TestType {
|
|
|
240
240
|
*/
|
|
241
241
|
export declare const testType: TestType;
|
|
242
242
|
export type InspectedType<T> = {
|
|
243
|
-
|
|
243
|
+
type: T;
|
|
244
|
+
extends<R>(): T extends R ? true : false;
|
|
244
245
|
extends_any: T extends any ? true : false;
|
|
245
246
|
extends_unknown: T extends unknown ? true : false;
|
|
246
247
|
extends_void: T extends void ? true : false;
|
|
@@ -261,6 +262,48 @@ export type InspectedType<T> = {
|
|
|
261
262
|
extends_function: T extends Function ? true : false;
|
|
262
263
|
extends_array_unknown: T extends unknown[] ? true : false;
|
|
263
264
|
extends_tuple_empty: T extends [] ? true : false;
|
|
265
|
+
union<R>(): T | R;
|
|
266
|
+
union_any: T | any;
|
|
267
|
+
union_unknown: T | unknown;
|
|
268
|
+
union_void: T | void;
|
|
269
|
+
union_never: T | never;
|
|
270
|
+
union_undefined: T | undefined;
|
|
271
|
+
union_null: T | null;
|
|
272
|
+
union_boolean: T | boolean;
|
|
273
|
+
union_true: T | true;
|
|
274
|
+
union_false: T | false;
|
|
275
|
+
union_number: T | number;
|
|
276
|
+
union_1: T | 1;
|
|
277
|
+
union_bigint: T | bigint;
|
|
278
|
+
union_1n: T | 1n;
|
|
279
|
+
union_string: T | string;
|
|
280
|
+
union_a: T | 'a';
|
|
281
|
+
union_symbol: T | symbol;
|
|
282
|
+
union_object: T | object;
|
|
283
|
+
union_function: T | Function;
|
|
284
|
+
union_array_unknown: T | unknown[];
|
|
285
|
+
union_tuple_empty: T | [];
|
|
286
|
+
intersect<R>(): T & R;
|
|
287
|
+
intersect_any: T & any;
|
|
288
|
+
intersect_unknown: T & unknown;
|
|
289
|
+
intersect_void: T & void;
|
|
290
|
+
intersect_never: T & never;
|
|
291
|
+
intersect_undefined: T & undefined;
|
|
292
|
+
intersect_null: T & null;
|
|
293
|
+
intersect_boolean: T & boolean;
|
|
294
|
+
intersect_true: T & true;
|
|
295
|
+
intersect_false: T & false;
|
|
296
|
+
intersect_number: T & number;
|
|
297
|
+
intersect_1: T & 1;
|
|
298
|
+
intersect_bigint: T & bigint;
|
|
299
|
+
intersect_1n: T & 1n;
|
|
300
|
+
intersect_string: T & string;
|
|
301
|
+
intersect_a: T & 'a';
|
|
302
|
+
intersect_symbol: T & symbol;
|
|
303
|
+
intersect_object: T & object;
|
|
304
|
+
intersect_function: T & Function;
|
|
305
|
+
intersect_array_unknown: T & unknown[];
|
|
306
|
+
intersect_tuple_empty: T & [];
|
|
264
307
|
};
|
|
265
308
|
export {};
|
|
266
309
|
//# sourceMappingURL=test_type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_type.d.ts","sourceRoot":"","sources":["../../ts/testing/test_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,UAAU,QAAQ;IACjB;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"test_type.d.ts","sourceRoot":"","sources":["../../ts/testing/test_type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { NotNeverType } from '../never/never_type.js';
|
|
2
|
+
import type { KeyTypes } from '../object/KeyTypes.js';
|
|
3
|
+
import type { Tail } from './tail.js';
|
|
4
|
+
/**
|
|
5
|
+
* ⚗️ *transform*
|
|
6
|
+
*
|
|
7
|
+
* Gets the common property keys of the elements in tuple `T`.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { CommonPropKeys } from 'type-plus'
|
|
11
|
+
*
|
|
12
|
+
* type R = CommonPropKeys<[{ a: number }, { b: number }]> // never
|
|
13
|
+
* type R = CommonPropKeys<[{ a: number, c: 1 }, { b: number, c: 2 }]> // 'c'
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export type CommonPropKeys<T extends Record<KeyTypes, unknown>[], Cases extends {
|
|
17
|
+
array?: unknown;
|
|
18
|
+
no_common_keys?: unknown;
|
|
19
|
+
} = {
|
|
20
|
+
array: T extends Array<infer R extends Record<KeyTypes, unknown>> ? keyof R : never;
|
|
21
|
+
no_common_keys: never;
|
|
22
|
+
}> = number extends T['length'] ? Cases['array'] : (T['length'] extends 0 ? Cases['no_common_keys'] : (T['length'] extends 1 ? keyof T[0] : (T['length'] extends 2 ? (keyof T[0] & keyof T[1] extends infer R ? NotNeverType<R, R, Cases['no_common_keys']> : never) : (keyof T[0] & keyof T[1] & CommonPropKeys<Tail<Tail<T>>> extends infer R ? NotNeverType<R, R, Cases['no_common_keys']> : never))));
|
|
23
|
+
/**
|
|
24
|
+
* Gets the common property keys of the elements in `A`.
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Please use `CommonPropKeys` instead.
|
|
27
|
+
*/
|
|
28
|
+
export type CommonKeys<A extends Record<KeyTypes, any>[]> = CommonPropKeys<A>;
|
|
29
|
+
//# sourceMappingURL=common_prop_keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common_prop_keys.d.ts","sourceRoot":"","sources":["../../ts/tuple/common_prop_keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EACrC,KAAK,SAAS;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG;IACH,KAAK,EAAE,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;IACpF,cAAc,EAAE,KAAK,CAAA;CACrB,IACE,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC3B,KAAK,CAAC,OAAO,CAAC,GACd,CACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,KAAK,CAAC,gBAAgB,CAAC,GACvB,CACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,MAAM,CAAC,CAAC,CAAC,CAAC,GACV,CACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,CACD,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACrC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAC3C,KAAK,CACP,GACC,CACD,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACrE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAC3C,KAAK,CACP,CACD,CACD,CACD,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common_prop_keys.js","sourceRoot":"","sources":["../../ts/tuple/common_prop_keys.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/tuple/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACpF,CAAC,EAAE,GACH,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7C,IAAI,GACL,IAAI,CAAA;AACP,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtF,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAC3B,CAAC,SAAS,GAAG,EAAE,GACd,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACrD,KAAK,GACN,KAAK,CAAA;AAER,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE;CACpB,GAAG;IACH,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/tuple/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACpF,CAAC,EAAE,GACH,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7C,IAAI,GACL,IAAI,CAAA;AACP,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtF,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAC3B,CAAC,SAAS,GAAG,EAAE,GACd,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACrD,KAAK,GACN,KAAK,CAAA;AAER,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE;CACpB,GAAG;IACH,CAAC,EAAE,EAAE,CAAC;IACN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAC9B,CAAA;AACD,KAAK,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { IsEqual } from '../equal/equal.js';
|
|
2
|
+
import type { NonNull, NonUndefined } from '../utils/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Drops the first entry in the tuple `T`.
|
|
5
|
+
*
|
|
6
|
+
* If the type is an array, the same array will be returned.
|
|
7
|
+
*
|
|
8
|
+
* ⚗️ *transform*
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* type R = DropFirst<[1, 2, 3]> // [2, 3]
|
|
13
|
+
* type R = DropFirst<[string]> // []
|
|
14
|
+
* type R = DropFirst<[]> // []
|
|
15
|
+
* type R = DropFirst<string[]> // string[]
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export type DropFirst<T extends unknown[], Cases extends {
|
|
19
|
+
'array'?: unknown;
|
|
20
|
+
'empty_tuple'?: unknown;
|
|
21
|
+
} = {
|
|
22
|
+
'array': T;
|
|
23
|
+
'empty_tuple': [];
|
|
24
|
+
}> = number extends T['length'] ? Cases['array'] : T['length'] extends 0 ? Cases['empty_tuple'] : T['length'] extends 1 ? [] : T extends [any, ...infer Tail] ? Tail : never;
|
|
25
|
+
/**
|
|
26
|
+
* Drops the last entry in the tuple `T`.
|
|
27
|
+
*
|
|
28
|
+
* If the type is an array, the same array will be returned.
|
|
29
|
+
*
|
|
30
|
+
* ⚗️ *transform*
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* type R = DropLast<[1, 2, 3]> // [2, 3]
|
|
35
|
+
* type R = DropLast<[string]> // []
|
|
36
|
+
* type R = DropLast<[]> // []
|
|
37
|
+
* type R = DropLast<string[]> // string[]
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export type DropLast<T extends unknown[], Cases extends {
|
|
41
|
+
'array'?: unknown;
|
|
42
|
+
'empty_tuple'?: unknown;
|
|
43
|
+
} = {
|
|
44
|
+
'array': T;
|
|
45
|
+
'empty_tuple': [];
|
|
46
|
+
}> = number extends T['length'] ? Cases['array'] : T['length'] extends 0 ? Cases['empty_tuple'] : T['length'] extends 1 ? [] : T extends [...infer Heads, any] ? Heads : never;
|
|
47
|
+
type ExcludeUnionOfEmptyTuple<A> = IsEqual<A, []> extends true ? A : Exclude<A, []>;
|
|
48
|
+
/**
|
|
49
|
+
* drops entries matching `Criteria` in array or tuple `A`.
|
|
50
|
+
*
|
|
51
|
+
* ⚗️ *transform*
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* type R = DropMatch<Array<string | undefined>, undefined> // string[]
|
|
56
|
+
* type R = DropMatch<Array<string>, string> // never[]
|
|
57
|
+
* type R = DropMatch<Array<1 | 2>, number> // never[]
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = number extends A['length'] ? A[0] extends Criteria ? never[] : undefined extends Criteria ? null extends Criteria ? Array<NonNullable<A[0]>> : Array<NonUndefined<A[0]>> : null extends Criteria ? Array<NonNull<A[0]>> : Criteria extends A[0] ? Array<Exclude<A[0], Criteria>> : A[0] extends Criteria ? A : Array<Exclude<A[0], Criteria>> : DropMatchTuple<A, Criteria>;
|
|
61
|
+
type DropMatchTuple<A extends Readonly<Array<any>>, Criteria> = A['length'] extends 0 ? A : A extends readonly [infer Head, ...infer Tail] ? Tail['length'] extends 0 ? undefined extends Criteria ? ExcludeUnionOfEmptyTuple<Head extends Criteria ? [] : [Head]> : ExcludeUnionOfEmptyTuple<Head extends Criteria ? [] : [Head]> : Exclude<Head, Criteria> extends never ? DropMatch<Tail, Criteria> : [Exclude<Head, Criteria>, ...DropMatch<Tail, Criteria>] : never[];
|
|
62
|
+
export type DropNull<A extends Array<any>> = DropMatch<A, null>;
|
|
63
|
+
export type DropNullable<A extends Array<any>> = DropMatch<A, null | undefined>;
|
|
64
|
+
export type DropUndefined<A extends Array<any>> = DropMatch<A, undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* drop a particular value from an array.
|
|
67
|
+
*
|
|
68
|
+
* 💀 *deprecated* the type does not sufficiently cover the use cases.
|
|
69
|
+
*/
|
|
70
|
+
export declare function drop<A extends Readonly<unknown[]>, const C>(array: A, value: C): DropMatch<A, C>;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=drop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":"AAoHA;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAA0C,KAAQ,EAAE,KAAQ;IAC/E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAoB,CAAA;AACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../ts/
|
|
1
|
+
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../ts/tuple/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtD,KAAK,GACL,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9B,IAAI,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,GAC9B,IAAI,GACJ,KAAK,GACN,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../ts/
|
|
1
|
+
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../ts/tuple/tail.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple_plus.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"tuple_plus.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter entries matching `Criteria` in tuple `T`.
|
|
3
|
+
*
|
|
4
|
+
* ⚗️ *transform*
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* type R = Filter<[1, 2, '3'], number> // [1, 2]
|
|
9
|
+
* type R = Filter<[1, 2, '3'], true> // []
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export type Filter<T extends unknown[], Criteria> = T['length'] extends 0 ? [] : (T extends [infer Head, ...infer Tail] ? (Tail['length'] extends 0 ? (Head extends Criteria ? [Head] : []) : (Head extends Criteria ? [Head, ...Filter<Tail, Criteria>] : Filter<Tail, Criteria>)) : never);
|
|
13
|
+
//# sourceMappingURL=tuple_plus.filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.filter.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtE,EAAE,GACF,CACD,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACnC,CACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtB,CACD,IAAI,SAAS,QAAQ,GACnB,CAAC,IAAI,CAAC,GACN,EAAE,CAAC,GACJ,CACD,IAAI,SAAS,QAAQ,GACnB,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GACjC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CACxB,CACD,GACC,KAAK,CACP,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.filter.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.filter.ts"],"names":[],"mappings":""}
|
package/esm/tuple/tuple_plus.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=tuple_plus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple_plus.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tuple_plus.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Pad `T` with `PadWith` at the start of the tuple.
|
|
3
3
|
*
|
|
4
4
|
* If the `MaxLength` is less than the length of the tuple,
|
|
5
5
|
* the `Tuple` will be returned unchanged.
|
|
6
6
|
*
|
|
7
|
+
* ⚗️ *transform*
|
|
8
|
+
*
|
|
7
9
|
* @example
|
|
8
10
|
* ```ts
|
|
9
11
|
* PadStart<[1, 2, 3], 5, 0> // [0, 0, 1, 2, 3]
|
|
10
12
|
*
|
|
11
13
|
* // Ignore if MaxLength is less than the length of the tuple
|
|
12
|
-
* PadStart<[1, 2, 3],
|
|
14
|
+
* PadStart<[1, 2, 3], 2> // [1, 2, 3]
|
|
13
15
|
*
|
|
14
16
|
* // Default to unknown
|
|
15
17
|
* PadStart<[1, 2, 3], 5> // [unknown, unknown, 1, 2, 3]
|
|
@@ -17,6 +19,9 @@
|
|
|
17
19
|
*/
|
|
18
20
|
export type PadStart<Tuple extends unknown[], MaxLength extends number, PadWith = unknown> = PadStartDevice<Tuple, MaxLength, PadWith, [
|
|
19
21
|
]>;
|
|
20
|
-
type PadStartDevice<Source extends unknown[], MaxLength extends number, PadWith, Result extends unknown[]> = Result['length'] extends MaxLength ? Source extends [] ? Result : Source extends [...infer Head, infer Tail] ? [
|
|
22
|
+
type PadStartDevice<Source extends unknown[], MaxLength extends number, PadWith, Result extends unknown[]> = Result['length'] extends MaxLength ? (Source extends [] ? Result : (Source extends [...infer Head, infer Tail] ? ([
|
|
23
|
+
Tail,
|
|
24
|
+
...Result
|
|
25
|
+
] extends infer R extends unknown[] ? PadStartDevice<Head, R['length'], PadWith, R> : never) : never)) : (Source extends [] ? PadStartDevice<Source, MaxLength, PadWith, [PadWith, ...Result]> : (Source extends [...infer Head, infer Tail] ? PadStartDevice<Head, MaxLength, PadWith, [Tail, ...Result]> : Source));
|
|
21
26
|
export {};
|
|
22
27
|
//# sourceMappingURL=tuple_plus.pad_start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple_plus.pad_start.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.pad_start.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tuple_plus.pad_start.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.pad_start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,SAAS,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,cAAc,CAC1G,KAAK,EACL,SAAS,EACT,OAAO,EACP;CAAE,CACF,CAAA;AAED,KAAK,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,SAAS,SAAS,MAAM,EACxB,OAAO,EACP,MAAM,SAAS,OAAO,EAAE,IAExB,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,GAChC,CACD,MAAM,SAAS,EAAE,GACf,MAAM,GACN,CACD,MAAM,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GACxC,CACD;IAAC,IAAI;IAAE,GAAG,MAAM;CAAC,SAAS,MAAM,CAAC,SAAS,OAAO,EAAE,GACjD,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAC7C,KAAK,CACP,GACC,KAAK,CACP,CACD,GACC,CACD,MAAM,SAAS,EAAE,GACf,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,GAChE,CACD,MAAM,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GACxC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GAC3D,MAAM,CACR,CACD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "type-plus",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0",
|
|
4
4
|
"description": "Provides additional types for TypeScript.",
|
|
5
|
-
"homepage": "https://github.com/unional/type-plus/tree/main/type-plus",
|
|
5
|
+
"homepage": "https://github.com/unional/type-plus/tree/main/type-plus#readme",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/unional/type-plus/issues"
|
|
8
8
|
},
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "https://github.com/unional/type-plus.git"
|
|
11
|
+
"url": "https://github.com/unional/type-plus.git",
|
|
12
|
+
"directory": "type-plus"
|
|
12
13
|
},
|
|
13
14
|
"license": "MIT",
|
|
14
15
|
"author": {
|
|
@@ -18,14 +19,18 @@
|
|
|
18
19
|
"sideEffects": false,
|
|
19
20
|
"type": "module",
|
|
20
21
|
"exports": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
22
|
+
".": {
|
|
23
|
+
"import": {
|
|
24
|
+
"types": "./esm/index.d.ts",
|
|
25
|
+
"default": "./esm/index.js"
|
|
26
|
+
},
|
|
27
|
+
"require": {
|
|
28
|
+
"types": "./cjs/index.d.ts",
|
|
29
|
+
"default": "./cjs/index.js"
|
|
30
|
+
},
|
|
23
31
|
"default": "./esm/index.js"
|
|
24
32
|
},
|
|
25
|
-
"
|
|
26
|
-
"types": "./cjs/index.d.ts",
|
|
27
|
-
"default": "./cjs/index.js"
|
|
28
|
-
}
|
|
33
|
+
"./package.json": "./package.json"
|
|
29
34
|
},
|
|
30
35
|
"main": "./cjs/index.js",
|
|
31
36
|
"module": "./esm/index.js",
|
|
@@ -63,8 +68,7 @@
|
|
|
63
68
|
"satisfier": "^5.2.2",
|
|
64
69
|
"size-limit": "^8.2.4",
|
|
65
70
|
"ts-jest": "^29.1.0",
|
|
66
|
-
"tslib": "^2.4.0"
|
|
67
|
-
"typescript": "^5.0.4"
|
|
71
|
+
"tslib": "^2.4.0"
|
|
68
72
|
},
|
|
69
73
|
"scripts": {
|
|
70
74
|
"build": "run-p build:cjs build:esm build:tslib",
|
package/ts/any/any_type.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* 🌪️ *filter*
|
|
4
3
|
*
|
|
5
|
-
*
|
|
4
|
+
* Filter `T` to ensure it is exactly `any`.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* ```ts
|
|
@@ -16,10 +15,10 @@
|
|
|
16
15
|
export type AnyType<T, Then = T, Else = never> = 0 extends 1 & T ? Then : Else
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
|
-
* Validate if `T` is exactly `any`.
|
|
20
|
-
*
|
|
21
18
|
* 🎭 *validate*
|
|
22
19
|
*
|
|
20
|
+
* Validate if `T` is exactly `any`.
|
|
21
|
+
*
|
|
23
22
|
* @example
|
|
24
23
|
* ```ts
|
|
25
24
|
* type R = IsAny<any> // true
|
|
@@ -32,9 +31,9 @@ export type AnyType<T, Then = T, Else = never> = 0 extends 1 & T ? Then : Else
|
|
|
32
31
|
export type IsAny<T, Then = true, Else = false> = AnyType<T, Then, Else>
|
|
33
32
|
|
|
34
33
|
/**
|
|
35
|
-
*
|
|
34
|
+
* 🌪️ *filter*
|
|
36
35
|
*
|
|
37
|
-
*
|
|
36
|
+
* Filter `T` to ensure it is not exactly `any`.
|
|
38
37
|
*
|
|
39
38
|
* @example
|
|
40
39
|
* ```ts
|
|
@@ -48,10 +47,10 @@ export type IsAny<T, Then = true, Else = false> = AnyType<T, Then, Else>
|
|
|
48
47
|
export type NotAnyType<T, Then = T, Else = never> = AnyType<T, Else, Then>
|
|
49
48
|
|
|
50
49
|
/**
|
|
51
|
-
* Validate if `T` is not exactly `any`.
|
|
52
|
-
*
|
|
53
50
|
* 🎭 *validate*
|
|
54
51
|
*
|
|
52
|
+
* Validate if `T` is not exactly `any`.
|
|
53
|
+
*
|
|
55
54
|
* @example
|
|
56
55
|
* ```ts
|
|
57
56
|
* import type { IsNotAny } from 'type-plus'
|