layout.d.ts: rename out the way

pull/2587/head
Rob Pilling 2023-01-27 23:09:26 +00:00
parent bd3efc5f9f
commit ec75c37d37
1 changed files with 3 additions and 3 deletions

View File

@ -1,17 +1,17 @@
type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
type ExtractIds<T extends Layout.Hierarchy, Depth extends Prev[number] = 9> = type ExtractIds<T extends Layout_.Hierarchy, Depth extends Prev[number] = 9> =
[Depth] extends [never] [Depth] extends [never]
? never ? never
: (T extends { id: infer Id extends string } ? Id : never) : (T extends { id: infer Id extends string } ? Id : never)
| |
( (
T extends { c: Array<infer Sub extends Layout.Hierarchy> } T extends { c: Array<infer Sub extends Layout_.Hierarchy> }
? ExtractIds<Sub, Prev[Depth]> ? ExtractIds<Sub, Prev[Depth]>
: never : never
); );
declare module Layout { declare module Layout_ {
type Layouter<T extends Hierarchy> = type Layouter<T extends Hierarchy> =
{ {
[k in ExtractIds<T>]: number; [k in ExtractIds<T>]: number;