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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
2
|
+
import type { KeyTypes } from '../object/KeyTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* ⚗️ *transform*
|
|
5
|
+
* 🔢 *customization*
|
|
6
|
+
*
|
|
7
|
+
* Gets the common keys of the record types in the array `A`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { type ArrayPlus } from 'type-plus'
|
|
12
|
+
*
|
|
13
|
+
* type R = ArrayPlus.CommonPropKeys<Array<{ a: 1 }>> // 'a'
|
|
14
|
+
* type R = ArrayPlus.CommonPropKeys<Array<{ a: 1, b: 1 } | { a: 1, c: 1 }>> // 'a'
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @typeParam Options['caseNever'] Return type when `T` is `never`.
|
|
18
|
+
* Default to `never`.
|
|
19
|
+
*/
|
|
20
|
+
export type CommonPropKeys<A extends Record<KeyTypes, unknown>[], Options extends CommonPropKeys.Options = CommonPropKeys.DefaultOptions> = NeverType<A, Options['caseNever'], A extends Array<infer R extends Record<KeyTypes, unknown>> ? keyof R : never>;
|
|
21
|
+
export declare namespace CommonPropKeys {
|
|
22
|
+
interface Options extends NeverType.Options {
|
|
23
|
+
}
|
|
24
|
+
interface DefaultOptions extends NeverType.DefaultOptions {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=array_plus.common_prop_keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.common_prop_keys.d.ts","sourceRoot":"","sources":["../../ts/array/array_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;AAErD;;;;;;;;;;;;;;;;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,CAAC,CAAC,EACd,OAAO,CAAC,WAAW,CAAC,EACpB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAC5E,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":"array_plus.common_prop_keys.js","sourceRoot":"","sources":["../../ts/array/array_plus.common_prop_keys.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export type { At } from './array.at.js';
|
|
2
|
-
export type { Concat } from './array_plus.concat.js';
|
|
3
2
|
export type { Entries } from './array.entries.js';
|
|
4
|
-
export type { FindFirst as Find } from './array.find.js';
|
|
5
3
|
export type { FindLast } from './array.find_last.js';
|
|
6
4
|
export type { Reverse } from './array.reverse.js';
|
|
7
5
|
export type { Some } from './array.some.js';
|
|
8
6
|
export type { IndexAt, IsIndexOutOfBound } from './array_index.js';
|
|
7
|
+
export type { CommonPropKeys } from './array_plus.common_prop_keys.js';
|
|
8
|
+
export type { Concat } from './array_plus.concat.js';
|
|
9
|
+
export type { DropMatch } from './array_plus.drop_match.js';
|
|
10
|
+
export type { ElementMatch } from './array_plus.element_match.js';
|
|
9
11
|
export type { Filter } from './array_plus.filter.js';
|
|
10
|
-
export type {
|
|
12
|
+
export type { Find } from './array_plus.find.js';
|
|
11
13
|
export type { PadStart } from './array_plus.pad_start.js';
|
|
14
|
+
export type { SplitAt } from './array_plus.split_at.js';
|
|
12
15
|
//# sourceMappingURL=array_plus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array_plus.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array_plus.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,YAAY,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { NonNull } from '../utils/NonNull.js';
|
|
2
|
+
import type { NonUndefined } from '../utils/NonUndefined.js';
|
|
3
|
+
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = 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>>))));
|
|
4
|
+
//# sourceMappingURL=array_plus.drop_match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.drop_match.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.drop_match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACxF,KAAK,EAAE,GACP,CAAC,SAAS,SAAS,QAAQ,GAC1B,CAAC,IAAI,SAAS,QAAQ,GACrB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,IAAI,SAAS,QAAQ,GACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,GACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACrB,CAAC,GACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.drop_match.js","sourceRoot":"","sources":["../../ts/array/array_plus.drop_match.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { IsNever } from '../never/never_type.js';
|
|
2
|
+
import type { IsUnion } from '../union/union.js';
|
|
3
|
+
import type { MergeOptions } from '../utils/options.js';
|
|
4
|
+
/**
|
|
5
|
+
* 🦴 *utilities*
|
|
6
|
+
* 🔢 *customizable*
|
|
7
|
+
*
|
|
8
|
+
* Filter the element `T` in an array or tuple to match `Criteria`.
|
|
9
|
+
*
|
|
10
|
+
* @typeParam Options['widen'] Allow using narrow type to match widen type.
|
|
11
|
+
* e.g. `number, 1` -> `1 | undefined`.
|
|
12
|
+
* Default to `true`.
|
|
13
|
+
*
|
|
14
|
+
* @typeParam Options['caseNotMatch'] Return value when `T` does not match `Criteria`.
|
|
15
|
+
* Default to `never`.
|
|
16
|
+
*
|
|
17
|
+
* @typeParam Options['caseWiden'] Return value when `widen` is true.
|
|
18
|
+
* Default to `Criteria | undefined`.
|
|
19
|
+
*
|
|
20
|
+
* @typeParam Options['caseUnionNotMatch'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
21
|
+
* Default to `never`.
|
|
22
|
+
*
|
|
23
|
+
* If you want the type to behave more like JavaScript,
|
|
24
|
+
* you can override it to return `undefined`.
|
|
25
|
+
*
|
|
26
|
+
* Since it is a union, the result will be joined to the matched branch as union.
|
|
27
|
+
* e.g. `ElementMatch<1 | 2, 1>` -> `1 | undefined`
|
|
28
|
+
*/
|
|
29
|
+
export type ElementMatch<T, Criteria, Options extends ElementMatch.Options = ElementMatch.DefaultOptions<Criteria>> = [T] extends [Criteria] ? T : (MergeOptions<Options, ElementMatch.DefaultOptions<Criteria>> extends infer C extends Record<keyof ElementMatch.Options, unknown> ? ((T extends Criteria ? T : (C['widen'] extends true ? (Criteria extends T ? C['caseWiden'] : C['caseNotMatch']) : C['caseNotMatch'])) extends infer R ? IsUnion<T, IsNever<R, R, R | C['caseUnionNotMatch']>, R> : C['caseNotMatch']) : never);
|
|
30
|
+
export declare namespace ElementMatch {
|
|
31
|
+
interface Options {
|
|
32
|
+
widen?: boolean | undefined;
|
|
33
|
+
caseNotMatch?: unknown;
|
|
34
|
+
caseWiden?: unknown;
|
|
35
|
+
caseUnionNotMatch?: unknown;
|
|
36
|
+
}
|
|
37
|
+
interface DefaultOptions<Criteria> {
|
|
38
|
+
widen: true;
|
|
39
|
+
caseNotMatch: never;
|
|
40
|
+
caseWiden: Criteria | undefined;
|
|
41
|
+
caseUnionNotMatch: never;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=array_plus.element_match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.element_match.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.element_match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,YAAY,CACvB,CAAC,EACD,QAAQ,EACR,OAAO,SAAS,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IACzE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GACvB,CAAC,GACD,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,GAChI,CAAC,CAAC,CAAC,SAAS,QAAQ,GACnB,CAAC,GACD,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,GACvB,CAAC,QAAQ,SAAS,CAAC,GAClB,CAAC,CAAC,WAAW,CAAC,GACd,CAAC,CAAC,cAAc,CAAC,CAAC,GACnB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACpC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GACxD,CAAC,CAAC,cAAc,CAAC,CAAC,GACnB,KAAK,CAAC,CAAA;AAEV,yBAAiB,YAAY,CAAC;IAC7B,UAAiB,OAAO;QACvB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC3B;IACD,UAAiB,cAAc,CAAC,QAAQ;QACvC,KAAK,EAAE,IAAI,CAAC;QACZ,YAAY,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;QAChC,iBAAiB,EAAE,KAAK,CAAA;KACxB;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.element_match.js","sourceRoot":"","sources":["../../ts/array/array_plus.element_match.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
2
|
+
import type { TupleType } from '../tuple/tuple_type.js';
|
|
3
|
+
import type { MergeOptions } from '../utils/options.js';
|
|
4
|
+
import type { ElementMatch } from './array_plus.element_match.js';
|
|
5
|
+
/**
|
|
6
|
+
* 🦴 *utilities*
|
|
7
|
+
* 🔢 *customizable*
|
|
8
|
+
*
|
|
9
|
+
* Finds the type in array `A` that matches `Criteria`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* type R = ArrayPlus.Find<Array<string>, string> // string
|
|
14
|
+
* type R = ArrayPlus.Find<Array<1 | 2 | 'x'>, number> // 1 | 2 | undefined
|
|
15
|
+
* type R = ArrayPlus.Find<Array<string | number>, number | string> // string | number
|
|
16
|
+
* type R = ArrayPlus.Find<Array<number>, 1> // widen: 1 | undefined
|
|
17
|
+
* type R = ArrayPlus.Find<Array<string | number>, number> // unionMiss: number | undefined
|
|
18
|
+
*
|
|
19
|
+
* type R = ArrayPlus.Find<string[], number> // never
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @typeParam Options['widen'] performs widen match.
|
|
23
|
+
* Default to `true`.
|
|
24
|
+
* With widen match, a narrowed type will match its widen type.
|
|
25
|
+
* e.g. matching `1` against `number` yields `1 | undefined`
|
|
26
|
+
*
|
|
27
|
+
* The widen behavior can be customized by `Options['caseWiden']`
|
|
28
|
+
*
|
|
29
|
+
* @typeParam Options['caseNever'] return type when `A` is `never`. Default to `never`.
|
|
30
|
+
*
|
|
31
|
+
* @typeParam Options['caseNotMatch'] Return value when `T` does not match `Criteria`.
|
|
32
|
+
* Default to `never`.
|
|
33
|
+
*
|
|
34
|
+
* @typeParam Options['caseTuple'] return type when `A` is a tuple. Default to `not supported` message.
|
|
35
|
+
*
|
|
36
|
+
* @typeParam Options['caseWiden'] return type when `T` in `A` is a widen type of `Criteria`.
|
|
37
|
+
* Default to `Criteria | undefined`.
|
|
38
|
+
* Set it to `never` for a more type-centric behavior
|
|
39
|
+
*
|
|
40
|
+
* @typeParam Options['caseUnionNotMatch'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
41
|
+
* Default to `never`.
|
|
42
|
+
*
|
|
43
|
+
* If you want the type to behave more like JavaScript,
|
|
44
|
+
* you can override it to return `undefined`.
|
|
45
|
+
*
|
|
46
|
+
* Since it is a union, the result will be joined to the matched branch as union.
|
|
47
|
+
*/
|
|
48
|
+
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, O['caseTuple'], A extends Array<infer T> ? ElementMatch<T, Criteria, O> : never, O> : never;
|
|
49
|
+
export declare namespace Find {
|
|
50
|
+
interface Options extends ElementMatch.Options, NeverType.Options {
|
|
51
|
+
caseTuple?: unknown;
|
|
52
|
+
}
|
|
53
|
+
interface DefaultOptions<Criteria> extends ElementMatch.DefaultOptions<Criteria>, NeverType.DefaultOptions {
|
|
54
|
+
caseTuple: 'does not support tuple. Please use `FindFirst` or `TuplePlus.Find` instead.';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=array_plus.find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.find.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,MAAM,IAAI,CACf,CAAC,SAAS,OAAO,EAAE,EACnB,QAAQ,EACR,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAE5D,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,GACvF,SAAS,CACV,CAAC,EACD,CAAC,CAAC,WAAW,CAAC,EACd,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,KAAK,EAC/D,CAAC,CACD,GACC,KAAK,CAAA;AAER,yBAAiB,IAAI,CAAC;IACrB,UAAiB,OAAQ,SAAQ,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO;QACvE,SAAS,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,cAAc,CAAC,QAAQ,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc;QAChH,SAAS,EAAE,6EAA6E,CAAC;KACzF;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_plus.find.js","sourceRoot":"","sources":["../../ts/array/array_plus.find.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +1,40 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
2
|
+
import type { IsTuple } from '../tuple/tuple_type.js';
|
|
1
3
|
import type { IndexAt } from './array_index.js';
|
|
2
4
|
import type { ArrayType } from './array_type.js';
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
6
|
+
* ⚗️ *transform*
|
|
7
|
+
*
|
|
8
|
+
* Splits array or tuple `A` into two at the specified `Index`.
|
|
5
9
|
*
|
|
6
10
|
* If the `Index` is out of bounds,
|
|
7
|
-
* it will set to the boundary value
|
|
11
|
+
* it will set to the boundary value.
|
|
12
|
+
*
|
|
13
|
+
* It is the type level `splice()`.
|
|
8
14
|
*
|
|
9
15
|
* @example
|
|
10
16
|
* ```ts
|
|
11
|
-
* SplitAt<[1, 2, 3, 4, 5], 0> // [[], [1, 2, 3, 4, 5]]
|
|
12
|
-
* SplitAt<[1, 2, 3, 4, 5], -5> // [[], [1, 2, 3, 4, 5]]
|
|
13
|
-
*
|
|
14
17
|
* SplitAt<[1, 2, 3, 4, 5], 2> // [[1, 2], [3, 4, 5]]
|
|
18
|
+
* SplitAt<[1, 2, 3, 4, 5], -3> // [[1, 2], [3, 4, 5]]
|
|
15
19
|
*
|
|
16
|
-
* SplitAt<[1, 2, 3, 4, 5],
|
|
17
|
-
* SplitAt<[1, 2, 3, 4, 5], -1> // [[1, 2, 3, 4], [5]]
|
|
20
|
+
* SplitAt<[1, 2, 3, 4, 5], 2, 2> // [[1, 2, 5], [3, 4]]
|
|
18
21
|
*
|
|
19
|
-
* SplitAt<[1, 2, 3, 4, 5],
|
|
22
|
+
* SplitAt<[1, 2, 3, 4, 5], 2, 2, ['a', 'b']> // [[1, 2, 'a', 'b', 5], [3, 4]]
|
|
20
23
|
*
|
|
21
24
|
* // out of bound resets to boundary
|
|
22
25
|
* SplitAt<[1, 2, 3, 4, 5], 6> // [[1, 2, 3, 4, 5], []]
|
|
23
26
|
* SplitAt<[1, 2, 3, 4, 5], -6> // [[], [1, 2, 3, 4, 5]]
|
|
24
27
|
* ```
|
|
25
28
|
*/
|
|
26
|
-
export type SplitAt<A extends unknown[], Index extends number> = ArrayType<A, [
|
|
29
|
+
export type SplitAt<A extends unknown[], Index extends number, DeleteCount extends number | never = never, Insert extends unknown[] | never = never> = ArrayType<A, [
|
|
27
30
|
A,
|
|
28
31
|
A
|
|
29
|
-
],
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
], SplitAt._<A, [], [], IndexAt._<A, Index>, DeleteCount, Insert>>;
|
|
33
|
+
export declare namespace SplitAt {
|
|
34
|
+
type _<A extends unknown[], B extends unknown[], C extends unknown[], Index extends number, DeleteCount, Insert extends unknown[]> = 0 extends A['length'] ? IsTuple<Insert, [[...Insert, ...B], C], [B, C]> : (Index extends B['length'] ? _D<A, B, C, DeleteCount, Insert> : (A extends [infer Head, ...infer Tail] ? _<Tail, [...B, Head], [], Index, DeleteCount, Insert> : 'unexpected: A does not extends [Head, ...Tail]'));
|
|
35
|
+
type _D<A extends unknown[], B extends unknown[], C extends unknown[], DeleteCount, Insert extends unknown[]> = NeverType<DeleteCount, [
|
|
36
|
+
B,
|
|
37
|
+
A
|
|
38
|
+
], DeleteCount extends C['length'] ? IsTuple<Insert, [[...B, ...Insert, ...A], C], [[...B, ...A], C]> : (A extends [infer Head, ...infer Tail] ? _D<Tail, B, [...C, Head], DeleteCount, Insert> : IsTuple<Insert, [[...Insert, ...B], C], [B, C]>)>;
|
|
39
|
+
}
|
|
35
40
|
//# sourceMappingURL=array_plus.split_at.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array_plus.split_at.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.split_at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD
|
|
1
|
+
{"version":3,"file":"array_plus.split_at.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.split_at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,SAAS,OAAO,EAAE,EACnB,KAAK,SAAS,MAAM,EACpB,WAAW,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,MAAM,SAAS,OAAO,EAAE,GAAG,KAAK,GAAG,KAAK,IACrC,SAAS,CACZ,CAAC,EACD;IAAC,CAAC;IAAE,CAAC;CAAC,EACN,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAC9D,CAAA;AAED,yBAAiB,OAAO,CAAC;IACxB,KAAY,CAAC,CACZ,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,KAAK,SAAS,MAAM,EACpB,WAAW,EACX,MAAM,SAAS,OAAO,EAAE,IACrB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/C,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAAC,GACzB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,GAChC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,GACrD,gDAAgD,CAAC,CAAC,CAAA;IAEvD,KAAY,EAAE,CACb,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,CAAC,SAAS,OAAO,EAAE,EACnB,WAAW,EACX,MAAM,SAAS,OAAO,EAAE,IACrB,SAAS,CACZ,WAAW,EACX;QAAC,CAAC;QAAE,CAAC;KAAC,EACN,WAAW,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAChE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,GAC9C,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACjD,CACD,CAAA;CACD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { TupleType } from '../tuple/tuple_type.js';
|
|
2
|
+
import type { Find as TupleFind } from '../tuple/tuple_plus.find.js';
|
|
3
|
+
import type { Find as ArrayFind } from './array_plus.find.js';
|
|
4
|
+
/**
|
|
5
|
+
* 🦴 *utilities*
|
|
6
|
+
* 🔢 *customizable*
|
|
7
|
+
*
|
|
8
|
+
* Find the first type in the array or tuple `A` that matches `Criteria`.
|
|
9
|
+
*
|
|
10
|
+
* If the `Criteria` is not met, it will return `never'.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* type R = FindFirst<[true, 1, 'x', 3], string> // 'x'
|
|
15
|
+
* type R = FindFirst<[true, 1, 'x', 3], number> // 1
|
|
16
|
+
* type R = FindFirst<[string, number, 1], 1> // widen: 1 | undefined
|
|
17
|
+
* type R = FindFirst<[true, number | string], string> // unionMiss: string | undefined
|
|
18
|
+
* type R = FindFirst<Array<string>, string> // string
|
|
19
|
+
* type R = FindFirst<Array<1 | 2 | 'x'>, number> // 1 | 2 | undefined
|
|
20
|
+
* type R = FindFirst<Array<string | number>, number | string> // string | number
|
|
21
|
+
* type R = FindFirst<Array<number>, 1> // widen: 1 | undefined
|
|
22
|
+
* type R = FindFirst<Array<string | number>, number> // unionMiss: number | undefined
|
|
23
|
+
*
|
|
24
|
+
* type R = FindFirst<[true, 1, 'x'], 2> // never
|
|
25
|
+
* type R = FindFirst<string[], number> // never
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @typeParam Options['widen'] performs widen match.
|
|
29
|
+
* Default to `true`.
|
|
30
|
+
* With widen match, a narrowed type will match its widen type.
|
|
31
|
+
* e.g. matching `1` against `number` yields `1 | undefined`
|
|
32
|
+
*
|
|
33
|
+
* The widen behavior can be customized by `Options['caseWiden']`
|
|
34
|
+
*
|
|
35
|
+
* @typeParam Options['caseEmptyTuple'] return type when `A` is an empty tuple.
|
|
36
|
+
* Default to `never`.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam Options['caseNever'] return type when `A` is `never`. Default to `never`.
|
|
39
|
+
*
|
|
40
|
+
* @typeParam Options['caseNoMatch'] Return value when `T` does not match `Criteria`.
|
|
41
|
+
* Default to `never`.
|
|
42
|
+
*
|
|
43
|
+
* @typeParam Options['caseWiden'] return type when `T` in `A` is a widen type of `Criteria`.
|
|
44
|
+
* Default to `Criteria | undefined`.
|
|
45
|
+
* Set it to `never` for a more type-centric behavior
|
|
46
|
+
*
|
|
47
|
+
* @typeParam Options['caseUnionMiss'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
48
|
+
* Default to `undefined`.
|
|
49
|
+
* Since it is a union, the result will be join to the matched branch as union.
|
|
50
|
+
*/
|
|
51
|
+
export type FindFirst<A extends unknown[], Criteria, Options extends FindFirst.Options = FindFirst.DefaultOptions<Criteria>> = TupleType<A, TupleFind<A, Criteria, Options>, ArrayFind<A, Criteria, Options>>;
|
|
52
|
+
export declare namespace FindFirst {
|
|
53
|
+
interface Options extends ArrayFind.Options, TupleFind.Options {
|
|
54
|
+
}
|
|
55
|
+
interface DefaultOptions<Criteria> extends ArrayFind.DefaultOptions<Criteria>, TupleFind.DefaultOptions<Criteria> {
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated use FindFirst
|
|
60
|
+
*/
|
|
61
|
+
export type First<A extends any[], Criteria> = FindFirst<A, Criteria>;
|
|
62
|
+
//# sourceMappingURL=find_first.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find_first.d.ts","sourceRoot":"","sources":["../../ts/array/find_first.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,MAAM,SAAS,CACpB,CAAC,SAAS,OAAO,EAAE,EACnB,QAAQ,EAAE,OAAO,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,IAC7E,SAAS,CACZ,CAAC,EACD,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAC/B,CAAA;AAED,yBAAiB,SAAS,CAAC;IAC1B,UAAiB,OAAQ,SAAQ,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO;KAAI;IACzE,UAAiB,cAAc,CAAC,QAAQ,CACvC,SAAQ,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;KAAI;CACnF;AAGD;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find_first.js","sourceRoot":"","sources":["../../ts/array/find_first.ts"],"names":[],"mappings":""}
|
package/esm/array/head.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
1
2
|
/**
|
|
2
3
|
* 🦴 *utilities*
|
|
4
|
+
* 🔢 *customizable*
|
|
3
5
|
*
|
|
4
|
-
* Gets the first entry in the tuple or the type of array
|
|
6
|
+
* Gets the first entry in the tuple or the type of array `T`.
|
|
5
7
|
*
|
|
6
8
|
* @example
|
|
7
9
|
* ```ts
|
|
@@ -10,10 +12,20 @@
|
|
|
10
12
|
*
|
|
11
13
|
* type R = Head<[]> // never
|
|
12
14
|
* ```
|
|
15
|
+
*
|
|
16
|
+
* @typeParam Options['caseNever'] Return type when `T` is `never`.
|
|
17
|
+
* Default to `never`.
|
|
18
|
+
*
|
|
19
|
+
* @typeParam Options['caseEmptyTuple'] Return type when `T` is `[]`.
|
|
20
|
+
* Default to `never`.
|
|
13
21
|
*/
|
|
14
|
-
export type Head<T extends
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
22
|
+
export type Head<T extends unknown[], Options extends Head.Options = Head.DefaultOptions> = NeverType<T, Options['caseNever'], T['length'] extends 0 ? Options['caseEmptyTuple'] : T[0]>;
|
|
23
|
+
export declare namespace Head {
|
|
24
|
+
interface Options extends NeverType.Options {
|
|
25
|
+
caseEmptyTuple?: unknown;
|
|
26
|
+
}
|
|
27
|
+
interface DefaultOptions extends NeverType.DefaultOptions {
|
|
28
|
+
caseEmptyTuple: never;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
19
31
|
//# sourceMappingURL=head.d.ts.map
|
package/esm/array/head.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../ts/array/head.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../ts/array/head.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,IAAI,CACf,CAAC,SAAS,OAAO,EAAE,EACnB,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,IAC/C,SAAS,CACZ,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,EACpB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACxD,CAAA;AAED,yBAAiB,IAAI,CAAC;IACrB,UAAiB,OAAQ,SAAQ,SAAS,CAAC,OAAO;QACjD,cAAc,CAAC,EAAE,OAAO,CAAA;KACxB;IAED,UAAiB,cAAe,SAAQ,SAAS,CAAC,cAAc;QAC/D,cAAc,EAAE,KAAK,CAAA;KACrB;CACD"}
|
package/esm/array/last.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js';
|
|
1
2
|
/**
|
|
2
3
|
* 🦴 *utilities*
|
|
3
4
|
*
|
|
4
|
-
* Gets the last entry in the tuple or the type of array
|
|
5
|
+
* Gets the last entry in the tuple or the type of array `T`.
|
|
5
6
|
*
|
|
6
7
|
* @example
|
|
7
8
|
* ```ts
|
|
@@ -10,10 +11,20 @@
|
|
|
10
11
|
*
|
|
11
12
|
* type R = Last<[]> // never
|
|
12
13
|
* ```
|
|
14
|
+
*
|
|
15
|
+
* @typeParam Options['caseNever'] Return type when `T` is `never`.
|
|
16
|
+
* Default to `never`.
|
|
17
|
+
*
|
|
18
|
+
* @typeParam Options['caseEmptyTuple'] Return type when `T` is `[]`.
|
|
19
|
+
* Default to `never`.
|
|
13
20
|
*/
|
|
14
|
-
export type Last<T extends unknown[],
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
21
|
+
export type Last<T extends unknown[], Options extends Last.Options = Last.DefaultOptions> = NeverType<T, Options['caseNever'], T['length'] extends 0 ? Options['caseEmptyTuple'] : T extends [...unknown[], infer R] ? R : T[0]>;
|
|
22
|
+
export declare namespace Last {
|
|
23
|
+
interface Options extends NeverType.Options {
|
|
24
|
+
caseEmptyTuple?: unknown;
|
|
25
|
+
}
|
|
26
|
+
interface DefaultOptions extends NeverType.DefaultOptions {
|
|
27
|
+
caseEmptyTuple: never;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
19
30
|
//# sourceMappingURL=last.d.ts.map
|
package/esm/array/last.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../ts/array/last.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../ts/array/last.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,IAAI,CACf,CAAC,SAAS,OAAO,EAAE,EACnB,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,IAC/C,SAAS,CAAC,CAAC,EACd,OAAO,CAAC,WAAW,CAAC,EACpB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAChG,CAAA;AAED,yBAAiB,IAAI,CAAC;IACrB,UAAiB,OAAQ,SAAQ,SAAS,CAAC,OAAO;QACjD,cAAc,CAAC,EAAE,OAAO,CAAA;KACxB;IAED,UAAiB,cAAe,SAAQ,SAAS,CAAC,cAAc;QAC/D,cAAc,EAAE,KAAK,CAAA;KACrB;CACD"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { type AnyConstructor } from '../class/index.js';
|
|
2
2
|
import { type AnyFunction } from '../function/any_function.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* 💥 *immediate*
|
|
5
|
+
* 🚦 *assertion*
|
|
6
|
+
*
|
|
7
|
+
* Assert the subject satisfies the specified type T
|
|
5
8
|
* @type T the type to check against.
|
|
6
9
|
*/
|
|
7
10
|
export declare function assertType<T>(subject: T): asserts subject is T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert_type.d.ts","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D
|
|
1
|
+
{"version":3,"file":"assert_type.d.ts","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAC/D,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AACnG;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAC7D,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,GACZ,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;yBAHrB,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert_type.js","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,aAAa,EAAuB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAoB,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"assert_type.js","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export type { AnyType, IsAny, IsNotAny, NotAnyType } from './any/any_type.js';
|
|
2
2
|
export type { At } from './array/array.at.js';
|
|
3
|
-
export type { FindFirst } from './array/array.find.js';
|
|
4
3
|
export type { FindLast } from './array/array.find_last.js';
|
|
5
4
|
export type { Some } from './array/array.some.js';
|
|
6
5
|
export type { Concat } from './array/array_plus.concat.js';
|
|
7
6
|
export * as ArrayPlus from './array/array_plus.js';
|
|
8
7
|
export type { ArrayType, IsArray, IsNotArray, NotArrayType } from './array/array_type.js';
|
|
9
8
|
export type { Filter, KeepMatch } from './array/filter.js';
|
|
9
|
+
export type { FindFirst } from './array/find_first.js';
|
|
10
10
|
export type { Head } from './array/head.js';
|
|
11
11
|
export type { IntersectOfProps, MapToProp } from './array/intersect_of_props.js';
|
|
12
12
|
export type { Last } from './array/last.js';
|
|
@@ -50,6 +50,7 @@ export type { IsNegative, IsNotNegative, Negative, NotNegative } from './numeric
|
|
|
50
50
|
export * as NumericPlus from './numeric/numeric_plus.js';
|
|
51
51
|
export type { IsNotNumeric, IsNumeric, NotNumericType, Numeric, NumericType, Zero } from './numeric/numeric_type.js';
|
|
52
52
|
export type { IsNotPositive, IsPositive, NonPositive, Positive } from './numeric/positive.js';
|
|
53
|
+
export type { Required, RequiredExcept, RequiredPick } from './object/Required.js';
|
|
53
54
|
export * from './object/index.js';
|
|
54
55
|
export type { IsNotObject, IsObject, NotObjectType, ObjectType } from './object/object_type.js';
|
|
55
56
|
export * from './predicates/index.js';
|
|
@@ -62,7 +63,7 @@ export type { IsNotString, IsString, NotStringType, StringType } from './string/
|
|
|
62
63
|
export type { IsNotSymbol, IsSymbol, NotSymbolType, SymbolType } from './symbol/symbol_type.js';
|
|
63
64
|
export * from './testing/stub.js';
|
|
64
65
|
export * from './testing/test_type.js';
|
|
65
|
-
export type { CommonPropKeys } from './tuple/common_prop_keys.js';
|
|
66
|
+
export type { CommonKeys, CommonPropKeys } from './tuple/common_prop_keys.js';
|
|
66
67
|
export * from './tuple/create_tuple.js';
|
|
67
68
|
export { drop } from './tuple/drop.js';
|
|
68
69
|
export type { DropFirst, DropLast, DropMatch, DropNull, DropNullable, DropUndefined } from './tuple/drop.js';
|
|
@@ -73,9 +74,11 @@ export * from './type-guard/is_type.js';
|
|
|
73
74
|
export type { Failed, FailedT } from './type/failed.js';
|
|
74
75
|
export type { NoInfer } from './type/no_infer.js';
|
|
75
76
|
export type { IsNotUndefined, IsUndefined, NotUndefinedType, UndefinedType } from './undefined/undefined_type.js';
|
|
77
|
+
export type { IsUnion, UnionType } from './union/union.js';
|
|
76
78
|
export type { UnionKeys } from './union_keys.js';
|
|
77
79
|
export type { IsNotUnknown, IsUnknown, NotUnknownType, UnknownType } from './unknown/unknown_type.js';
|
|
78
80
|
export * from './unpartial.js';
|
|
79
81
|
export * from './utils/index.js';
|
|
82
|
+
export type { MergeOptions as MergeCases } from './utils/options.js';
|
|
80
83
|
export type { IsNotVoid, IsVoid, NotVoidType, VoidType } from './void/void_type.js';
|
|
81
84
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC7E,YAAY,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAC7C,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAOlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAkBvD,cAAc,kBAAkB,CAAA;AAIhC,cAAc,gCAAgC,CAAA;AAQ9C,cAAc,uBAAuB,CAAA;AAGrC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAG/C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAGlC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAWrD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AAWxD,cAAc,mBAAmB,CAAA;AAEjC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAWlC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AAEtC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAGtC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,cAAc,yBAAyB,CAAA;AAYvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
@@ -48,4 +48,15 @@ export type IsNever<T, Then = true, Else = false> = NeverType<T, Then, Else>;
|
|
|
48
48
|
* type R = IsNotNever<never> // false
|
|
49
49
|
*/
|
|
50
50
|
export type IsNotNever<T, Then = true, Else = false> = NeverType<T, Else, Then>;
|
|
51
|
+
export declare namespace NeverType {
|
|
52
|
+
/**
|
|
53
|
+
* Type options when input type is `never`.
|
|
54
|
+
*/
|
|
55
|
+
interface Options {
|
|
56
|
+
caseNever?: unknown;
|
|
57
|
+
}
|
|
58
|
+
interface DefaultOptions {
|
|
59
|
+
caseNever: never;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
51
62
|
//# sourceMappingURL=never_type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"never_type.d.ts","sourceRoot":"","sources":["../../ts/never/never_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAElG;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEjF;;;;;;;;GAQG;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;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"never_type.d.ts","sourceRoot":"","sources":["../../ts/never/never_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAElG;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEjF;;;;;;;;GAQG;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;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE/E,yBAAiB,SAAS,CAAC;IAC1B;;OAEG;IACH,UAAiB,OAAO;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;KACnB;IAED,UAAiB,cAAc;QAC9B,SAAS,EAAE,KAAK,CAAA;KAChB;CACD"}
|
package/esm/object/index.d.ts
CHANGED
|
@@ -12,7 +12,6 @@ export type { Partial, PartialExcept, PartialOmit, PartialPick } from './Partial
|
|
|
12
12
|
export type * from './optional_key.js';
|
|
13
13
|
export type { RecursiveIntersect } from './RecursiveIntersect.js';
|
|
14
14
|
export type { RecursiveRequired } from './RecursiveRequired.js';
|
|
15
|
-
export type { RequiredExcept, RequiredPick } from './Required.js';
|
|
16
15
|
export type { RequiredKeys } from './RequiredKeys.js';
|
|
17
16
|
export type { SpreadRecord } from './SpreadRecord.js';
|
|
18
17
|
export type { ValueOf } from './ValueOf.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/object/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpF,mBAAmB,mBAAmB,CAAA;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/object/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpF,mBAAmB,mBAAmB,CAAA;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,cAAc,aAAa,CAAA;AAC3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA"}
|
package/esm/object/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/object/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/object/index.ts"],"names":[],"mappings":"AAiBA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,cAAc,aAAa,CAAA;AAE3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA"}
|