11type LMerge < T1 , T2 > = {
2- [ k in keyof T1 ] : k extends keyof T2 ? T2 [ k ] : T1 [ k ] ;
3- } ;
2+ [ k in keyof T1 ] : k extends keyof T2 ? T2 [ k ] : T1 [ k ]
3+ }
44
55interface PossibleGenerics {
6- Output ?: unknown ;
7- Error ?: unknown ;
8- ResultResolverController ?: unknown ;
9- ErrorResolverController ?: unknown ;
6+ Output ?: unknown
7+ Error ?: unknown
8+ ResultResolverController ?: unknown
9+ ErrorResolverController ?: unknown
1010}
1111
12- type Generics = Required < PossibleGenerics > ;
12+ type Generics = Required < PossibleGenerics >
1313
1414// T - is the generics from Generics that are set
1515// Defaults - are default Generics that are applied to children
@@ -21,33 +21,33 @@ interface NodeItem<T extends Generics, Defaults extends Generics> {
2121 NewDefaults extends PossibleGenerics = { } ,
2222 UpdatedDefaults extends Generics = LMerge < Defaults , NewDefaults > ,
2323 Child extends Generics = LMerge < UpdatedDefaults , S > , // generics and Defaults applied
24- > ( ) : NodeItem < Child , UpdatedDefaults > ;
25- NodeItem : T ;
24+ > ( ) : NodeItem < Child , UpdatedDefaults >
25+ NodeItem : T
2626}
2727
2828const example = { } as NodeItem <
2929 {
30- Output : string ;
31- Error : string ;
32- ResultResolverController : string ;
33- ErrorResolverController : string ;
30+ Output : string
31+ Error : string
32+ ResultResolverController : string
33+ ErrorResolverController : string
3434 } ,
3535 Generics
36- > ;
37- const exampleUsage1 = example < { Output : number } , { Error : Error } > ( ) ;
38- const exampleUsage2 = exampleUsage1 < { Output : number } > ( ) ;
39- const exampleUsage3 = exampleUsage2 < { Output : number } > ( ) ;
40- const exampleUsage4 = exampleUsage3 < { Output : number } > ( ) ;
41- const exampleUsage5 = exampleUsage4 < { Output : number } > ( ) ;
42- const exampleUsage6 = exampleUsage5 < { Output : number } > ( ) ;
43- const exampleUsage7 = exampleUsage6 < { Output : number } > ( ) ;
44- const exampleUsage8 = exampleUsage7 < { Output : number } > ( ) ;
45- const exampleUsage9 = exampleUsage8 < { Output : number } > ( ) ;
46- const exampleUsage10 = exampleUsage9 < { Output : number } > ( ) ;
47- const exampleUsage11 = exampleUsage10 < { Output : number } > ( ) ;
36+ >
37+ const exampleUsage1 = example < { Output : number } , { Error : Error } > ( )
38+ const exampleUsage2 = exampleUsage1 < { Output : number } > ( )
39+ const exampleUsage3 = exampleUsage2 < { Output : number } > ( )
40+ const exampleUsage4 = exampleUsage3 < { Output : number } > ( )
41+ const exampleUsage5 = exampleUsage4 < { Output : number } > ( )
42+ const exampleUsage6 = exampleUsage5 < { Output : number } > ( )
43+ const exampleUsage7 = exampleUsage6 < { Output : number } > ( )
44+ const exampleUsage8 = exampleUsage7 < { Output : number } > ( )
45+ const exampleUsage9 = exampleUsage8 < { Output : number } > ( )
46+ const exampleUsage10 = exampleUsage9 < { Output : number } > ( )
47+ const exampleUsage11 = exampleUsage10 < { Output : number } > ( )
4848
49- const lazy = ( ) => {
50- const exampleUsage12 = exampleUsage11 < { Output : number } > ( ) ;
51- } ;
49+ function lazy ( ) {
50+ const exampleUsage12 = exampleUsage11 < { Output : number } > ( )
51+ }
5252//
5353//
0 commit comments