just-types
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -1,2 +0,2 @@ | ||
export type Flatten<List extends any[][]> = List extends [infer First, ...infer Rest] ? [ | ||
export type Flatten<List extends readonly any[][]> = List extends [infer First, ...infer Rest] ? [ | ||
...First, | ||
@@ -7,13 +7,13 @@ ...Flatten<Rest> | ||
type Literal = string | number | bigint | boolean | null | undefined; | ||
export type Join<List extends Literal[], Separator extends Literal> = List extends [] ? '' : List extends [Literal] ? `${List[0]}` : List extends [Literal, ...infer Rest] ? `${List[0]}${Separator}${Join<Rest, Separator>}` : never; | ||
export type Join<List extends readonly Literal[], Separator extends Literal> = List extends [] ? '' : List extends [Literal] ? `${List[0]}` : List extends [Literal, ...infer Rest] ? `${List[0]}${Separator}${Join<Rest, Separator>}` : never; | ||
type InsertAnywhere<Item, List extends any[], Counter extends any[] = []> = Counter['length'] extends List['length'] ? InsertAt<Item, Counter['length'], List> : InsertAt<Item, Counter['length'], List> | InsertAnywhere<Item, List, [1, ...Counter]>; | ||
export type Permutation<Values extends any[]> = Values extends [infer Value, ...infer Rest] ? InsertAnywhere<Value, Permutation<Rest>> : []; | ||
export type Permutation<Values extends readonly any[]> = Values extends [infer Value, ...infer Rest] ? InsertAnywhere<Value, Permutation<Rest>> : []; | ||
type RangeFromZero<Last extends number, Counter extends any[] = []> = Counter['length'] extends Last ? Last : Counter['length'] | RangeFromZero<Last, [1, ...Counter]>; | ||
export type Range<First extends number, Last extends number> = First | Exclude<RangeFromZero<Last>, RangeFromZero<First>>; | ||
export type SubArray<List extends any[], ItemsBefore extends any[] = []> = List extends [ | ||
export type SubArray<List extends readonly any[], ItemsBefore extends any[] = []> = List extends [ | ||
infer Item, | ||
...infer Rest | ||
] ? [...ItemsBefore, Item] | SubArray<Rest, [...ItemsBefore, Item]> | SubArray<Rest, ItemsBefore> : ItemsBefore extends [] ? never : ItemsBefore; | ||
export type Tail<List extends any[]> = List extends [infer _, ...infer Rest] ? Rest : []; | ||
export type Tail<List extends readonly any[]> = List extends [infer _, ...infer Rest] ? Rest : []; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,3 +6,3 @@ { | ||
"license": "MIT", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"source": "src/index.ts", | ||
@@ -9,0 +9,0 @@ "types": "dist/index.d.ts", |
Sorry, the diff of this file is not supported yet
9211