@@ -67,7 +67,9 @@ export interface Schemable<S> {
67
67
readonly array: <A >(item : HKT <S , A >) => HKT <S , Array <A >>
68
68
readonly tuple: <A extends ReadonlyArray <unknown >>(... components : { [K in keyof A ]: HKT <S , A [K ]> }) => HKT <S , A >
69
69
readonly intersect: <B >(right : HKT <S , B >) => <A >(left : HKT <S , A >) => HKT <S , A & B >
70
- readonly sum: <T extends string >(tag : T ) => <A >(members : { [K in keyof A ]: HKT <S , A [K ]> }) => HKT <S , A [keyof A ]>
70
+ readonly sum: <T extends string >(
71
+ tag : T
72
+ ) => <A >(members : { [K in keyof A ]: HKT <S , A [K ] & Record <T , K >> }) => HKT <S , A [keyof A ]>
71
73
readonly lazy: <A >(id : string , f : () => HKT <S , A >) => HKT <S , A >
72
74
}
73
75
```
@@ -92,7 +94,9 @@ export interface Schemable1<S extends URIS> {
92
94
readonly array: <A >(item : Kind <S , A >) => Kind <S , Array <A >>
93
95
readonly tuple: <A extends ReadonlyArray <unknown >>(... components : { [K in keyof A ]: Kind <S , A [K ]> }) => Kind <S , A >
94
96
readonly intersect: <B >(right : Kind <S , B >) => <A >(left : Kind <S , A >) => Kind <S , A & B >
95
- readonly sum: <T extends string >(tag : T ) => <A >(members : { [K in keyof A ]: Kind <S , A [K ]> }) => Kind <S , A [keyof A ]>
97
+ readonly sum: <T extends string >(
98
+ tag : T
99
+ ) => <A >(members : { [K in keyof A ]: Kind <S , A [K ] & Record <T , K >> }) => Kind <S , A [keyof A ]>
96
100
readonly lazy: <A >(id : string , f : () => Kind <S , A >) => Kind <S , A >
97
101
}
98
102
```
@@ -123,7 +127,7 @@ export interface Schemable2C<S extends URIS2, E> {
123
127
readonly intersect: <B >(right : Kind2 <S , E , B >) => <A >(left : Kind2 <S , E , A >) => Kind2 <S , E , A & B >
124
128
readonly sum: <T extends string >(
125
129
tag : T
126
- ) => <A >(members : { [K in keyof A ]: Kind2 <S , E , A [K ]> }) => Kind2 <S , E , A [keyof A ]>
130
+ ) => <A >(members : { [K in keyof A ]: Kind2 <S , E , A [K ] & Record < T , K > > }) => Kind2 <S , E , A [keyof A ]>
127
131
readonly lazy: <A >(id : string , f : () => Kind2 <S , E , A >) => Kind2 <S , E , A >
128
132
}
129
133
```
0 commit comments