Skip to content

Commit 53e974e

Browse files
committed
minor refactors + reformat
1 parent 8ee80e9 commit 53e974e

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

src/index.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
// Compensation
33
type As<T, _Infer extends T> = unknown;
44
type Head<T extends unknown[]> = T[0];
5-
type Tail<T extends unknown[]> = T extends [infer _, ...infer MyTail]
6-
? MyTail
5+
type Tail<T extends unknown[]> = T extends [infer _, ...infer Rest]
6+
? Rest
77
: never
88
;
99
type AsLinked<
1010
T extends unknown[],
11-
InferFirst extends Head<T>,
11+
_InferFirst extends Head<T>,
1212
InferRest extends Tail<T>
1313
> = InferRest extends unknown[]
1414
? unknown
@@ -229,7 +229,7 @@ type Token = IsSatisfied<{ type: string },
229229
inner: Token
230230
} & IsSatisfied<{ isCaptured: boolean },
231231
{ isCaptured: false } |
232-
({ isCaptured: true, isNamed: boolean } & IsSatisfied<{ isNamed: boolean },
232+
({ isCaptured: true } & IsSatisfied<{ isNamed: boolean },
233233
{ isNamed: false } |
234234
{ isNamed: true, name: string }
235235
>)
@@ -240,7 +240,11 @@ type Groups = (Token & {type: 'groups'})['groups'];
240240
// Indexification (DFS)
241241
// Utils
242242
type FlattenGroups<TGroups extends Groups> = unknown extends AsLinked<TGroups, infer First, infer Rest>
243-
? [First, ...FlattenToken<First['inner']>, ...FlattenGroups<Rest>]
243+
? [
244+
First,
245+
...FlattenToken<First['inner']>,
246+
...FlattenGroups<Rest>
247+
]
244248
: []
245249
;
246250
type FlattenTokenInternal<TToken extends Token, Limit extends unknown[]> = Limit extends [unknown, ...infer L]
@@ -309,7 +313,9 @@ type ContextualValue<T extends GroupWithIndex, TValue> = Record<T['index'], {
309313
reference: T['value']
310314
}>;
311315
type UnsetGroups<TGroups extends GroupWithIndexes> = unknown extends AsLinked<TGroups, infer First, infer Rest>
312-
? ContextualValue<First, never> & UnsetToken<First['value']['inner']> & UnsetGroups<Rest>
316+
? ContextualValue<First, never>
317+
& UnsetToken<First['value']['inner']>
318+
& UnsetGroups<Rest>
313319
: {}
314320
;
315321
type UnsetToken<TToken extends TokenWithIndex> = TToken extends { type: 'alternation' }
@@ -347,8 +353,12 @@ type Distribute<T extends Record<keyof T & GroupWithIndex['index'], { value: str
347353
? {
348354
captures: ToTuple<{ [K in keyof CaptureRecord]: Fallback<CaptureRecord[K]['value'], undefined> }>,
349355
namedCaptures: {
350-
[K in keyof CaptureRecord as CaptureRecord[K]['reference'] extends { name: infer Name }
351-
? Name & string
356+
[K in keyof CaptureRecord as CaptureRecord[K]['reference'] extends {
357+
isCaptured: true,
358+
isNamed: true,
359+
name: infer Name extends string
360+
}
361+
? Name
352362
: never
353363
]: Fallback<CaptureRecord[K]['value'], undefined>
354364
}

0 commit comments

Comments
 (0)