Skip to content

Commit 65974a7

Browse files
committed
chore(types): tweak the Modifiers type a little
1 parent 56f422f commit 65974a7

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/modifier.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,17 @@ export type StaticModifierArgs<T extends TSchema> = //
8181
/**
8282
* Represents a permutation of modifiers.
8383
*/
84-
export type Modifiers<TOptions extends RedisModifier[] = RedisModifier[]> = [
85-
TOptions,
86-
] extends [never[]]
87-
? []
88-
: RedisModifier[] extends TOptions
84+
export type Modifiers<TOptions extends RedisModifier[] = RedisModifier[]> =
85+
RedisModifier[] extends TOptions
8986
? (RedisModifier | undefined)[]
9087
: TOptions extends [
9188
infer TFirst extends RedisModifier,
9289
...infer TRest extends RedisModifier[],
9390
]
9491
? IsRequired<TFirst> extends true
9592
? [TFirst, ...Modifiers<TRest>]
96-
: [TFirst | undefined, ...Modifiers<TRest>] | Modifiers<TRest>
97-
: never;
93+
: [TFirst?, ...Modifiers<TRest>]
94+
: [];
9895

9996
/** For modifiers that affect which overload is used. */
10097
export type Require<T> = T & {

0 commit comments

Comments
 (0)