type-plus 7.4.0 → 7.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 +81 -92
- package/cjs/array/array.entries.d.ts +4 -3
- package/cjs/array/array.entries.d.ts.map +1 -1
- package/cjs/array/array_index.d.ts +4 -1
- package/cjs/array/array_index.d.ts.map +1 -1
- package/cjs/array/array_plus.common_prop_keys.d.ts +27 -0
- package/cjs/array/array_plus.common_prop_keys.d.ts.map +1 -0
- package/cjs/array/array_plus.common_prop_keys.js +3 -0
- package/cjs/array/array_plus.common_prop_keys.js.map +1 -0
- package/cjs/array/array_plus.d.ts +6 -3
- package/cjs/array/array_plus.d.ts.map +1 -1
- package/cjs/array/array_plus.drop_match.d.ts +4 -0
- package/cjs/array/array_plus.drop_match.d.ts.map +1 -0
- package/cjs/array/array_plus.drop_match.js +3 -0
- package/cjs/array/array_plus.drop_match.js.map +1 -0
- package/cjs/array/array_plus.element_match.d.ts +44 -0
- package/cjs/array/array_plus.element_match.d.ts.map +1 -0
- package/cjs/array/array_plus.element_match.js +3 -0
- package/cjs/array/array_plus.element_match.js.map +1 -0
- package/cjs/array/array_plus.find.d.ts +57 -0
- package/cjs/array/array_plus.find.d.ts.map +1 -0
- package/cjs/array/array_plus.find.js +3 -0
- package/cjs/array/array_plus.find.js.map +1 -0
- package/cjs/array/array_plus.split_at.d.ts +20 -15
- package/cjs/array/array_plus.split_at.d.ts.map +1 -1
- package/cjs/array/find_first.d.ts +62 -0
- package/cjs/array/find_first.d.ts.map +1 -0
- package/cjs/array/{array.find.js → find_first.js} +1 -1
- package/cjs/array/find_first.js.map +1 -0
- package/cjs/array/head.d.ts +18 -6
- package/cjs/array/head.d.ts.map +1 -1
- package/cjs/array/last.d.ts +17 -6
- package/cjs/array/last.d.ts.map +1 -1
- package/cjs/assertion/assert_type.d.ts +4 -1
- package/cjs/assertion/assert_type.d.ts.map +1 -1
- package/cjs/assertion/assert_type.js.map +1 -1
- package/cjs/index.d.ts +5 -2
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/never/never_type.d.ts +11 -0
- package/cjs/never/never_type.d.ts.map +1 -1
- package/cjs/object/index.d.ts +0 -1
- package/cjs/object/index.d.ts.map +1 -1
- package/cjs/object/index.js.map +1 -1
- package/cjs/testing/test_type.d.ts +277 -276
- package/cjs/testing/test_type.d.ts.map +1 -1
- package/cjs/testing/test_type.js.map +1 -1
- package/cjs/tuple/common_prop_keys.d.ts +15 -10
- package/cjs/tuple/common_prop_keys.d.ts.map +1 -1
- package/cjs/tuple/drop.d.ts +45 -26
- package/cjs/tuple/drop.d.ts.map +1 -1
- package/cjs/tuple/drop.js.map +1 -1
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +28 -0
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -0
- package/cjs/tuple/tuple_plus.common_prop_keys.js +3 -0
- package/cjs/tuple/tuple_plus.common_prop_keys.js.map +1 -0
- package/cjs/tuple/tuple_plus.d.ts +3 -0
- package/cjs/tuple/tuple_plus.d.ts.map +1 -1
- package/cjs/tuple/tuple_plus.drop_match.d.ts +6 -0
- package/cjs/tuple/tuple_plus.drop_match.d.ts.map +1 -0
- package/cjs/tuple/tuple_plus.drop_match.js +3 -0
- package/cjs/tuple/tuple_plus.drop_match.js.map +1 -0
- package/cjs/tuple/tuple_plus.filter.d.ts +2 -2
- package/cjs/tuple/tuple_plus.find.d.ts +64 -0
- package/cjs/tuple/tuple_plus.find.d.ts.map +1 -0
- package/cjs/tuple/tuple_plus.find.js +3 -0
- package/cjs/tuple/tuple_plus.find.js.map +1 -0
- package/cjs/tuple/tuple_plus.pad_start.d.ts +7 -6
- package/cjs/tuple/tuple_plus.pad_start.d.ts.map +1 -1
- package/cjs/tuple/tuple_type.d.ts +41 -23
- package/cjs/tuple/tuple_type.d.ts.map +1 -1
- package/cjs/union/union.d.ts +33 -0
- package/cjs/union/union.d.ts.map +1 -0
- package/cjs/union/union.js +3 -0
- package/cjs/union/union.js.map +1 -0
- package/cjs/unknown/unknown_type.d.ts +12 -0
- package/cjs/unknown/unknown_type.d.ts.map +1 -1
- package/cjs/utils/options.d.ts +10 -0
- package/cjs/utils/options.d.ts.map +1 -0
- package/cjs/utils/options.js +3 -0
- package/cjs/utils/options.js.map +1 -0
- package/esm/array/array.entries.d.ts +4 -3
- package/esm/array/array.entries.d.ts.map +1 -1
- package/esm/array/array_index.d.ts +4 -1
- package/esm/array/array_index.d.ts.map +1 -1
- package/esm/array/array_plus.common_prop_keys.d.ts +27 -0
- package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -0
- package/esm/array/array_plus.common_prop_keys.js +2 -0
- package/esm/array/array_plus.common_prop_keys.js.map +1 -0
- package/esm/array/array_plus.d.ts +6 -3
- package/esm/array/array_plus.d.ts.map +1 -1
- package/esm/array/array_plus.drop_match.d.ts +4 -0
- package/esm/array/array_plus.drop_match.d.ts.map +1 -0
- package/esm/array/array_plus.drop_match.js +2 -0
- package/esm/array/array_plus.drop_match.js.map +1 -0
- package/esm/array/array_plus.element_match.d.ts +44 -0
- package/esm/array/array_plus.element_match.d.ts.map +1 -0
- package/esm/array/array_plus.element_match.js +2 -0
- package/esm/array/array_plus.element_match.js.map +1 -0
- package/esm/array/array_plus.find.d.ts +57 -0
- package/esm/array/array_plus.find.d.ts.map +1 -0
- package/esm/array/array_plus.find.js +2 -0
- package/esm/array/array_plus.find.js.map +1 -0
- package/esm/array/array_plus.split_at.d.ts +20 -15
- package/esm/array/array_plus.split_at.d.ts.map +1 -1
- package/esm/array/find_first.d.ts +62 -0
- package/esm/array/find_first.d.ts.map +1 -0
- package/esm/array/find_first.js +2 -0
- package/esm/array/find_first.js.map +1 -0
- package/esm/array/head.d.ts +18 -6
- package/esm/array/head.d.ts.map +1 -1
- package/esm/array/last.d.ts +17 -6
- package/esm/array/last.d.ts.map +1 -1
- package/esm/assertion/assert_type.d.ts +4 -1
- package/esm/assertion/assert_type.d.ts.map +1 -1
- package/esm/assertion/assert_type.js.map +1 -1
- package/esm/index.d.ts +5 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/never/never_type.d.ts +11 -0
- package/esm/never/never_type.d.ts.map +1 -1
- package/esm/object/index.d.ts +0 -1
- package/esm/object/index.d.ts.map +1 -1
- package/esm/object/index.js.map +1 -1
- package/esm/testing/test_type.d.ts +277 -276
- package/esm/testing/test_type.d.ts.map +1 -1
- package/esm/testing/test_type.js.map +1 -1
- package/esm/tuple/common_prop_keys.d.ts +15 -10
- package/esm/tuple/common_prop_keys.d.ts.map +1 -1
- package/esm/tuple/drop.d.ts +45 -26
- package/esm/tuple/drop.d.ts.map +1 -1
- package/esm/tuple/drop.js.map +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts +28 -0
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -0
- package/esm/tuple/tuple_plus.common_prop_keys.js +2 -0
- package/esm/tuple/tuple_plus.common_prop_keys.js.map +1 -0
- package/esm/tuple/tuple_plus.d.ts +3 -0
- package/esm/tuple/tuple_plus.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.drop_match.d.ts +6 -0
- package/esm/tuple/tuple_plus.drop_match.d.ts.map +1 -0
- package/esm/tuple/tuple_plus.drop_match.js +2 -0
- package/esm/tuple/tuple_plus.drop_match.js.map +1 -0
- package/esm/tuple/tuple_plus.filter.d.ts +2 -2
- package/esm/tuple/tuple_plus.find.d.ts +64 -0
- package/esm/tuple/tuple_plus.find.d.ts.map +1 -0
- package/esm/tuple/tuple_plus.find.js +2 -0
- package/esm/tuple/tuple_plus.find.js.map +1 -0
- package/esm/tuple/tuple_plus.pad_start.d.ts +7 -6
- package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
- package/esm/tuple/tuple_type.d.ts +41 -23
- package/esm/tuple/tuple_type.d.ts.map +1 -1
- package/esm/union/union.d.ts +33 -0
- package/esm/union/union.d.ts.map +1 -0
- package/esm/union/union.js +2 -0
- package/esm/union/union.js.map +1 -0
- package/esm/unknown/unknown_type.d.ts +12 -0
- package/esm/unknown/unknown_type.d.ts.map +1 -1
- package/esm/utils/options.d.ts +10 -0
- package/esm/utils/options.d.ts.map +1 -0
- package/esm/utils/options.js +2 -0
- package/esm/utils/options.js.map +1 -0
- package/package.json +12 -1
- package/ts/array/array.entries.ts +4 -2
- package/ts/array/array_index.ts +33 -23
- package/ts/array/array_plus.common_prop_keys.ts +35 -0
- package/ts/array/array_plus.drop_match.ts +16 -0
- package/ts/array/array_plus.element_match.ts +61 -0
- package/ts/array/array_plus.find.ts +71 -0
- package/ts/array/array_plus.split_at.ts +52 -23
- package/ts/array/array_plus.ts +6 -3
- package/ts/array/find_first.ts +71 -0
- package/ts/array/head.ts +28 -6
- package/ts/array/last.ts +26 -6
- package/ts/array/readme.md +152 -32
- package/ts/assertion/assert_type.ts +4 -1
- package/ts/assertion/readme.md +3 -2
- package/ts/index.ts +5 -5
- package/ts/never/never_type.ts +13 -0
- package/ts/object/index.ts +0 -1
- package/ts/testing/test_type.ts +279 -277
- package/ts/tuple/common_prop_keys.ts +18 -32
- package/ts/tuple/drop.ts +61 -60
- package/ts/tuple/readme.md +178 -39
- package/ts/tuple/tuple_plus.common_prop_keys.ts +47 -0
- package/ts/tuple/tuple_plus.drop_match.ts +20 -0
- package/ts/tuple/tuple_plus.filter.ts +2 -2
- package/ts/tuple/tuple_plus.find.ts +88 -0
- package/ts/tuple/tuple_plus.pad_start.ts +28 -25
- package/ts/tuple/tuple_plus.ts +3 -0
- package/ts/tuple/tuple_type.ts +67 -25
- package/ts/union/readme.md +81 -0
- package/ts/union/union.ts +37 -0
- package/ts/unknown/unknown_type.ts +13 -0
- package/ts/utils/options.ts +10 -0
- package/cjs/array/array.find.d.ts +0 -23
- package/cjs/array/array.find.d.ts.map +0 -1
- package/cjs/array/array.find.js.map +0 -1
- package/esm/array/array.find.d.ts +0 -23
- package/esm/array/array.find.d.ts.map +0 -1
- package/esm/array/array.find.js +0 -2
- package/esm/array/array.find.js.map +0 -1
- package/ts/array/array.find.ts +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common_prop_keys.d.ts","sourceRoot":"","sources":["../../ts/tuple/common_prop_keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"common_prop_keys.d.ts","sourceRoot":"","sources":["../../ts/tuple/common_prop_keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAE7F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EACrC,OAAO,SAAS,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,IACnE,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAGzF,yBAAiB,cAAc,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,mBAAmB,CAAC,OAAO;KAC3D;IAED,UAAiB,cAAe,SAAQ,mBAAmB,CAAC,cAAc;KACzE;CACD;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,CAAA"}
|
package/cjs/tuple/drop.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { DropMatch as ArrayDropMatch } from '../array/array_plus.drop_match.js';
|
|
2
|
+
import type { DropMatch as TupleDropMatch } from './tuple_plus.drop_match.js';
|
|
3
3
|
/**
|
|
4
|
+
* ⚗️ *transform*
|
|
5
|
+
* 🔢 *customizable*
|
|
6
|
+
*
|
|
4
7
|
* Drops the first entry in the tuple `T`.
|
|
5
8
|
*
|
|
6
9
|
* If the type is an array, the same array will be returned.
|
|
7
10
|
*
|
|
8
|
-
* ⚗️ *transform*
|
|
9
|
-
*
|
|
10
11
|
* @example
|
|
11
12
|
* ```ts
|
|
12
13
|
* type R = DropFirst<[1, 2, 3]> // [2, 3]
|
|
@@ -14,21 +15,32 @@ import type { NonNull, NonUndefined } from '../utils/index.js';
|
|
|
14
15
|
* type R = DropFirst<[]> // []
|
|
15
16
|
* type R = DropFirst<string[]> // string[]
|
|
16
17
|
* ```
|
|
18
|
+
*
|
|
19
|
+
* @typeParam Options['caseArray'] Return type when `T` is `Array`.
|
|
20
|
+
* Default to `T`.
|
|
21
|
+
*
|
|
22
|
+
* @typeParam Options['caseEmptyTuple'] Return type when `T` is an empty tuple.
|
|
23
|
+
* Default to `[]`.
|
|
17
24
|
*/
|
|
18
|
-
export type DropFirst<T extends unknown[],
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
export type DropFirst<T extends unknown[], Options extends DropFirst.Options = DropFirst.DefaultOptions<T>> = number extends T['length'] ? Options['caseArray'] : T['length'] extends 0 ? Options['caseEmptyTuple'] : T['length'] extends 1 ? [] : T extends [any, ...infer Tail] ? Tail : never;
|
|
26
|
+
export declare namespace DropFirst {
|
|
27
|
+
interface Options {
|
|
28
|
+
caseArray?: unknown;
|
|
29
|
+
caseEmptyTuple?: unknown;
|
|
30
|
+
}
|
|
31
|
+
interface DefaultOptions<T> {
|
|
32
|
+
caseArray: T;
|
|
33
|
+
caseEmptyTuple: [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
25
36
|
/**
|
|
37
|
+
* ⚗️ *transform*
|
|
38
|
+
* 🔢 *customizable*
|
|
39
|
+
*
|
|
26
40
|
* Drops the last entry in the tuple `T`.
|
|
27
41
|
*
|
|
28
42
|
* If the type is an array, the same array will be returned.
|
|
29
43
|
*
|
|
30
|
-
* ⚗️ *transform*
|
|
31
|
-
*
|
|
32
44
|
* @example
|
|
33
45
|
* ```ts
|
|
34
46
|
* type R = DropLast<[1, 2, 3]> // [2, 3]
|
|
@@ -36,20 +48,29 @@ export type DropFirst<T extends unknown[], Cases extends {
|
|
|
36
48
|
* type R = DropLast<[]> // []
|
|
37
49
|
* type R = DropLast<string[]> // string[]
|
|
38
50
|
* ```
|
|
51
|
+
*
|
|
52
|
+
* @typeParam Options['caseArray'] Return type when `T` is `Array`.
|
|
53
|
+
* Default to `T`.
|
|
54
|
+
*
|
|
55
|
+
* @typeParam Options['caseEmptyTuple'] Return type when `T` is an empty tuple.
|
|
56
|
+
* Default to `[]`.
|
|
39
57
|
*/
|
|
40
|
-
export type DropLast<T extends unknown[], Cases extends
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
export type DropLast<T extends unknown[], Cases extends DropLast.Options = DropLast.DefaultOptions<T>> = number extends T['length'] ? Cases['caseArray'] : T['length'] extends 0 ? Cases['caseEmptyTuple'] : T['length'] extends 1 ? [] : T extends [...infer Heads, any] ? Heads : never;
|
|
59
|
+
export declare namespace DropLast {
|
|
60
|
+
interface Options {
|
|
61
|
+
caseArray?: unknown;
|
|
62
|
+
caseEmptyTuple?: unknown;
|
|
63
|
+
}
|
|
64
|
+
interface DefaultOptions<T> {
|
|
65
|
+
caseArray: T;
|
|
66
|
+
caseEmptyTuple: [];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
48
69
|
/**
|
|
49
|
-
* drops entries matching `Criteria` in array or tuple `A`.
|
|
50
|
-
*
|
|
51
70
|
* ⚗️ *transform*
|
|
52
71
|
*
|
|
72
|
+
* Drops entries matching `Criteria` in array or tuple `A`.
|
|
73
|
+
*
|
|
53
74
|
* @example
|
|
54
75
|
* ```ts
|
|
55
76
|
* type R = DropMatch<Array<string | undefined>, undefined> // string[]
|
|
@@ -57,8 +78,7 @@ type ExcludeUnionOfEmptyTuple<A> = IsEqual<A, []> extends true ? A : Exclude<A,
|
|
|
57
78
|
* type R = DropMatch<Array<1 | 2>, number> // never[]
|
|
58
79
|
* ```
|
|
59
80
|
*/
|
|
60
|
-
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = number extends A['length'] ?
|
|
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[];
|
|
81
|
+
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = number extends A['length'] ? ArrayDropMatch<A, Criteria> : TupleDropMatch<A, Criteria>;
|
|
62
82
|
export type DropNull<A extends Array<any>> = DropMatch<A, null>;
|
|
63
83
|
export type DropNullable<A extends Array<any>> = DropMatch<A, null | undefined>;
|
|
64
84
|
export type DropUndefined<A extends Array<any>> = DropMatch<A, undefined>;
|
|
@@ -68,5 +88,4 @@ export type DropUndefined<A extends Array<any>> = DropMatch<A, undefined>;
|
|
|
68
88
|
* 💀 *deprecated* the type does not sufficiently cover the use cases.
|
|
69
89
|
*/
|
|
70
90
|
export declare function drop<A extends Readonly<unknown[]>, const C>(array: A, value: C): DropMatch<A, C>;
|
|
71
|
-
export {};
|
|
72
91
|
//# sourceMappingURL=drop.d.ts.map
|
package/cjs/tuple/drop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACpF,OAAO,KAAK,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,SAAS,CACpB,CAAC,SAAS,OAAO,EAAE,EACnB,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAC5D,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,GACpB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,OAAO,CAAC,gBAAgB,CAAC,GACzB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,EAAE,GACF,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9B,IAAI,GACJ,KAAK,CAAA;AAER,yBAAiB,SAAS,CAAC;IAC1B,UAAiB,OAAO;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB;IACD,UAAiB,cAAc,CAAC,CAAC;QAChC,SAAS,EAAE,CAAC,CAAC;QACb,cAAc,EAAE,EAAE,CAAA;KAClB;CACD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,QAAQ,CACnB,CAAC,SAAS,OAAO,EAAE,EACnB,KAAK,SAAS,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IACxD,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC3B,KAAK,CAAC,WAAW,CAAC,GAClB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,CAAC,gBAAgB,CAAC,GACvB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,EAAE,GACF,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,GAAG,CAAC,GAC/B,KAAK,GACL,KAAK,CAAA;AAGR,yBAAiB,QAAQ,CAAC;IACzB,UAAiB,OAAO;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB;IACD,UAAiB,cAAc,CAAC,CAAC;QAChC,SAAS,EAAE,CAAC,CAAC;QACb,cAAc,EAAE,EAAE,CAAA;KAClB;CACD;AAGD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC7F,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,GAC3B,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE9B,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC/D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAA;AAC/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAEhG"}
|
package/cjs/tuple/drop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../ts/tuple/drop.ts"],"names":[],"mappings":";;;AAqHA;;;;GAIG;AACH,SAAgB,IAAI,CAAyC,KAAQ,EAAE,KAAQ;IAC9E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAoB,CAAA;AACzD,CAAC;AAFD,oBAEC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
2
|
+
import type { KeyTypes } from '../object/KeyTypes.js';
|
|
3
|
+
import type { Tail } from './tail.js';
|
|
4
|
+
/**
|
|
5
|
+
* ⚗️ *transform*
|
|
6
|
+
* 🔢 *customization*
|
|
7
|
+
*
|
|
8
|
+
* Gets the common property keys of the elements in tuple `T`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { type TuplePlus } from 'type-plus'
|
|
13
|
+
*
|
|
14
|
+
* type R = TuplePlus.CommonPropKeys<[{ a: number }, { b: number }]> // never
|
|
15
|
+
* type R = TuplePlus.CommonPropKeys<[{ a: number, c: 1 }, { b: number, c: 2 }]> // 'c'
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @typeParam Options['caseNever'] Return type when `T` is `never`.
|
|
19
|
+
* Default to `never`.
|
|
20
|
+
*/
|
|
21
|
+
export type CommonPropKeys<T extends Record<KeyTypes, unknown>[], Options extends CommonPropKeys.Options = CommonPropKeys.DefaultOptions> = NeverType<T, Options['caseNever'], (T['length'] extends 0 ? never : (T['length'] extends 1 ? keyof T[0] : (T['length'] extends 2 ? keyof T[0] & keyof T[1] : keyof T[0] & keyof T[1] & CommonPropKeys<Tail<Tail<T>>>)))>;
|
|
22
|
+
export declare namespace CommonPropKeys {
|
|
23
|
+
interface Options extends NeverType.Options {
|
|
24
|
+
}
|
|
25
|
+
interface DefaultOptions extends NeverType.DefaultOptions {
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=tuple_plus.common_prop_keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.common_prop_keys.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.common_prop_keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EACrC,OAAO,SAAS,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,IACnE,SAAS,CACZ,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,EACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,KAAK,GACL,CACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,MAAM,CAAC,CAAC,CAAC,CAAC,GACV,CACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GACvB,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CACD,CAAC,CACH,CAAA;AAED,yBAAiB,cAAc,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,SAAS,CAAC,OAAO;KACjD;IAED,UAAiB,cAAe,SAAQ,SAAS,CAAC,cAAc;KAC/D;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.common_prop_keys.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.common_prop_keys.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export type { CommonPropKeys } from './tuple_plus.common_prop_keys.js';
|
|
2
|
+
export type { DropMatch } from './tuple_plus.drop_match.js';
|
|
1
3
|
export type { Filter } from './tuple_plus.filter.js';
|
|
4
|
+
export type { Find } from './tuple_plus.find.js';
|
|
2
5
|
export type { PadStart } from './tuple_plus.pad_start.js';
|
|
3
6
|
//# sourceMappingURL=tuple_plus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"tuple_plus.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IsEqual } from '../equal/equal.js';
|
|
2
|
+
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = A['length'] extends 0 ? A : A extends readonly [infer Head, ...infer Tail] ? Tail['length'] extends 0 ? undefined extends Criteria ? DropMatch.ExcludeUnionOfEmptyTuple<Head extends Criteria ? [] : [Head]> : DropMatch.ExcludeUnionOfEmptyTuple<Head extends Criteria ? [] : [Head]> : Exclude<Head, Criteria> extends never ? DropMatch<Tail, Criteria> : [Exclude<Head, Criteria>, ...DropMatch<Tail, Criteria>] : never[];
|
|
3
|
+
export declare namespace DropMatch {
|
|
4
|
+
type ExcludeUnionOfEmptyTuple<A> = IsEqual<A, []> extends true ? A : Exclude<A, []>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=tuple_plus.drop_match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.drop_match.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.drop_match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAE1F,CAAC,GACC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAE1B,SAAS,SAAS,QAAQ,GACxB,SAAS,CAAC,wBAAwB,CAAC,IAAI,SAAS,QAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GACvE,SAAS,CAAC,wBAAwB,CAAC,IAAI,SAAS,QAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAEzE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,KAAK,GACnC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,GACzB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GACvD,KAAK,EAAE,CAAA;AAEV,yBAAiB,SAAS,CAAC;IAC1B,KAAY,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;CAC1F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.drop_match.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.drop_match.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { ElementMatch } from '../array/array_plus.element_match.js';
|
|
2
|
+
import type { NeverType } from '../never/never_type.js';
|
|
3
|
+
import type { MergeOptions } from '../utils/options.js';
|
|
4
|
+
import type { TupleType } from './tuple_type.js';
|
|
5
|
+
/**
|
|
6
|
+
* 🦴 *utilities*
|
|
7
|
+
* 🔢 *customizable*
|
|
8
|
+
*
|
|
9
|
+
* Find the first type in tuple `A` that matches `Criteria`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* type R = TuplePlus.Find<[true, 1, 'x', 3], string> // 'x'
|
|
14
|
+
* type R = TuplePlus.Find<[true, 1, 'x', 3], number> // 1
|
|
15
|
+
* type R = TuplePlus.Find<[string, number, 1], 1> // widen: 1 | undefined
|
|
16
|
+
* type R = TuplePlus.Find<[true, number | string], string> // unionMiss: string | undefined
|
|
17
|
+
*
|
|
18
|
+
* type R = TuplePlus.Find<[true, 1, 'x'], 2> // never
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @typeParam Options['widen'] performs widen match.
|
|
22
|
+
* Default to `true`.
|
|
23
|
+
* With widen match, a narrowed type will match its widen type.
|
|
24
|
+
* e.g. matching `1` against `number` yields `1 | undefined`
|
|
25
|
+
*
|
|
26
|
+
* The widen behavior can be customized by `Options['caseWiden']`
|
|
27
|
+
*
|
|
28
|
+
* @typeParam Options['caseArray'] return type when `A` is an array. Default to `not supported` message.
|
|
29
|
+
*
|
|
30
|
+
* @typeParam Options['caseEmptyTuple'] return type when `A` is an empty tuple.
|
|
31
|
+
* Default to `never`.
|
|
32
|
+
*
|
|
33
|
+
* @typeParam Options['caseNever'] return type when `A` is `never`. Default to `never`.
|
|
34
|
+
*
|
|
35
|
+
* @typeParam Options['caseNotMatch'] Return value when `T` does not match `Criteria`.
|
|
36
|
+
* Default to `never`.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam Options['caseWiden'] return type when `T` in `A` is a widen type of `Criteria`.
|
|
39
|
+
* Default to `Criteria | undefined`.
|
|
40
|
+
* Set it to `never` for a more type-centric behavior
|
|
41
|
+
*
|
|
42
|
+
* @typeParam Options['caseUnionNotMatch'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
43
|
+
* Default to `never`.
|
|
44
|
+
*
|
|
45
|
+
* If you want the type to behave more like JavaScript,
|
|
46
|
+
* you can override it to return `undefined`.
|
|
47
|
+
*
|
|
48
|
+
* Since it is a union, the result will be joined to the matched branch as union.
|
|
49
|
+
*/
|
|
50
|
+
export type Find<A extends unknown[], Criteria, Options extends Find.Options = Find.DefaultOptions<Criteria>> = MergeOptions<Options, Find.DefaultOptions<Criteria>> extends infer O extends Find.Options ? TupleType<A, A['length'] extends 0 ? O['caseEmptyTuple'] : Find.Device<A, Criteria, O>, O['caseArray'], O> : never;
|
|
51
|
+
export declare namespace Find {
|
|
52
|
+
type Device<A extends unknown[], Criteria, Options extends Find.Options> = A['length'] extends 0 ? Options['caseNotMatch'] : (A extends [infer Head, ...infer Tail] ? ElementMatch<Head, Criteria, MergeOptions<{
|
|
53
|
+
caseNotMatch: Device<Tail, Criteria, Options>;
|
|
54
|
+
}, Options>> : never);
|
|
55
|
+
interface Options extends ElementMatch.Options, NeverType.Options {
|
|
56
|
+
caseArray?: unknown;
|
|
57
|
+
caseEmptyTuple?: unknown;
|
|
58
|
+
}
|
|
59
|
+
interface DefaultOptions<Criteria> extends ElementMatch.DefaultOptions<Criteria>, NeverType.DefaultOptions {
|
|
60
|
+
caseArray: 'does not support array. Please use `FindFirst` or `ArrayPlus.Find` instead.';
|
|
61
|
+
caseEmptyTuple: never;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=tuple_plus.find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.find.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,MAAM,IAAI,CACf,CAAC,SAAS,OAAO,EAAE,EACnB,QAAQ,EACR,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IACzD,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,GAC1F,SAAS,CACV,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,CAAC,CAAC,gBAAgB,CAAC,GACnB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC7B,CAAC,CAAC,WAAW,CAAC,EACd,CAAC,CACD,GACC,KAAK,CAAA;AACR,yBAAiB,IAAI,CAAC;IACrB,KAAY,MAAM,CACjB,CAAC,SAAS,OAAO,EAAE,EACnB,QAAQ,EACR,OAAO,SAAS,IAAI,CAAC,OAAO,IACzB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtB,OAAO,CAAC,cAAc,CAAC,GACvB,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,YAAY,CACb,IAAI,EACJ,QAAQ,EACR,YAAY,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,OAAO,CAAC,CACxE,GACC,KAAK,CAAC,CAAA;IACV,UAAiB,OAAQ,SAAQ,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO;QACvE,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB;IAED,UAAiB,cAAc,CAAC,QAAQ,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc;QAChH,SAAS,EAAE,6EAA6E,CAAC;QACzF,cAAc,EAAE,KAAK,CAAC;KACtB;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple_plus.find.js","sourceRoot":"","sources":["../../ts/tuple/tuple_plus.find.ts"],"names":[],"mappings":""}
|
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
* PadStart<[1, 2, 3], 5> // [unknown, unknown, 1, 2, 3]
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export type PadStart<Tuple extends unknown[], MaxLength extends number, PadWith = unknown> =
|
|
20
|
+
export type PadStart<Tuple extends unknown[], MaxLength extends number, PadWith = unknown> = PadStart.Device<Tuple, MaxLength, PadWith, [
|
|
21
21
|
]>;
|
|
22
|
-
|
|
23
|
-
Tail
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
export declare namespace PadStart {
|
|
23
|
+
type Device<Source extends unknown[], MaxLength extends number, PadWith, Result extends unknown[]> = Result['length'] extends MaxLength ? (Source extends [] ? Result : (Source extends [...infer Head, infer Tail] ? ([
|
|
24
|
+
Tail,
|
|
25
|
+
...Result
|
|
26
|
+
] extends infer R extends unknown[] ? Device<Head, R['length'], PadWith, R> : never) : never)) : (Source extends [] ? Device<Source, MaxLength, PadWith, [PadWith, ...Result]> : (Source extends [...infer Head, infer Tail] ? Device<Head, MaxLength, PadWith, [Tail, ...Result]> : Source));
|
|
27
|
+
}
|
|
27
28
|
//# 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;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,SAAS,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,
|
|
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,QAAQ,CAAC,MAAM,CAC3G,KAAK,EACL,SAAS,EACT,OAAO,EACP;CAAE,CACF,CAAA;AAED,yBAAiB,QAAQ,CAAC;IACzB,KAAY,MAAM,CACjB,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;QAAC,IAAI;QAAE,GAAG,MAAM;KAAC,SAAS,MAAM,CAAC,SAAS,OAAO,EAAE,GACjD,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GACrC,KAAK,CACP,GACC,KAAK,CACP,CACD,GACC,CACD,MAAM,SAAS,EAAE,GACf,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,GACxD,CACD,MAAM,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GACxC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACnD,MAAM,CACR,CACD,CAAA;CAEF"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import type { IsNever } from '../never/never_type.js';
|
|
1
|
+
import type { IsNever, NeverType } from '../never/never_type.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* 🌪️ *filter*
|
|
4
4
|
*
|
|
5
|
+
* Filter `T` to ensure it is a tuple, excluding array.
|
|
6
|
+
*
|
|
7
|
+
* @typeParam Cases['never'] Return type when `T` is `never`. Default to `Else`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
5
10
|
* ```ts
|
|
6
11
|
* type R = TupleType<[]> // []
|
|
7
12
|
* type R = TupleType<[1]> // [1]
|
|
@@ -12,11 +17,35 @@ import type { IsNever } from '../never/never_type.js';
|
|
|
12
17
|
* type R = TupleType<unknown> // never
|
|
13
18
|
* ```
|
|
14
19
|
*/
|
|
15
|
-
export type TupleType<T, Then = T, Else = never
|
|
20
|
+
export type TupleType<T, Then = T, Else = never, Options extends TupleType.Options = TupleType.DefaultOptions<Else>> = IsNever<T, Options['caseNever'], [
|
|
16
21
|
T
|
|
17
22
|
] extends [any[]] ? (number extends T['length'] ? Else : Then) : Else>;
|
|
23
|
+
export declare namespace TupleType {
|
|
24
|
+
interface Options extends NeverType.Options {
|
|
25
|
+
}
|
|
26
|
+
interface DefaultOptions<Else> {
|
|
27
|
+
caseNever: Else;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
18
30
|
/**
|
|
19
|
-
*
|
|
31
|
+
* 🎭 *validate*
|
|
32
|
+
*
|
|
33
|
+
* Validate that `T` is a tuple, excluding array.
|
|
34
|
+
*
|
|
35
|
+
* ```ts
|
|
36
|
+
* type R = IsTuple<[]> // true
|
|
37
|
+
*
|
|
38
|
+
* type R = IsTuple<number[]> // false
|
|
39
|
+
* type R = IsTuple<string> // false
|
|
40
|
+
* type R = IsTuple<never> // false
|
|
41
|
+
* type R = IsTuple<unknown> // false
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export type IsTuple<T, Then = true, Else = false, Options extends TupleType.Options = TupleType.DefaultOptions<Else>> = TupleType<T, Then, Else, Options>;
|
|
45
|
+
/**
|
|
46
|
+
* 🌪️ *filter*
|
|
47
|
+
*
|
|
48
|
+
* Filter `T` to ensure it is not an tuple, excluding array.
|
|
20
49
|
*
|
|
21
50
|
* ```ts
|
|
22
51
|
* type R = NotTupleType<[]> // never
|
|
@@ -28,32 +57,21 @@ export type TupleType<T, Then = T, Else = never> = IsNever<T, Else, [
|
|
|
28
57
|
* type R = NotTupleType<unknown> // unknown
|
|
29
58
|
* ```
|
|
30
59
|
*/
|
|
31
|
-
export type NotTupleType<T, Then = T, Else = never
|
|
60
|
+
export type NotTupleType<T, Then = T, Else = never, Options extends TupleType.Options = TupleType.DefaultOptions<Then>> = TupleType<T, Else, Then, Options>;
|
|
32
61
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* ```ts
|
|
36
|
-
* type R = IsTuple<[]> // true
|
|
62
|
+
* 🎭 *validate*
|
|
37
63
|
*
|
|
38
|
-
*
|
|
39
|
-
* type R = IsTuple<string> // false
|
|
40
|
-
* type R = IsTuple<never> // false
|
|
41
|
-
* type R = IsTuple<unknown> // false
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export type IsTuple<T, Then = true, Else = false> = TupleType<T, Then, Else>;
|
|
45
|
-
/**
|
|
46
|
-
* Is `T` not a tuple.
|
|
64
|
+
* Validate that `T` is not a tuple, excluding array.
|
|
47
65
|
*
|
|
48
66
|
* ```ts
|
|
49
67
|
* type R = IsNotTuple<[]> // false
|
|
50
68
|
* type R = IsNotTuple<[1]> // false
|
|
51
69
|
*
|
|
52
|
-
* type R = IsNotTuple<number[]> //
|
|
53
|
-
* type R = IsNotTuple<string> //
|
|
54
|
-
* type R = IsNotTuple<never> //
|
|
55
|
-
* type R = IsNotTuple<unknown> //
|
|
70
|
+
* type R = IsNotTuple<number[]> // true
|
|
71
|
+
* type R = IsNotTuple<string> // true
|
|
72
|
+
* type R = IsNotTuple<never> // true
|
|
73
|
+
* type R = IsNotTuple<unknown> // true
|
|
56
74
|
* ```
|
|
57
75
|
*/
|
|
58
|
-
export type IsNotTuple<T, Then = true, Else = false
|
|
76
|
+
export type IsNotTuple<T, Then = true, Else = false, Options extends TupleType.Options = TupleType.DefaultOptions<Then>> = TupleType<T, Else, Then, Options>;
|
|
59
77
|
//# sourceMappingURL=tuple_type.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"tuple_type.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,SAAS,CACpB,CAAC,EACD,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,KAAK,EACZ,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/D,OAAO,CACV,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,EACpB;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,yBAAiB,SAAS,CAAC;IAC1B,UAAiB,OAAQ,SAAQ,SAAS,CAAC,OAAO;KACjD;IAED,UAAiB,cAAc,CAAC,IAAI;QACnC,SAAS,EAAE,IAAI,CAAA;KACf;CACD;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,EACD,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,EACZ,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/D,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAGrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,YAAY,CACvB,CAAC,EACD,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,KAAK,EACZ,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/D,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAErC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,UAAU,CACrB,CAAC,EACD,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,EACZ,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/D,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🌪️ *filter*
|
|
3
|
+
*
|
|
4
|
+
* Filter the type `T` to ensure it is a union.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* type R = IsUnion<'a' | 'b'> // 'a' | 'b'
|
|
9
|
+
* type R = IsUnion<boolean> // boolean
|
|
10
|
+
* type R = IsUnion<number> // never
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export type UnionType<T, Then = T, Else = never> = UnionType.Device<T, Then, Else>;
|
|
14
|
+
/**
|
|
15
|
+
* 🎭 *validate*
|
|
16
|
+
*
|
|
17
|
+
* Validate the type `T` is a union.
|
|
18
|
+
*
|
|
19
|
+
* @author Nurbol Alpysbayev
|
|
20
|
+
* @see https://stackoverflow.com/questions/53953814/typescript-check-if-a-type-is-a-union
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* type R = IsUnion<'a' | 'b'> // true
|
|
25
|
+
* type R = IsUnion<boolean> // true
|
|
26
|
+
* type R = IsUnion<number> // false
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export type IsUnion<T, Then = true, Else = false> = UnionType.Device<T, Then, Else>;
|
|
30
|
+
export declare namespace UnionType {
|
|
31
|
+
type Device<T, Then, Else, U = T> = (T extends unknown ? (U extends T ? 1 : 2) : never) extends 1 ? Else : Then;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=union.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../ts/union/union.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEnF,yBAAiB,SAAS,CAAC;IAC1B,KAAY,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IACtC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAC3D,IAAI,GACJ,IAAI,CAAA;CACP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../ts/union/union.ts"],"names":[],"mappings":""}
|
|
@@ -48,4 +48,16 @@ export type NotUnknownType<T, Then = T, Else = never> = UnknownType<T, Else, The
|
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
50
|
export type IsNotUnknown<T, Then = true, Else = false> = UnknownType<T, Else, Then>;
|
|
51
|
+
/**
|
|
52
|
+
* 🌪️ *filter*
|
|
53
|
+
*
|
|
54
|
+
* Returns `T` if `T` is not `unknown`, otherwise `Else`.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* type R = NotUnknownOr<number, string> // number
|
|
59
|
+
* type R = NotUnknownOr<unknown, number> // number
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export type NotUnknownOr<T, Else> = UnknownType<T, Else, T>;
|
|
51
63
|
//# sourceMappingURL=unknown_type.d.ts.map
|
|
@@ -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;;;;;;;;;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"}
|
|
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;AAEnF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../ts/utils/options.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../ts/utils/options.ts"],"names":[],"mappings":""}
|
|
@@ -11,7 +11,8 @@ import type { IsTuple } from '../tuple/tuple_type.js';
|
|
|
11
11
|
* ArrayPlus.Entries<[1, 2, 3]> // [[0, 1], [1, 2], [2, 3]]
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export type Entries<A extends unknown[]> = IsTuple<A, Device<A, []>, A extends Array<infer T> ? Array<[number, T]> : never>;
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export type Entries<A extends unknown[]> = IsTuple<A, Entries.Device<A, []>, A extends Array<infer T> ? Array<[number, T]> : never>;
|
|
15
|
+
export declare namespace Entries {
|
|
16
|
+
type Device<A extends unknown[], R extends unknown[]> = A['length'] extends 0 ? R : A extends [...infer F, infer N] ? Device<F, [[F['length'], N], ...R]> : never;
|
|
17
|
+
}
|
|
17
18
|
//# sourceMappingURL=array.entries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.entries.d.ts","sourceRoot":"","sources":["../../ts/array/array.entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,OAAO,CACjD,CAAC,EACD,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"array.entries.d.ts","sourceRoot":"","sources":["../../ts/array/array.entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,OAAO,CACjD,CAAC,EACD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EACrB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CACrD,CAAA;AAED,yBAAiB,OAAO,CAAC;IACxB,KAAY,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAClF,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GACnC,KAAK,CAAA;CACP"}
|
|
@@ -18,7 +18,10 @@ import type { Negative } from '../numeric/negative.js';
|
|
|
18
18
|
* type R = IndexAt<['a', 'b', 'c'], -4> // never
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
|
-
export type IndexAt<A extends Array<unknown>, N extends number, Fail = never, Upper = A['length'], Lower = 0> =
|
|
21
|
+
export type IndexAt<A extends Array<unknown>, N extends number, Fail = never, Upper = A['length'], Lower = 0> = IsNever<A, Fail, IndexAt._<A, N, Fail, Upper, Lower>>;
|
|
22
|
+
export declare namespace IndexAt {
|
|
23
|
+
type _<A extends Array<unknown>, N extends number, Fail = never, Upper = A['length'], Lower = 0> = IsEqual<A['length'], 0, Fail, Integer<N, StrictNumberType<A['length'], N, Negative<N, GreaterThan<Abs<N>, A['length']> extends true ? Lower : Subtract<A['length'], Abs<N>>, GreaterThan<A['length'], N> extends true ? N : Upper>>, IsAny<N, number, StrictNumberType<N, N>>>>;
|
|
24
|
+
}
|
|
22
25
|
/**
|
|
23
26
|
* Is N an out of bound index of A.
|
|
24
27
|
*
|
|
@@ -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,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EACxB,CAAC,SAAS,MAAM,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EACnB,KAAK,GAAG,CAAC,IACN,OAAO,CACV,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,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EACrF,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CACpD,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,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAClC,IAAI,EACJ,IAAI,CACJ,CAAA"}
|
|
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,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EACxB,CAAC,SAAS,MAAM,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EACnB,KAAK,GAAG,CAAC,IACN,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEzD,yBAAiB,OAAO,CAAC;IACxB,KAAY,CAAC,CACZ,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EACxB,CAAC,SAAS,MAAM,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EACnB,KAAK,GAAG,CAAC,IACN,OAAO,CACV,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,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EACrF,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CACpD,CACD,EAED,KAAK,CACJ,CAAC,EACD,MAAM,EACN,gBAAgB,CACf,CAAC,EAED,CAAC,CACD,CACD,CACD,CACD,CAAA;CACD;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,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAClC,IAAI,EACJ,IAAI,CACJ,CAAA"}
|