Skip to content

Commit 776cfec

Browse files
committed
style: rename BuildTuple to TupleOf
1 parent 5a7d897 commit 776cfec

File tree

12 files changed

+59
-59
lines changed

12 files changed

+59
-59
lines changed

index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export type {IsLowercase} from './source/is-lowercase.d.ts';
157157
export type {IsUppercase} from './source/is-uppercase.d.ts';
158158
export type {IsOptional} from './source/is-optional.d.ts';
159159
export type {IsNullable} from './source/is-nullable.d.ts';
160-
export type {BuildTuple} from './source/build-tuple.d.ts';
160+
export type {TupleOf} from './source/tuple-of.js';
161161

162162
// Template literal types
163163
export type {CamelCase, CamelCaseOptions} from './source/camel-case.d.ts';

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Click the type names for complete docs.
256256
- [`TupleToUnion`](source/tuple-to-union.d.ts) - Convert a tuple/array into a union type of its elements.
257257
- [`UnionToTuple`](source/union-to-tuple.d.ts) - Convert a union type into an unordered tuple type of its elements.
258258
- [`TupleToObject`](source/tuple-to-object.d.ts) - Transforms a tuple into an object, mapping each tuple index to its corresponding type as a key-value pair.
259-
- [`BuildTuple`](source/build-tuple.d.ts) - Creates a tuple type of the specified length with elements of the specified type.
259+
- [`TupleOf`](source/tuple-of.d.ts) - Creates a tuple type of the specified length with elements of the specified type.
260260

261261
### Numeric
262262

source/array-splice.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import type {StaticPartOfArray, VariablePartOfArray} from './internal/index.d.ts
22
import type {GreaterThanOrEqual} from './greater-than-or-equal.d.ts';
33
import type {Subtract} from './subtract.d.ts';
44
import type {UnknownArray} from './unknown-array.d.ts';
5-
import type {BuildTuple} from './build-tuple.d.ts';
5+
import type {TupleOf} from './tuple-of.d.ts';
66

77
/**
88
The implementation of `SplitArrayByIndex` for fixed length arrays.
99
*/
1010
type SplitFixedArrayByIndex<T extends UnknownArray, SplitIndex extends number> =
1111
SplitIndex extends 0
1212
? [[], T]
13-
: T extends readonly [...BuildTuple<SplitIndex>, ...infer V]
13+
: T extends readonly [...TupleOf<SplitIndex>, ...infer V]
1414
? T extends readonly [...infer U, ...V]
1515
? [U, V]
1616
: [never, never]
@@ -23,7 +23,7 @@ type SplitVariableArrayByIndex<T extends UnknownArray,
2323
SplitIndex extends number,
2424
T1 = Subtract<SplitIndex, StaticPartOfArray<T>['length']>,
2525
T2 = T1 extends number
26-
? BuildTuple<GreaterThanOrEqual<T1, 0> extends true ? T1 : number, VariablePartOfArray<T>[number]>
26+
? TupleOf<GreaterThanOrEqual<T1, 0> extends true ? T1 : number, VariablePartOfArray<T>[number]>
2727
: [],
2828
> =
2929
SplitIndex extends 0

source/int-range.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type {BuildTuple} from './build-tuple.d.ts';
1+
import type {TupleOf} from './tuple-of.d.ts';
22
import type {Subtract} from './subtract.d.ts';
33

44
/**
@@ -44,16 +44,16 @@ type PrivateIntRange<
4444
// The gap between each number, gap = step - 1
4545
Gap extends number = Subtract<Step, 1>,
4646
// The final `List` is `[...StartLengthTuple, ...[number, ...GapLengthTuple], ...[number, ...GapLengthTuple], ... ...]`, so can initialize the `List` with `[...StartLengthTuple]`
47-
List extends unknown[] = BuildTuple<Start, never>,
48-
EndLengthTuple extends unknown[] = BuildTuple<End>,
47+
List extends unknown[] = TupleOf<Start, never>,
48+
EndLengthTuple extends unknown[] = TupleOf<End>,
4949
> = Gap extends 0 ?
5050
// Handle the case that without `Step`
5151
List['length'] extends End // The result of "List[length] === End"
5252
? Exclude<List[number], never> // All unused elements are `never`, so exclude them
5353
: PrivateIntRange<Start, End, Step, Gap, [...List, List['length'] ]>
5454
// Handle the case that with `Step`
55-
: List extends [...(infer U), ...EndLengthTuple] // The result of "List[length] >= End", because the `...BuildTuple<Gap, never>` maybe make `List` too long.
55+
: List extends [...(infer U), ...EndLengthTuple] // The result of "List[length] >= End", because the `...TupleOf<Gap, never>` maybe make `List` too long.
5656
? Exclude<List[number], never>
57-
: PrivateIntRange<Start, End, Step, Gap, [...List, List['length'], ...BuildTuple<Gap, never>]>;
57+
: PrivateIntRange<Start, End, Step, Gap, [...List, List['length'], ...TupleOf<Gap, never>]>;
5858

5959
export {};

source/internal/string.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type {BuildTuple} from '../build-tuple.d.ts';
1+
import type {TupleOf} from '../tuple-of.d.ts';
22
import type {NegativeInfinity, PositiveInfinity} from '../numeric.d.ts';
33
import type {Trim} from '../trim.d.ts';
44
import type {Whitespace} from './characters.d.ts';
@@ -171,7 +171,7 @@ PositiveNumericStringGt<'1', '500'>;
171171
*/
172172
export type PositiveNumericStringGt<A extends string, B extends string> = A extends B
173173
? false
174-
: [BuildTuple<StringLength<A>, 0>, BuildTuple<StringLength<B>, 0>] extends infer R extends [readonly unknown[], readonly unknown[]]
174+
: [TupleOf<StringLength<A>, 0>, TupleOf<StringLength<B>, 0>] extends infer R extends [readonly unknown[], readonly unknown[]]
175175
? R[0] extends [...R[1], ...infer Remain extends readonly unknown[]]
176176
? 0 extends Remain['length']
177177
? SameLengthPositiveNumericStringGt<A, B>

source/pick-deep.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type {BuildTuple} from './build-tuple.d.ts';
1+
import type {TupleOf} from './tuple-of.d.ts';
22
import type {BuildObject, NonRecursiveType, ObjectValue} from './internal/index.d.ts';
33
import type {IsNever} from './is-never.d.ts';
44
import type {Paths} from './paths.d.ts';
@@ -132,9 +132,9 @@ type PickDeepArray<ArrayType extends UnknownArray, P extends string | number> =
132132
: never
133133
// When `ArrayIndex` is a number literal
134134
: ArrayType extends unknown[]
135-
? [...BuildTuple<ArrayIndex>, InternalPickDeep<NonNullable<ArrayType[ArrayIndex]>, SubPath>]
135+
? [...TupleOf<ArrayIndex>, InternalPickDeep<NonNullable<ArrayType[ArrayIndex]>, SubPath>]
136136
: ArrayType extends readonly unknown[]
137-
? readonly [...BuildTuple<ArrayIndex>, InternalPickDeep<NonNullable<ArrayType[ArrayIndex]>, SubPath>]
137+
? readonly [...TupleOf<ArrayIndex>, InternalPickDeep<NonNullable<ArrayType[ArrayIndex]>, SubPath>]
138138
: never
139139
// When the path is equal to `number`
140140
: P extends `${infer ArrayIndex extends number}`
@@ -143,9 +143,9 @@ type PickDeepArray<ArrayType extends UnknownArray, P extends string | number> =
143143
? ArrayType
144144
// When `ArrayIndex` is a number literal
145145
: ArrayType extends unknown[]
146-
? [...BuildTuple<ArrayIndex>, ArrayType[ArrayIndex]]
146+
? [...TupleOf<ArrayIndex>, ArrayType[ArrayIndex]]
147147
: ArrayType extends readonly unknown[]
148-
? readonly [...BuildTuple<ArrayIndex>, ArrayType[ArrayIndex]]
148+
? readonly [...TupleOf<ArrayIndex>, ArrayType[ArrayIndex]]
149149
: never
150150
: never;
151151

source/subtract.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type {NumberAbsolute, ReverseSign} from './internal/index.d.ts';
22
import type {PositiveInfinity, NegativeInfinity, IsNegative} from './numeric.d.ts';
33
import type {LessThan} from './less-than.d.ts';
4-
import type {BuildTuple} from './build-tuple.d.ts';
4+
import type {TupleOf} from './tuple-of.d.ts';
55

66
/**
77
Returns the difference between two numbers.
@@ -61,7 +61,7 @@ type SubtractPostChecks<A extends number, B extends number, AreNegative = [IsNeg
6161
// When both numbers are negative we subtract the absolute values and then reverse the sign
6262
? ReverseSign<SubtractPositives<NumberAbsolute<A>, NumberAbsolute<B>>>
6363
// When the signs are different we can add the absolute values and then reverse the sign if A < B
64-
: [...BuildTuple<NumberAbsolute<A>>, ...BuildTuple<NumberAbsolute<B>>] extends infer R extends unknown[]
64+
: [...TupleOf<NumberAbsolute<A>>, ...TupleOf<NumberAbsolute<B>>] extends infer R extends unknown[]
6565
? LessThan<A, B> extends true ? ReverseSign<R['length']> : R['length']
6666
: never;
6767

@@ -79,7 +79,7 @@ Subtracts two positive numbers A and B such that A > B.
7979
*/
8080
type SubtractIfAGreaterThanB<A extends number, B extends number> =
8181
// This is where we always want to end up and do the actual subtraction
82-
BuildTuple<A> extends [...BuildTuple<B>, ...infer R]
82+
TupleOf<A> extends [...TupleOf<B>, ...infer R]
8383
? R['length']
8484
: never;
8585

source/sum.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type {BuildTuple} from './build-tuple.d.ts';
1+
import type {TupleOf} from './tuple-of.d.ts';
22
import type {NumberAbsolute, TupleMax, ReverseSign} from './internal/index.d.ts';
33
import type {PositiveInfinity, NegativeInfinity, IsNegative} from './numeric.d.ts';
44
import type {Subtract} from './subtract.d.ts';
@@ -74,7 +74,7 @@ type SumPostChecks<A extends number, B extends number, AreNegative = [IsNegative
7474
Adds two positive numbers.
7575
*/
7676
type SumPositives<A extends number, B extends number> =
77-
[...BuildTuple<A>, ...BuildTuple<B>]['length'] extends infer Result extends number
77+
[...TupleOf<A>, ...TupleOf<B>]['length'] extends infer Result extends number
7878
? Result
7979
: never;
8080

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,58 +8,58 @@ Creates a tuple type of the specified length with elements of the specified type
88
99
@example
1010
```
11-
import type {BuildTuple} from 'type-fest';
11+
import type {TupleOf} from 'type-fest';
1212
13-
type RGB = BuildTuple<3, number>;
14-
//=> [number, number, number]
13+
type RGB = TupleOf<3, number>;
14+
// => [number, number, number]
1515
16-
type Line = BuildTuple<2, {x: number; y: number}>;
16+
type Line = TupleOf<2, {x: number; y: number}>;
1717
//=> [{x: number; y: number}, {x: number; y: number}]
1818
19-
type TicTacToeBoard = BuildTuple<3, BuildTuple<3, 'X' | 'O' | null>>;
19+
type TicTacToeBoard = TupleOf<3, TupleOf<3, 'X' | 'O' | null>>;
2020
//=> [['X' | 'O' | null, 'X' | 'O' | null, 'X' | 'O' | null], ['X' | 'O' | null, 'X' | 'O' | null, 'X' | 'O' | null], ['X' | 'O' | null, 'X' | 'O' | null, 'X' | 'O' | null]]
2121
```
2222
2323
Note: If the specified length is the non-literal `number` type, the result will not be a tuple but a regular array.
2424
2525
@example
2626
```
27-
import type {BuildTuple} from 'type-fest';
27+
import type {TupleOf} from 'type-fest';
2828
29-
type StringArray = BuildTuple<number, string>;
29+
type StringArray = TupleOf<number, string>;
3030
//=> string[]
3131
```
3232
3333
Note: If the type for elements is not specified, it will default to `unknown`.
3434
3535
@example
3636
```
37-
import type {BuildTuple} from 'type-fest';
37+
import type {TupleOf} from 'type-fest';
3838
39-
type UnknownTriplet = BuildTuple<3>;
39+
type UnknownTriplet = TupleOf<3>;
4040
//=> [unknown, unknown, unknown]
4141
```
4242
4343
Note: If the specified length is negative, the result will be an empty tuple.
4444
4545
@example
4646
```
47-
import type {BuildTuple} from 'type-fest';
47+
import type {TupleOf} from 'type-fest';
4848
49-
type EmptyTuple = BuildTuple<-3, string>;
49+
type EmptyTuple = TupleOf<-3, string>;
5050
//=> []
5151
```
5252
5353
@category Array
5454
*/
55-
export type BuildTuple<Length extends number, Fill = unknown> = IfNotAnyOrNever<Length,
56-
_BuildTuple<If<IsNegative<Length>, 0, Length>, Fill, []>,
55+
export type TupleOf<Length extends number, Fill = unknown> = IfNotAnyOrNever<Length,
56+
_TupleOf<If<IsNegative<Length>, 0, Length>, Fill, []>,
5757
Fill[], []>;
5858

59-
type _BuildTuple<L extends number, Fill, Accumulator extends UnknownArray> = number extends L
59+
type _TupleOf<L extends number, Fill, Accumulator extends UnknownArray> = number extends L
6060
? Fill[]
6161
: L extends Accumulator['length']
6262
? Accumulator
63-
: _BuildTuple<L, Fill, [...Accumulator, Fill]>;
63+
: _TupleOf<L, Fill, [...Accumulator, Fill]>;
6464

6565
export {};

test-d/is-equal.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {expectType} from 'tsd';
2-
import type {BuildTuple, IsEqual} from '../index.d.ts';
2+
import type {IsEqual, TupleOf} from '../index.d.ts';
33

44
expectType<false>({} as IsEqual<number, string>);
55
expectType<true>({} as IsEqual<1, 1>);
@@ -38,10 +38,10 @@ expectType<true>({} as IsEqual<[string], [string]>);
3838
expectType<false>({} as IsEqual<[string], [string, number]>);
3939
expectType<false>({} as IsEqual<[0, 1] | [0, 2], [0, 2]>);
4040

41-
type LongTupleNumber = BuildTuple<50, 0>;
41+
type LongTupleNumber = TupleOf<50, 0>;
4242
expectType<true>({} as IsEqual<LongTupleNumber, LongTupleNumber>);
4343

44-
type ReadonlyLongTupleNumber = Readonly<BuildTuple<50, 0>>;
44+
type ReadonlyLongTupleNumber = Readonly<TupleOf<50, 0>>;
4545
expectType<true>({} as IsEqual<ReadonlyLongTupleNumber, ReadonlyLongTupleNumber>);
4646

4747
expectType<false>({} as IsEqual<ReadonlyLongTupleNumber, LongTupleNumber>);

0 commit comments

Comments
 (0)