Skip to content

Commit 91b0e16

Browse files
committed
AdditionalItems Inference Optimization
1 parent 72d1909 commit 91b0e16

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

src/schema/static/_elements.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ type XWithMaxItems<Schema extends XSchema, Elements extends unknown[],
6161
// 3. XNeedsAdditionalItems - Does MaxItems constrain all Elements?
6262
// ------------------------------------------------------------------
6363
type XNeedsAdditionalItems<Schema extends XSchema, Elements extends unknown[],
64-
MaxItems extends number | null = Schema extends XMaxItems<infer MaxItems extends number> ? MaxItems : null,
65-
Result extends boolean = MaxItems extends number ? XLessThan<Elements['length'], MaxItems> : true
64+
Result extends boolean = (
65+
Schema extends XMaxItems<infer MaxItems extends number>
66+
? XLessThan<Elements['length'], MaxItems>
67+
: true
68+
)
6669
> = Result
6770
// ------------------------------------------------------------------
6871
// 4. XWithMinItems - Optional Indices > MinItems
@@ -99,4 +102,5 @@ export type XStaticElements<Stack extends string[], Root extends XSchema, Schema
99102
WithAdditionalItems extends unknown[] = NeedsAdditional extends true
100103
? XWithAdditionalItems<Stack, Root, Schema, WithMinItems>
101104
: WithMinItems
102-
> = WithAdditionalItems
105+
> = WithAdditionalItems
106+

0 commit comments

Comments
 (0)